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

相关文章

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手