关于发展模式加入变量的问题解决

问题1描述:

编译的时候不报错,但是在运行的时候出错输出

FLDLST: ustar in fincl( 17 ) not found

ENDRUN: called without a message string

问题1解决:

这是因为在cas-esm 的atm_in 中写入了某个变量,但是在F90 代码里面没有加入场变量。

这是因为没有addfld(),尝试在init 的时候加入场变量来解决问题,或者在atm_in的fincl中删除这个变量。

call addfld( 'ustar'       , 'm/s'      , 1      , 'A', 'ustar'                              , phys_decomp )!mayubin 2023-12-20

问题2描述:

最近遇到一个奇怪的问题,当我输出ustar和obklen的时候,在运行的时候居然一只卡在了输出文件上很奇怪啊

然后我打开casesm.o10997620文件查看我的出错信息

 

(base) [chengxl@login03 run]$ cat casesm.e10997620

srun: ROUTE: split_hostlist: hl=e2112r7n[2-4],e2113r1n[1-4],e2113r2n[1-4],e2113r3n[1-4],e2113r4n[1-4],e2113r5n[1-4],

e2113r6n[1-4],e2113r7n[1-4],e2201r1n1 tree_width 0

slurmstepd: error: *** STEP 10997620.0 ON e2112r7n2 CANCELLED AT 2023-12-26T23:21:33 ***

srun: Job step aborted: Waiting up to 32 seconds for job step to finish.

slurmstepd: error: *** JOB 10997620 ON e2112r7n2 CANCELLED AT 2023-12-26T23:21:33 ***

forrtl: error (78): process killed (SIGTERM)

Image PC Routine Line Source

casesm.exe 0000000001682A6A Unknown Unknown Unknown

libpthread-2.17.s 00002B8F83C075D0 Unknown Unknown Unknown

libpthread-2.17.s 00002B8F83C044A3 pthread_spin_lock Unknown Unknown

解决2方法:

由于将原来的atm_in 和drv_in复制进现在的运行目录导致的。

问题2解决探索过程:

这个我还没有找到解决办法,也不知道问题是怎么出现的。

我试图减少我自己输出变量的个数

当我减少了我的输出变量之后,确实问题消失了,这就说明可能是我剩下的注释掉的变量的输出可能存在问题。

 nhtfrq = 0, 0 ! , -1 , 1     ! ,-1     ,-24    ,0     ,-2190  , -8760 mfilt  = 1, 1 ! , 24 , 26280 ! ,8760   ,365    ,12    , 4     ,1     fincl1 = 'lhf_tbf','tau_tbf' ,'shf_tbf','n2','pbl_h','h_wave','ri','tau_coare','hsb_coare','hlb_coare', 'LHFLX', 'SHFLX'fincl2 = 'QREFHT', 'TREFHTMN', 'TREFHTMX', 'TREFHT', 'PRECT', 'RHREFHT', 'PS', 'PSL', 'U10', 'CLDTOT', 'PRECC', 'PRECSC', 'PRECSL', 'LHFLX', 'SHFLX', 'FLDS', 'FLUT', 'FSDS', 'FSUTOA', 'FLUTC', 'TS', 'T', 'Q', 'RELHUM', 'OMEGA', 'U', 'V', 'Z3', 'FLNS','ri','n2','pbl_h','h_wave',

接下来要进一步排查问题。

插入:我们可以看见,在atm_in中加入要输出的变量,但是实际上在fortran中没有写outfld语句的时候,是不会报错的。只会 全部输出为0。

接下来我们试验加入变量h_wave_ln,结果发现,这个变量加入就导致了在变量输出的时候卡住了。

接下来我去掉h_wave_ln .然后加入qsss,tau_coare,hsb_coare,hlb_coare ,pbl_h 再次运行试验,不存在输出问题。

接下来,我们加入,ri , n2 , ustar 和obklen 再尝试一下

在运行的时候出现了这个

FLDLST: ustar in fincl( 16 ) not found

ENDRUN: called without a message string

 我在init的时候加上addfld再尝试

 

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(802): error #6410: This name has not bee

n declared as an array or a function. [IFRAC]

ifrac(i,j) = x2o_o%rAttr(index_x2o_Si_ifrac,n) ! ice fraction

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(803): error #6410: This name has not bee

n declared as an array or a function. [PATM]

patm (i,j) = x2o_o%rAttr(index_x2o_Sa_pslv,n) ! sea level pressure index_x2o_Sa_pslv

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(805): error #6410: This name has not bee

n declared as an array or a function. [TAUX]

taux (i,j) = x2o_o%rAttr(index_x2o_Foxx_taux,n) ! surface stress, zonal

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(806): error #6410: This name has not bee

n declared as an array or a function. [TAUY]

tauy (i,j) = x2o_o%rAttr(index_x2o_Foxx_tauy,n) ! surface stress, merid

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(807): error #6410: This name has not bee

n declared as an array or a function. [NETSW]

netsw(i,j) = x2o_o%rAttr(index_x2o_Foxx_swnet,n) ! net sw rad

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(808): error #6410: This name has not bee

n declared as an array or a function. [SEN]

sen (i,j) = x2o_o%rAttr(index_x2o_Foxx_sen,n) ! sensible

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(809): error #6410: This name has not bee

n declared as an array or a function. [LWUP]

lwup (i,j) = x2o_o%rAttr(index_x2o_Foxx_lwup,n) ! long-wave up

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(810): error #6410: This name has not bee

n declared as an array or a function. [LWDN]

lwdn (i,j) = x2o_o%rAttr(index_x2o_Foxx_lwdn,n) ! long-wave down

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(811): error #6410: This name has not bee

n declared as an array or a function. [MELTH]

melth(i,j) = x2o_o%rAttr(index_x2o_Foxx_melth,n) ! melt heat

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(812): error #6410: This name has not bee

n declared as an array or a function. [SALT]

salt (i,j) = x2o_o%rAttr(index_x2o_Foxx_salt,n) ! salinity flux

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(813): error #6410: This name has not bee

n declared as an array or a function. [PREC]

prec (i,j) = x2o_o%rAttr(index_x2o_Foxx_prec,n) !index_x2o_Foxx_prec

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(814): error #6410: This name has not bee

n declared as an array or a function. [EVAP]

evap (i,j) = x2o_o%rAttr(index_x2o_Foxx_evap,n) ! evaporation

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(815): error #6410: This name has not bee

n declared as an array or a function. [MELTW]

meltw(i,j) = x2o_o%rAttr(index_x2o_Foxx_meltw,n) ! melt water

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(816): error #6410: This name has not bee

n declared as an array or a function. [ROFF]

roff (i,j) = x2o_o%rAttr(index_x2o_Forr_roff,n) ! runoff !LPF 20121219

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(817): error #6410: This name has not bee

n declared as an array or a function. [DUU10N]

duu10n(i,j) = x2o_o%rAttr(index_x2o_So_duu10n,n) ! 10m wind speed squared

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(819): error #6410: This name has not bee

n declared as an array or a function. [SNOW1]

snow1(i,j) = x2o_o%rAttr(index_x2o_Foxx_snow,n) !snow flux

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(820): error #6410: This name has not bee

n declared as an array or a function. [ICEOFF]

iceoff(i,j)= x2o_o%rAttr(index_x2o_Forr_ioff,n) !ice runoff

-----------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(837): error #6404: This name does not ha

ve a type, and must have an explicit type. [LAT1]

lat1= LATVAP*evap ! latent (derive from evap)

--------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(837): error #8497: Illegal use of a proc

edure name in an expression, possibly a function call missing parenthesis. [EVAP]

lat1= LATVAP*evap ! latent (derive from evap)

---------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(839): error #6087: An array assignment s

tatement is required in this context. [PATM]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(840): error #6087: An array assignment s

tatement is required in this context. [IFRAC]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(841): error #6087: An array assignment s

tatement is required in this context. [TAUX]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(842): error #6087: An array assignment s

tatement is required in this context. [TAUY]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(843): error #6087: An array assignment s

tatement is required in this context. [NETSW]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(844): error #6087: An array assignment s

tatement is required in this context. [SEN]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(845): error #6087: An array assignment s

tatement is required in this context. [LWUP]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(846): error #6087: An array assignment s

tatement is required in this context. [LWDN]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(847): error #6087: An array assignment s

tatement is required in this context. [MELTH]

where(vit(:,:,1)

------------------------------^

/data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90(848): error #6087: An array assignment s

tatement is required in this context. [SALT]

where(vit(:,:,1)

------------------------------^

/tmp/ifortws2x0W.i90(2855): catastrophic error: Too many errors, exiting

compilation aborted for /data/chengxl/CAS-ESM2.0-test1/run/HIST_var_list_2/ocn/source/licomcpl7.F90 (code 1)

gmake: *** [licomcpl7.o] Error 1

gmake: *** Waiting for unfinished jobs....

 突然在编译的时候出现了licom 的一堆问题,很奇怪,之前也遇到过这样的问题。或许这只是偶然的现象。再次编译,这个问题消失。

运行后出现,

=====================================================================

Opened file B20TR_C35_y100.iap.h1.2000-01.nc to write 1638400

pio_support::pio_die:: myrank= -1 : ERROR:

pionfwrite_mod::write_nfdarray_double: 217 :

N

etCDF: Numeric conversion not representable

NETCDF:数值转换无法表示,这可能是存在什么变量类型转变问题。检查一下ustar,obklen,h_wave_ln的计算代码

会不会是因为这个,
————————————————
原文链接:https://blog.csdn.net/weixin_38594380/article/details/108335540

所以我改成D试一下,因为其他都是双精度的。

另外,sign是什么函数?

取前面数的绝对值,取后面数的符号。
例如:
c = SIGN (5.2, -3.1) ! returns -5.2
c = SIGN (-5.2, -3.1) ! returns -5.2
c = SIGN (-5.2, 3.1) ! returns 5.2

 将E改成D之后在进行实验

还是不对,不知道哪里出问题了。

删去输出ustar和obklen的代码,然后就不会出现在输出中断的问题。

现在发现在atm_in加上ustar和obklen都不行,会导致中断

现在发现这些还不是问题,可能原因是:我直接把原来的atm_in,drv_in复制过来导致的问题。

我后来终于发现,导致这种情况的原因就是:我把atm_in,drv_in 复制到当前运行文件夹下导致的问题。

 但是我又得将我新加的变量放里面输出,所以我使用sed命令在当前生成的atm_in里加入新输出的变量配置语句。

sed -i "12 a\\nhtfrq=0,0" atm_in
sed -i "13 a\\fincl1 = 'lhf_tbf','tau_tbf' ,'shf_tbf','n2','pbl_h','h_wave','tau_coare','hsb_coare','hlb_coare', 'LHFLX', 'SHFLX','qsss'" atm_in
sed -i "14 a\\fincl2 =  'U10','LHFLX', 'SHFLX', 'TS', 'T', 'Q', 'RELHUM', 'OMEGA', 'U', 'V', 'Z3','ri','n2','pbl_h','h_wave','obklen','ustar','h_wave_ln' "  atm_in

这里面:

sed -i "12 a\\nhtfrq=0,0" atm_in

12 表示在第十二行,

\\后加入想要加入语句

atm_in 表示想要操作的文件

总结一下:

sed -i "行号 a\\加入的命令" 文件名.后缀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python使用动态规划解决不同路径问题

针对二维动态规划,还有一个问题就是关于求不同路径的实例,主要是说明在实际应用的场景中,要理解透彻实际问题的真正目的,就可以灵活实现代码编写。 对于求不同路径问题描述,对于一个机器人,处在一个mxn的网…

【Java 进阶篇】Maven 使用详解:打造便捷高效的项目构建利器

在软件开发的道路上,项目构建是一个不可避免的过程。而Maven,作为一个强大的项目管理和构建工具,为开发者提供了一套标准化的项目结构和构建流程。本文将围绕Maven的使用详解,手把手地带你探索Maven的世界,让你在项目构…

XTU-OJ-1452-完全平方数-笔记

参考博客 XTU-OJ 1452-完全平方数 题意 输入一个奇数&#xff0c;使得 n*(2*an-1)/2是一个完全平方数&#xff0c;求满足条件的最小的a 1<n<1e9 先输入样例数&#xff0c;再输入n 输入 2 1 3 输出 0 2 代码 #include<stdio.h>#define N 1000000010int a…

【UnityShader入门精要学习笔记】(1)了解渲染流水线

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 渲染流水线什么是流水线什么…

【教3妹学编程-算法题】经营摩天轮的最大利润

3妹&#xff1a;“打个中国结&#xff0c;再系个红腰带&#xff0c; 愿善良的人们天天好运来, 你勤劳生活美, 你健康春常在, 你一生的忙碌为了笑逐颜开。” 2哥 : 3妹&#xff0c;元旦快乐啊。 3妹&#xff1a;2哥元旦快乐~。 2哥&#xff1a;祝新的一年&#xff0c;3妹技术突飞…

SPI通信

SPI通信 1、SPI通信概述 SPI(Serial peripheral interface)是一种同步、串行、全双工、总线制、主从工作方式。 有四线控制&#xff1a; SDO——主设备数据输出&#xff0c;从设备数据输入&#xff0c;对于MOSI output slave inputSDI——主设备数据输入&#xff0c;从事设备…

Linux之进程管理

什么是进程 在linux中每个执行的程序都称为一个进程&#xff0c;每个进程都分配一个ID号&#xff08;pid进程号&#xff09;。每个进程都可能以两种方式存在&#xff0c;即前台和后天。前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作&#xff0c;但屏幕…

计算机网络【Google的TCP BBR拥塞控制算法深度解析】

Google的TCP BBR拥塞控制算法深度解析 宏观背景下的BBR 慢启动、拥塞避免、快速重传、快速恢复&#xff1a; 说实话&#xff0c;这些机制完美适应了1980年代的网络特征&#xff0c;低带宽&#xff0c;浅缓存队列&#xff0c;美好持续到了2000年代。 随后互联网大爆发&#x…

滴水逆向三期笔记与作业——02C语言——09 字节对齐_结构体数组

09 字节对齐_结构体数组 一、sizeof关键字1.1 基本类型的sizeof1.2 数组类型的sizeof1.3 结构体类型的sizeof 二、字节对齐--结构体对齐2.1 结构体对齐2.2 对齐规则2.2.1对其参数规则2.2.2 数据成员对齐规则2.2.2.3 结构体的总大小2.2.2.4 结构体嵌套 三、typedef关键字3.1 对已…

Python如何把类当做字典来访问及浅谈Python类命名空间

Python如何把类当做字典来访问 Python把类当做字典来访问 定义一个类将它实例化&#xff0c;我们可以通过obj.属性来访问类的属性&#xff0c;如果想获取类的所有实例变量&#xff0c;我们可以使用obj.__dict__来访问&#xff0c;如下&#xff1a; class A:def __init__(self)…

mount -a 出错任然重启问题

问题来源 在磁盘分区挂载过后&#xff0c;为了创建的新分区的能够永久挂载&#xff0c;我们常常会在/etc/fstab下写下配置文件&#xff0c;使其永久挂载。但是该配置一旦写错&#xff0c;就面临这死机问题&#xff0c;为此&#xff0c;以下操作针对该问题进行 解决方案&#x…

[每周一更]-(第43期):Golang版本的升级历程

从1.13接触go语言开始更新我们公司内第一个Go项目&#xff0c;直至现在go版本已经发展到1.20&#xff08;20230428&#xff09;&#xff0c;我们从go发版开始认识go语言&#xff0c;有利于我们更深入 了解这门语言&#xff0c;洞悉一些深层方式&#xff0c;加深我们学习的动力&…

3294 李白的酒

#include<bits/stdc.h> using namespace std; int main(){int n;double ans;scanf("%d",&n);for(int i1;i<n;i)ans1,ans/2;printf("%.5f",ans); }

基于蚁狮算法优化的Elman神经网络数据预测 - 附代码

基于蚁狮算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于蚁狮算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于蚁狮优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针…

CMake入门教程【基础篇】CMake+Minggw构建项目

文章目录 Minggw是什么Minggw下载CMake下载安装第1步&#xff1a;下载CMake第2步&#xff1a;安装CMake 如何构建和编译项目&#xff1a;使用CMake和MinGW总结 Minggw是什么 MinGW&#xff08;Minimalist GNU for Windows&#xff09;是一个免费的软件开发环境&#xff0c;旨在…

基于简化版python+VGG+MiniGoogLeNet的智能43类交通标志识别—深度学习算法应用(含全部python工程源码)+数据集+模型(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1&#xff09;VGG模型简化版2&#xff09;GoogLeNet简化版——MiniGoogLeNet 3. 模型训练及保存 相关其它博客工程源代码下载其它资料下载 前言 本项目专注于解决出国自驾游特定场景下的交…

C#中string.ToUpper()和string.ToLower()的用法

目录 一、关于ToUpper()和ToLower() 1.ToUpper() 2.ToLower() 3.小结 二、实例 三、生成效果 一、关于ToUpper()和ToLower() 1.ToUpper() 使用字符串对象的ToUpper方法可以将字符串中的字母全部转换为大写。 string P_str_book "mingribook".ToUpper()…

AD教程 (二十一)模块化布局规划

AD教程 &#xff08;二十一&#xff09;模块化布局规划 原理图是按照我们的功能模块去进行排布划分的 利用交叉选择模式分屏快速进行模块化布局 分屏&#xff0c;选中任意文档&#xff0c;右击&#xff0c;点击垂直分割 交叉选择模式&#xff0c;点击工具&#xff0c;交叉选…

【Java进阶篇】JDK新版本中的新特性都有哪些

JDK新版本中的新特性都有哪些 ✔️经典解析✔️拓展知识仓✔️本地变量类型推断✔️Switch 表达式✔️Text Blocks✔️Records✔️封装类✔️instanceof 模式匹配✔️switch 模式匹配 ✅✔️虚拟线程 ✔️经典解析 JDK 8中推出了Lambda表达式、Stream、Optional、新的日期API等…

2023-12-12LeetCode每日一题(下一个更大元素 IV)

2023-12-12每日一题 一、题目编号 2454. 下一个更大元素 IV二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的非负整数数组 nums 。对于 nums 中每一个整数&#xff0c;你必须找到对应元素的 第二大 整数。 如果 nums[j] 满足以下条件&#xff0c;那…