clm5制作地表数据

已整理

目录)

  • 制作地表数据
    • 一、Create SCRIP grid files (if needed)
        • 1. 第一步
        • 2. 第二步
    • 二、Create mapping files for use by mksurfdata_map with mkmapdata
          • 重点: 在这里可以看到要什么文件
    • 三、domain文件
      • 重点
    • 四、Create surface datasets with mksurfdata_map

制作地表数据

菜狗还在努力中,所以先不整理哈哈哈哈哈
指路教程
(这个大佬的教程不见了,给我整不会了)
指路官网
建议官网看流程,教程看具体操作
感谢我的大腿!!!
感谢我的大腿!!!
感谢我的大腿!!!

一、Create SCRIP grid files (if needed)

有个问题, 没有安装ncl—解决方法:module 下来
用source filename 运行filename文件中的命令

这些是要用到的,缺啥补啥,这里可能会出现就是ncl和nco的安装问题

module load nco/version ncl/version #不要直接复制,version要根据自己的版本

下面这种就是出现问题的例子,这只是其中一种
clm5制作地表数据_第1张图片

一般制作地表数据工具在…/cesm_2.1.3/components/clm/tools/中
但是是单点模拟的话要改一下

1. 第一步

cd mkmapgrids/
vim mkscripgrid.ncl

把原来的注释后加上:

lonCenters = lonW + delX/2.d0
latCenters = latS + delY/2.d0

2. 第二步

cd ../mkmapdata
export CSMDATA=.../inputdata #这个是输入文件放的路径
export GRIDNAME=xxx          #自己的名字哈,都可以哦
export CDATE=‘date + %y%m%d’ 
./mknoocnmap.pl -p lat,lon -n $GRIDNAME #lat,lon 根据自己的哈

clm5制作地表数据_第2张图片
成功生成了相应文件哈,在哪里会路径上有

二、Create mapping files for use by mksurfdata_map with mkmapdata

缺少esmf的话 module有哦,可以直接module一个

#这个路径根据自己的esmf找一下
export ESMFBIN_PATH=/public1/soft/esmf/8.0.1-intel20/bin/binO/Linux.intel.64.intelmpi.default/
export GRIDFILE=$CESMPATH/components/clm/tools/mkmapgrids/SCRIPgrid_${GRIDNAME}_nomask_c$CDATE.nc
./mkmapdata.sh -r $GRIDNAME -f $GRIDFILE -t regional  >& filename.log
  • 如果对为什么-t 后面选择regional有疑问,是因为其实单点也不是单纯的一个点,是个超级小的区域而已
    当然这里我没有探索过,在上一步是不是也可以不用改ncl文件,只是在区域设定的时候遵循极小区域的设定,大神路过可以指教一下,万分感谢!
  • … >& filename.log 这个是将输出日志,到 filename.log这个文件,名字随便哈,主要是方便查询运算结果

clm5制作地表数据_第3张图片这里有缺少libssl.so.1.0.0的问题
执行下module unload anaconda/3-Python-3.6.5-phonopy
可以解决
clm5制作地表数据_第4张图片
看到sucessful了吗?啊啊啊啊啊啊啊啊

重点: 在这里可以看到要什么文件
  1. 在这个路径下下载哦
  2. 下载的文件是mkmapdata.sh 可以看到!!! 我也不知道正常的方法是什么哈哈哈哈,如大佬飘过可以告知一下哈哈哈哈
  3. BTW 这个有点大,提前下好比较好啊

clm5制作地表数据_第5张图片

三、domain文件

如果是第一次使用要先编译一下
路径是 …/cesm_2.1.3/cime/tools/mapping/gen_domain_files/src

修改Makefile文件
将:LDFLAGS  += $(USER_LDFLAGS) 
改为:LDFLAGS  += -L$(LIB_LDFLAGS) -lnetcdf

clm5制作地表数据_第6张图片
在这里插入图片描述
!!! 这里注意一下,除了看教程,也要看他的报错哦,如下,改对了就行
usage: configure [-h] [-d] [-v] [-s] [–machine MACHINE]
[–machines-dir MACHINES_DIR]
[–macros-format {Makefile,CMake}] [–output-dir OUTPUT_DIR]
[–compiler COMPILER] [–mpilib MPILIB] [–clean]

但是有个大问题,我不知道setting之后是不是就成功了
就当成功了吧,之后有问题再说吧
这就是个大坑啊,人在坑底起不来

重点

gmake 是有奇奇怪怪的东西出现,好像是编译了f90文件,没看到error和warning,所以我就不管了哈哈哈

!!! 来了就很迷,我都不知道还能这样,我的**mapfile是在mkmapgrids下面而不是在mkmapdata下,**所以导致我找了很久…

export MAPFILE=/public1/home/sc91286/cesm_2.1.3/components/clm/tools/mkmapgrids/map_xxx_noocean_to_xxx_nomask_aave_da_210527.nc
./gen_domain -m $MAPFILE -o $GRIDNAME -l $GRIDNAME

clm5制作地表数据_第7张图片
麻麻我成了!救命

这里有个问题
CSMDATA(这个东西输入数据的位置 )这个路径没有更改,这里环境变量还是要改的,所以直接在pl里面改了

my $CSMDATA = "/glade/p/cesm/cseg/inputdata";

改为自己路径哈 这里又又又要下文件了,加油加油

my $CSMDATA="/public1/home/sc91286/cesm_2.1.3/inputdata/lnd/clm2/rawdata/";

艰难的下载,今天又是做不完的一天,还没有找到相应的下载文件,大佬路过就告知一下,有咩有列出来的需要什么文件,我现在是报错一个下一个,真心不容易,菜狗流下了不学无术的泪水~~
好的我又来了,经过大概3-4天的下载,报错的出来的文件应该是下载完了!

四、Create surface datasets with mksurfdata_map

# module load hdf5/1.10.4-intel20 netcdf/4.4.1-icc17
# module unload intel/17.0.5 hdf5/1.8.13-icc17 
# 以上两步仅供参考,如果出现了netcdf或hdf的报错,可以试试
cd ${CESMPATH}/components/clm/tools/mksurfdata_map
./mksurfdata.pl -r usrspec -usr_gname $GRIDNAME -usr_gdate $CDATE -usr_mapdir $MAPDIR -y $YEARS
#这个years可以自己设置的哈

在最后一步的报错上出现了问题

ERROR in mksurfdata_map: 34304

在这里插入图片描述clm5制作地表数据_第8张图片害不害怕,就在successfully的上一个!
这时候,还是感谢我的大腿的救命
事实上,还有很多的文件需要补充,而且目前来说他是不报错的!
所以需要及时看log文件,看看有没有缺少的,这个就需要自己寻找了
目前,我正在补文件,所以具体之后会怎么样也不知道

PS:这里涉及到几个环境的设置,良好的移植环境设置是非常重要的
这里感谢超算的技术支持,毕竟靠我这个学术垃圾要下辈子了!!!
报错nefcdf和hdf的问题可以参考一下,不过这个主要还是自己的环境

source /public1/soft/modules/module.sh
module purge
module load hdf5/1.10.4-intel20 netcdf/4.4.1-icc17
module unload intel/17.0.5 hdf5/1.8.13-icc17

log文件重要,仔细找就可以找到缺失的

clm5制作地表数据_第9张图片
生成以下文件(如果没有报相应缺少的文件,可以查看log文件,里面有)
clm5制作地表数据_第10张图片
我成功了!!!啊啊啊啊啊啊啊啊啊啊
5月26日-6月4号!!!
感谢我的大腿!!!
8月12日整理

你可能感兴趣的:(cesm,python,pycharm,pytorch)