Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
CIGALE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
12
Issues
12
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cigale
CIGALE
Commits
581f0980
Commit
581f0980
authored
Sep 30, 2014
by
Médéric Boquien
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add an option to save the generated SEDs with savefluxes.
parent
2dafd027
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
5 deletions
+22
-5
pcigale/analysis_modules/savefluxes/__init__.py
pcigale/analysis_modules/savefluxes/__init__.py
+8
-3
pcigale/analysis_modules/savefluxes/workers.py
pcigale/analysis_modules/savefluxes/workers.py
+11
-2
pcigale/analysis_modules/utils.py
pcigale/analysis_modules/utils.py
+3
-0
No files found.
pcigale/analysis_modules/savefluxes/__init__.py
View file @
581f0980
...
...
@@ -51,6 +51,11 @@ class SaveFluxes(AnalysisModule):
"Name of the output file."
,
"computed_fluxes.txt"
)),
(
"save_sed"
,
(
"boolean"
,
"If True, save the generated SED."
,
"False"
)),
(
"output_format"
,
(
"string"
,
"Format of the output file. Any format supported by astropy.table "
...
...
@@ -90,7 +95,7 @@ class SaveFluxes(AnalysisModule):
out_file
=
parameters
[
"output_file"
]
out_format
=
parameters
[
"output_format"
]
save_sed
=
parameters
[
"save_sed"
].
lower
()
==
"true"
# Get the needed filters in the pcigale database. We use an ordered
# dictionary because we need the keys to always be returned in the
...
...
@@ -132,8 +137,8 @@ class SaveFluxes(AnalysisModule):
n_params
*
n_info
),
(
n_params
,
n_info
))
initargs
=
(
params
,
filters
,
model_fluxes
,
model_parameter
s
,
time
.
time
(),
mp
.
Value
(
'i'
,
0
))
initargs
=
(
params
,
filters
,
save_sed
,
model_fluxe
s
,
model_parameters
,
time
.
time
(),
mp
.
Value
(
'i'
,
0
))
if
cores
==
1
:
# Do not create a new process
init_worker_fluxes
(
*
initargs
)
for
idx
in
range
(
n_params
):
...
...
pcigale/analysis_modules/savefluxes/workers.py
View file @
581f0980
...
...
@@ -11,8 +11,9 @@ import numpy as np
from
...warehouse
import
SedWarehouse
from
..utils
import
OUT_DIR
def
init_fluxes
(
params
,
filters
,
fluxes
,
info
,
t_begin
,
n_computed
):
def
init_fluxes
(
params
,
filters
,
save_sed
,
fluxes
,
info
,
t_begin
,
n_computed
):
"""Initializer of the pool of processes. It is mostly used to convert
RawArrays into numpy arrays. The latter are defined as global variables to
be accessible from the workers.
...
...
@@ -23,6 +24,8 @@ def init_fluxes(params, filters, fluxes, info, t_begin, n_computed):
Handles the parameters from a 1D index.
filters: OrderedDict
Contains filters to compute the fluxes.
save_sed: boolean
Indicates whether the SED should be saved.
fluxes: RawArray and tuple containing the shape
Fluxes of individual models. Shared among workers.
n_computed: Value
...
...
@@ -32,7 +35,8 @@ def init_fluxes(params, filters, fluxes, info, t_begin, n_computed):
"""
global
gbl_model_fluxes
,
gbl_model_info
,
gbl_n_computed
,
gbl_t_begin
global
gbl_params
,
gbl_previous_idx
,
gbl_filters
,
gbl_warehouse
global
gbl_params
,
gbl_previous_idx
,
gbl_filters
,
gbl_save_sed
global
gbl_warehouse
gbl_model_fluxes
=
np
.
ctypeslib
.
as_array
(
fluxes
[
0
])
gbl_model_fluxes
=
gbl_model_fluxes
.
reshape
(
fluxes
[
1
])
...
...
@@ -49,6 +53,8 @@ def init_fluxes(params, filters, fluxes, info, t_begin, n_computed):
gbl_filters
=
filters
gbl_save_sed
=
save_sed
gbl_warehouse
=
SedWarehouse
()
...
...
@@ -72,6 +78,9 @@ def fluxes(idx):
sed
=
gbl_warehouse
.
get_sed
(
gbl_params
.
modules
,
gbl_params
.
from_index
(
idx
))
if
gbl_save_sed
==
True
:
sed
.
to_votable
(
OUT_DIR
+
"{}_best_model.xml"
.
format
(
idx
))
if
'age'
in
sed
.
info
and
sed
.
info
[
'age'
]
>
sed
.
info
[
'universe.age'
]:
model_fluxes
=
-
99.
*
np
.
ones
(
len
(
gbl_filters
))
else
:
...
...
pcigale/analysis_modules/utils.py
View file @
581f0980
...
...
@@ -171,4 +171,7 @@ def save_fluxes(model_fluxes, model_parameters, filters, names, filename,
out_table
=
Table
(
np
.
hstack
((
out_fluxes
,
out_params
)),
names
=
list
(
filters
.
keys
())
+
list
(
names
))
out_table
.
add_column
(
Column
(
np
.
arange
(
model_fluxes
[
1
][
0
]),
name
=
'id'
),
index
=
0
)
out_table
.
write
(
"{}/{}"
.
format
(
directory
,
filename
),
format
=
out_format
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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