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

相关文章

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1