Skip to content
GitLab
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_ifs_gehong
Commits
a21fb694
Commit
a21fb694
authored
Jan 02, 2025
by
Shuai Feng
Browse files
update2412
parent
e7048f6f
Pipeline
#7699
failed with stage
in 0 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Example_Spec1D.250102 copy.ipynb
0 → 100644
View file @
a21fb694
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"id": "0a6280f4",
"metadata": {},
"outputs": [],
"source": [
"from csst_ifs_gehong import spec1d as s\n",
"from csst_ifs_gehong import config as c\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "d21769ee",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vl76/HPp44+lkhL/eI8etqstK0uKjAzd/AC0XoRuAAAAAACcp7raLiHdsMG/hDQyUho82IZtnEIK4HII3QAAAAAA+LtTp6RNm+zhCA2nkMbE2BNIb7pJ6tw5tPMD0HYQugEAAAAAOryjR21X2/bt/v3aEhKkkSPtKaQsIQXQVGHBfsPa2lr98z//szIyMhQdHa0+ffromWeeUX19va/GGKOnnnpKbrdb0dHRuu2227Rz586A9/F6vXrkkUeUlJSkmJgYTZo0SYcPHw6oqaioUH5+vlwul1wul/Lz83Xi3KNjJB08eFATJ05UTEyMkpKSNHPmTFVXVwf7awMAAAAA2hhjpC++kH7/e2nJEmnbNhu4padLkydLDz8sDRtG4Abg6gS90+3555/Xb37zG/3nf/6nBg4cqE8++UQ/+tGP5HK59Oijj0qSXnjhBS1cuFBLly7V9ddfr2effVZ33HGH9uzZo9jYWElSQUGBli9frmXLlikxMVGzZ89WXl6eioqKFB4eLkmaMmWKDh8+rJUrV0qSpk+frvz8fC1fvlySVFdXpwkTJig5OVnr1q3T8ePHNXXqVBljtGjRomB/dQAAAABAG3D2rA3YNm2SysvtmMNhD0XIzbWHJADAtXIYY0ww3zAvL0+pqan693//d9/YP/7jP6pz58567bXXZIyR2+1WQUGB5s6dK8l2taWmpur555/XAw88II/Ho+TkZL322mu65557JEnFxcVKT0/X+++/r/Hjx2vXrl3KysrSxo0bNXz4cEnSxo0blZubq927dyszM1MrVqxQXl6eDh06JLfbLUlatmyZpk2bprKyMsXFxTWav9frldfr9f1eWVmp9PR0eTyeC9YDAAAAANqGb76xQdu2bfagBEnq1EkaOlQaPlzq2jWUswPQFlRWVsrlcl1RThT05aW33HKL/vKXv+iLL76QJH366adat26dvvOd70iS9u/fr9LSUo0bN873GqfTqdGjR2v9+vWSpKKiItXU1ATUuN1uZWdn+2o2bNggl8vlC9wkacSIEXK5XAE12dnZvsBNksaPHy+v16uioqILzn/BggW+5aoul0vp6enB+GMBAAAAAISAMdLevdLrr0uLF9vQrbpaSk6W8vKkWbOk8eMJ3AAEX9CXl86dO1cej0f9+/dXeHi46urq9Nxzz+n73/++JKm0tFSSlJqaGvC61NRU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",
"text/plain": [
"<Figure size 1500x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"config = c.config(wave_min=3000, wave_max=10000, dlam=2, inst_fwhm=0.1, nx=30, ny=30, dpix=0.2)\n",
"nlr_temp = s.EmissionLineTemplate(config, model = 'nlr')\n",
"agn = s.AGN(config, nlr_temp, bhmass=21671200, edd_ratio=0.3, halpha_broad=12300, halpha_narrow=200000, vdisp_broad=3156, vdisp_narrow=717.1, vel=216701, logz=-1.234, ebv=1.1, dist=1)\n",
"plt.figure(figsize=(15,4))\n",
"plt.plot(agn.wave, agn.flux, color = 'blue', alpha = 0.5)\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
%% Cell type:code id:0a6280f4 tags:
```
python
from
csst_ifs_gehong
import
spec1d
as
s
from
csst_ifs_gehong
import
config
as
c
import
numpy
as
np
import
matplotlib.pyplot
as
plt
```
%% Cell type:code id:d21769ee tags:
```
python
config
=
c
.
config
(
wave_min
=
3000
,
wave_max
=
10000
,
dlam
=
2
,
inst_fwhm
=
0.1
,
nx
=
30
,
ny
=
30
,
dpix
=
0.2
)
nlr_temp
=
s
.
EmissionLineTemplate
(
config
,
model
=
'nlr'
)
agn
=
s
.
AGN
(
config
,
nlr_temp
,
bhmass
=
21671200
,
edd_ratio
=
0.3
,
halpha_broad
=
12300
,
halpha_narrow
=
200000
,
vdisp_broad
=
3156
,
vdisp_narrow
=
717.1
,
vel
=
216701
,
logz
=-
1.234
,
ebv
=
1.1
,
dist
=
1
)
plt
.
figure
(
figsize
=
(
15
,
4
))
plt
.
plot
(
agn
.
wave
,
agn
.
flux
,
color
=
'blue'
,
alpha
=
0.5
)
plt
.
show
()
```
%% Output
csst_ifs_gehong/config.py
View file @
a21fb694
...
@@ -23,14 +23,15 @@ class config():
...
@@ -23,14 +23,15 @@ class config():
dpix : float, optional
dpix : float, optional
Pixel size in the spatial direction, by default 0.2arcsec
Pixel size in the spatial direction, by default 0.2arcsec
"""
"""
def
__init__
(
self
,
wave_min
=
3500.0
,
wave_max
=
10000.0
,
dlam
=
2.0
,
nx
=
30
,
def
__init__
(
self
,
wave_min
=
3500.0
,
wave_max
=
10000.0
,
ny
=
30
,
dpix
=
0.2
):
dlam
=
2.0
,
inst_fwhm
=
0.1
,
nx
=
30
,
ny
=
30
,
dpix
=
0.2
):
self
.
dlam
=
dlam
self
.
dlam
=
dlam
self
.
wave
=
np
.
arange
(
wave_min
,
wave_max
,
dlam
)
self
.
wave
=
np
.
arange
(
wave_min
,
wave_max
,
dlam
)
self
.
wave_min
=
wave_min
self
.
wave_min
=
wave_min
self
.
inst_fwhm
=
inst_fwhm
self
.
nx
=
nx
self
.
nx
=
nx
self
.
ny
=
ny
self
.
ny
=
ny
self
.
dpix
=
dpix
self
.
dpix
=
dpix
self
.
fov_x
=
nx
*
dpix
self
.
fov_x
=
nx
*
dpix
self
.
fov_y
=
ny
*
dpix
self
.
fov_y
=
ny
*
dpix
self
.
inst_fwhm
=
2.5
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