Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/update-weights-varlss-mod' into …
Browse files Browse the repository at this point in the history
…update-weights-varlss-mod
  • Loading branch information
andreicuceu committed Jan 23, 2025
2 parents ac5e928 + 8b0a63e commit 3ecd790
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 9 deletions.
6 changes: 5 additions & 1 deletion bin/picca_cf.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,8 @@ def main(cmdargs):
parser.add_argument('--attributes', type=str, default=None,
help='Attributes file with VAR_FUNC extension with '
'lambda, eta, var_lss columns.')
parser.add_argument('--attributes2', type=str, default=None, required=False,
help='Attributes file for 2nd tracer')
parser.add_argument('--renormalize-deltas', action="store_true",
help="Stacks deltas and renormalizes deltas.")

Expand Down Expand Up @@ -294,6 +296,8 @@ def main(cmdargs):
cf.alpha2 = args.z_evol2
if args.in_dir2 is None:
args.in_dir2 = args.in_dir
if args.attributes2 is None:
args.attributes2 = args.attributes
if args.lambda_abs2:
cf.lambda_abs2 = constants.ABSORBER_IGM[args.lambda_abs2]
else:
Expand All @@ -313,7 +317,7 @@ def main(cmdargs):
z_min_qso=args.z_min_sources,
z_max_qso=args.z_max_sources,
varlss_mod_factor=args.varlss_mod_factor,
attributes=args.attributes,
attributes=args.attributes2,
renormalize_deltas=args.renormalize_deltas)
del z_max2
cf.data2 = data2
Expand Down
24 changes: 22 additions & 2 deletions bin/picca_dmat.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,18 @@ def main(cmdargs):
action='store_true',
help='Ignore redshift evolution when computing distortion matrix')

parser.add_argument('--varlss-mod-factor', type=float, default=None,
help='Modifies weights with this factor. Requires '
'IVAR column to be present in deltas and an input'
' attributes file.')
parser.add_argument('--attributes', type=str, default=None,
help='Attributes file with VAR_FUNC extension with '
'lambda, eta, var_lss columns.')
parser.add_argument('--attributes2', type=str, default=None, required=False,
help='Attributes file for 2nd tracer')
parser.add_argument('--renormalize-deltas', action="store_true",
help="Stacks deltas and renormalizes deltas.")

args = parser.parse_args(cmdargs)

if args.nproc is None:
Expand Down Expand Up @@ -310,7 +322,10 @@ def main(cmdargs):
nproc=args.nproc,
rebin_factor=args.rebin_factor,
z_min_qso=args.z_min_sources,
z_max_qso=args.z_max_sources)
z_max_qso=args.z_max_sources,
varlss_mod_factor=args.varlss_mod_factor,
attributes=args.attributes,
renormalize_deltas=args.renormalize_deltas)
del z_max
cf.data = data
cf.num_data = num_data
Expand All @@ -325,6 +340,8 @@ def main(cmdargs):
cf.alpha2 = args.z_evol2
if args.in_dir2 is None:
args.in_dir2 = args.in_dir
if args.attributes2 is None:
args.attributes2 = args.attributes
if args.lambda_abs2:
cf.lambda_abs2 = constants.ABSORBER_IGM[args.lambda_abs2]
else:
Expand All @@ -341,7 +358,10 @@ def main(cmdargs):
nproc=args.nproc,
rebin_factor=args.rebin_factor,
z_min_qso=args.z_min_sources,
z_max_qso=args.z_max_sources)
z_max_qso=args.z_max_sources,
varlss_mod_factor=args.varlss_mod_factor,
attributes=args.attributes2,
renormalize_deltas=args.renormalize_deltas)
del z_max2
cf.data2 = data2
cf.num_data2 = num_data2
Expand Down
16 changes: 15 additions & 1 deletion bin/picca_xdmat.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,17 @@ def main(cmdargs):
action='store_true',
help='Ignore redshift evolution when computing distortion matrix')


parser.add_argument('--varlss-mod-factor', type=float, default=None,
help='Modifies weights with this factor. Requires '
'IVAR column to be present in deltas and an input'
' attributes file.')
parser.add_argument('--attributes', type=str, default=None,
help='Attributes file with VAR_FUNC extension with '
'lambda, eta, var_lss columns.')
parser.add_argument('--renormalize-deltas', action="store_true",
help="Stacks deltas and renormalizes deltas.")

args = parser.parse_args(cmdargs)
if args.nproc is None:
args.nproc = cpu_count() // 2
Expand Down Expand Up @@ -303,7 +314,10 @@ def main(cmdargs):
nproc=args.nproc,
rebin_factor=args.rebin_factor,
z_min_qso=args.z_min_sources,
z_max_qso=args.z_max_sources)
z_max_qso=args.z_max_sources,
varlss_mod_factor=args.varlss_mod_factor,
attributes=args.attributes,
renormalize_deltas=args.renormalize_deltas)
xcf.data = data
xcf.num_data = num_data
userprint("\n")
Expand Down
15 changes: 10 additions & 5 deletions py/picca/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import sys
import numpy as np
import fitsio
from astropy.io import fits
import iminuit

from scipy import interpolate
Expand Down Expand Up @@ -507,15 +508,19 @@ def modify_weights_with_varlss_factor(data, attributes, varlss_mod_factor):
varlss_mod_factor: float
Multiplicative factor for var_lss
"""
att = fits.open(attributes) # need astropy's case-insensitivity to work with qsonic and picca attributes files
try:
varfunc = fitsio.read(attributes, ext="VAR_FUNC")
varfunc = att['VAR_FUNC']
except OSError:
varfunc = fitsio.read(attributes, ext="VAR_FUNC-fit")
varfunc['lambda'] = np.log10(varfunc['lambda'])
varfunc = att['VAR_FUNC-fit']
try:
loglam = np.log10(varfunc.data['lambda'])
except KeyError:
loglam = varfunc.data['loglam']
interp_eta = interpolate.interp1d(
varfunc['lambda'], varfunc['eta'], fill_value='extrapolate', kind='cubic')
loglam, varfunc.data['eta'], fill_value='extrapolate', kind='cubic')
interp_varlss = interpolate.interp1d(
varfunc['lambda'], varfunc['var_lss'], fill_value='extrapolate', kind='cubic')
loglam, varfunc.data['var_lss'], fill_value='extrapolate', kind='cubic')

for delta in data:
if delta.ivar is None:
Expand Down

0 comments on commit 3ecd790

Please sign in to comment.