Example of MagSvc class

This demonstrates direct access to the bound c++ functions. It is an advanced use case.

The notebook can be downloaded here.

[1]:
import lephare as lp
import numpy as np
from matplotlib import pylab as plt
from scipy import integrate as sciint
import glob, time

%matplotlib inline
User defined LEPHAREDIR is set. Code runs depend on all required
auxiliary data being present at /home/docs/.cache/lephare/data.
User defined LEPHAREWORK is set. All intermediate files will be written to:
 /home/docs/.cache/lephare/work
OMP_NUM_THREADS set to 1 (max available CPUs: 2)
[2]:
keymap = lp.all_types_to_keymap(lp.default_cosmos_config)
# Get the auxiliary files required.
lp.data_retrieval.get_auxiliary_data(
    keymap=keymap, additional_files=["sed/STAR/BD_NEW/lte012.0-4.0-0.0a+0.0.BT-Settl.spec.txt"]
)
Registry file downloaded and saved as data_registry.txt.
/home/docs/checkouts/readthedocs.org/user_builds/lephare/envs/latest/lib/python3.10/site-packages/lephare/data_retrieval.py:431: UserWarning: /home/docs/.cache/lephare/data/sed/STAR/STAR_MOD_ALL.list is present locally and will not be overwritten.
  warnings.warn(
/home/docs/checkouts/readthedocs.org/user_builds/lephare/envs/latest/lib/python3.10/site-packages/lephare/data_retrieval.py:431: UserWarning: /home/docs/.cache/lephare/data/sed/GAL/COSMOS_SED/COSMOS_MOD.list is present locally and will not be overwritten.
  warnings.warn(
/home/docs/checkouts/readthedocs.org/user_builds/lephare/envs/latest/lib/python3.10/site-packages/lephare/data_retrieval.py:431: UserWarning: /home/docs/.cache/lephare/data/sed/QSO/SALVATO09/AGN_MOD.list is present locally and will not be overwritten.
  warnings.warn(
Downloading file 'sed/STAR/BD_NEW/lte012.0-4.0-0.0a+0.0.BT-Settl.spec.txt' from 'https://raw.githubusercontent.com/lephare-photoz/lephare-data/main/sed/STAR/BD_NEW/lte012.0-4.0-0.0a+0.0.BT-Settl.spec.txt' to '/home/docs/.cache/lephare/data'.
Checking/downloading 442 files...
442 completed.
All files downloaded successfully and are non-empty.
Created directory: /home/docs/.cache/lephare/data/sed/STAR/BD_NEW
Checking/downloading 1 files...
1 completed.
All files downloaded successfully and are non-empty.
[3]:
# we can write the config to a file to keep a record
config_file = "./config_file.para"
lp.write_para_config(keymap, config_file)
allFlt = lp.FilterSvc.from_config(config_file)
[4]:
sed = lp.StarSED("test", 0)
sed.read(f"{lp.LEPHAREDIR}/sed/STAR/BD_NEW/lte012.0-4.0-0.0a+0.0.BT-Settl.spec.txt")
[5]:
# We need the full previous stages to get the mags
filterLib = lp.Filter(config_file=config_file)
filterLib.run()
sedlib = lp.Sedtolib(config_keymap=keymap)
sedlib.run(typ="STAR", star_sed="$LEPHAREDIR/sed/STAR/STAR_MOD_ALL.list")
sedlib.run(typ="QSO", qso_sed="$LEPHAREDIR/sed/QSO/SALVATO09/AGN_MOD.list", gal_lib="LIB_QSO")
sedlib.run(typ="GAL", gal_sed="$LEPHAREDIR/sed/GAL/COSMOS_SED/COSMOS_MOD.list", gal_lib="LIB_GAL")
maglib = lp.MagGal(config_keymap=keymap)
maglib.run(
    typ="STAR",
    lib_ascii="YES",
    star_lib_out="ALLSTAR_COSMOS",
    mod_extinc="0,0",
    extinc_law="SB_calzetti.dat",
)
maglib.run(
    typ="QSO",
    lib_ascii="YES",
    mod_extinc="0,1000",
    eb_v="0.,0.1,0.2,0.3",
    extinc_law="SB_calzetti.dat",
    qso_lib_in="LIB_QSO",
)
maglib.run(
    typ="GAL",
    lib_ascii="YES",
    gal_lib_in="LIB_GAL",
    gal_lib_out="VISTA_COSMOS_FREE",
    mod_extinc="18,26,26,33,26,33,26,33",
    extinc_law="SMC_prevot.dat,SB_calzetti.dat,SB_calzetti_bump1.dat,SB_calzetti_bump2.dat",
    em_lines="EMP_UV",
    em_dispersion="0.5,0.75,1.,1.5,2.",
)
# NAME                        IDENT      Lbda_mean Lbeff(Vega)       FWHM     AB-cor    TG-cor      VEGA M_sun(AB)   CALIB      Lb_eff    Fac_corr
u_cfht.lowres                 1             3844.1      3908.3       537.9    0.3150   -0.3891  -20.6345    6.0327       0      0.3815      1.0000
u_new.pb                      2             3689.8      3749.5       456.0    0.6195   -0.2745  -20.8527    6.3135       0      0.3668      1.0000
gHSC.pb                       3             4850.6      4760.2      1194.2   -0.0860   -0.2458  -20.7272    5.0764       0      0.4780      1.0000
rHSC.pb                       4             6241.4      6142.0      1538.5    0.1466    0.2580  -21.5143    4.6523       0      0.6178      1.0000
iHSC.pb                       5             7716.5      7636.7      1476.1    0.3942    0.6138  -22.2286    4.5323       0      0.7666      1.0000
zHSC.pb                       6             8915.2      8906.7       768.0    0.5169    0.7625  -22.6733    4.5147       0      0.8903      1.0000
yHSC.pb                       7             9801.2      9770.6       796.8    0.5534    0.7763  -22.9145    4.5081       0      0.9782      1.0000
Y.lowres                      8            10222.2     10195.8       919.2    0.6043    0.8180  -23.0574    4.5130       0      1.0206      1.0000
J.lowres                      9            12554.9     12480.6      1712.3    0.9228  -99.0000  -23.8194    4.5638       0      1.2514      1.0000
H.lowres                      10           16497.4     16351.6      2892.7    1.3701  -99.0000  -24.8565    4.7045       0      1.6409      1.0000
K.lowres                      11           21576.6     21434.8      2926.3    1.8335  -99.0000  -25.9057    5.1316       0      2.1502      1.0000
IB427.lowres                  12            4263.9      4255.9       206.5   -0.1446   -0.4942  -20.4117    5.5152       0      0.4262      1.0000
IB464.lowres                  13            4636.1      4633.3       218.1   -0.1520   -0.3463  -20.5860    5.0658       0      0.4634      1.0000
IB484.lowres                  14            4850.7      4846.4       228.2   -0.0241   -0.1770  -20.8122    4.9880       0      0.4849      1.0000
IB505.lowres                  15            5063.6      5060.6       230.9   -0.0656   -0.1366  -20.8639    4.9423       0      0.5061      1.0000
IB527.lowres                  16            5262.3      5258.9       242.1   -0.0260   -0.0464  -20.9871    4.8937       0      0.5260      1.0000
IB574.lowres                  17            5766.0      5762.0       272.1    0.0657    0.1377  -21.2773    4.7042       0      0.5763      1.0000
IB624.lowres                  18            6234.5      6230.0       300.6    0.1527    0.2768  -21.5339    4.6386       0      0.6232      1.0000
IB679.lowres                  19            6782.6      6778.6       336.5    0.2542    0.4288  -21.8183    4.5709       0      0.6779      1.0000
IB709.lowres                  20            7075.0      7070.6       315.6    0.2982    0.4968  -21.9541    4.5558       0      0.7072      1.0000
IB738.lowres                  21            7362.7      7358.5       323.5    0.3460    0.5577  -22.0886    4.5449       0      0.7360      1.0000
IB767.lowres                  22            7686.6      7681.2       363.8    0.3992    0.6164  -22.2351    4.5243       0      0.7683      1.0000
IB827.lowres                  23            8245.9      8241.0       343.7    0.4891    0.7300  -22.4777    4.5161       0      0.8243      1.0000
NB711.lowres                  24            7119.9      7119.4        72.6    0.3072    0.5084  -21.9774    4.5542       0      0.7120      1.0000
NB816.lowres                  25            8149.9      8149.2       119.8    0.4713    0.7098  -22.4349    4.5154       0      0.8149      1.0000
NB118.lowres                  26           11909.2     11908.6       112.3    0.8376  -99.0000  -23.6250    4.5554       0      1.1909      1.0000
irac_ch1.lowres               27           35763.0     35263.7      7410.9    2.7951  -99.0000  -27.9585    6.0679       1      3.5634      1.0036
irac_ch2.lowres               28           45289.5     44608.6     10104.6    3.2634  -99.0000  -28.9384    6.5680       1      4.5111      1.0040
irac_ch3.lowres               29           57873.0     56764.7     13508.5    3.7537  -99.0000  -29.9581    7.0472       1      5.7592      1.0050
irac_ch4.lowres               30           80442.3     77033.1     28394.0    4.3959  -99.0000  -31.2962    7.6701       1      7.9590      1.0110
#######################################
# It s translating SEDs to binary library #
# with the following options :
# Config file     :
# Library type     : STAR
# STAR_SED    :/home/docs/.cache/lephare/data/sed/STAR/STAR_MOD_ALL.list
# STAR_LIB    :LIB_STAR
# STAR_LIB doc:/home/docs/.cache/lephare/work/lib_bin/LIB_STAR.doc
# STAR_FSCALE :0.0000
#######################################
Number of templates in the list 254
Number of SED in the list (including different ages) 254
#######################################
# It s translating SEDs to binary library #
# with the following options :
# Config file     :
# Library type     : QSO
# QSO_SED    :/home/docs/.cache/lephare/data/sed/QSO/SALVATO09/AGN_MOD.list
# QSO_LIB    :LIB_QSO
# QSO_LIB doc:/home/docs/.cache/lephare/work/lib_bin/LIB_QSO.doc
# QSO_FSCALE :1.0000
#######################################
Number of templates in the list 30
Number of SED in the list (including different ages) 30
#######################################
# It s translating SEDs to binary library #
# with the following options :
# Config file     :
# Library type     : GAL
# GAL_SED    :/home/docs/.cache/lephare/data/sed/GAL/COSMOS_SED/COSMOS_MOD.list
# GAL_LIB    :LIB_GAL
# GAL_LIB doc:/home/docs/.cache/lephare/work/lib_bin/LIB_GAL.doc
# GAL_LIB phys:/home/docs/.cache/lephare/work/lib_bin/LIB_GAL.phys
# SEL_AGE    :none
# GAL_FSCALE :1.0000
# AGE_RANGE   0.0000 15000000000.0000
#######################################
Number of templates in the list 31
Number of SED in the list (including different ages) 31
#######################################
# It s computing the SYNTHETIC MAGNITUDES #
# For Gal/QSO libraries with these OPTIONS #
# with the following options :
# Config file     :
# Filter file     : filter_cosmos
# Magnitude type     : AB
# COSMOLOGY   :70.0000,0.3000,0.7000
# STAR_LIB_IN    :/home/docs/.cache/lephare/work/lib_bin/LIB_STAR(.doc & .bin)
# STAR_LIB_OUT   :/home/docs/.cache/lephare/work/lib_mag/ALLSTAR_COSMOS(.doc & .bin)
# LIB_ASCII   YES
# MW_GALAMETZ   NO
# EXT_MW_CURVE   CARDELLI
# CREATION_DATE Wed Oct 28 09:38:45 2026
#############################################
#######################################
# It s computing the SYNTHETIC MAGNITUDES #
# For Gal/QSO libraries with these OPTIONS #
# with the following options :
# Config file     :
# Filter file     : filter_cosmos
# Magnitude type     : AB
# QSO_LIB_IN    :/home/docs/.cache/lephare/work/lib_bin/LIB_QSO(.doc & .bin)
# QSO_LIB_OUT   :/home/docs/.cache/lephare/work/lib_mag/QSO_COSMOS(.doc & .bin)
# Z_STEP   :0.0100 0.0000 7.0000
# COSMOLOGY   :70.0000,0.3000,0.7000
# EXTINC_LAW   :SB_calzetti.dat
# MOD_EXTINC   :0 1000
# EB_V   :0.0000 0.1000 0.2000 0.3000
# MW_GALAMETZ   NO
# EXT_MW_CURVE   CARDELLI
# LIB_ASCII   YES
# CREATION_DATE Wed Oct 28 09:38:46 2026
#############################################
#######################################
# It s computing the SYNTHETIC MAGNITUDES #
# For Gal/QSO libraries with these OPTIONS #
# with the following options :
# Config file     :
# Filter file     : filter_cosmos
# Magnitude type     : AB
# GAL_LIB_IN    :/home/docs/.cache/lephare/work/lib_bin/LIB_GAL(.doc & .bin)
# GAL_LIB_OUT   :/home/docs/.cache/lephare/work/lib_mag/VISTA_COSMOS_FREE(.doc & .bin)
# Z_STEP   :0.0100 0.0000 7.0000
# COSMOLOGY   :70.0000,0.3000,0.7000
# EXTINC_LAW   :SMC_prevot.dat SB_calzetti.dat SB_calzetti_bump1.dat SB_calzetti_bump2.dat
# MOD_EXTINC   :18 26 26 33 26 33 26 33
# EB_V   :0.0000 0.1000 0.2000 0.3000
# EM_LINES   EMP_UV
# EM_DISPERSION   0.5000,0.7500,1.0000,1.5000,2.0000,
# MW_GALAMETZ   NO
# EXT_MW_CURVE   CARDELLI
# LIB_ASCII   YES
# CREATION_DATE Wed Oct 28 09:38:56 2026
#############################################
[6]:
mag = lp.MagSvc.from_config("Star", config_file)
Number of keywords read in the config file: 86
WRONG NUMBER OF ARGUMENTS FOR OPTION MOD_EXTINC
We have 2 instead of 8
Use default value 0,0 for all filters
[7]:
newsed = mag.make_maglib(sed)
[8]:
newsed[0].mag
[8]:
[-17.832635547445825,
 -16.965434915160827,
 -21.74369850105703,
 -23.924441687077692,
 -27.27064606256254,
 -30.411005638479292,
 -31.391194440280003,
 -31.789356087837827,
 -32.60607648903679,
 -33.179993981141486,
 -33.11090548326123,
 -19.508519013723287,
 -22.731890656223662,
 -22.751761120054706,
 -20.034611030001372,
 -17.67834196521941,
 -13.657105603466924,
 -20.374734241068737,
 -25.480954814468745,
 -25.72124998601171,
 -25.229256732623675,
 -23.765485912116315,
 -28.554487232454346,
 -25.84162861778997,
 -27.939724821108424,
 -32.30750089217318,
 -33.35774425614392,
 -32.86914154249609,
 -32.769299032400184,
 -32.55862340088773]