SkyMapMod 0.1.21__tar.gz → 0.1.22__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.
Files changed (21) hide show
  1. {skymapmod-0.1.21 → skymapmod-0.1.22}/PKG-INFO +1 -1
  2. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/__init__.py +2 -1
  3. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/planets.py +1 -1
  4. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/star_catalogues.py +6 -1
  5. skymapmod-0.1.22/SkyMapMod/total_background.py +116 -0
  6. {skymapmod-0.1.21 → skymapmod-0.1.22}/pyproject.toml +1 -1
  7. {skymapmod-0.1.21 → skymapmod-0.1.22}/LICENSE +0 -0
  8. {skymapmod-0.1.21 → skymapmod-0.1.22}/README.md +0 -0
  9. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/airglow.py +0 -0
  10. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/airglow_spectrum.py +0 -0
  11. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/albedo_of_planets.py +0 -0
  12. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/band_V_data.py +0 -0
  13. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/data/__init__.py +0 -0
  14. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/data/load_data.py +0 -0
  15. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/data/star_brightness.npy +0 -0
  16. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/data/star_temperatures.npy +0 -0
  17. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/modtran_default_kp_transparency.py +0 -0
  18. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/solar_radio_flux.py +0 -0
  19. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/solar_spectrum.py +0 -0
  20. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/transparency.py +0 -0
  21. {skymapmod-0.1.21 → skymapmod-0.1.22}/SkyMapMod/zodiac.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SkyMapMod
3
- Version: 0.1.21
3
+ Version: 0.1.22
4
4
  Summary: for modeling
5
5
  Project-URL: Homepage, https://istina.msu.ru/profile/aminevann/
6
6
  Author-email: Anna Amineva <amineva.2219@physics.msu.ru>
@@ -8,4 +8,5 @@ from .band_V_data import *
8
8
  from .solar_radio_flux import *
9
9
  from .star_catalogues import *
10
10
  from .albedo_of_planets import *
11
- from .planets import *
11
+ from .planets import *
12
+ from .total_background import *
@@ -18,7 +18,7 @@ def coordinates_of_planet(body, date, time): #'mars', 'venus', 'saturn', 'jupyte
18
18
  return(l, b)
19
19
 
20
20
 
21
- def magnitude_of_planet(body, date, time): #'mars', 'venus', 'saturn', 'jupyter'; 2023-11-03; 12:00:00';
21
+ def magnitude_of_planet(body, date, time): #'mars', 'venus', 'saturn', 'jupiter'; 2023-11-03; 12:00:00';
22
22
  if body == 'venus':
23
23
  planet = ephem.Venus()
24
24
  elif body == 'mars':
@@ -7,7 +7,12 @@ from.zodiac import black_body_phot
7
7
  #на вход подаем галактические координаты (l -- долгота, b -- широта) и массив длин волн, по которым строим спектр
8
8
  #РАЗОБРАТЬСЯ С КОЭФФИЦИЕНТАМИ А -- НАДО ЛИ НОРМИРОВАТЬ НА C (КАЖЕТСЯ НАДО) А ЕЩЕ ВРОДЕ Я ЕГО ОТНОРМИРОВАЛА И ПОДГРУЗИЛА -- ПРОВЕРИТЬ
9
9
  def star_spectrum(l, b, lmbd):
10
- j = int((1800 - round(l*10)) + 3600) #пересчет из галактических к позиции в массиве
10
+ #пересчет из галактических к позиции в массиве, ЕСЛИ ПРОБЛЕМЫ ВОЗНИКЛИ, ПЕРЕПРОВЕРИТЬ
11
+ if round(l*10) >= 1800:
12
+ j = int((1800 - round(l*10)) + 3600)
13
+ elif round(l*10) < 1800:
14
+ j = int(1800 - round((l+10)*10))
15
+
11
16
  i = int(900 + round(b*10))
12
17
  star_brightness = load_star_brightness()
13
18
  star_temperatures = load_star_temperatures()
@@ -0,0 +1,116 @@
1
+ from astropy.coordinates import Galactic, ICRS, GeocentricMeanEcliptic, get_sun, get_body
2
+ from astropy.time import Time
3
+ import astropy.units as u
4
+
5
+ from .zodiac import *
6
+ from .airglow import *
7
+ from .transparency import *
8
+ from .airglow_spectrum import *
9
+ from .modtran_default_kp_transparency import *
10
+ from .solar_spectrum import *
11
+ from .band_V_data import *
12
+ from .solar_radio_flux import *
13
+ from .star_catalogues import *
14
+ from .albedo_of_planets import *
15
+ from .planets import *
16
+
17
+ def galactic_to_equatorial(l, b):
18
+ # Входные данные: галактические координаты и эпоха
19
+ galactic_l = l * u.deg # Галактическая долгота
20
+ galactic_b = b * u.deg # Галактическая широта
21
+ epoch = Time('J2000.0') # Эпоха (стандартная для астрономических расчетов)
22
+
23
+ # Создаем объект галактических координат
24
+ galactic_coords = Galactic(l=galactic_l, b=galactic_b)
25
+
26
+ # Преобразуем галактические координаты в экваториальные (ICRS)
27
+ ecliptic_coords = galactic_coords.transform_to(GeocentricMeanEcliptic(equinox=epoch))
28
+
29
+
30
+ print("Техническая проверка")
31
+ print(f"Эклиптическая долгота (λ): {ecliptic_coords.lon.to(u.deg)}")
32
+ print(f"Эклиптическая широта (β): {ecliptic_coords.lat.to(u.deg)}")
33
+ return(ecliptic_coords.lon.to(u.deg).value, ecliptic_coords.lat.to(u.deg).value)
34
+
35
+ def Sun_ecl_lon(date, time):
36
+ datetime = date + ' ' + time
37
+ observation_time = Time(datetime)
38
+
39
+ # Получаем координаты Солнца в геоцентрической системе координат
40
+ sun_position = get_sun(observation_time)
41
+
42
+ # Преобразуем координаты Солнца в эклиптическую систему (геоцентрическую)
43
+ ecliptic_coords = sun_position.transform_to(GeocentricMeanEcliptic())
44
+
45
+ # Извлекаем эклиптическую долготу (lon) и широту (lat)
46
+ ecliptic_longitude = ecliptic_coords.lon
47
+ ecliptic_latitude = ecliptic_coords.lat
48
+
49
+ # Выводим результат
50
+ print("Техническая проверка:")
51
+ print(f"Эклиптическая долгота Солнца: {ecliptic_longitude}")
52
+ print(f"Эклиптическая широта Солнца: {ecliptic_latitude}")
53
+ return(ecliptic_longitude.value)
54
+
55
+
56
+ #собираем за атмосферой все 4 компоненты
57
+ #принимает на вход галактические координаты
58
+ #принимает на вход дату и время наблюдения по UTC
59
+ def total_background(l, b, date, time, Sun_sp_wl = wavelenght_newguey2003, Sun_sp_fx = flux_newguey2003, V_wl = wavelenght_band_V, V_tr = trancparency_band_V, wavelenght_airglow = wavelenght_kp, intensity_airglow = intensity_kp, wavelenght_atmosphere = wavelenght_modtran_kp, transparency_atmosphere = trancparency_modtran_kp, venus_albedo_wl = venus_alb_wl, venus_albedo_rf = venus_alb_rf, mars_albedo_wl = mars_alb_wl, mars_albedo_rf = mars_alb_rf, jupiter_albedo_wl = jupiter_alb_wl, jupiter_albedo_rf = jupiter_alb_rf, saturn_albedo_wl = saturn_alb_wl, saturn_albedo_rf = saturn_alb_rf):
60
+ #получаем эклиптическую долготу Солнца
61
+ lmbd_Sun = Sun_ecl_lon(date, time)
62
+ #переводим галактические координаты в эклиптические геоцентрические
63
+ lmbd, beta = galactic_to_equatorial(l, b)
64
+ #получаем спектр зодиакального света (нм, фот / (м^2 сек нм ср))
65
+ zodiac_wl, zodiac_spec = zodiacal_spectrum(lmbd, beta, lmbd_Sun, Sun_sp_wl, Sun_sp_fx, V_wl, V_tr)
66
+ # return(zodiac_wl, zodiac_spec)
67
+
68
+ #собственное свечение достаем
69
+ airglow_wl, airglow_spec = airglow_spectrum(wavelenght_airglow, intensity_airglow, wavelenght_atmosphere, transparency_atmosphere)
70
+
71
+ # return(airglow_wl, airglow_spec)
72
+ #зод. свет и собств. свечение -- окей. Нужно допилить звездные каталоги и планеты.
73
+
74
+ #звездные каталоги
75
+ star_cat_wl = zodiac_wl
76
+ star_cat_spec = star_spectrum(l, b, star_cat_wl)
77
+ # return star_cat_wl, star_cat_spec
78
+
79
+ #планеты
80
+ #Венера
81
+ venus_l, venus_b = coordinates_of_planet('venus', date, time)
82
+ print('Техническая проверка координат Венеры:', round(venus_l, 1), round(venus_b, 1))
83
+ if round(venus_l, 1) == l and round(venus_b, 1) == b:
84
+ venus_wl, venus_sp = venus_spectrum(date, time, Sun_sp_wl, Sun_sp_fx, venus_albedo_wl, venus_albedo_rf, V_wl, V_tr)
85
+ else:
86
+ venus_wl = zodiac_wl
87
+ venus_sp = np.zeros(venus_wl.shape[0])
88
+
89
+ #Марс
90
+ mars_l, mars_b = coordinates_of_planet('mars', date, time)
91
+ print('Техническая проверка координат Марса:', round(mars_l, 1), round(mars_b, 1))
92
+ if round(mars_l, 1) == l and round(mars_b, 1) == b:
93
+ mars_wl, mars_sp = mars_spectrum(date, time, Sun_sp_wl, Sun_sp_fx, mars_albedo_wl, mars_albedo_rf, V_wl, V_tr)
94
+ else:
95
+ mars_wl = zodiac_wl
96
+ mars_sp = np.zeros(mars_wl.shape[0])
97
+
98
+ #Юпитер
99
+ jupiter_l, jupiter_b = coordinates_of_planet('jupiter', date, time)
100
+ print('Техническая проверка координат Юпитера:', round(jupiter_l, 1), round(jupiter_b, 1))
101
+ if round(jupiter_l, 1) == l and round(jupiter_b, 1) == b:
102
+ jupiter_wl, jupiter_sp = jupiter_spectrum(date, time, Sun_sp_wl, Sun_sp_fx, jupiter_albedo_wl, jupiter_albedo_rf, V_wl, V_tr)
103
+ else:
104
+ jupiter_wl = zodiac_wl
105
+ jupiter_sp = np.zeros(jupiter_wl.shape[0])
106
+
107
+ #Сатурн
108
+ saturn_l, saturn_b = coordinates_of_planet('saturn', date, time)
109
+ print('Техническая проверка координат Сатурна:', round(saturn_l, 1), round(saturn_b, 1))
110
+ if round(saturn_l, 1) == l and round(saturn_b, 1) == b:
111
+ saturn_wl, saturn_sp = saturn_spectrum(date, time, Sun_sp_wl, Sun_sp_fx, saturn_albedo_wl, saturn_albedo_rf, V_wl, V_tr)
112
+ else:
113
+ saturn_wl = zodiac_wl
114
+ saturn_sp = np.zeros(saturn_wl.shape[0])
115
+
116
+ #теперь бы объединить эти спектры
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "SkyMapMod"
7
- version = "0.1.21"
7
+ version = "0.1.22"
8
8
  authors = [
9
9
  { name="Anna Amineva", email="amineva.2219@physics.msu.ru" },
10
10
  ]
File without changes
File without changes