目录

前言

一、准备环境和代码

1.拷贝代码

二、机器相关的脚本文件配置

1.复制配置文件并命名

2.修改配置文件

(1)Macros.huanmy_intel

(2)config_machine.xml

三、创建case和编译

1.创建case

2.编译case

四、运行case

1.编写作业脚本

2.拷贝陆面模式初始场和强迫场

(1)mkdir timing

(2)陆面资料

(3)修改一些in的 参数

3.提交和查看作业脚本


前言

之前一只在发展和运行cesm ,而我的主要博士任务是发展cas-esm,之前一直是受困于没有代码和运行方法。

今天我终于和所里的发展cas-esm 动力框架的老师联系,给了我代码和运行的方法。

下面将要进行cas-esm 的移植和运行:


一、准备环境和代码

1.拷贝代码

因为都是在密云的大科学装置上的,所以只需要将代码考到我的目录里就可以。

只需要用到cp命令

cp -r xxx  /data/name/cas-esm/

其中xxx是cas-esm的代码路径

2.加载环境

.bashrc

# .bashrc# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=# User specific aliases and functions
alias tl='tail -f'
alias yhq='squeue'
alias yhi='sinfo'
alias yc='scancel'
#alias ls='ls -lh --time-style="+%Y-%m-%d %H:%I:%S"'module purge
#module use ~/.module           #intelmpi2018
module load compiler/intel/2017.5.239
module load mathlib/netcdf/intel/4.4.1
#czy module load apps/ncl_ncarg/6.3.0
module load apps/ncl_ncarg/6.6.2
module load apps/nco/intel/4.8.1
module load apps/anaconda3/5.3.0
module load mathlib/cdo/intel/1.10.19
module load mathlib/hdf5/intel/1.8.20
module load mathlib/jasper/intel/1.900.1
module load mathlib/jpeg/intel/9a
module load mathlib/libpng/intel/1.2.12
module load mathlib/pnetcdf/intel/1.12.1
module load mathlib/szip/intel/2.1.1
module load mathlib/udunits/intel/2.2.28
module load mpi/intelmpi/2017.4.239
#module load mpi/intelmpi/2018.4.274
module load mathlib/zlib/intel/1.2.11
export PATH=/public/home/zhangh/soft/jdk-16.0.1/bin:$PATH
alias panoply=/public/home/zhangh/soft/PanoplyJ/panoply.sh
. /public/software/apps/anaconda3/5.3.0/etc/profile.d/conda.sh
export ncview=/public/software/apps/ncview-2.1.7
export PATH=/public/software/apps/ncview-2.1.7/intel/bin:$PATH

二、机器相关的脚本文件配置

1.复制配置文件并命名

代码如下(示例):

cd $CAS-ESM_HOME/scripts/ccsm_utils/Machines

ls  *linux_intel

env_machopts.generic_linux_intel  mkbatch.generic_linux_intel

Macros.generic_linux_intel

cp env_machopts.generic_linux_intel    env_machopts.def_intel

cp mkbatch.generic_linux_intel      mkbatch.def_intel

cp Macros.huanty_czy     Macros.def_intel

其中def 可以自己取名字

cp env_machopts.generic_linux_intel    env_machopts.huanmy_intelcp mkbatch.generic_linux_intel      mkbatch.huanmy_intelcp Macros.huanty_czy     Macros.huanmy_intel

ls  *huanmy_intel

env_machopts.huanmy_intel  mkbatch.huanmy_intel

Macros.huanmy_intel

2.修改配置文件

env_machopts.huanmy_intel

这个脚本是用来设定所使用的机器是否支持MPISERIAL,如果支持,则该脚本无需修改,否则需要修改。

mkbatch.huanmy_intel

这个脚本是用来自动生成提交作业的脚本文件,根据作业系统的不同,编写内容也不同。如果你决定在生成可执行文件后,手动编写作业脚本文件,则该脚本可不做修改。

Macros.huanmy_intel

最重要的脚本,用来设定Fortran, C, NetCDF以及MPI的路径,由于在同一个机子上移植所以我这里也不需要修改

NETCDF_PATH   := /public/software/mathlib/netcdf/intel/4.1.3

MPICH_PATH := /public/software/mpi/intelmpi/2017.4.239/intel64

但是我检查我load的module在这里

 which ncdump 
/public/software/mathlib/libs-intel/netcdf/4.4.1/bin/ncdump

config_machines.xml

这里和之前的cesm的配置就相像了

<machine MACH=“huanmy_intel"

                   DESC="afw 64pes/node"

                  EXEROOT="$CAS-ESM_HOME/$CASE"

                  OBJROOT="$EXEROOT"

                  INCROOT="$EXEROOT/lib/include"

                  DIN_LOC_ROOT_CSMDATA="/data/zhangh/public/inputdata"

                  DOUT_S_ROOT="$ CAS-ESM_HOME /$CASE"

                  DOUT_L_HTAR="FALSE"

                  DOUT_L_MSROOT="csm/$CASE“

     OS="Linux"

                  GMAKE_J="2"

                  MAX_TASKS_PER_NODE=“40"

                  MPISERIAL_SUPPORT="TRUE" />

红色字是需要重点关注的,其中数据文件夹用了老师的,cas-esm的文件下载有点不一样,自己不好弄

config_pes.xml

添加适合机器配置cpu个数信息

<pes mach_match="afw" >
    <NTASKS_ATM>128</NTASKS_ATM> <NTHRDS_ATM>1</NTHRDS_ATM> <ROOTPE_ATM>0</ROOTPE_ATM>
    <NTASKS_LND>128</NTASKS_LND> <NTHRDS_LND>1</NTHRDS_LND> <ROOTPE_LND>0</ROOTPE_LND>
    <NTASKS_ICE>120</NTASKS_ICE> <NTHRDS_ICE>1</NTHRDS_ICE> <ROOTPE_ICE>0</ROOTPE_ICE>
    <NTASKS_OCN>120</NTASKS_OCN> <NTHRDS_OCN>1</NTHRDS_OCN> <ROOTPE_OCN>0</ROOTPE_OCN>
    <NTASKS_CPL>128</NTASKS_CPL> <NTHRDS_CPL>1</NTHRDS_CPL> <ROOTPE_CPL>0</ROOTPE_CPL>
    <NTASKS_GLC>128</NTASKS_GLC> <NTHRDS_GLC>1</NTHRDS_GLC> <ROOTPE_GLC>0</ROOTPE_GLC>
    <PES_LEVEL>1m</PES_LEVEL>
</pes>

相关的三个文件放在这里

(1)Macros.huanmy_intel

#===============================================================================
# SVN $Id: Macros.cppdefs 28555 2011-05-20 16:56:22Z fischer $
# SVN $URL: https://svn-ccsm-models.cgd.ucar.edu/scripts/branch_tags/cesm1_0_rel_tags/cesm1_0_3_n02_scripts4_110531b/ccsm_utils/Machines/Macros.cppdefs $
#===============================================================================
# set CPP options (must use this before any flags or cflags settings)
# Scripts build: this file is prepended to the $CASEROOT/Macros.machine file
# by create_newcase
# Cam build: this file is prepended to the $cam_bld/Macros file
# by cam's configure
#===============================================================================CPPDEFS := $(USER_CPPDEFS)# USE_ESMF_LIB is currently only defined in env_build.xml
ifeq ($(USE_ESMF_LIB), TRUE)CPPDEFS += -DUSE_ESMF_LIB
endif# ESMF_INTERFACE is currently only defined in env_build.xml
ifeq ($(COMP_INTERFACE), ESMF)CPPDEFS += -DESMF_INTERFACE
elseCPPDEFS += -DMCT_INTERFACE
endif# USE_MPISERIAL is currently only defined in env_conf.xml
ifeq ($(USE_MPISERIAL),TRUE)# defaultCPPDEFS += -DNO_MPI2
elseCPPDEFS += -DHAVE_MPI
endif# CCSM_BGC is currently only defined in env_conf.xml
ifneq ($(CCSM_BGC),)ifneq ($(CCSM_BGC),none)CPPDEFS += -D$(CCSM_BGC)endif
endif# CCSM_VOC is currently only defined in env_conf.xml
ifeq ($(CCSM_VOC), TRUE)CPPDEFS += -DVOC
endif# GLC_NEC is defined in env_conf.xml
ifneq ($(GLC_NEC),0)CPPDEFS += -DGLC_NEC_$(GLC_NEC)
endif# Whether WRF is open or not
ifeq ($(strip $(COMP_WRF)),wrf)CPPDEFS += -DWRF
endif
# Set config args for pio and mct to blank and then enable serial
# if USE_MPISERIAL (in env_conf) is set
CONFIG_ARGS :=
ifeq ($(USE_MPISERIAL),TRUE)CONFIG_ARGS= --enable-mpiserial
endif
ifeq ($(MODEL),pio)ifeq ($DEBUG,TRUE)CONFIG_ARGS+= --enable-debugendif
endif#===============================================================================
# The following always need to be set
# SPMD             Whether to build in SPMD mode or not.  [values TRUE FALSE]
# SMP              Set to TRUE to enable building in SMP mode (uses OpenMP).
# USER_CPPDEFS     CPP definitions (non platform dependent)
#
#===============================================================================# Note that CPPDEFS is set in Macros.cppdefs
CPPDEFS += -DLINUX -DSEQ_$(FRAMEWORK) -DFORTRANUNDERSCORE -DNO_R16 -DNO_SHR_VMATH ifeq ($(compile_threaded), true)CPPDEFS += -DTHREADED_OMP
endififeq ($(USE_MPISERIAL),TRUE)FC            := ifort CC            := mpiicc
else
#   FC            := mpif90FC            := mpiifort
#   CC            := mpiccCC            := mpiicc
endif#=====================================================
# GENERIC_USER
# The netcdf and mpi paths need to be set somewhere.  In CESM, this
# is normally done by setting the NETCDF_PATH and MPICH_PATH
# variables in this Macros file.  But they could also be set in the
# default user paths, by an explicit addition to the local path
# in the env_mach_specific file, or via setting NETCDF_PATH
# and MPICH_PATH environment variables in the env_mach_specific file.
# Also, review the relative paths of the INC_, LIB_, and MOD_ paths
# below.  Ignore PNETCDF stuff initially, it's not required.ifeq ($(strip $(NETCDF_PATH)),)NETCDF_PATH   := /public/software/mathlib/libs-intel/netcdf/4.4.1
endif
INC_NETCDF    := $(NETCDF_PATH)/include
LIB_NETCDF    := $(NETCDF_PATH)/lib -lnetcdff -lnetcdf
MOD_NETCDF    := $(NETCDF_PATH)/include
ifeq ($(strip $(MPICH_PATH)),)
MPICH_PATH := /public/software/mpi/intelmpi/2017.4.239/intel64
endif
ifeq ($(USE_MPISERIAL),TRUE)INC_MPI    := $(CODEROOT)/utils/mct/mpi-serialLIB_MPI    :=
elseLIB_MPI    := $(MPICH_PATH)/libINC_MPI    := $(MPICH_PATH)/include
endif
MPI_LIB_NAME  := mpi
PNETCDF_PATH  :=
INC_PNETCDF   :=
LIB_PNETCDF   :=
LAPACK_LIBDIR :=
#=====================================================CFLAGS        := $(CPPDEFS) -m64
FIXEDFLAGS    := -132
FREEFLAGS     := -FR
#FFLAGS        := $(CPPDEFS) -no-prec-div -traceback -convert big_endian -fp-model source  -assume byterecl -ftz  -traceback -m64 -shared-intel -mcmodel=large -safe-cray-ptr
FFLAGS        := $(CPPDEFS)  -no-prec-div -traceback -convert big_endian -fp-model source  -assume byterecl -ftz   -m64  -mcmodel=large -safe-cray-ptr
FFLAGS_NOOPT  := $(FFLAGS) -O0
FFLAGS_OPT    := -O1
LDFLAGS       := -m64 -static-intel
AR            := ar
MOD_SUFFIX    := mod
CONFIG_SHELL  :=#===============================================================================
# Set include paths (needed after override for any model specific builds below)
#===============================================================================INCLDIR := -I.
ifneq ($(strip $(INC_NETCDF)),)
INCLDIR += -I$(INC_NETCDF)
endif
ifneq ($(strip $(MOD_NETCDF)),)
INCLDIR += -I$(MOD_NETCDF)
endif
ifneq ($(strip $(INC_MPI)),)
INCLDIR += -I$(INC_MPI)
endif
ifneq ($(strip $(INC_PNETCDF)),)
INCLDIR += -I$(INC_PNETCDF)
endif#===============================================================================
# Set model and other specific options
# NOTE - all CPPDEFS options must be defined before this point
#===============================================================================
ifeq ($(strip $(MODEL)),pop2)
FFLAGS        := $(CPPDEFS) -O1 -r8 -i4 -g -convert big_endian -assume byterecl  -fp-model precise -fp-speculation=safe -no-vec -traceback
endif
ifeq ($(strip $(MODEL)),licom)
FFLAGS        := $(CPPDEFS) -O1 -r8 -i4 -g -convert big_endian -assume byterecl  -DLICOM -fp-model precise -fp-speculation=safe -no-vec -traceback
endififeq ($(DEBUG),TRUE)FFLAGS       += -CU -check pointers -fpe0 -ftzFFLAGS_NOOPT += -CU -check pointers -fpe0 -ftz
elseFFLAGS += $(FFLAGS_OPT)
endififeq ($(compile_threaded), true)FFLAGS       += -openmpFFLAGS_NOOPT += -openmpCFLAGS       += -openmpLDFLAGS      += -openmp
endififeq ($(strip $(MODEL)),cam)
# These RRTMG files cause a compiler error when using optimization.
# Until mods are made to read the data from files, just remove optimization from
# their compilation.
rrtmg_lw_k_g.o: rrtmg_lw_k_g.f90$(FC) -c $(CPPDEFS) $(INCLDIR) $(INCS) $(FREEFLAGS) $(FFLAGS_NOOPT) $<
rrtmg_sw_k_g.o: rrtmg_sw_k_g.f90$(FC) -c $(CPPDEFS) $(INCLDIR) $(INCS) $(FREEFLAGS) $(FFLAGS_NOOPT) $<
endif#=====================================================
# GENERIC_USER
# Options passed to the mct and pio build are set hereifeq ($(MODEL),mct)#add arguments for mct configure hereCONFIG_ARGS += CC="$(CC)" FC="$(FC)" F90="$(FC)" INCLUDEPATH="-I$(INC_MPI)"
endififeq ($(MODEL),pio)ifneq ($(strip $(PIO_CONFIG_OPTS)),)CONFIG_ARGS += $(PIO_CONFIG_OPTS)endif CONFIG_ARGS += MPIF90="mpiifort" CC="$(CC)" F90="$(FC)" NETCDF_PATH="$(NETCDF_PATH)" MPI_INC="-I$(INC_MPI)"
endif
#=====================================================

(2)config_machine.xml

<?xml version="1.0"?><config_machines>
<machine MACH="cheyenne"DESC="NCAR cheyenne"EXEROOT="/gpfs/fs1/scratch/mzhang/output/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/gpfs/fs1/scratch/mzhang/inputdata"DIN_LOC_ROOT_CLMQIAN="/gpfs/fs1/scratch/mzhang/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/gpfs/fs1/scratch/mzhang/output/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT=""OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="36"MPISERIAL_SUPPORT="TRUE" /><machine MACH="storm"DESC="storm (intel), 32 pes/node, no batch system"EXEROOT="/T1/mzhang/minghua2/CAS-ESM/output/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/R0/jhe/inputdata"DIN_LOC_ROOT_CLMQIAN="/R0/jhe/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/T1/mzhang/minghua2/CAS-ESM/output/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT=""OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="32"MPISERIAL_SUPPORT="TRUE" /><machine MACH="bluefire"DESC="NCAR IBM p6, os is AIX, 32 pes/node, batch system is LSF" EXEROOT="/ptmp/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/fis/cgd/cseg/csm/inputdata"DIN_LOC_ROOT_CLMQIAN="/cgd/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/ptmp/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/fis/cgd/cseg/csm/ccsm_baselines"CCSM_CPRNC="/fis/cgd/cseg/csm/tools/cprnc/cprnc"ESMF_LIBDIR="/ptmp/svasquez/esmf_install/ESMF_5_2_0-O/lib/"OS="AIX" BATCHQUERY="bjobs -w"BATCHSUBMIT="bsub &lt;" GMAKE_J="32" MAX_TASKS_PER_NODE="64"MPISERIAL_SUPPORT="TRUE"PES_PER_NODE="32" /><machine MACH="brutus_po"DESC="Brutus Linux Cluster ETH (pgi/9.0-1 with open_mpi/1.4.1), 16 pes/node, batch system LSF, added by UB"EXEROOT="/cluster/work/uwis/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/cluster/work/uwis/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/cluster/work/uwis/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/cluster/work/uwis/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="/`echo $CCSMUSER | tr '[a-z]' '[A-Z]'`/csm/$CASE"CCSM_BASELINE="/cluster/work/uwis/ccsm/ccsm_baselines"CCSM_CPRNC="/cluster/work/uwis/ccsm/tools/cprnc/cprnc"OS="Linux.pgi"BATCHQUERY="bjobs -w"BATCHSUBMIT="bsub &lt;"GMAKE_J="1"MPISERIAL_SUPPORT="FALSE"MAX_TASKS_PER_NODE="16" /><machine MACH="brutus_pm"DESC="Brutus Linux Cluster ETH (pgi/9.0-1 with mvapich2/1.4rc2), 16 pes/node, batch system LSF, added by UB"EXEROOT="/cluster/work/uwis/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/cluster/work/uwis/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/cluster/work/uwis/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/cluster/work/uwis/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="/`echo $CCSMUSER | tr '[a-z]' '[A-Z]'`/csm/$CASE"CCSM_BASELINE="/cluster/work/uwis/ccsm/ccsm_baselines"CCSM_CPRNC="/cluster/work/uwis/ccsm/tools/cprnc/cprnc"OS="Linux.pgi"BATCHQUERY="bjobs -w"BATCHSUBMIT="bsub &lt;"GMAKE_J="1"MPISERIAL_SUPPORT="FALSE"MAX_TASKS_PER_NODE="16" /><machine MACH="brutus_io"DESC="Brutus Linux Cluster ETH (intel/10.1.018 with open_mpi/1.4.1), 16 pes/node, batch system LSF, added by UB"EXEROOT="/cluster/work/uwis/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/cluster/work/uwis/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/cluster/work/uwis/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/cluster/work/uwis/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="/`echo $CCSMUSER | tr '[a-z]' '[A-Z]'`/csm/$CASE"CCSM_BASELINE="/cluster/work/uwis/ccsm/ccsm_baselines"CCSM_CPRNC="/cluster/work/uwis/ccsm/tools/cprnc/cprnc"OS="Linux.intel"BATCHQUERY="bjobs -w"BATCHSUBMIT="bsub &lt;"GMAKE_J="1"MPISERIAL_SUPPORT="FALSE"MAX_TASKS_PER_NODE="16" /><machine MACH="brutus_im"DESC="Brutus Linux Cluster ETH (intel/10.1.018 with mvapich2/1.4rc2), 16 pes/node, batch system LSF, added by UB"EXEROOT="/cluster/work/uwis/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/cluster/work/uwis/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/cluster/work/uwis/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/cluster/work/uwis/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="/`echo $CCSMUSER | tr '[a-z]' '[A-Z]'`/csm/$CASE"CCSM_BASELINE="/cluster/work/uwis/ccsm/ccsm_baselines"CCSM_CPRNC="/cluster/work/uwis/ccsm/tools/cprnc/cprnc"OS="Linux.intel"BATCHQUERY="bjobs -w"BATCHSUBMIT="bsub &lt;"GMAKE_J="1"MPISERIAL_SUPPORT="FALSE"MAX_TASKS_PER_NODE="16" /><machine MACH="edinburgh_lahey"DESC="NCAR CGD Linux Cluster (lahey), 8 pes/node, batch system is PBS"EXEROOT="/scratch/cluster/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/fs/cgd/csm/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/cluster/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/fs/cgd/csm/ccsm_baselines"CCSM_CPRNC="/fs/cgd/csm/tools/cprnc_64/cprnc"OS="Linux"BATCHQUERY="/usr/local/torque/bin/qstat"BATCHSUBMIT="/usr/local/torque/bin/qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="16"MPISERIAL_SUPPORT="TRUE" /><machine MACH="edinburgh_pgi"DESC="NCAR CGD Linux Cluster (pgi), 8 pes/node, batch system is PBS"EXEROOT="/scratch/cluster/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/fs/cgd/csm/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/cluster/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/fs/cgd/csm/ccsm_baselines"CCSM_CPRNC="/fs/cgd/csm/tools/cprnc_64/cprnc"OS="Linux.pgi"BATCHQUERY="/usr/local/torque/bin/qstat"BATCHSUBMIT="/usr/local/torque/bin/qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="TRUE" /><machine MACH="edinburgh_intel"DESC="NCAR CGD Linux Cluster (intel), 8 pes/node, batch system is PBS"EXEROOT="/scratch/cluster/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/fs/cgd/csm/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/cluster/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/fs/cgd/csm/ccsm_baselines"CCSM_CPRNC="/fs/cgd/csm/tools/cprnc_64/cprnc"OS="Linux"BATCHQUERY="/usr/local/torque/bin/qstat"BATCHSUBMIT="/usr/local/torque/bin/qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="TRUE" /><machine MACH="cloud_intel"DESC="SoMAS Linux Cluster (intel), 32 pes/node, no batch system"EXEROOT="$HOME/CAS-ESM/test/cas-esm1_0_3/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="$HOME/cesm_input"DOUT_S_ROOT="$HOME/CAS-ESM/test/cas-esm1_0_3/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="4" MAX_TASKS_PER_NODE="32"MPISERIAL_SUPPORT="TRUE" /><machine MACH="icces_intel"DESC="ICCES Linux Cluster (intel), 8 pes/node, no batch system"EXEROOT="$HOME/cesm-IAP_2Dpar/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/disk5/data/cesm-input"DOUT_S_ROOT="$HOME/cesm-IAP_2Dpar/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="1" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="tianhe_intel"DESC="TIAN HE 1A (intel), 12 pes/node, no batch system"EXEROOT="/home/scwangty/wangty/CAS_ESM_wty/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/work1/jjr/wangyz/data/inputdata"DOUT_S_ROOT="/home/scwangty/wangty/CAS_ESM_wty/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2" MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="TRUE" /><machine MACH="era_czy"DESC="YUAN (intel), 24 pes/node, no batch system"EXEROOT="/home/zmh_czy/scratch_casesm/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/home/zmh_czy/data/inputdata"DOUT_S_ROOT="/home/zmh_czy/scratch_casesm/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux.intel"GMAKE_J="20"MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="TRUE"PES_PER_NODE="24" /><machine MACH="yuan_intel"DESC="YUAN (intel), 10 pes/node, no batch system"EXEROOT="/home/xdzeng/work/github/output/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/work1/jjr/wangyz/data/inputdata"DIN_LOC_ROOT_CLMQIAN="/work1/jjr/wangyz/data/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DIN_LOC_ROOT_CRUNCEP="/work1/jjr/wangyz/data/inputdata/atm/datm7/atm_forcing.datm7.cruncep_qianFill.0.5d.v7.c160715"DOUT_S_ROOT="/home/xdzeng/work/github/output/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2" MAX_TASKS_PER_NODE="10"MPISERIAL_SUPPORT="TRUE" /><machine MACH="shuguang_intel"DESC="Shu Guang (intel), 24 pes/node, no batch system"EXEROOT="/public/home/hjx/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/public/work/iap/inputdata"DOUT_S_ROOT="/public/home/hjx/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="TRUE" /><machine MACH="sugon_czy"DESC="Shu Guang (intel), 24 pes/node, no batch system"EXEROOT="/public/home/chzhy1/scratch_casesm/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/public/home/chzhy1/dat/inputdata"DOUT_S_ROOT="/public/home/chzhy1/scratch_casesm/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux.intel"GMAKE_J="16"MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="TRUE"PES_PER_NODE="24" /><machine MACH="huanty_czy"DESC="Huan_Taiyuan (intel), 64 pes/node, PBS batch system"EXEROOT="/data/zhanghe/czy/scratch_casesm/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/data/zhanghe/inputdata"DOUT_S_ROOT="/data/zhanghe/czy/scratch_casesm/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="16"MAX_TASKS_PER_NODE="64"MPISERIAL_SUPPORT="TRUE"PES_PER_NODE="64" /><machine MACH="huanty_intel_xjb"DESC="Huan_Taiyuan (intel), 64 pes/node, PBS batch system"EXEROOT="/data/zhanghe/xjb/model-IAP-WRF/CASE/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/data/bixq/inputdata"DOUT_S_ROOT="/data/zhanghe/xjb/model-IAP-WRF/CASE/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="64"MPISERIAL_SUPPORT="TRUE" /><machine MACH="huanmy_intel"DESC="Huan_Miyun (intel), 64 pes/node, PBS batch system"EXEROOT="/data/zhangh/CAS-ESM_0d6798/cas-esm/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/data/zhangh/data/inputdata"DOUT_S_ROOT="/data/zhangh/CAS-ESM_0d6798/cas-esm/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="64"MPISERIAL_SUPPORT="TRUE" /><machine MACH="iapshug_intel"DESC="Shu Guang (intel), 24 pes/node, batch system is PBS"EXEROOT="$HOME/CAS-ESM-dev/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/5600/inputdata"DOUT_S_ROOT="$HOME/CAS-ESM-dev/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux"GMAKE_J="2"MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="TRUE" /><machine MACH="franklin"DESC="NERSC XT4, os is CNL, 4 pes/node, batch system is PBS"EXEROOT="/scratch/scratchdirs/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/project/projectdirs/ccsm1/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/projectdirs/ccsm1/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/scratchdirs/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/project/projectdirs/ccsm1/ccsm_baselines"CCSM_CPRNC="/project/projectdirs/ccsm1/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="4"MPISERIAL_SUPPORT="FALSE" /><machine MACH="hadley"DESC="UCB Linux Cluster, os is Linux (ia64), batch system is PBS"EXEROOT="/clusterfs/hadley/scratch/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/clusterfs/hadley/ccsmdata/inputdata"DIN_LOC_ROOT_CLMQIAN="/clusterfs/hadley/ccsmdata/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/clusterfs/hadley/scratch/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="/`echo $CCSMUSER | tr '[a-z]' '[A-Z]'`/csm/$CASE"CCSM_BASELINE="/clusterfs/hadley/ccsmdata/ccsm_baselines"CCSM_CPRNC="/clusterfs/hadley/ccsmdata/tools/cprnc/cprnc"OS="Linux.ia64" BATCHQUERY="qstat"BATCHSUBMIT="qsub " GMAKE_J="8" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="hector"DESC="UK National Supercomuting Servies: Hector Cray XE6, batch system is PBS, user-defined"EXEROOT="/work/n02/n02/elfengwh/CESM1.0/CASE_RUN/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/work/n02/n02/elfengwh/CESM1.0/waccm4_input"DIN_LOC_ROOT_CLMQIAN="/work/n02/n02/elfengwh/CESM1.0/waccm4_input/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/work/n02/n02/elfengwh/CESM1.0/output/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/work/n02/n02/elfengwh/CESM1.0/ccsm_baselines"CCSM_CPRNC="/work/n02/n02/elfengwh/CESM1.0/cesm1_0_2/models/atm/cam/tools"OS="UNIX"BATCHQUERY="qstat"BATCHSUBMIT="qsub"GMAKE_J="32"MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="TRUE" /><machine MACH="hopper"DESC="INVALID: hopper is no longer valid, please use hopp2"EXEROOT="/scratch/scratchdirs/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/project/projectdirs/ccsm1/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/projectdirs/ccsm1/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/scratchdirs/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/project/projectdirs/ccsm1/ccsm_baselines"CCSM_CPRNC="/project/projectdirs/ccsm1/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="hopp2"DESC="NERSC XE6, os is CNL, 24 pes/node, batch system is PBS"EXEROOT="/scratch/scratchdirs/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/project/projectdirs/ccsm1/inputdata"DIN_LOC_ROOT_CLMQIAN="/project/projectdirs/ccsm1/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/scratch/scratchdirs/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/project/projectdirs/ccsm1/ccsm_baselines"CCSM_CPRNC="/project/projectdirs/ccsm1/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="24"MPISERIAL_SUPPORT="FALSE" /><machine MACH="intrepid"DESC="ANL IBM BG/P, os is BGP, 4 pes/node, batch system is cobalt"EXEROOT="/intrepid-fs0/users/$USER/scratch/exe/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/gpfs/home/projects/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/gpfs/home/projects/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/intrepid-fs0/users/$USER/persistent/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="/home/$USER/csm/$CASE/"CCSM_BASELINE="/gpfs/home/projects/ccsm/ccsm_baselines"CCSM_CPRNC="/gpfs/home/projects/ccsm/tools/cprnc/cprnc"OS="BGP"BATCHQUERY="qstat"BATCHSUBMIT="csh"GMAKE_J="2"MAX_TASKS_PER_NODE="4"MPISERIAL_SUPPORT="TRUE" /><machine MACH="jaguar"DESC="ORNL XT4, os is CNL, 4 pes/node, batch system is PBS"EXEROOT="/tmp/work/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/tmp/proj/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/tmp/proj/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/tmp/work/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/tmp/proj/ccsm/ccsm_baselines"CCSM_CPRNC="/tmp/proj/ccsm/tools/ccsm_cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="4"MPISERIAL_SUPPORT="TRUE" /><machine MACH="jaguarpf"DESC="ORNL XT5, os is CNL, 12 pes/node, batch system is PBS"EXEROOT="/tmp/work/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/tmp/proj/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/tmp/proj/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/tmp/work/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/tmp/proj/ccsm/ccsm_baselines"CCSM_CPRNC="/tmp/proj/ccsm/tools/ccsm_cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub"GMAKE_J="4"MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="TRUE" /><machine MACH="chester"DESC="ORNL XT5, os is CNL, 12 pes/node, batch system is PBS, test system"EXEROOT="/lustre/scratch/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/lustre/scratch/$CCSMUSER/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/lustre/scratch/$CCSMUSER/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/lustre/scratch/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/lustre/scratch/$CCSMUSER/ccsm_baselines"CCSM_CPRNC="/lustre/scratch/$CCSMUSER/tools/ccsm_cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub"GMAKE_J="4"MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="TRUE" /><machine MACH="kraken"DESC="NICS/UT/teragrid XT5, os is CNL, 12 pes/node"EXEROOT="/lustre/scratch/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/lustre/scratch/proj/ccsm/inputdata"DIN_LOC_ROOT_CLMQIAN="/lustre/scratch/proj/ccsm/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/lustre/scratch/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/lustre/scratch/proj/ccsm/ccsm_baselines"CCSM_CPRNC="/lustre/scratch/proj/ccsm/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="qstat -f"BATCHSUBMIT="qsub" GMAKE_J="12" MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="FALSE" /><machine MACH="lynx_pgi"DESC="NCAR XT5, os is CNL, 12 pes/node, batch system is PBS"EXEROOT="/ptmp/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/glade/proj3/cseg/inputdata"DIN_LOC_ROOT_CLMQIAN="/glade/proj2/cgd/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/ptmp/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/glade/proj3/cseg/ccsm_baselines"CCSM_CPRNC="/ptmp/csm/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="UNSET"BATCHSUBMIT="qsub"GMAKE_J="4"MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="TRUE" /><machine MACH="lynx_pathscale"DESC="NCAR XT5, os is CNL, 12 pes/node, batch system is PBS"EXEROOT="/ptmp/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include"DIN_LOC_ROOT_CSMDATA="/glade/proj3/cseg/inputdata"DIN_LOC_ROOT_CLMQIAN="/glade/proj2/cgd/tss/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/ptmp/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/glade/proj3/cseg/ccsm_baselines"CCSM_CPRNC="/ptmp/csm/tools/cprnc/cprnc"OS="CNL"BATCHQUERY="UNSET"BATCHSUBMIT="qsub"GMAKE_J="4"MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="TRUE" /><machine MACH="midnight"DESC="ARSC Sun Cluster, os is Linux (pgi), batch system is PBS"EXEROOT="$WORKDIR/$CASE"OBJROOT="$EXEROOT"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/wrkdir/maslowsk/RACM/inputdata"DIN_LOC_ROOT_CLMQIAN="/wrkdir/maslowsk/RACM/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="$WORKDIR/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/wrkdir/maslowsk/RACM/ccsm_baselines"CCSM_CPRNC="/wrkdir/maslowsk/RACM/tools/cprnc/cprnc"OS="Linux.pgi"BATCHQUERY="qstat"BATCHSUBMIT="qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="16"MPISERIAL_SUPPORT="FALSE" /><machine MACH="pleiades"DESC="NASA/AMES Linux Cluster, Linux (ia64), Altix ICE, 3.0 GHz Harpertown processors, 8 pes/node and 8 GB of memory, batch system is PBS" EXEROOT="/nobackup/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/nobackup/$CCSMUSER/ccsmdata/inputdata"DIN_LOC_ROOT_CLMQIAN="/nobackup/$CCSMUSER/ccsmdata/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/nobackup/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux.ifort"BATCHQUERY="qstat"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="pleiades_wes"DESC="NASA/AMES Linux Cluster, Linux (ia64), Altix ICE, 2.93 GHz Westmere processors, 12 pes/node and 24 GB of memory, batch system is PBS" EXEROOT="/nobackup/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/nobackup/$CCSMUSER/ccsmdata/inputdata"DIN_LOC_ROOT_CLMQIAN="/nobackup/$CCSMUSER/ccsmdata/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/nobackup/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="csm/$CASE"OS="Linux.ifort"BATCHQUERY="qstat"BATCHSUBMIT="qsub" GMAKE_J="4" MAX_TASKS_PER_NODE="12"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_atlas"DESC="LLNL Linux Cluster, Linux (pgi), 8 pes/node, batch system is Moab"EXEROOT="/p/lscratchd/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/p/lscratchd/mirin/ccsm3data/inputdata"DIN_LOC_ROOT_CLMQIAN="/p/lscratchd/mirin/ccsm3data/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/p/lscratchd/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"CCSM_BASELINE="/p/lscratchd/$CCSMUSER/ccsm_baselines"CCSM_CPRNC="/p/lscratchd/mirin/ccsm3data/tools/cprnc/cprnc"OS="Linux.pgi" BATCHQUERY="mshow"BATCHSUBMIT="msub" GMAKE_J="8" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_hera"DESC="LLNL Linux Cluster, Linux (pgi), 16 pes/node, batch system is Moab"EXEROOT="/p/lscratchd/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/p/lscratchd/mirin/ccsm3data/inputdata"DIN_LOC_ROOT_CLMQIAN="/p/lscratchd/mirin/ccsm3data/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/p/lscratchd/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"CCSM_BASELINE="/p/lscratchd/$CCSMUSER/ccsm_baselines"CCSM_CPRNC="/p/lscratchd/mirin/ccsm3data/tools/cprnc/cprnc"OS="Linux.pgi" BATCHQUERY="mshow"BATCHSUBMIT="msub" GMAKE_J="8" MAX_TASKS_PER_NODE="16"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_columbia"DESC="NASA Ames Linux Cluster, Linux (ia64), 2 pes/node, batch system is PBS" EXEROOT="/nobackup2b/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/nobackup2b/$CCSMUSER/ccsm3data/inputdata"DIN_LOC_ROOT_CLMQIAN="/nobackup2b/$CCSMUSER/ccsm3data/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="UNSET"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"OS="Linux.ifort"BATCHQUERY="qstat"BATCHSUBMIT="qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="2"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_frost"DESC="NCAR IBM BG/L, os is BGL, 8 pes/node, batch system is cobalt"EXEROOT="/ptmp/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/ptmp/dennis/inputdata"DIN_LOC_ROOT_CLMQIAN="/ptmp/dennis/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/ptmp/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="TRUE"DOUT_L_MSROOT="csm/$CASE"CCSM_BASELINE="/ptmp/dennis/ccsm_baselines"CCSM_CPRNC="/ptmp/dennis/tools/cprnc/cprnc"OS="BGL"BATCHQUERY="cqstat -f %jn"GMAKE_J="8" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_nyblue"DESC="SUNY IBM BG/L, os is BGL, 8 pes/node, batch system is cobalt"EXEROOT="/gpfs/scratch1/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/gpfs/home1/jdennis/inputdata"DIN_LOC_ROOT_CLMQIAN="/gpfs/home1/jdennis/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/gpfs/scratch1/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"CCSM_BASELINE="/gpfs/home1/jdennis/ccsm_baselines"CCSM_CPRNC="/gpfs/home1/jdennis/tools/cprnc/cprnc"OS="BGL"BATCHQUERY="cqstat -f %jn"GMAKE_J="8" MAX_TASKS_PER_NODE="8"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_ranger"DESC="TACC Linux Cluster, Linux (pgi), 1 pes/node, batch system is SGE" EXEROOT="$WORK/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="$WORK/inputdata"DIN_LOC_ROOT_CLMQIAN="$WORK/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="$WORK/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"OS="Linux.pgi" BATCHQUERY="qstat"BATCHSUBMIT="qsub" GMAKE_J="1" MAX_TASKS_PER_NODE="4"MPISERIAL_SUPPORT="FALSE" /><machine MACH="prototype_ubgl"DESC="LLNL IBM BG/L, os is BGL, 2 pes/node, batch system is Moab"EXEROOT="/p/lscratchc/$CCSMUSER/$CASE"OBJROOT="$EXEROOT"LIBROOT="$EXEROOT/lib"INCROOT="$EXEROOT/lib/include" DIN_LOC_ROOT_CSMDATA="/p/lscratchc/mirin/ccsm3data/inputdata"DIN_LOC_ROOT_CLMQIAN="/p/lscratchc/mirin/ccsm3data/inputdata/atm/datm7/atm_forcing.datm7.Qian.T62.c080727"DOUT_S_ROOT="/p/lscratchc/$CCSMUSER/archive/$CASE"DOUT_L_HTAR="FALSE"DOUT_L_MSROOT="UNSET"CCSM_BASELINE="/p/lscratchc/mirin/ccsm3data/ccsm_baselines"CCSM_CPRNC="/p/lscratchc/mirin/ccsm3data/tools/cprnc/cprnc"OS="BGL"BATCHQUERY="mshow"BATCHSUBMIT="msub" GMAKE_J="1" MAX_TASKS_PER_NODE="1"MPISERIAL_SUPPORT="FALSE" /><machine MACH="generic_ibm"DESC="generic ibm power system, os is AIX, batch system is LoadLeveler, user-defined"MPISERIAL_SUPPORT="TRUE"OS="AIX"  /><machine MACH="generic_xt"DESC="generic CRAY XT, os is CNL, batch system is PBS, user-defined"MPISERIAL_SUPPORT="TRUE"OS="CNL" /><machine MACH="generic_linux_pgi"DESC="generic linux (pgi), os is Linux, batch system is PBS, user-defined"MPISERIAL_SUPPORT="TRUE"OS="Linux" /><machine MACH="generic_linux_lahey"DESC="generic linux (lahey), os is Linux, batch system is PBS, user-defined"MPISERIAL_SUPPORT="TRUE"OS="Linux" /><machine MACH="generic_linux_intel"DESC="generic linux (intel), os is Linux, batch system is PBS, user-defined"MPISERIAL_SUPPORT="TRUE"OS="Linux" /><machine MACH="generic_linux_pathscale"DESC="generic linux (pathscale), os is Linux, batch system is PBS, user-defined"MPISERIAL_SUPPORT="TRUE"OS="Linux" /><machine MACH="generic_darwin_intel"DESC="generic darwin (intel), os is Darwin (Macintosh OS X), no batch system, user-defined"GMAKE="make"MPISERIAL_SUPPORT="TRUE"OS="Darwin" /><machine MACH="generic_darwin_pgi"DESC="generic darwin (pgi), os is Darwin (Macintosh OS X), no batch system, user-defined"GMAKE="make"MPISERIAL_SUPPORT="TRUE"OS="Darwin" /></config_machines>

这里面只需要将config_machine.xml 里面huanmy_intel 里面的可执行文件路径改成自己想要放的地方就可以了。

到这里机器配置的任务完成了。


三、创建case和编译

1.创建case

cd $CAS_ESM_HOME/scripts

 ./create_newcase -case FAMIP_fd14 -compset FAMIPC5X -res fd14_fd14 -mach huanmy_intel

Successfully created the case for afw 

能够正确建立case,说明前面的机器配置是正确的!

2.编译case

cd  FAMIP_fd14!# 进入case的目录里面

[chengxl@login01 FAMIP_fd14]$ ls
CaseStatus        configure               env_case.xml      env_run.xml  README       Tools
check_case        create_production_test  env_conf.xml      LockedFiles  README.case  xmlchange
check_input_data  env_build.xml           env_mach_pes.xml  Macros.afw   SourceMods

先要配置一下

[chengxl@login01 FAMIP_fd14]$ ./configure -case
Generating resolved namelist, prestage, and build scripts
configure done.
Successfully generated resolved namelist, prestage, and build scripts
Locking file env_conf.xml
Generating clean_build script 
Generating submit script 
Generating build script 
Generating run script 
env: /data/chengxl/cas-esm/scripts/casesm_utils/Machines/mkbatch.afw: No such file or directory
env: /data/chengxl/cas-esm/scripts/casesm_utils/Machines/mkbatch.afw: No such file or directory
env: /data/chengxl/cas-esm/scripts/casesm_utils/Machines/mkbatch.afw: No such file or directory
configure error: configure generate_batch error

./configure -case 

 ./FAMIP_fd14.huanmy_intel.build 

[chengxl@login01 scripts]$ ./create_newcase -case FAMIP_fd14 -compset FAMIPC5X -res fd14_fd14 -mach huanmy_intel
--------------------------------------------------------------------------------CAS-ESM2.1 READMEFor both a quick start as well as a detailed summary of creating and running
a CAS-ESM model case, see the CAS-ESM2.1 User's Guide atIMPORTANT INFORMATION ABOUT SCIENTIFIC VALIDATIONCAS-ESM2.1 has the flexibility to configure cases with many different combinations of component models, grids, and model settings, but this version of CAS-ESM has only been validated scientifically for the following fully active configurations:1.9x2.5_gx1v6   B_1850_CN1.9x2.5_gx1v6   B_1850_RAMPCO2_CN1.9x2.5_gx1v6   B_1850-2000_CN1.9x2.5_gx1v6   B_1850_CAM5_CN0.9x1.25_gx1v6  B_1850_CAM5_CN0.9x1.25_gx1v6  B_1850-2000_CAM5_CN0.9x1.25_gx1v6  B_1850_CN0.9x1.25_gx1v6  B_1850_RAMPCO2_CN0.9x1.25_gx1v6  B_1850-2000_CN0.9x1.25_gx1v6  B_1850_BGC-BPRP0.9x1.25_gx1v6  B_1850_BGC-BDRD0.9x1.25_gx1v6  B_1850-2000_BGC-BPRP0.9x1.25_gx1v6  B_1850-2000_BGC-BDRD0.9x1.25_gx1v6  B_1850_CN_CHEM 0.9x1.25_gx1v6  B_1850-2000_CN_CHEM1.9x2.5_gx1v6   B_1850_WACCM_CN1.9x2.5_gx1v6   B_1850-2005_WACCM_CN1.9x2.5_gx1v6   B_1955-2005_WACCM_CN1.9x2.5_gx1v6   B_RCP2.6_WACCM_CN1.9x2.5_gx1v6   B_RCP4.5_WACCM_CN1.9x2.5_gx1v6   B_RCP8.5_WACCM_CNT31_gx3v7       B_1850_CNT31_gx3v7       B_1850-2000_CNIf the user is interested in running a "stand-alone" component configuration, the following model configurations have been validated scientifically and have associated diagnostic output as part of the release:1.9x2.5_1.9x2.5    F_2000_WACCM1.9x2.5_1.9x2.5    F_AMIP_CAM50.9x1.25_0.9x1.25  F_AMIP_CAM51.9x2.5_1.9x2.5    F_AMIP_CN0.9x1.25_0.9x1.25  F_AMIP_CN0.9x1.25_gx1v6     I_20000.9x1.25_gx1v6     I_2000_CNT62_gx1v6          C_NORMAL_YEARFor more information regarding alternative component configurations, please refer tocasesm_utils/Case.template/config_compsets.xml --------------------------------------------------------------------------------
***********************************************************
Component set     : F_AMIP_CAM5X (FAMIPC5X)
Desc              : AMIP run for CMIP5 protocol with IAP5
***********************************************************Creating /data/chengxl/cas-esm/scripts/FAMIP_fd14 Locking file /data/chengxl/cas-esm/scripts/FAMIP_fd14/env_case.xml
Successfully created the case for huanmy_intel
[chengxl@login01 scripts]$ cd FAMIP_fd14/
[chengxl@login01 FAMIP_fd14]$ ls
CaseStatus        configure               env_case.xml      env_mach_specific  Macros.huanmy_intel  SourceMods
check_case        create_production_test  env_conf.xml      env_run.xml        README               Tools
check_input_data  env_build.xml           env_mach_pes.xml  LockedFiles        README.case          xmlchange
[chengxl@login01 FAMIP_fd14]$ ./configure -case
Generating resolved namelist, prestage, and build scripts
configure done.
Successfully generated resolved namelist, prestage, and build scripts
Locking file env_conf.xml
Generating clean_build script
Generating submit script
Generating build script
Generating run script
Locking file env_mach_pes.xml
Successfully configured the case for huanmy_intel
If an old build exists for this case, you might want to run the *.clean_build script before building
[chengxl@login01 FAMIP_fd14]$ ./FAMIP_fd14.huanmy_intel.build
-------------------------------------------------------------------------CAS-ESM BUILDNML SCRIPT STARTING- To prestage restarts, untar a restart.tar file into /data/chengxl/cas-esm/FAMIP_fd14/runCAS-ESM BUILDNML SCRIPT HAS FINISHED SUCCESSFULLY
-------------------------------------------------------------------------CAS-ESM PRESTAGE SCRIPT STARTING- CAS-ESM input data directory, DIN_LOC_ROOT_CSMDATA, is /data/zhangh/data/inputdata- Case input data directory, DIN_LOC_ROOT, is /data/zhangh/data/inputdata- Checking the existence of input datasets in DIN_LOC_ROOTCAS-ESM PRESTAGE SCRIPT HAS FINISHED SUCCESSFULLY
-------------------------------------------------------------------------CAS-ESM BUILDEXE SCRIPT STARTING- Build Libraries: mct pio csm_share
Tue Feb 21 15:13:32 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/mct/mct.bldlog.230221-151320
Tue Feb 21 15:14:35 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/pio/pio.bldlog.230221-151320
Tue Feb 21 15:15:45 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/csm_share/csm_share.bldlog.230221-151320
Tue Feb 21 15:16:12 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/cpl.bldlog.230221-151320
Tue Feb 21 15:16:12 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/atm.bldlog.230221-151320
Tue Feb 21 15:20:13 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/wrf.bldlog.230221-151320
Tue Feb 21 15:20:13 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/gea.bldlog.230221-151320
Tue Feb 21 15:20:13 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/lnd.bldlog.230221-151320
Tue Feb 21 15:20:49 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/ice.bldlog.230221-151320
Tue Feb 21 15:21:18 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/ocn.bldlog.230221-151320
Tue Feb 21 15:21:20 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/glc.bldlog.230221-151320
Tue Feb 21 15:21:21 CST 2023 /data/chengxl/cas-esm/FAMIP_fd14/run/casesm.bldlog.230221-151320- Locking file env_build.xml- Locking file Macros.huanmy_intelCAS-ESM BUILDEXE SCRIPT HAS FINISHED SUCCESSFULLY

可以看见我这里成功编译

[chengxl@login01 FAMIP_fd14]$ ls
atm     cpl        FAMIP_fd14.casesm.exe                gea  ice  lnd  ocn  run
casesm  csm_share  FAMIP_fd14.casesm.exe.230221-151320  glc  lib  mct  pio  wrf

到EXE_ROOT看见确实存在可执行文件了

到此创建和编译case成功!


四、运行case

1.编写作业脚本

进入exeroot/run

mpi_run_casesm.job

#!/bin/sh
#SBATCH --job-name=iap_myb
#SBATCH -p normal
#SBATCH -N 10
#SBATCH -n 640
#SBATCH --ntasks-per-node=64
#SBATCH -o log.%j
#SBATCH -e log.%j
#SBATCH --time=10-08:00

mpirun -np 640  ./casesm.exe > log.casesm

2.拷贝陆面模式初始场和强迫场

(1)mkdir timing

同cesm

(2)陆面资料

cas-esm不知道为什么要自己手动设置陆面资料

cp /work/zhanghe/CAS-ESM2_tutorial/master/code/demo/AMIPrun/link.sh .

./link.sh

cas-esm 里面需要路面的强迫资料,我后来用了wuchenglai老师资料夹里面的资料。

(3)修改一些in的 参数

cas-esm 中还需要修改点东西

atm_in中

dtdy = 200.0D0

lnd_in中

co2_type   = ‘diagnostic'

3.提交和查看作业脚本

sbatch mpi_run_casesm.job

squeue

tail -f log.casesm

cas-ESM 安装教程相关推荐

  1. Xftp 7(FTP/SFTP客户端) V7.0.0107 官方中文免费正式版(附文件+安装教程)

    文章目录 下载地址 简介 安装教程 评估板使用说明 Xftp7特性: 功能介绍 下载地址 链接:https://pan.baidu.com/s/17mtxhTTOviFux4tbVGzKvA?pwd= ...

  2. Mini Fabric (一)Windows上安装教程

    一.介绍 如果您想学习Hyperledger Fabric或开发智能合约,或者只是想了解 Hyperledger Fabric,Mini Fabric是让您快速开始的良好工具.Mini Fabric可 ...

  3. 【网站汇总】安装教程系列

    目录 1.Anaconda 2.Pytorch 3.Tensorflow 4.LaTeX 5.博客搭建 1.Anaconda [CV]Anaconda 安装教程_Fannnnf的博客-CSDN博客 2 ...

  4. oracle 11g完全安装教程(CentOS)

    oracle下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html oracle ...

  5. vs安装一直在提取文件_Visual Studio 2019下载及安装教程

    宸1分钟前 这可是我珍藏多年的资源啊. Visual Studio 2019 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.是目前最流行的Windows ...

  6. 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙...

    JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  7. iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统

    全网科技 温馨提醒:iLEX RAT和Semi-Restore的作用都是让你的已越狱的设备恢复至越狱的初始状态. 可是要注意无论你是用iLexRAT冬青鼠还是Semi-restore.对于还原来说都存 ...

  8. TensorFlow2.0 系列开篇: Windows下GPU版本详细安装教程

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 [导读]今年三月谷歌在TensorFlow开发者峰会上宣布TensorFlow 2.0 ...

  9. mysql为什么每天0点就装东西_MySQL的详细安装教程

    1.安装之前需要注意的几点 建议不要安装最新版本,一般找mysql5.0系列版本即可: mysq1官网有.zip和.msi两种安装形式: zip是压缩包,直接解压缩以后使用的,需要自己配置各种东西:m ...

  10. Centos7上安装oracle11g/12c的安装教程推荐及注意事项

    Centos7上安装oracle11g的安装教程推荐及注意事项 历时一天半,终于在今天中午安装完oracle11g,成功后喜悦的心情自是溢于言表.总有些疑问,比如为何如此复杂的数据库为何还会有如此之多 ...

最新文章

  1. 回答跨专业考研者的几点疑问(计算机考研)
  2. CTFshow 文件包含 web82
  3. tvpvar模型的建模步骤_风控建模六部曲
  4. Javascript基础系列之(五)条件语句(比较操作符)
  5. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  6. html 跳转到本页面指定位置
  7. LeetCode 2018. 判断单词是否能放入填字游戏内(模拟)
  8. MTK 驱动(20)--- camera 相机启动时间优化
  9. OpenCV-python学习笔记(四)——smoothing and blurring平滑和模糊
  10. openquery 如果执行存储过程_ORA-01502--记一次数据库索引失效导致执行存储过程出错...
  11. SAS 9.4 的sid问题解决方案汇总(头疼...)
  12. 三级联动第二种方法 三级联动.html
  13. python类 析构方法
  14. PHP声音鉴定源码 微信趣味声音测试吸粉H5源码
  15. 天书 kdb+之q语言
  16. JS_原生js实现60秒倒计时
  17. 2022-2027年中国百元酒店行业市场全景评估及发展战略规划报告
  18. tao的开源代码_获取并编译TAO
  19. 孕妈妈春季饮食有哪些忌讳 孕妈妈春天不适合吃的东西
  20. 18W快充4000毫安电量 魅族魅蓝Note5续航实测

热门文章

  1. 中央空调分户计量系统解决方案将信息可视化
  2. 计算机层次结构与计算机硬件
  3. 无线点菜宝服务器,无线点菜机怎么用 无线点菜机使用方法【详解】
  4. 数据结构实验——模拟停车场
  5. 对吉利汽车副总裁王自亮的“飞行印象”
  6. A-LOAM构建3d点云地图并实时转存二维栅格地图
  7. [移动应用安全]移动应用安全培训PPT
  8. infiniband 网络优化
  9. openldap schema
  10. 【代码片段】获取分辨率DPI和像素、毫米、英寸互相转换