VSCode配置Fortran并运行国际参考电离层2020模型(IRI2020)

本文主要是介绍VSCode配置Fortran并运行国际参考电离层2020模型(IRI2020),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


VSCode配置Fortran并运行国际参考电离层2020模型(IRI2020)


由于VSCode具有轻量、强大的代码编辑功能和丰富的插件生态系统,受到广大编程人员的青睐,在科学研究中也应用广泛。在电离层研究中,IRI模型可以计算出给定的地点、时间的电离层高度范围内电子密度、电子温度、离子温度和离子成分的月平均值。本文主要介绍了配置Fortran和运行IRI2020模型时出现的问题及解决方案。


一、VSCode配置Fortran

安装配置等步骤详见以下博客:

1、https://blog.csdn.net/wokaowokaowokao12345/article/details/127076563
2、https://zhuanlan.zhihu.com/p/524480747
3、https://blog.csdn.net/qq_24197463/article/details/89634794

下面是我配置IRI时的task.json,仅作参考。

{"version": "2.0.0","command": "gfortran","args": ["-g","${fileDirname}\\*.f*","-o","${workspaceRoot}\\${fileBasenameNoExtension}.exe"],"presentation": {"echo": true,"reveal": "always","focus": false,"panel": "new","showReuseMessage": true,"clear": false}
}

二、运行国际参考电离层2020模型(IRI2020)

1、下载IRI2020源码,地址为:http://irimodel.org/
直接运行iritest.for会出现以下错误:
undefined reference to ‘read_ig_rz_’
undefined reference to ‘readapf10.7_’
undefined reference to ‘read_web_’
错误的原因是因为它找不到这三个函数,这里需要我们添加上。
在这里插入图片描述

要添加函数需要的源文件,在这里我全加在了iritest.for
在这里插入图片描述

2、下面是IRI模型程序中的输入项,可以根据自己的需求选择。
在这里插入图片描述

c user input of IRI input parameters
cccccccccccccccccccccccccccccccccccccc
c defaults for jf(1:50)
c          jf(1)=.false.      ! f=no electron densities (t) 
c          jf(2)=.false.      ! f=no temperatures (t)
c          jf(3)=.false.      ! f=no ion composition (t)jf(4)=.false.      ! t=B0table f=other models (f)jf(5)=.false.      ! t=CCIR  f=URSI foF2 model (f)jf(6)=.false.      ! t=DS95+DY85   f=RBV10+TBT15 (f)
c          jf(7)=.false.      ! t=tops f10.7<188 f=unlimited (t)
c          jf(19)=.false. 	 !F1 prob model   only if foF1>0 and not NIGHT (t)
c          jf(20)=.false.     !standard F1  standard F1 plus L condition  (t)
c (19,20) = (t,t) f1-prob, (t,f) f1-prob-L, (f,t) old F1, (f,f) no F1
c          jf(21)=.false.     ! t=ion drift computed f=not comp.(f)
c          jf(22)=.false.     ! ion densities in m-3 (t)jf(23)=.false.     ! t=AEROS/ISIS f=TTS Te with PF10.7 (f)
c          jf(24)=.false.     ! t=D-reg-IRI-1990 f=FT-2001 (t)
c          jf(25)=.false.     ! t=F107D from APF107.DAT  f=user (t)
c          jf(26)=.false.	 ! t=STORM model on   f= off (t)
c          jf(28)=.false.	 ! t=spread-F computed f=not comp. (f)jf(29)=.false.     ! t=old  f=New Topside options (f)jf(30)=.false.     ! t=corr f=NeQuick topside (f)
C (29,30) = (t,t) IRIold, (f,t) IRIcor, (f,f) NeQuick, (t,f) COR2
c          jf(31)=.false.     ! t=B0ABT f=Gulyaeva (t)
c          jf(32)=.false.     ! t=F107_81 from APF107.DAT  f=user (t)jf(33)=.false.      ! t=auroral boundary   f=off (f)
c          jf(34)=.false. 	  ! t=messages on f= off (t)jf(35)=.false.      ! t=auroral E-storm model on f=off (f)
c          jf(36)=.false. 	  ! t=hmF2 w/out foF2_storm f=with (t)
c          jf(37)=.false. 	  ! t=topside w/out foF2_storm f=with (t)
c          jf(38)=.false. 	  ! t=WRITEs off in IRIFLIP f=on (t)jf(39)=.false.      ! t=M3000F2 model f=new hmF2 models (f)
c          jf(40)=.false. 	  ! t=AMTB-model, f=Shubin-COSMIC model (t) 
c          jf(41)=.false. 	  ! t:COV=F10.7_386 f:COV=f(IG12) (t) 
c          jf(42)=.false. 	  ! t/f=Te w/o PF10.7 dependance (t)
c          jf(43)=.false. 	  ! t= B0 model f= B0 user input (t)
c          jf(44)=.false. 	  ! t= B1 model f= B1 user input (t)
c          jf(45)=.false. 	  ! not used
c          jf(46)=.false. 	  ! not usedjf(47)=.false.        ! t=CGM on  f=CGM off (f)
c          jf(48)=.false. 	  ! t=Ti-Tru2021 f=Ti-Bil1981 (t)

IRI模型程序中的输出项:
在这里插入图片描述

        WRITE(7,7117) XCOR,jne,xner,jtn,jti,jte,jio,jin,&        jih,jihe,jio2,jino,jicl,tec,itopp
7117    FORMAT(F7.1,I7,1x,F6.3,3I6,7I4,f6.1,i4)

这里给大家一个参考:https://www.ngui.cc/el/1105081.html?action=onClick

这篇关于VSCode配置Fortran并运行国际参考电离层2020模型(IRI2020)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c