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

相关文章

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动