# pyatmos的MSISE00模型有问题 2023年10月29日
# 80km处的温度有突变
# 可能是考虑了 kp 指数等因素的影响,但是未能处理好衔接融合问题,以致于引起“突变”
import numpy as np
from matplotlib import pyplot as plt
def MSISE00_Den(start_time, latt, lonn, Alt):
import numpy as np
import pandas as pd
import pyatmos
from pyatmos import download_sw_nrlmsise00, read_sw_nrlmsise00, nrlmsise00
# Download or update the space weather file from www.celestrak.com
swfile = download_sw_nrlmsise00()
# Read the space weather data
swdata = read_sw_nrlmsise00(swfile)
# Set a specific time and location
t = start_time # time(UTC)
Rho = []
T = []
for i in Alt:
lat, lon, alt = latt, lonn, i # latitude, longitude in [degree], and altitude in [km]
nrl00 = nrlmsise00(t, (lat, lon, alt), swdata)
# nrl00 =nrlmsise00(t, (lat, lon, 0.95166), swdata)
# print(nrl00.rho)
Rho.append(nrl00.rho)
T.append(nrl00.T)
# Create a Pandas DataFrame
data = {
'Altitude': Alt,
'Density (rho)': Rho,
'Temperature (T)': T
}
df = pd.DataFrame(data)
return df
Alt = np.linspace(35, 105, 100)
start_time = '2023-09-20 15:38:00'
latt = 39.10#N39
lonn = 105.28#E105
MsiseData = MSISE00_Den(start_time, latt, lonn, Alt)
##print(MSISE00_Den(start_time, latt, lonn, Alt))
plt.plot(MsiseData['Temperature (T)'], MsiseData['Altitude'],'.-',label='pyatmos ERROR')
plt.title(start_time)
plt.xlim([185,265])
plt.ylim([35,105])
plt.legend()
plt.grid()
plt.xlabel('Temperature(K)')
plt.ylabel('Altitude(km)')
plt.show()
pyatmos的MSISE00模型有问题
最新推荐文章于 2024-10-13 19:04:04 发布