Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-sims
csst_msc_sim
Commits
b9723717
Commit
b9723717
authored
11 months ago
by
Fang Yuedong
Browse files
Options
Download
Email Patches
Plain Diff
Add Milky Way extinction and extend the range for SED integration
parent
6e13d206
release_v3.0
develop
master
milky_way_extinction
revert-914004c1
sls_psf_pca_convolve
v3.3.0
v3.2.1
v3.2.0
v3.1.0
3 merge requests
!28
bug fix for guidance abberation correction
,
!27
Add Milky Way extinction and extend the range for SED integration
,
!26
update branch sls_psf_pcs_convole
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
catalog/C9_Catalog.py
+30
-9
catalog/C9_Catalog.py
config/config_overall.yaml
+7
-3
config/config_overall.yaml
observation_sim/instruments/data/filters/fgs_sub.list
+1
-1
observation_sim/instruments/data/filters/fgs_sub.list
observation_sim/instruments/data/filters/g_sub.list
+2
-2
observation_sim/instruments/data/filters/g_sub.list
observation_sim/instruments/data/filters/i_sub.list
+2
-2
observation_sim/instruments/data/filters/i_sub.list
observation_sim/instruments/data/filters/nuv_sub.list
+2
-2
observation_sim/instruments/data/filters/nuv_sub.list
observation_sim/instruments/data/filters/r_sub.list
+2
-2
observation_sim/instruments/data/filters/r_sub.list
observation_sim/instruments/data/filters/u_sub.list
+2
-2
observation_sim/instruments/data/filters/u_sub.list
observation_sim/instruments/data/filters/y_sub.list
+2
-2
observation_sim/instruments/data/filters/y_sub.list
observation_sim/instruments/data/filters/z_sub.list
+2
-2
observation_sim/instruments/data/filters/z_sub.list
observation_sim/mock_objects/ExtinctionMW.py
+4
-3
observation_sim/mock_objects/ExtinctionMW.py
observation_sim/sim_steps/add_pattern_noise.py
+1
-1
observation_sim/sim_steps/add_pattern_noise.py
with
57 additions
and
31 deletions
+57
-31
catalog/C9_Catalog.py
+
30
-
9
View file @
b9723717
...
...
@@ -111,10 +111,14 @@ class Catalog(CatalogBase):
self
.
max_size
=
0.
# [TODO] Milky Way extinction
self
.
mw_ext
=
ExtinctionMW
()
self
.
mw_ext
.
init_ext_model
(
model_name
=
"odonnell"
)
self
.
mw_ext
.
load_Planck_ext
(
file_path
=
"/public/home/fangyuedong/project/ext_maps/planck/HFI_CompMap_ThermalDustModel_2048_R1.20.fits"
)
if
"enable_mw_ext_gal"
in
config
[
"catalog_options"
]
and
config
[
"catalog_options"
][
"enable_mw_ext_gal"
]:
if
"planck_ebv_map"
not
in
config
[
"catalog_options"
]:
raise
ValueError
(
"Planck dust map must be given to enable Milky Way extinction calculation for galaxies."
)
self
.
mw_ext
=
ExtinctionMW
()
self
.
mw_ext
.
init_ext_model
(
model_name
=
"odonnell"
)
self
.
mw_ext
.
load_Planck_ext
(
file_path
=
config
[
"catalog_options"
][
"planck_ebv_map"
])
if
"star_cat"
in
config
[
"catalog_options"
][
"input_path"
]
and
config
[
"catalog_options"
][
"input_path"
][
"star_cat"
]
and
not
config
[
"catalog_options"
][
"galaxy_only"
]:
# Get the cloest star catalog file
...
...
@@ -255,7 +259,10 @@ class Catalog(CatalogBase):
)
# [TODO] get Milky Way extinction AVs
MW_Av_arr
=
self
.
mw_ext
.
Av_from_Planck
(
ra
=
ra_arr
,
dec
=
dec_arr
)
if
"enable_mw_ext_gal"
in
self
.
config
[
"catalog_options"
]
and
self
.
config
[
"catalog_options"
][
"enable_mw_ext_gal"
]:
MW_Av_arr
=
self
.
mw_ext
.
Av_from_Planck
(
ra
=
ra_arr
,
dec
=
dec_arr
)
else
:
MW_Av_arr
=
np
.
zeros
(
len
(
ra_arr
))
for
igals
in
range
(
ngals
):
# # (TEST)
...
...
@@ -544,14 +551,28 @@ class Catalog(CatalogBase):
y
=
speci
(
lamb
)
# [TODO] Apply Milky Way extinction
if
obj
.
type
!=
'star'
:
self
.
mw_ext
.
apply_extinction
(
y
,
Av
=
obj
.
mw_Av
)
if
obj
.
type
!=
'star'
and
(
"enable_mw_ext_gal"
in
self
.
config
[
"catalog_options"
]
and
self
.
config
[
"catalog_options"
][
"enable_mw_ext_gal"
])
:
y
=
self
.
mw_ext
.
apply_extinction
(
y
,
Av
=
obj
.
mw_Av
)
# erg/s/cm2/A --> photon/s/m2/A
all_sed
=
y
*
lamb
/
(
cons
.
h
.
value
*
cons
.
c
.
value
)
*
1e-13
sed
=
Table
(
np
.
array
([
lamb
,
all_sed
]).
T
,
names
=
(
'WAVELENGTH'
,
'FLUX'
))
if
obj
.
type
==
'quasar'
:
# integrate to get the magnitudes
# if obj.type == 'quasar':
# # integrate to get the magnitudes
# sed_photon = np.array([sed['WAVELENGTH'], sed['FLUX']]).T
# sed_photon = galsim.LookupTable(x=np.array(sed_photon[:, 0]), f=np.array(
# sed_photon[:, 1]), interpolant='nearest')
# sed_photon = galsim.SED(
# sed_photon, wave_type='A', flux_type='1', fast=False)
# interFlux = integrate_sed_bandpass(
# sed=sed_photon, bandpass=self.filt.bandpass_full)
# obj.param['mag_use_normal'] = getABMAG(
# interFlux, self.filt.bandpass_full)
# # mag = getABMAG(interFlux, self.filt.bandpass_full)
# # print("mag diff = %.3f"%(mag - obj.param['mag_use_normal']))
# integrate to get the magnitudes
if
obj
.
type
==
'quasar'
or
obj
.
type
==
'galaxy'
:
sed_photon
=
np
.
array
([
sed
[
'WAVELENGTH'
],
sed
[
'FLUX'
]]).
T
sed_photon
=
galsim
.
LookupTable
(
x
=
np
.
array
(
sed_photon
[:,
0
]),
f
=
np
.
array
(
sed_photon
[:,
1
]),
interpolant
=
'nearest'
)
...
...
This diff is collapsed.
Click to expand it.
config/config_overall.yaml
+
7
-
3
View file @
b9723717
...
...
@@ -11,7 +11,7 @@
# can add some of the command-line arguments here as well;
# ok to pass either way or both, as long as they are consistent
work_dir
:
"
/public/home/fangyuedong/project/workplace/"
run_name
:
"
ext_
test
"
run_name
:
"
ext_
on
"
# Project cycle and run counter are used to name the outputs
project_cycle
:
9
...
...
@@ -44,11 +44,15 @@ catalog_options:
star_only
:
NO
# Only simulate galaxies?
galaxy_only
:
YES
galaxy_only
:
NO
# rotate galaxy ellipticity
rotateEll
:
0.
# [degree]
# Whether to apply milky way extinction to galaxies
enable_mw_ext_gal
:
YES
planck_ebv_map
:
"
/public/home/fangyuedong/project/ext_maps/planck/HFI_CompMap_ThermalDustModel_2048_R1.20.fits"
###############################################
# Observation setting
###############################################
...
...
@@ -68,7 +72,7 @@ obs_setting:
run_pointings
:
[
0
,
1
,
2
,
3
,
4
]
# Whether to enable astrometric modeling
enable_astrometric_model
:
True
enable_astrometric_model
:
YES
# Cut by saturation magnitude in which band?
cut_in_band
:
"
z"
...
...
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/fgs_sub.list
+
1
-
1
View file @
b9723717
3
000
2
000
4500
4750
5000
...
...
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/g_sub.list
+
2
-
2
View file @
b9723717
38
00
20
00
4217
4432
4631
...
...
@@ -6,4 +6,4 @@
5002
5179
5354
5799
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/i_sub.list
+
2
-
2
View file @
b9723717
66
00
20
00
7061
7255
7448
...
...
@@ -6,4 +6,4 @@
7833
8027
8226
8999
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/nuv_sub.list
+
2
-
2
View file @
b9723717
2
513
2
000
2621
2716
2805
...
...
@@ -6,4 +6,4 @@
2969
3050
3132
3499
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/r_sub.list
+
2
-
2
View file @
b9723717
51
00
20
00
5642
5821
6001
...
...
@@ -6,4 +6,4 @@
6363
6547
6735
7199
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/u_sub.list
+
2
-
2
View file @
b9723717
3
000
2
000
3277
3380
3485
...
...
@@ -6,4 +6,4 @@
3703
3813
3918
4499
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/y_sub.list
+
2
-
2
View file @
b9723717
9
000
2
000
9322
9405
9489
...
...
@@ -6,4 +6,4 @@
9695
9832
10024
10590
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/instruments/data/filters/z_sub.list
+
2
-
2
View file @
b9723717
78
00
20
00
8494
8638
8790
...
...
@@ -6,4 +6,4 @@
9141
9363
9663
10590
\ No newline at end of file
11000
\ No newline at end of file
This diff is collapsed.
Click to expand it.
observation_sim/mock_objects/ExtinctionMW.py
+
4
-
3
View file @
b9723717
...
...
@@ -13,7 +13,7 @@ class ExtinctionMW(object):
@
staticmethod
def
radec2pix
(
ra
,
dec
,
NSIDE
=
2048
):
return
hp
.
pixelfunc
.
ang2pix
(
nside
=
NSIDE
,
theta
=
ra
,
phi
=
dec
,
lonlat
=
True
)
return
hp
.
pixelfunc
.
ang2pix
(
nside
=
NSIDE
,
theta
=
ra
,
phi
=
dec
,
nest
=
True
,
lonlat
=
True
)
def
init_ext_model
(
self
,
model_name
=
"odonnell"
,
Av
=
1.0
,
Rv
=
3.1
,
lamb
=
None
):
self
.
model_name
=
model_name
...
...
@@ -79,7 +79,8 @@ class ExtinctionMW(object):
u
.
degree
,
frame
=
'icrs'
).
galactic
l
,
b
=
c
.
l
.
radian
,
c
.
b
.
radian
NSIDE
=
hp
.
pixelfunc
.
get_nside
(
self
.
ebv_planck
)
pix
=
hp
.
pixelfunc
.
ang2pix
(
nside
=
NSIDE
,
theta
=
np
.
pi
/
2.
-
b
,
phi
=
l
)
pix
=
hp
.
pixelfunc
.
ang2pix
(
nside
=
NSIDE
,
theta
=
np
.
pi
/
2.
-
b
,
phi
=
l
,
nest
=
True
)
return
self
.
ebv_planck
[
pix
]
*
self
.
Rv
def
apply_extinction
(
self
,
spec
,
Av
=
1.0
):
...
...
@@ -90,6 +91,6 @@ class ExtinctionMW(object):
raise
ValueError
(
"Need to initialize the extinction model (init_ext_model) first"
)
scale
=
10
**
(
-
.
4
*
self
.
ext
*
Av
)
print
(
"scale = "
,
scale
)
#
print("scale = ", scale)
spec
*=
scale
return
spec
This diff is collapsed.
Click to expand it.
observation_sim/sim_steps/add_pattern_noise.py
+
1
-
1
View file @
b9723717
...
...
@@ -27,7 +27,7 @@ def add_poisson_and_dark(self, chip, filt, tel, pointing, catalog, obs_param):
InputDark
=
None
)
else
:
chip
.
img
,
_
=
chip_utils
.
add_poisson
(
img
=
chip
.
img
,
chip
=
self
,
chip
=
chip
,
exptime
=
exptime
,
poisson_noise
=
chip
.
poisson_noise
,
dark_noise
=
0.
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets