trivial modification
This commit is contained in:
parent
7bd791a32b
commit
f3b4069d54
@ -12,6 +12,8 @@ from .ussa76 import ussa76
|
|||||||
from ..utils import Const
|
from ..utils import Const
|
||||||
from ..utils.utils import alt_conver,check_altitude
|
from ..utils.utils import alt_conver,check_altitude
|
||||||
|
|
||||||
|
from ..class_atmos import ATMOS
|
||||||
|
|
||||||
def coesa76(alts, alt_type='geometric'):
|
def coesa76(alts, alt_type='geometric'):
|
||||||
'''
|
'''
|
||||||
Implements the U.S. Committee on Extension to the Standard Atmosphere(COESA 1976).
|
Implements the U.S. Committee on Extension to the Standard Atmosphere(COESA 1976).
|
||||||
@ -27,7 +29,7 @@ def coesa76(alts, alt_type='geometric'):
|
|||||||
Ts -> [float] temperatures ..., [K]
|
Ts -> [float] temperatures ..., [K]
|
||||||
Ps -> [float] pressures ..., [Pa]
|
Ps -> [float] pressures ..., [Pa]
|
||||||
|
|
||||||
Note: the geometric altitudes should be in [-0.610,1000] km, otherwise the output will be extrapolated for those input altitudes.
|
Note: the geometric altitudes should be in [-0.611,1000] km, otherwise the output will be extrapolated for those input altitudes.
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
U.S. Standard Atmosphere, 1976, U.S. Government Printing Office, Washington, D.C.
|
U.S. Standard Atmosphere, 1976, U.S. Government Printing Office, Washington, D.C.
|
||||||
@ -43,7 +45,7 @@ def coesa76(alts, alt_type='geometric'):
|
|||||||
data = np.load(data_path+'coesa76_coeffs.npz')
|
data = np.load(data_path+'coesa76_coeffs.npz')
|
||||||
rho_coeffs,p_coeffs = data['rho'],data['p']
|
rho_coeffs,p_coeffs = data['rho'],data['p']
|
||||||
|
|
||||||
r0 = Const.r0 # volumetric radius for the Earth, [km]
|
R0 = Const.R0 # volumetric radius for the Earth, [km]
|
||||||
|
|
||||||
# Get geometric and geopotential altitudes
|
# Get geometric and geopotential altitudes
|
||||||
zs,hs = alt_conver(alts, alt_type)
|
zs,hs = alt_conver(alts, alt_type)
|
||||||
@ -67,7 +69,7 @@ def coesa76(alts, alt_type='geometric'):
|
|||||||
elif z > zb[3] and z <= zb[4]:
|
elif z > zb[3] and z <= zb[4]:
|
||||||
T = 240 + 12 * (z - 110)
|
T = 240 + 12 * (z - 110)
|
||||||
else:
|
else:
|
||||||
epsilon = (z - 120) * (r0 + 120) / (r0 + z)
|
epsilon = (z - 120) * (R0 + 120) / (R0 + z)
|
||||||
T = 1e3 - 640 * np.exp(-0.01875 * epsilon)
|
T = 1e3 - 640 * np.exp(-0.01875 * epsilon)
|
||||||
|
|
||||||
ind = np.where((z - zb) >= 0)[0][-1]
|
ind = np.where((z - zb) >= 0)[0][-1]
|
||||||
@ -82,4 +84,6 @@ def coesa76(alts, alt_type='geometric'):
|
|||||||
rhos[j],Ts[j],Ps[j] = rho,T,P
|
rhos[j],Ts[j],Ps[j] = rho,T,P
|
||||||
j += 1
|
j += 1
|
||||||
|
|
||||||
return rhos,Ts,Ps
|
info = {'rho':rhos,'T':Ts,'P':Ps}
|
||||||
|
|
||||||
|
return ATMOS(info)
|
@ -1,16 +1,15 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from ..utils.utils import alt_conver,check_altitude
|
from ..utils.utils import alt_conver,check_altitude
|
||||||
|
|
||||||
|
from ..class_atmos import ATMOS
|
||||||
|
|
||||||
def expo(alts,alt_type='geometric'):
|
def expo(alts,alt_type='geometric'):
|
||||||
'''
|
'''
|
||||||
Estimate the air densities at given geometric or geopotential altitudes
|
Estimate the mass densities at given geometric or geopotential altitudes
|
||||||
above the sea level using a exponential atmosphere model from
|
above the sea level using a exponential atmosphere model.
|
||||||
Vallado, D. A. (2013). Fundamentals of astrodynamics and applications (4th Edition). Microcosm Press.
|
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
rhos = expo(alts)
|
rhos = expo(alts)
|
||||||
or
|
|
||||||
rhos = expo(alts,'geopotential')
|
rhos = expo(alts,'geopotential')
|
||||||
|
|
||||||
Inputs:
|
Inputs:
|
||||||
@ -23,7 +22,7 @@ def expo(alts,alt_type='geometric'):
|
|||||||
rhos -> [float array] densities at given altitudes, [kg/m^3]
|
rhos -> [float array] densities at given altitudes, [kg/m^3]
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
|
Vallado, D. A. (2013). Fundamentals of astrodynamics and applications (4th Edition). Microcosm Press.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
# Get geometric and geopotential altitudes
|
# Get geometric and geopotential altitudes
|
||||||
@ -59,4 +58,6 @@ def expo(alts,alt_type='geometric'):
|
|||||||
inds[i] = np.where((zs[i] - zb_expand) >= 0)[0][-1]
|
inds[i] = np.where((zs[i] - zb_expand) >= 0)[0][-1]
|
||||||
rhos = rhob[inds]*np.exp(-(zs-zb[inds])/ZS[inds])
|
rhos = rhob[inds]*np.exp(-(zs-zb[inds])/ZS[inds])
|
||||||
|
|
||||||
return rhos
|
info = {'rho':rhos}
|
||||||
|
|
||||||
|
return ATMOS(info)
|
Loading…
x
Reference in New Issue
Block a user