clm5制作地表数据

2023-11-06 09:31
文章标签 数据 制作 地表 clm5

本文主要是介绍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要根据自己的版本

下面这种就是出现问题的例子,这只是其中一种
在这里插入图片描述

一般制作地表数据工具在…/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 根据自己的哈

在这里插入图片描述
成功生成了相应文件哈,在哪里会路径上有

二、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这个文件,名字随便哈,主要是方便查询运算结果

在这里插入图片描述这里有缺少libssl.so.1.0.0的问题
执行下module unload anaconda/3-Python-3.6.5-phonopy
可以解决
在这里插入图片描述
看到sucessful了吗?啊啊啊啊啊啊啊啊

重点: 在这里可以看到要什么文件
  1. 在这个路径下下载哦
  2. 下载的文件是mkmapdata.sh 后面加上–list就可以看到需要下载的文件了
  3. BTW 这个有点大,提前下好比较好啊

三、domain文件

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

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

在这里插入图片描述
在这里插入图片描述
!!! 这里注意一下,除了看教程,也要看他的报错哦,如下,改对了就行
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

在这里插入图片描述
麻麻我成了!救命

这里有个问题
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

在这里插入图片描述在这里插入图片描述害不害怕,就在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文件重要,仔细找就可以找到缺失的

在这里插入图片描述
生成以下文件(如果没有报相应缺少的文件,可以查看log文件,里面有)
在这里插入图片描述
我成功了!!!啊啊啊啊啊啊啊啊啊啊
5月26日-6月4号!!!
感谢我的大腿!!!
8月12日整理

这篇关于clm5制作地表数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355805

相关文章

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模