SkyMapMod 0.1.17__tar.gz → 0.1.19__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {skymapmod-0.1.17 → skymapmod-0.1.19}/PKG-INFO +1 -1
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/star_catalogues.py +1 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/zodiac.py +18 -53
- {skymapmod-0.1.17 → skymapmod-0.1.19}/pyproject.toml +1 -1
- {skymapmod-0.1.17 → skymapmod-0.1.19}/LICENSE +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/README.md +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/__init__.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/airglow.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/airglow_spectrum.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/albedo_of_planets.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/band_V_data.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/data/__init__.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/data/load_data.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/data/star_brightness.npy +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/data/star_temperatures.npy +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/modtran_default_kp_transparency.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/planets.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/solar_radio_flux.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/solar_spectrum.py +0 -0
- {skymapmod-0.1.17 → skymapmod-0.1.19}/SkyMapMod/transparency.py +0 -0
@@ -5,6 +5,7 @@ from .data.load_data import load_star_temperatures, load_star_brightness
|
|
5
5
|
from.zodiac import black_body_phot
|
6
6
|
|
7
7
|
#на вход подаем галактические координаты (l -- долгота, b -- широта) и массив длин волн, по которым строим спектр
|
8
|
+
#РАЗОБРАТЬСЯ С КОЭФФИЦИЕНТАМИ А -- НАДО ЛИ НОРМИРОВАТЬ НА C (КАЖЕТСЯ НАДО) А ЕЩЕ ВРОДЕ Я ЕГО ОТНОРМИРОВАЛА И ПОДГРУЗИЛА -- ПРОВЕРИТЬ
|
8
9
|
def star_spectrum(l, b, lmbd):
|
9
10
|
j = int((1800 - round(l*10)) + 3600) #пересчет из галактических к позиции в массиве
|
10
11
|
i = int(900 + round(b*10))
|
@@ -4,7 +4,7 @@ import random
|
|
4
4
|
|
5
5
|
#коэффициент пересчета из единиц S10 в количество фотонов от Солнца
|
6
6
|
#вычислен на основе спектра АЧТ от звезды класса A0, солнечного спектра и факта, что 1 ед. S10 соответствует 100 фотонов от звезды класса A0
|
7
|
-
|
7
|
+
|
8
8
|
|
9
9
|
#переопределяю тригонометрические функции, чтобы работать с градусами
|
10
10
|
def cos(x):
|
@@ -182,60 +182,25 @@ def integral(wl, spec):
|
|
182
182
|
result += (spec[i] + spec[i+1]) / 2 * (wl[i+1] - wl[i])
|
183
183
|
return result
|
184
184
|
|
185
|
-
def
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
Sun_V_fx = Sun_V_fx / (np.sum(Sun_V_fx * Sun_V_wl))
|
185
|
+
def zodiacal_spectrum(lmbd, beta, lmbd_sun, Sun_sp_wl = wavelenght_newguey2003, Sun_sp_fx = flux_newguey2003, V_wl = wavelenght_band_V, V_tr = trancparency_band_V):
|
186
|
+
#коэффициент пересчета из единиц S10 в количество фотонов от Солнца
|
187
|
+
#вычислен на основе спектра АЧТ от звезды класса A0, солнечного спектра и факта, что 1 ед. S10 соответствует 100 фотонов от звезды класса A0
|
188
|
+
#вот столько фотонов/(см^2 сек) от Солнца несет 1 ед S10:
|
189
|
+
N_S10 = 100.6
|
190
|
+
N_S10 = N_S10 * 10**4 / (4 * np.pi) # фот / (м^2 сек ср) -- НАДО ЛИ ДЕЛИТЬ НА 4 ПИ?
|
191
|
+
S10 = zodiacal_light(lmbd, beta, lmbd_sun)
|
192
|
+
Sun_V_wl, Sun_V_sp = convolution(Sun_sp_wl, Sun_sp_fx, V_wl, V_tr) #свертка Солнечного спектра с полосой V
|
193
|
+
integr = integral(Sun_V_wl, Sun_V_sp)
|
194
|
+
A = S10 * N_S10 / integr
|
196
195
|
|
197
|
-
mean_A0 = np.sum(A0_V_fx * h * c / A0_V_wl * 1e9)
|
198
|
-
mean_Sun = np.sum(Sun_V_fx * h * c / Sun_V_wl * 1e9)
|
199
|
-
N_S10_to_Sun = 100 * mean_A0 / mean_Sun
|
200
|
-
return (N_S10_to_Sun) #ЭТО НА САНТИМЕТР КВАДРАТНЫЙ В СЕКУНДУ!!!! ВАЖНО!!!!!
|
201
|
-
|
202
|
-
|
203
|
-
def zodiacal_spectrum(lmbd, beta, lmbd_sun, Sun_sp_wl = wavelenght_newguey2003, Sun_sp_fx = flux_newguey2003, V_wl = wavelenght_band_V, V_tr = trancparency_band_V, T_A0 = 9800):
|
204
|
-
S10 = zodiacal_light(lmbd, beta, lmbd_sun)
|
205
|
-
N_S10_to_Sun = N_S10(Sun_sp_wl, Sun_sp_fx, V_wl, V_tr, T_A0)
|
206
|
-
N_phot = round(S10 * N_S10_to_Sun)
|
207
|
-
probabilities = Sun_sp_fx / np.sum(Sun_sp_fx) #или все-таки нормируем на интеграл?
|
208
|
-
counts = np.zeros(Sun_sp_wl.shape[0])
|
209
|
-
for i in range(N_phot):
|
210
|
-
spectrum = random.choices(Sun_sp_wl, weights=probabilities)
|
211
|
-
counts[np.where(Sun_sp_wl == spectrum)[0][0]] += 1
|
212
|
-
return(Sun_sp_wl, counts)
|
213
196
|
|
197
|
+
#############################################
|
198
|
+
a, b = smm.convolution(Sun_sp_wl, A * Sun_sp_fx, V_wl, V_tr)
|
199
|
+
c = integr = smm.integral(a, b)
|
200
|
+
print('Техническая проверка: S10*N_S10 =', S10 * N_S10)
|
201
|
+
print('А при нормировке и интекрированию получается:', c)
|
202
|
+
#############################################
|
214
203
|
|
215
|
-
|
216
|
-
h = 6.63e-34
|
217
|
-
c = 3e8
|
218
|
-
Sun_V_wl, Sun_V_fx = convolution(Sun_sp_wl, Sun_sp_fx, V_wl, V_tr) #сворачиваю с полосой V
|
204
|
+
return Sun_sp_wl, A * Sun_sp_fx #нм, фот / (м^2 сек нм ср)
|
219
205
|
|
220
|
-
Sun_norm = integral(Sun_V_wl, Sun_V_fx)#интегрирую спектр, photons/(m^2 sec sr)
|
221
|
-
Sun_V_fx_norm = Sun_V_fx / Sun_norm #спектр отнормирован на 1 фотон
|
222
|
-
|
223
|
-
Sun_V_fx_norm_Vt = Sun_V_fx_norm * h * c / (Sun_V_wl * 10**(-9)) #перевела в мощности
|
224
|
-
Sun = np.sum(Sun_V_fx_norm_Vt)
|
225
206
|
|
226
|
-
A0_sp_wl = Sun_sp_wl #нм
|
227
|
-
A0_sp_fx = black_body_phot(A0_sp_wl, T_A0) #фот/ (м^2 ср сек м)
|
228
|
-
|
229
|
-
A0_V_wl, A0_V_fx = convolution(A0_sp_wl, A0_sp_fx, V_wl, V_tr)
|
230
|
-
norm_S10 = integral(A0_V_wl * 10**(-9), A0_V_fx)
|
231
|
-
|
232
|
-
A = 100/norm_S10
|
233
|
-
|
234
|
-
A0_V_fx = A * A0_V_fx
|
235
|
-
A0_norm = integral(A0_V_wl, A0_V_fx)
|
236
|
-
A0_V_fx_norm = A0_V_fx / A0_norm #photons/(m^2 sec sr)
|
237
|
-
|
238
|
-
A0_V_fx_norm_Vt = A0_V_fx_norm * h * c / (A0_V_wl * 10**(-9)) #Vt/(m^2 sec sr)
|
239
|
-
A0 = np.sum(A0_V_fx_norm_Vt)
|
240
|
-
N_S10_to_Sun = 100 * A0 / Sun
|
241
|
-
return (N_S10_to_Sun) #ЭТО НА САНТИМЕТР КВАДРАТНЫЙ В СЕКУНДУ
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|