From d47559a2e461c4ccf0081e6b30094b19e5593b5b Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 8 Aug 2023 03:31:57 -0700 Subject: [PATCH 01/32] assume BRZ cameras; bug if one camera is masked on first spectrum --- py/fastspecfit/io.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index e838e3f9..7992760d 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -359,7 +359,7 @@ def unpack_one_stacked_spectrum(iobj, specdata, meta, synthphot, log): specdata['wave'].append(specdata['wave0'][icam]) specdata['mask'].append(specdata['mask0'][icam]) specdata['res'].append(specdata['res0'][icam]) - + if len(cameras) == 0: errmsg = 'No good data, which should never happen.' log.critical(errmsg) @@ -1617,16 +1617,16 @@ def init_fastspec_output(input_meta, specprod, fphoto=None, templates=None, out.add_column(Column(name='SMOOTHCORR_{}'.format(cam), length=nobj, dtype='f4')) else: if not fastphot: - if data is not None: - for cam in data[0]['cameras']: - out.add_column(Column(name='SNR_{}'.format(cam.upper()), length=nobj, dtype='f4')) # median S/N in each camera - for cam in data[0]['cameras']: - out.add_column(Column(name='SMOOTHCORR_{}'.format(cam.upper()), length=nobj, dtype='f4')) - else: - for cam in ['B', 'R', 'Z']: - out.add_column(Column(name='SNR_{}'.format(cam.upper()), length=nobj, dtype='f4')) # median S/N in each camera - for cam in ['B', 'R', 'Z']: - out.add_column(Column(name='SMOOTHCORR_{}'.format(cam.upper()), length=nobj, dtype='f4')) + # if the zeroth object has a fully masked camera, this data model will fail + #if data is not None: + # for cam in data[0]['cameras']: + # out.add_column(Column(name='SNR_{}'.format(cam.upper()), length=nobj, dtype='f4')) # median S/N in each camera + # for cam in data[0]['cameras']: + # out.add_column(Column(name='SMOOTHCORR_{}'.format(cam.upper()), length=nobj, dtype='f4')) + for cam in ['B', 'R', 'Z']: + out.add_column(Column(name='SNR_{}'.format(cam.upper()), length=nobj, dtype='f4')) # median S/N in each camera + for cam in ['B', 'R', 'Z']: + out.add_column(Column(name='SMOOTHCORR_{}'.format(cam.upper()), length=nobj, dtype='f4')) out.add_column(Column(name='VDISP', length=nobj, dtype='f4', unit=u.kilometer/u.second)) if not fastphot: @@ -1749,7 +1749,10 @@ def init_fastspec_output(input_meta, specprod, fphoto=None, templates=None, out['Z'][iobj] = _data['zredrock'] if not fastphot: for icam, cam in enumerate(_data['cameras']): - out['SNR_{}'.format(cam.upper())][iobj] = _data['snr'][icam] + try: + out['SNR_{}'.format(cam.upper())][iobj] = _data['snr'][icam] + except: + pdb.set_trace() if not stackfit: if 'fiber_bands' in fphoto.keys(): for iband, band in enumerate(fphoto['fiber_bands']): From 5ed04313008f88b7b6886c9f991748def81a7f4f Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 8 Aug 2023 05:07:41 -0700 Subject: [PATCH 02/32] initialize stacked photometric parameter file --- py/fastspecfit/data/stacked-phot.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 py/fastspecfit/data/stacked-phot.yaml diff --git a/py/fastspecfit/data/stacked-phot.yaml b/py/fastspecfit/data/stacked-phot.yaml new file mode 100644 index 00000000..ce0382f2 --- /dev/null +++ b/py/fastspecfit/data/stacked-phot.yaml @@ -0,0 +1,25 @@ +# Stacked spectrum photometric parameter file + +uniqueid: 'STACKID' + +photounits: 'nanomaggies' + +bands: ['g', 'r', 'z'] +synth_bands: ['g', 'r', 'z'] +bands_to_fit: [False, False, False] + +filters: {'': ['decam2014-g', 'decam2014-r', 'decam2014-z']} + +synth_filters: {'': ['decam2014-g', 'decam2014-r', 'decam2014-z']} + +min_uncertainty: [0.02, 0.02, 0.02] + +fluxcols: ['FLUX_G', 'FLUX_R', 'FLUX_Z'] + +fluxivarcols: ['FLUX_IVAR_G', 'FLUX_IVAR_R', 'FLUX_IVAR_Z'] + +absmag_bands: ['sdss_u', 'sdss_g', 'sdss_r', 'sdss_i', 'sdss_z'] + +band_shift: [0.1, 0.1, 0.1, 0.1, 0.1] + +absmag_filters: ['sdss2010-u', 'sdss2010-g', 'sdss2010-r', 'sdss2010-i', 'sdss2010-z'] From 6cfb7d37acd9a2fca21202c9cba00201d10c7a59 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 8 Aug 2023 05:07:57 -0700 Subject: [PATCH 03/32] restore support for fitting stacked spectra --- py/fastspecfit/continuum.py | 3 ++- py/fastspecfit/emlines.py | 14 +++------- py/fastspecfit/fastspecfit.py | 25 +++++------------ py/fastspecfit/io.py | 51 +++++++++++++++++------------------ 4 files changed, 37 insertions(+), 56 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index ca805680..3c22d4c7 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -484,7 +484,8 @@ def __init__(self, nophoto=False, fphoto=None, load_filters=True): keys = fphoto.keys() self.uniqueid = fphoto['uniqueid'] self.photounits = fphoto['photounits'] - self.readcols = np.array(fphoto['readcols']) + if 'readcols' in keys: + self.readcols = np.array(fphoto['readcols']) if 'outcols' in keys: self.outcols = np.array(fphoto['outcols']) self.bands = np.array(fphoto['bands']) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 70b91447..946be2f2 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -142,7 +142,7 @@ def _objective_function(free_parameters, emlinewave, emlineflux, weights, redshi return residuals class EMFitTools(Filters): - def __init__(self, minspecwave=3500.0, maxspecwave=9900.0, fphoto=None, uniqueid=None): + def __init__(self, fphoto=None, uniqueid=None): """Class to model a galaxy stellar continuum. Parameters @@ -154,11 +154,6 @@ def __init__(self, minspecwave=3500.0, maxspecwave=9900.0, fphoto=None, uniqueid available wavelength is used (around 100 Angstrom). maxtemplatewave : :class:`float`, optional, defaults to 6e4 Maximum template wavelength to read into memory. - minspecwave : :class:`float`, optional, defaults to 3000 A. - Minimum observed-frame wavelength, which is used internally for the - forward modeling of the emission-line spectrum. - maxspecwave : :class:`float`, optional, defaults to 3000 A. - Like `minspecwave` but the maximum observed-frame wavelength. chi2_default : :class:`float`, optional, defaults to 0.0. Default chi2 value for a emission line not fitted. maxiter : :class:`int`, optional, defaults to 5000. @@ -2371,8 +2366,8 @@ def major_formatter(x, pos): plt.close() def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum, - minspecwave=3500.0, maxspecwave=9900.0, fphoto=None, synthphot=True, - broadlinefit=True, percamera_models=False, log=None, verbose=False): + fphoto=None, synthphot=True, broadlinefit=True, percamera_models=False, + log=None, verbose=False): """Perform the fit minimization / chi2 minimization. Parameters @@ -2402,8 +2397,7 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum else: log = get_logger() - EMFit = EMFitTools(minspecwave=minspecwave, maxspecwave=maxspecwave, - fphoto=fphoto, uniqueid=data['uniqueid']) + EMFit = EMFitTools(fphoto=fphoto, uniqueid=data['uniqueid']) # Combine all three cameras; we will unpack them to build the # best-fitting model (per-camera) below. diff --git a/py/fastspecfit/fastspecfit.py b/py/fastspecfit/fastspecfit.py index 758995ef..7e0e2f7f 100644 --- a/py/fastspecfit/fastspecfit.py +++ b/py/fastspecfit/fastspecfit.py @@ -36,8 +36,7 @@ def _assign_units_to_columns(fastfit, metadata, Spec, templates, fastphot, stack metadata[col].unit = M[col].unit def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, - minspecwave=3500., maxspecwave=9900., broadlinefit=True, - fastphot=False, stackfit=False, constrain_age=False, + broadlinefit=True, fastphot=False, constrain_age=False, no_smooth_continuum=False, percamera_models=False, debug_plots=False): """Multiprocessing wrapper to run :func:`fastspec` on a single object. @@ -46,7 +45,7 @@ def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, from fastspecfit.io import cache_templates from fastspecfit.emlines import emline_specfit from fastspecfit.continuum import continuum_specfit - + log.info('Continuum- and emission-line fitting object {} [{} {}, z={:.6f}].'.format( iobj, fphoto['uniqueid'].lower(), data['uniqueid'], meta['Z'])) @@ -68,8 +67,7 @@ def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, emmodel = None else: emmodel = emline_specfit(data, templatecache, out, continuummodel, smooth_continuum, - minspecwave=minspecwave, maxspecwave=maxspecwave, fphoto=fphoto, - broadlinefit=broadlinefit, percamera_models=percamera_models, + fphoto=fphoto, broadlinefit=broadlinefit, percamera_models=percamera_models, log=log) return out, meta, emmodel @@ -87,8 +85,6 @@ def parse(options=None, log=None): parser.add_argument('--mp', type=int, default=1, help='Number of multiprocessing threads per MPI rank.') parser.add_argument('-n', '--ntargets', type=int, help='Number of targets to process in each file.') parser.add_argument('--firsttarget', type=int, default=0, help='Index of first object to to process in each file, zero-indexed.') - parser.add_argument('--minspecwave', type=float, default=3500., help='Minimum spectral wavelength (Angstrom).') - parser.add_argument('--maxspecwave', type=float, default=9900., help='Maximum spectral wavelength (Angstrom).') parser.add_argument('--targetids', type=str, default=None, help='Comma-separated list of TARGETIDs to process.') parser.add_argument('--input-redshifts', type=str, default=None, help='Comma-separated list of input redshifts corresponding to the (required) --targetids input.') parser.add_argument('--no-broadlinefit', default=True, action='store_false', dest='broadlinefit', @@ -166,17 +162,14 @@ def fastspec(fastphot=False, stackfit=False, args=None, comm=None, verbose=False # Read the data. t0 = time.time() - Spec = DESISpectra(fphotodir=args.fphotodir, fphotoinfo=args.fphotoinfo, mapdir=args.mapdir) + Spec = DESISpectra(stackfit=stackfit, fphotodir=args.fphotodir, + fphotoinfo=args.fphotoinfo, mapdir=args.mapdir) if stackfit: data = Spec.read_stacked(args.redrockfiles, firsttarget=args.firsttarget, stackids=targetids, ntargets=args.ntargets, mp=args.mp) args.nophoto = True # force nophoto=True - - # stacked spectra can have variable beginning and ending wavelengths - minspecwave = np.min(data[0]['coadd_wave']) - 20 - maxspecwave = np.max(data[0]['coadd_wave']) + 20 else: Spec.select(args.redrockfiles, firsttarget=args.firsttarget, targetids=targetids, input_redshifts=input_redshifts, ntargets=args.ntargets, @@ -188,9 +181,6 @@ def fastspec(fastphot=False, stackfit=False, args=None, comm=None, verbose=False data = Spec.read_and_unpack(fastphot=fastphot, mp=args.mp) - minspecwave = args.minspecwave - maxspecwave = args.maxspecwave - log.info('Reading and unpacking {} spectra to be fitted took {:.2f} seconds.'.format( Spec.ntargets, time.time()-t0)) @@ -208,9 +198,8 @@ def fastspec(fastphot=False, stackfit=False, args=None, comm=None, verbose=False # Fit in parallel t0 = time.time() fitargs = [(iobj, data[iobj], out[iobj], meta[iobj], Spec.fphoto, templates, log, - minspecwave, maxspecwave, args.broadlinefit, fastphot, stackfit, - args.constrain_age, args.no_smooth_continuum, args.percamera_models, - args.debug_plots) for iobj in np.arange(Spec.ntargets)] + args.broadlinefit, fastphot, args.constrain_age, args.no_smooth_continuum, + args.percamera_models, args.debug_plots) for iobj in np.arange(Spec.ntargets)] if args.mp > 1: import multiprocessing with multiprocessing.Pool(args.mp) as P: diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 7992760d..23de2a59 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -291,24 +291,20 @@ def _unpack_one_stacked_spectrum(args): """Multiprocessing wrapper.""" return unpack_one_stacked_spectrum(*args) -def unpack_one_stacked_spectrum(iobj, specdata, meta, synthphot, log): +def unpack_one_stacked_spectrum(iobj, specdata, meta, fphoto, synthphot, log): """Unpack the data for a single stacked spectrum. Also flag pixels which may be affected by emission lines. """ from fastspecfit.continuum import ContinuumTools - CTools = ContinuumTools() + CTools = ContinuumTools(fphoto=fphoto) log.info('Pre-processing object {} [stackid {} z={:.6f}].'.format( - iobj, meta['STACKID'], meta['Z'])) + iobj, meta[CTools.uniqueid], meta['Z'])) - if specdata['photsys'] == 'S': - filters = CTools.decam - allfilters = CTools.decamwise - else: - filters = CTools.bassmzls - allfilters = CTools.bassmzlswise + filters = CTools.filters[specdata['photsys']] + synth_filters = CTools.synth_filters[specdata['photsys']] # Dummy imaging photometry. maggies = np.zeros(len(CTools.bands)) @@ -316,17 +312,13 @@ def unpack_one_stacked_spectrum(iobj, specdata, meta, synthphot, log): specdata['phot'] = CTools.parse_photometry( CTools.bands, maggies=maggies, ivarmaggies=ivarmaggies, nanomaggies=True, - lambda_eff=allfilters.effective_wavelengths.value, + lambda_eff=filters.effective_wavelengths.value, min_uncertainty=CTools.min_uncertainty, log=log) - #specdata['fiberphot'] = specdata['phot'] - #specdata['fibertotphot'] = specdata['phot'] - specdata.update({'linemask': [], 'linemask_all': [], 'linename': [], 'linepix': [], 'contpix': [], 'wave': [], 'flux': [], 'ivar': [], 'mask': [], 'res': [], 'snr': np.zeros(1, 'f4'), - #'npixpercamera': len(specdata['wave0'][0]), }) cameras, npixpercamera = [], [] @@ -421,19 +413,19 @@ def unpack_one_stacked_spectrum(iobj, specdata, meta, synthphot, log): # Optionally synthesize photometry from the coadded spectrum. if synthphot: - padflux, padwave = filters.pad_spectrum(specdata['coadd_flux'], specdata['coadd_wave'], method='edge') - synthmaggies = filters.get_ab_maggies(padflux / FLUXNORM, padwave) + padflux, padwave = synth_filters.pad_spectrum(specdata['coadd_flux'], specdata['coadd_wave'], method='edge') + synthmaggies = synth_filters.get_ab_maggies(padflux / FLUXNORM, padwave) synthmaggies = synthmaggies.as_array().view('f8') specdata['synthphot'] = CTools.parse_photometry(CTools.synth_bands, maggies=synthmaggies, nanomaggies=False, - lambda_eff=filters.effective_wavelengths.value, log=log) + lambda_eff=synth_filters.effective_wavelengths.value, log=log) return specdata, meta class DESISpectra(TabulatedDESI): - def __init__(self, redux_dir=None, fiberassign_dir=None, fphotodir=None, - fphotoinfo=None, mapdir=None): + def __init__(self, stackfit=False, redux_dir=None, fiberassign_dir=None, + fphotodir=None, fphotoinfo=None, mapdir=None): """Class to read in DESI spectra and associated metadata. Parameters @@ -470,8 +462,10 @@ def __init__(self, redux_dir=None, fiberassign_dir=None, fphotodir=None, if fphotoinfo is None: from importlib import resources - fphotoinfo = resources.files('fastspecfit').joinpath('data/legacysurvey-dr9.yaml') - + if stackfit: + fphotoinfo = resources.files('fastspecfit').joinpath('data/stacked-phot.yaml') + else: + fphotoinfo = resources.files('fastspecfit').joinpath('data/legacysurvey-dr9.yaml') try: with open(fphotoinfo, 'r') as F: fphoto = yaml.safe_load(F) @@ -1197,6 +1191,8 @@ def read_stacked(self, stackfiles, firsttarget=0, ntargets=None, from desispec.resolution import Resolution from fastspecfit.continuum import ContinuumTools + CTools = ContinuumTools(fphoto=self.fphoto) + if stackfiles is None: errmsg = 'At least one stackfiles file is required.' log.critical(errmsg) @@ -1274,7 +1270,7 @@ def read_stacked(self, stackfiles, firsttarget=0, ntargets=None, raise ValueError(errmsg) # Add some columns and append. - meta['PHOTSYS'] = 'S' + meta['PHOTSYS'] = '' meta['SURVEY'] = survey meta['PROGRAM'] = program meta['HEALPIX'] = healpix @@ -1298,8 +1294,8 @@ def read_stacked(self, stackfiles, firsttarget=0, ntargets=None, # Age of the universe. dlum = np.zeros(len(meta['Z'])) dmod = np.zeros(len(meta['Z'])) - dlum[meta['Z']>0.] = self.luminosity_distance(meta['Z'][meta['Z']>0.]) - dmod[meta['Z']>0.] = self.distance_modulus(meta['Z'][meta['Z']>0.]) + dlum[meta['Z'] > 0.] = self.luminosity_distance(meta['Z'][meta['Z'] > 0.]) + dmod[meta['Z'] > 0.] = self.distance_modulus(meta['Z'][meta['Z'] > 0.]) tuniv = self.universe_age(meta['Z']) wave = fitsio.read(stackfile, 'WAVE') @@ -1323,8 +1319,9 @@ def read_stacked(self, stackfiles, firsttarget=0, ntargets=None, unpackargs = [] for iobj in np.arange(len(meta)): specdata = { - 'targetid': meta['STACKID'][iobj], 'zredrock': meta['Z'][iobj], - 'photsys': 'S', + 'uniqueid': meta[CTools.uniqueid][iobj], + 'zredrock': meta['Z'][iobj], + 'photsys': meta['PHOTSYS'][iobj], 'cameras': ['brz'], 'dluminosity': dlum[iobj], 'dmodulus': dmod[iobj], 'tuniv': tuniv[iobj], @@ -1340,7 +1337,7 @@ def read_stacked(self, stackfiles, firsttarget=0, ntargets=None, 'coadd_ivar': specdata['ivar0'][0], 'coadd_res': specdata['res0'][0], }) - unpackargs.append((iobj, specdata, meta[iobj], synthphot, log)) + unpackargs.append((iobj, specdata, meta[iobj], self.fphoto, synthphot, log)) if mp > 1: import multiprocessing From 676492781f9772c82ef3583113298beeced440e2 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 8 Aug 2023 05:36:11 -0700 Subject: [PATCH 04/32] fix fastqa with stacked spectra --- py/fastspecfit/qa.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index 08f5b885..c0787121 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -107,7 +107,7 @@ def major_formatter(x, pos): layer = 'ls-dr9' if not fastphot: - EMFit = EMFitTools(minspecwave=spec_wavelims[0], maxspecwave=spec_wavelims[1]) + EMFit = EMFitTools() filters = CTools.synth_filters[metadata['PHOTSYS']] allfilters = CTools.filters[metadata['PHOTSYS']] @@ -1201,6 +1201,7 @@ def parse(options=None): parser.add_argument('-n', '--ntargets', type=int, help='Number of targets to process in each file.') parser.add_argument('--firsttarget', type=int, default=0, help='Index of first object to to process in each file (0-indexed).') parser.add_argument('--mp', type=int, default=1, help='Number of multiprocessing processes per MPI rank or node.') + parser.add_argument('--stackfit', action='store_true', help='Generate QA for stacked spectra.') parser.add_argument('--nophoto', action='store_true', help='Do not include the photometry in the model fitting.') parser.add_argument('--overwrite', action='store_true', help='Overwrite existing files.') @@ -1307,8 +1308,7 @@ def fastqa(args=None, comm=None): log.info('Building QA for {} objects.'.format(len(metadata))) # Initialize the I/O class. - - Spec = DESISpectra(redux_dir=args.redux_dir, fphotodir=args.fphotodir, + Spec = DESISpectra(stackfit=args.stackfit, redux_dir=args.redux_dir, fphotodir=args.fphotodir, fphotoinfo=args.fphotoinfo, mapdir=args.mapdir) templates = get_templates_filename(templateversion=args.templateversion, imf=args.imf) From ce3284d646da9fbff1e0e6a2f98ab5f4024e3fb2 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 10 Aug 2023 06:57:59 -0700 Subject: [PATCH 05/32] hard-code SNR GRZ cameras --- py/fastspecfit/io.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 23de2a59..ff753939 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -1746,10 +1746,7 @@ def init_fastspec_output(input_meta, specprod, fphoto=None, templates=None, out['Z'][iobj] = _data['zredrock'] if not fastphot: for icam, cam in enumerate(_data['cameras']): - try: - out['SNR_{}'.format(cam.upper())][iobj] = _data['snr'][icam] - except: - pdb.set_trace() + out['SNR_{}'.format(cam.upper())][iobj] = _data['snr'][icam] if not stackfit: if 'fiber_bands' in fphoto.keys(): for iband, band in enumerate(fphoto['fiber_bands']): From ae824c50a9d6a4d7150b88bbcab04e45b2d6b3ed Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 10 Aug 2023 06:58:15 -0700 Subject: [PATCH 06/32] use mp spawn method in get-cutouts --- bin/get-cutouts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/get-cutouts b/bin/get-cutouts index d93c22d7..486adb00 100755 --- a/bin/get-cutouts +++ b/bin/get-cutouts @@ -383,6 +383,11 @@ def main(): except ImportError: comm = None + # https://docs.nersc.gov/development/languages/python/parallel-python/#use-the-spawn-start-method + if args.mp > 1 and 'NERSC_HOST' in os.environ: + import multiprocessing + multiprocessing.set_start_method('spawn') + if args.coadd_type == 'healpix': args.survey = args.survey.split(',') args.program = args.program.split(',') From 4da80d33cefa61a98e6879e2836588486c03a14a Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 10 Aug 2023 06:58:31 -0700 Subject: [PATCH 07/32] oops do not hard-code hsc-dr3 layer --- py/fastspecfit/qa.py | 1 + 1 file changed, 1 insertion(+) diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index c0787121..7ff71305 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -105,6 +105,7 @@ def major_formatter(x, pos): layer = 'ls-{}'.format(fphoto['legacysurveydr']) else: layer = 'ls-dr9' + #layer = 'hsc-dr3' if not fastphot: EMFit = EMFitTools() From d8a3851aaffa5897de75deb335c4659da6e1cede Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 10 Aug 2023 06:59:15 -0700 Subject: [PATCH 08/32] bug fix (see sv3-bright-25918-39627758090851408): use default xtol and do not constrain sigma and vshift to be within +/-20 percent on final fitting iteration --- py/fastspecfit/emlines.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 946be2f2..91aff384 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -848,7 +848,8 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, else: try: fit_info = least_squares(_objective_function, parameters[Ifree], args=farg, max_nfev=5000, - xtol=1e-2, tr_solver='lsmr', tr_options={'regularize': True}, + #xtol=1e-2, + tr_solver='lsmr', tr_options={'regularize': True}, method='trf', bounds=tuple(zip(*bounds)))#, verbose=2) parameters[Ifree] = fit_info.x except: @@ -889,7 +890,6 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, if len(K) > 0: drop2[K] = True #print(pp, J, K, np.sum(drop2)) - #pdb.set_trace() #drop2[self.amp_param_bool] = parameters[self.amp_param_bool] == 0.0 #drop2[Ifree] = parameters[Ifree] == linemodel['value'][Ifree] @@ -931,7 +931,7 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, if len(Idrop) > 0: log.debug(' Dropping {} unique parameters.'.format(len(Idrop))) parameters[Idrop] = 0.0 - + # apply tied constraints if len(Itied) > 0: for I, indx, factor in zip(Itied, tiedtoparam, tiedfactor): @@ -1004,7 +1004,6 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, # plt.xlim(5386, 5394) # plt.legend() # plt.savefig('desi-users/ioannis/tmp/junk.png') - # pdb.set_trace() return out_linemodel @@ -2595,18 +2594,19 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum # log.critical(errmsg) # raise ValueError(errmsg) - # Tighten up the bounds to within +/-10% around the initial parameter - # values except for the amplitudes. Be sure to check for zero. - I = np.where((EMFit.amp_param_bool == False) * (linemodel['fixed'] == False) * - (linemodel['value'] != 0.0) * - (linemodel['tiedtoparam'] == -1) * (linemodel['doubletpair'] == -1))[0] - if len(I) > 0: - neg = linemodel['value'][I] < 0 - pos = linemodel['value'][I] >= 0 - if np.any(neg): - linemodel['bounds'][I[neg], :] = np.vstack((linemodel['value'][I[neg]] / 0.8, linemodel['value'][I[neg]] / 1.2)).T - if np.any(pos): - linemodel['bounds'][I[pos], :] = np.vstack((linemodel['value'][I[pos]] * 0.8, linemodel['value'][I[pos]] * 1.2)).T + ## Tighten up the bounds to within +/-10% around the initial parameter + ## values except for the amplitudes. Be sure to check for zero. + #if False: + # I = np.where((EMFit.amp_param_bool == False) * (linemodel['fixed'] == False) * + # (linemodel['value'] != 0.0) * + # (linemodel['tiedtoparam'] == -1) * (linemodel['doubletpair'] == -1))[0] + # if len(I) > 0: + # neg = linemodel['value'][I] < 0 + # pos = linemodel['value'][I] >= 0 + # if np.any(neg): + # linemodel['bounds'][I[neg], :] = np.vstack((linemodel['value'][I[neg]] / 0.8, linemodel['value'][I[neg]] / 1.2)).T + # if np.any(pos): + # linemodel['bounds'][I[pos], :] = np.vstack((linemodel['value'][I[pos]] * 0.8, linemodel['value'][I[pos]] * 1.2)).T #linemodel[linemodel['linename'] == 'halpha'] #B = np.where(['ne' in param for param in EMFit.param_names])[0] From a0d43d0cdae628b9523ff5aacae84f7abc83da80 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sun, 13 Aug 2023 13:51:48 -0700 Subject: [PATCH 09/32] implement matched-filter Gaussian flux and flux_ivar --- py/fastspecfit/emlines.py | 55 +++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 91aff384..95465d06 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -28,7 +28,8 @@ def read_emlines(): #import numba #@numba.jit(nopython=True) def build_emline_model(dlog10wave, redshift, lineamps, linevshifts, linesigmas, - linewaves, emlinewave, resolution_matrix, camerapix=None): + linewaves, emlinewave, resolution_matrix, camerapix=None, + debug=False): """Given parameters, build the model emission-line spectrum. ToDo: can this be optimized using numba? @@ -85,6 +86,7 @@ def build_emline_model(dlog10wave, redshift, lineamps, linevshifts, linesigmas, if len(log10wave) > 0: _emlinemodel = trapz_rebin(10**log10wave, log10model, specwave) _emlinemodel = resolution_matrix[icam].dot(_emlinemodel) + _emlinemodel[_emlinemodel < 0] = 0. # resolution matrix is occasionally negative else: _emlinemodel = specwave * 0 emlinemodel.append(_emlinemodel) @@ -95,6 +97,7 @@ def build_emline_model(dlog10wave, redshift, lineamps, linevshifts, linesigmas, if len(log10wave) > 0: _emlinemodel = trapz_rebin(10**log10wave, log10model, emlinewave[campix[0]:campix[1]]) _emlinemodel = resolution_matrix[icam].dot(_emlinemodel) + _emlinemodel[_emlinemodel < 0] = 0. # resolution matrix is occasionally negative else: _emlinemodel = emlinewave[campix[0]:campix[1]] * 0 emlinemodel.append(_emlinemodel) @@ -1085,12 +1088,13 @@ def emlinemodel_bestfit(self, specwave, specres, fastspecfit_table, redshift=Non def populate_emtable(self, result, finalfit, finalmodel, emlinewave, emlineflux, emlineivar, oemlineivar, specflux_nolines, redshift, - resolution_matrix, camerapix, log, nminpix=7): + resolution_matrix, camerapix, log, nminpix=7, nsigma=3.): """Populate the output table with the emission-line measurements. """ from scipy.stats import sigmaclip from fastspecfit.util import centers2edges + from scipy.special import erf for param in finalfit: val = param['value'] @@ -1115,6 +1119,8 @@ def populate_emtable(self, result, finalfit, finalmodel, emlinewave, emlineflux, else: result[param['param_name'].upper()] = val + gausscorr = erf(nsigma / np.sqrt(2)) # correct for the flux outside of +/-nsigma + emlinewave_edges = centers2edges(emlinewave) dpixwave = np.diff(emlinewave_edges)[0] # pixel size [Angstrom] @@ -1153,13 +1159,15 @@ def populate_emtable(self, result, finalfit, finalmodel, emlinewave, emlineflux, # require at least 2 pixels if linesigma_ang < 2 * dpixwave: linesigma_ang_window = 2 * dpixwave + _gausscorr = 1. else: linesigma_ang_window = linesigma_ang + _gausscorr = gausscorr # Are the pixels based on the original inverse spectrum fully # masked? If so, set everything to zero and move onto the next line. - lineindx = np.where((emlinewave >= (linezwave - 3.0*linesigma_ang_window)) * - (emlinewave <= (linezwave + 3.0*linesigma_ang_window)))[0] + lineindx = np.where((emlinewave >= (linezwave - nsigma*linesigma_ang_window)) * + (emlinewave <= (linezwave + nsigma*linesigma_ang_window)))[0] if len(lineindx) > 0 and np.sum(oemlineivar[lineindx] == 0) / len(lineindx) > 0.3: # use original ivar result['{}_AMP'.format(linename)] = 0.0 @@ -1168,8 +1176,8 @@ def populate_emtable(self, result, finalfit, finalmodel, emlinewave, emlineflux, result['{}_SIGMA'.format(linename)] = 0.0 else: # number of pixels, chi2, and boxcar integration - lineindx = np.where((emlinewave >= (linezwave - 3.0*linesigma_ang_window)) * - (emlinewave <= (linezwave + 3.0*linesigma_ang_window)) * + lineindx = np.where((emlinewave >= (linezwave - nsigma*linesigma_ang_window)) * + (emlinewave <= (linezwave + nsigma*linesigma_ang_window)) * (emlineivar > 0))[0] npix = len(lineindx) @@ -1202,28 +1210,37 @@ def populate_emtable(self, result, finalfit, finalmodel, emlinewave, emlineflux, # require amp > 0 (line not dropped) to compute the flux and chi2 if result['{}_MODELAMP'.format(linename)] > 0: - # get the emission-line flux - linenorm = np.sqrt(2.0 * np.pi) * linesigma_ang # * u.Angstrom - result['{}_FLUX'.format(linename)] = result['{}_MODELAMP'.format(linename)] * linenorm - - # weight by the per-pixel inverse variance line-profile + result['{}_CHI2'.format(linename)] = np.sum(emlineivar[lineindx] * (emlineflux[lineindx] - finalmodel[lineindx])**2) + lineprofile = build_emline_model(self.dlog10wave, redshift, np.array([result['{}_MODELAMP'.format(linename)]]), np.array([result['{}_VSHIFT'.format(linename)]]), np.array([result['{}_SIGMA'.format(linename)]]), np.array([oneline['restwave']]), emlinewave, - resolution_matrix, camerapix) + resolution_matrix, camerapix, debug=False) - lineweight = np.sum(lineprofile[lineindx])**2 - if lineweight == 0.0: - errmsg = 'Line-profile should never sum to zero!' + if np.sum(lineprofile) == 0. or np.any(lineprofile) < 0.: + errmsg = 'Line-profile should never be zero or negative!' log.critical(errmsg) raise ValueError(errmsg) - - flux_ivar = lineweight / np.sum(lineprofile[lineindx]**2 / emlineivar[lineindx]) + + # theoretical Gaussian line-flux and the (wrong) weighted flux_ivar + #flux = result['{}_MODELAMP'.format(linename)] * np.sqrt(2.0 * np.pi) * linesigma_ang # * u.Angstrom + #flux_ivar = np.sum(lineprofile[lineindx])**2 / np.sum(lineprofile[lineindx]**2 / emlineivar[lineindx]) + + # matched-filter (maximum-likelihood) Gaussian flux + pro_j = lineprofile[lineindx] / np.sum(lineprofile[lineindx]) + I = pro_j > 0. # very narrow lines can have a profile that goes to zero + weight_j = (pro_j[I]**2 / dwave**2) * emlineivar[lineindx][I] + flux = np.sum(weight_j * dwave * lineprofile[lineindx][I] / pro_j[I]) / np.sum(weight_j) + flux_ivar = np.sum(weight_j) + + # correction for missing flux + flux /= _gausscorr + flux_ivar *= _gausscorr**2 + + result['{}_FLUX'.format(linename)] = flux result['{}_FLUX_IVAR'.format(linename)] = flux_ivar # * u.second**2*u.cm**4/u.erg**2 - - result['{}_CHI2'.format(linename)] = np.sum(emlineivar[lineindx] * (emlineflux[lineindx] - finalmodel[lineindx])**2) # keep track of sigma and z but only using XX-sigma lines linesnr = result['{}_AMP'.format(linename)] * np.sqrt(result['{}_AMP_IVAR'.format(linename)]) From 073b5c14c8c6e0353e47e60faae1265e732b410c Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 03:53:34 -0700 Subject: [PATCH 10/32] require at least one broad line to have S/N>3 --- py/fastspecfit/emlines.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 95465d06..e1f98535 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -225,7 +225,8 @@ def __init__(self, fphoto=None, uniqueid=None): self.doubletindx = np.hstack([np.where(self.param_names == doublet)[0] for doublet in doublet_names]) self.doubletpair = np.hstack([np.where(self.param_names == pair)[0] for pair in doublet_pairs]) - self.minsigma_balmer_broad = 250.0 # minimum broad-line sigma [km/s] + self.minsigma_balmer_broad = 250. # minimum broad-line sigma [km/s] + self.minsnr_balmer_broad = 3. # minimum broad-line S/N def build_linemodels(self, redshift, wavelims=[3000, 10000], verbose=False, strict_finalmodel=True): """Build all the multi-parameter emission-line models we will use. @@ -2519,12 +2520,26 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum dchi2test = delta_linechi2_balmer > delta_linendof_balmer Hanarrow = broadfit['param_name'] == 'halpha_sigma' # Balmer lines are tied to H-alpha even if out of range Habroad = broadfit['param_name'] == 'halpha_broad_sigma' + Bbroad = broadfit['isbalmer'] * broadfit['isbroad'] * (broadfit['fixed'] == False) * EMFit.amp_balmer_bool + broadsnr = broadfit[Bbroad]['value'].data * np.sqrt(broadfit[Bbroad]['civar'].data) + sigtest1 = broadfit[Habroad]['value'][0] > EMFit.minsigma_balmer_broad sigtest2 = (broadfit[Habroad]['value'] > broadfit[Hanarrow]['value'])[0] - - if dchi2test and sigtest1 and sigtest2: - log.info('Adopting broad-line model: delta-chi2={:.1f} > delta-ndof={:.0f} (sigma_broad={:.1f} km/s, sigma_narrow={:.1f} km/s)'.format( - delta_linechi2_balmer, delta_linendof_balmer, broadfit[Habroad]['value'][0], broadfit[Hanarrow]['value'][0])) + if len(broadsnr) == 0: + broadsnrtest = False + elif len(broadsnr) == 1: + broadsnrtest = broadsnr[-1] > EMFit.minsnr_balmer_broad + _broadsnr = 'S/N ({}) = {:.1f}'.format(broadfit[Bbroad]['linename'][-1], broadsnr[-1]) + else: + broadsnrtest = np.any(broadsnr[-2:] > EMFit.minsnr_balmer_broad) + _broadsnr = 'S/N ({}) = {:.1f}, S/N ({}) = {:.1f}'.format( + broadfit[Bbroad]['linename'][-2], broadsnr[-2], broadfit[Bbroad]['linename'][-1], broadsnr[-1]) + + if dchi2test and sigtest1 and sigtest2 and broadsnrtest: + log.info('Adopting broad-line model:') + log.info(' delta-chi2={:.1f} > delta-ndof={:.0f}'.format(delta_linechi2_balmer, delta_linendof_balmer)) + log.info(' sigma_broad={:.1f} km/s, sigma_narrow={:.1f} km/s'.format(broadfit[Habroad]['value'][0], broadfit[Hanarrow]['value'][0])) + log.info(' {} > {:.0f}'.format(_broadsnr, EMFit.minsnr_balmer_broad)) bestfit = broadfit use_linemodel_broad = True else: @@ -2537,6 +2552,8 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum elif sigtest2 == False: log.info('Dropping broad-line model: Halpha_broad_sigma {:.1f} km/s < Halpha_narrow_sigma {:.1f} km/s (delta-chi2={:.1f}, delta-ndof={:.0f}).'.format( broadfit[Habroad]['value'][0], broadfit[Hanarrow]['value'][0], delta_linechi2_balmer, delta_linendof_balmer)) + elif broadsnrtest == False: + log.info('Dropping broad-line model: {} < {:.0f}'.format(_broadsnr, EMFit.minsnr_balmer_broad)) bestfit = initfit use_linemodel_broad = False else: From 1eeb19d47f3a6d48e11b20d58e63331e2d8e3362 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 05:13:41 -0700 Subject: [PATCH 11/32] nicer/faster plotting of the individual emission lines --- py/fastspecfit/qa.py | 66 ++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 36 deletions(-) diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index 7ff71305..be96a5d4 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -407,24 +407,9 @@ def major_formatter(x, pos): for campix in data['camerapix']: desismoothcontinuum.append(fullsmoothcontinuum[campix[0]:campix[1]]) - # full model spectrum + individual line-spectra + # full model spectrum desiemlines = EMFit.emlinemodel_bestfit(data['wave'], data['res'], fastspec, snrcut=emline_snrmin) - desiemlines_oneline = [] - inrange = ( (EMFit.linetable['restwave'] * (1+redshift) > np.min(fullwave)) * - (EMFit.linetable['restwave'] * (1+redshift) < np.max(fullwave)) ) - - for oneline in EMFit.linetable[inrange]: # for all lines in range - linename = oneline['name'].upper() - amp = fastspec['{}_MODELAMP'.format(linename)] - if amp != 0: - desiemlines_oneline1 = build_emline_model( - EMFit.dlog10wave, redshift, np.array([amp]), - np.array([fastspec['{}_VSHIFT'.format(linename)]]), - np.array([fastspec['{}_SIGMA'.format(linename)]]), - np.array([oneline['restwave']]), data['wave'], data['res']) - desiemlines_oneline.append(desiemlines_oneline1) - # Grab the viewer cutout. if not stackfit: pixscale = 0.262 @@ -796,7 +781,8 @@ def major_formatter(x, pos): # zoom in on individual emission lines - use linetable! if not fastphot: linetable = EMFit.linetable - inrange = (linetable['restwave'] * (1+redshift) > np.min(fullwave)) * (linetable['restwave'] * (1+redshift) < np.max(fullwave)) + inrange = ((linetable['restwave'] * (1+redshift) > np.min(fullwave)) * + (linetable['restwave'] * (1+redshift) < np.max(fullwave))) linetable = linetable[inrange] nline = len(set(linetable['plotgroup'])) @@ -805,11 +791,12 @@ def major_formatter(x, pos): plotsig_default_balmer = 500.0 # [km/s] plotsig_default_broad = 2000.0 # [km/s] - minwaves, maxwaves, meanwaves, deltawaves, sigmas, linenames = [], [], [], [], [], [] + minwaves, maxwaves, meanwaves, deltawaves, sigmas, linenames, _linenames = [], [], [], [], [], [], [] for plotgroup in set(linetable['plotgroup']): I = np.where(plotgroup == linetable['plotgroup'])[0] linename = linetable['nicename'][I[0]].replace('-', ' ') linenames.append(linename) + _linenames.append(linetable['nicename'][I[0]]) minwaves.append(np.min(linetable['restwave'][I])) maxwaves.append(np.max(linetable['restwave'][I])) meanwaves.append(np.mean(linetable['restwave'][I])) @@ -850,6 +837,7 @@ def major_formatter(x, pos): deltawaves = np.hstack(deltawaves)[srt] sigmas = np.hstack(sigmas)[srt] linenames = np.hstack(linenames)[srt] + _linenames = np.hstack(_linenames)[srt] # Add the linenames to the spectrum plot. for meanwave, linename in zip(meanwaves*(1+redshift), linenames): @@ -876,8 +864,8 @@ def major_formatter(x, pos): else: ax, irow, colshift = [], 4, 5 # skip the gap row - for iax, (minwave, maxwave, meanwave, deltawave, sig, linename) in enumerate( - zip(minwaves, maxwaves, meanwaves, deltawaves, sigmas, linenames)): + for iax, (minwave, maxwave, meanwave, deltawave, sig, linename, _linename) in enumerate( + zip(minwaves, maxwaves, meanwaves, deltawaves, sigmas, linenames, _linenames)): icol = iax % nlinecols icol += colshift if iax > 0 and iax % nlinecols == 0: @@ -887,10 +875,8 @@ def major_formatter(x, pos): xx = fig.add_subplot(gs[irow, icol]) ax.append(xx) - wmin = (minwave - deltawave) * (1+redshift) - 6 * sig * minwave * (1+redshift) / C_LIGHT - wmax = (maxwave + deltawave) * (1+redshift) + 6 * sig * maxwave * (1+redshift) / C_LIGHT - #wmin = (meanwave - deltawave) * (1+redshift) - 6 * sig * meanwave * (1+redshift) / C_LIGHT - #wmax = (meanwave + deltawave) * (1+redshift) + 6 * sig * meanwave * (1+redshift) / C_LIGHT + wmin = (minwave - deltawave) * (1+redshift) - 5 * sig * minwave * (1+redshift) / C_LIGHT + wmax = (maxwave + deltawave) * (1+redshift) + 5 * sig * maxwave * (1+redshift) / C_LIGHT # iterate over cameras for icam in np.arange(len(data['cameras'])): # iterate over cameras @@ -903,10 +889,10 @@ def major_formatter(x, pos): emlineflux = emlineflux[good] emlinesigma = emlinesigma[good] emlinemodel = emlinemodel[good] - - emlinemodel_oneline = [] - for desiemlines_oneline1 in desiemlines_oneline: - emlinemodel_oneline.append(desiemlines_oneline1[icam][good]) + + #emlinemodel_oneline = [] + #for desiemlines_oneline1 in desiemlines_oneline: + # emlinemodel_oneline.append(desiemlines_oneline1[icam][good]) indx = np.where((emlinewave > wmin) * (emlinewave < wmax))[0] if len(indx) > 1: @@ -916,13 +902,21 @@ def major_formatter(x, pos): # xx.plot(emlinewave[indx]/1e4, gaussian_filter(emlineflux[indx], nsmoothspec), color=col1[icam], alpha=0.5) #else: # xx.plot(emlinewave[indx]/1e4, emlineflux[indx], color=col1[icam], alpha=0.5) - for emlinemodel_oneline1 in emlinemodel_oneline: - if np.sum(emlinemodel_oneline1[indx]) > 0: - xx.plot(emlinewave[indx]/1e4, emlinemodel_oneline1[indx], lw=1, alpha=0.8, color=col2[icam]) - #if nsmoothspec > 1: - # xx.plot(emlinewave[indx]/1e4, gaussian_filter(emlinemodel_oneline1[indx], nsmoothspec), lw=1, alpha=0.8, color=col2[icam]) - #else: - # xx.plot(emlinewave[indx]/1e4, emlinemodel_oneline1[indx], lw=1, alpha=0.8, color=col2[icam]) + + for oneline in linetable[linetable['nicename'] == _linename]: + thisline = oneline['name'].upper() + ampsnr = fastspec['{}_AMP'.format(thisline)] * np.sqrt(fastspec['{}_AMP_IVAR'.format(thisline)]) + if ampsnr > emline_snrmin: + emlinemodel_oneline1 = build_emline_model( + EMFit.dlog10wave, redshift, + np.array([fastspec['{}_MODELAMP'.format(thisline)]]), + np.array([fastspec['{}_VSHIFT'.format(thisline)]]), + np.array([fastspec['{}_SIGMA'.format(thisline)]]), + np.array([oneline['restwave']]), [data['wave'][icam]], [data['res'][icam]]) + _emlinemodel_oneline1 = emlinemodel_oneline1[0][good][indx] + #notzero = _emlinemodel_oneline1 != 0 + xx.plot(emlinewave[indx]/1e4, _emlinemodel_oneline1, lw=1, alpha=0.8, color=col2[icam]) + xx.plot(emlinewave[indx]/1e4, emlinemodel[indx], color=col2[icam], lw=2, alpha=0.8) #if nsmoothspec > 1: # xx.plot(emlinewave[indx]/1e4, emlinemodel[indx], color=col2[icam], lw=2, alpha=0.8) @@ -1190,7 +1184,7 @@ def parse(options=None): parser.add_argument('--fphotodir', type=str, default=None, help='Top-level location of the source photometry.') parser.add_argument('--fphotoinfo', type=str, default=None, help='Photometric information file.') - parser.add_argument('--emline_snrmin', type=float, default=0.0, help='Minimum emission-line S/N to be displayed.') + parser.add_argument('--emline-snrmin', type=float, default=0.0, help='Minimum emission-line S/N to be displayed.') parser.add_argument('--nsmoothspec', type=int, default=0, help='Smoothing pixel value.') parser.add_argument('--minspecwave', type=float, default=3500., help='Minimum spectral wavelength (Angstrom).') From e664da290d7d4c48d2f0922d327bf78f1cf5b256 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 06:18:41 -0700 Subject: [PATCH 12/32] add heii_1640 and aliii_1857 --- py/fastspecfit/data/emlines.ecsv | 92 ++++++++++++++++---------------- py/fastspecfit/qa.py | 44 ++++++++------- 2 files changed, 71 insertions(+), 65 deletions(-) diff --git a/py/fastspecfit/data/emlines.ecsv b/py/fastspecfit/data/emlines.ecsv index c2a3fa7b..1640e129 100644 --- a/py/fastspecfit/data/emlines.ecsv +++ b/py/fastspecfit/data/emlines.ecsv @@ -24,48 +24,50 @@ # jm21mar19 - more lines added # jm21aug01 - [OI], HeI, HeII and more added'} name restwave amp isbalmer isbroad nicename plotgroup - lyalpha 1215.67 1.0 False True Ly$\alpha$ lya - oi_1304 1304.35 1.0 False True OI-$\lambda$1304 oi_1304 - siliv_1396 1396.76 1.0 False True SiIV-$\lambda$1396 siliv_1396 - civ_1549 1549.06 1.0 False True CIV-$\lambda$1549 civ_1549 - siliii_1892 1892.030 1.0 False True SiIII]-$\lambda$1892+CIII]-$\lambda$1908 siliii_1892_ciii_1908 - ciii_1908 1908.734 1.0 False True SiIII]-$\lambda$1892+CIII]-$\lambda$1908 siliii_1892_ciii_1908 - mgii_2796 2796.3511 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - mgii_2803 2803.5324 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - nev_3346 3346.7828 0.1 False False [NeV]-$\lambda$3346 nev_3346 - nev_3426 3426.8637 0.1 False False [NeV]-$\lambda$3426 nev_3426 - oii_3726 3727.0919 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - oii_3729 3729.8750 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - neiii_3869 3869.8611 1.0 False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6 3890.1576 0.1 True False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6_broad 3890.1576 0.1 True True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - hepsilon 3971.195 0.1 True False H$\epsilon$-$\lambda$3970 hepsilon - hepsilon_broad 3971.195 0.1 True True H$\epsilon$-$\lambda$3970 hepsilon - hdelta 4102.892 0.1 True False H$\delta$-$\lambda$4101 hdelta - hdelta_broad 4102.892 0.1 True True H$\delta$-$\lambda$4101 hdelta - hgamma 4341.684 1.0 True False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hgamma_broad 4341.684 1.0 True True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - oiii_4363 4364.4351 0.1 False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hei_4471 4472.7290 0.1 True False HeI-$\lambda$4471 hei_4471 - hei_broad_4471 4472.7290 0.1 True True HeI-$\lambda$4471 hei_4471 - heii_4686 4686.8655 0.1 True False HeII-$\lambda$4686 heii_4686 -heii_broad_4686 4686.8655 0.1 True True HeII-$\lambda$4686 heii_4686 - hbeta 4862.683 1.0 True False H$\beta$-$\lambda$4861 hbeta - hbeta_broad 4862.683 1.0 True True H$\beta$-$\lambda$4861 hbeta - oiii_4959 4960.2937 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - oiii_5007 5008.2383 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - nii_5755 5756.1887 0.1 False False [NII]-$\lambda$5755 nii_5755 - hei_5876 5877.2690 0.1 True False HeI-$\lambda$5876 hei_5876 - hei_broad_5876 5877.2690 0.1 True True HeI-$\lambda$5876 hei_5876 - oi_6300 6302.0435 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - siii_6312 6313.8062 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - nii_6548 6549.8578 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha 6564.613 1.0 True False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha_broad 6564.613 1.0 True True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - nii_6584 6585.2696 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - sii_6716 6718.2913 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - sii_6731 6732.6705 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - oii_7320 7321.731 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - oii_7330 7332.199 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - siii_9069 9071.103 0.1 False False [SIII]-$\lambda$9069 siii_9069 - siii_9532 9533.227 0.1 False False [SIII]-$\lambda$9532 siii_9532 + lyalpha 1215.67 1.0 False True Ly$\alpha$ lya + oi_1304 1304.35 1.0 False True OI-$\lambda$1304 oi_1304 + siliv_1396 1396.76 1.0 False True SiIV-$\lambda$1396 siliv_1396 + civ_1549 1549.06 1.0 False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + heii_1640 1640.42 1.0 False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + aliii_1857 1857.40 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + siliii_1892 1892.030 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + ciii_1908 1908.734 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + mgii_2796 2796.3511 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + mgii_2803 2803.5324 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + nev_3346 3346.7828 0.1 False False [NeV]-$\lambda$3346 nev_3346 + nev_3426 3426.8637 0.1 False False [NeV]-$\lambda$3426 nev_3426 + oii_3726 3727.0919 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + oii_3729 3729.8750 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + neiii_3869 3869.8611 1.0 False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6 3890.1576 0.1 True False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6_broad 3890.1576 0.1 True True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + hepsilon 3971.195 0.1 True False H$\epsilon$-$\lambda$3970 hepsilon + hepsilon_broad 3971.195 0.1 True True H$\epsilon$-$\lambda$3970 hepsilon + hdelta 4102.892 0.1 True False H$\delta$-$\lambda$4101 hdelta + hdelta_broad 4102.892 0.1 True True H$\delta$-$\lambda$4101 hdelta + hgamma 4341.684 1.0 True False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hgamma_broad 4341.684 1.0 True True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + oiii_4363 4364.4351 0.1 False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hei_4471 4472.7290 0.1 True False HeI-$\lambda$4471 hei_4471 + hei_broad_4471 4472.7290 0.1 True True HeI-$\lambda$4471 hei_4471 + heii_4686 4686.8655 0.1 True False HeII-$\lambda$4686 heii_4686 +heii_broad_4686 4686.8655 0.1 True True HeII-$\lambda$4686 heii_4686 + hbeta 4862.683 1.0 True False H$\beta$-$\lambda$4861 hbeta + hbeta_broad 4862.683 1.0 True True H$\beta$-$\lambda$4861 hbeta + oiii_4959 4960.2937 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + oiii_5007 5008.2383 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + nii_5755 5756.1887 0.1 False False [NII]-$\lambda$5755 nii_5755 + hei_5876 5877.2690 0.1 True False HeI-$\lambda$5876 hei_5876 + hei_broad_5876 5877.2690 0.1 True True HeI-$\lambda$5876 hei_5876 + oi_6300 6302.0435 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + siii_6312 6313.8062 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + nii_6548 6549.8578 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha 6564.613 1.0 True False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha_broad 6564.613 1.0 True True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + nii_6584 6585.2696 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + sii_6716 6718.2913 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + sii_6731 6732.6705 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + oii_7320 7321.731 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + oii_7330 7332.199 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + siii_9069 9071.103 0.1 False False [SIII]-$\lambda$9069 siii_9069 + siii_9532 9533.227 0.1 False False [SIII]-$\lambda$9532 siii_9532 diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index be96a5d4..351336ea 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -279,14 +279,14 @@ def major_formatter(x, pos): # UV if fastspec['LYALPHA_AMP']*np.sqrt(fastspec['LYALPHA_AMP_IVAR']) > snrcut: - leg_uv['ewlya'] = r'EW(Ly$\alpha)=$'+r'${:.1f}$'.format(fastspec['LYALPHA_EW'])+r' $\AA$' + leg_uv['ewlya'] = r'EW(Ly$\alpha$)'+r'$={:.1f}$'.format(fastspec['LYALPHA_EW'])+r' $\AA$' if fastspec['CIV_1549_AMP']*np.sqrt(fastspec['CIV_1549_AMP_IVAR']) > snrcut: - leg_uv['ewciv'] = r'EW(CIV)=$'+r'${:.1f}$'.format(fastspec['CIV_1549_EW'])+r' $\AA$' + leg_uv['ewciv'] = r'EW(CIV)'+r'$={:.1f}$'.format(fastspec['CIV_1549_EW'])+r' $\AA$' if fastspec['CIII_1908_AMP']*np.sqrt(fastspec['CIII_1908_AMP_IVAR']) > snrcut: - leg_uv['ewciii'] = r'EW(CIII])=$'+r'${:.1f}$'.format(fastspec['CIII_1908_EW'])+r' $\AA$' + leg_uv['ewciii'] = r'EW(CIII])'+r'$={:.1f}$'.format(fastspec['CIII_1908_EW'])+r' $\AA$' if (fastspec['MGII_2796_AMP']*np.sqrt(fastspec['MGII_2796_AMP_IVAR']) > snrcut or fastspec['MGII_2803_AMP']*np.sqrt(fastspec['MGII_2803_AMP_IVAR']) > snrcut): - leg_uv['ewmgii'] = r'EW(MgII)=$'+r'${:.1f}$'.format(fastspec['MGII_2796_EW']+fastspec['MGII_2803_EW'])+r' $\AA$' + leg_uv['ewmgii'] = r'EW(MgII)'+r'$={:.1f}$'.format(fastspec['MGII_2796_EW']+fastspec['MGII_2803_EW'])+r' $\AA$' leg_uv['mgii_doublet'] = r'MgII $\lambda2796/\lambda2803={:.3f}$'.format(fastspec['MGII_DOUBLET_RATIO']) leg_broad['linerchi2'] = r'$\chi^{2}_{\nu,\mathrm{line}}=$'+r'${:.2f}$'.format(fastspec['RCHI2_LINE']) @@ -840,21 +840,24 @@ def major_formatter(x, pos): _linenames = np.hstack(_linenames)[srt] # Add the linenames to the spectrum plot. - for meanwave, linename in zip(meanwaves*(1+redshift), linenames): + for meanwave, linename, _linename in zip(meanwaves*(1+redshift), linenames, _linenames): #print(meanwave, ymax_spec) if meanwave > spec_wavelims[0] and meanwave < spec_wavelims[1]: - if 'SiIII' in linename: - thislinename = '\n'+linename.replace('+', '+\n ') - elif '4363' in linename: - thislinename = linename+'\n' + if '1640' in linename or 'AlIII' in linename: + # separate HeII 1640 from CIV 1549 and AlIII 1857 from SiIII] 1892 and CIII] 1908 + for oneline, thislinename in zip(linetable[linetable['nicename'] == _linename], _linename.split('+')): + thislinename = thislinename.replace('-', ' ') + if 'CIII]' in thislinename: + thislinename = thislinename+'\n' + specax.text(oneline['restwave']*(1+redshift)/1e4, spec_ymax*0.97, thislinename, + ha='center', va='top', rotation=270, fontsize=12, alpha=0.5) else: - thislinename = linename - if stackfit: + if '4363' in linename: + thislinename = linename+'\n' + else: + thislinename = linename specax.text(meanwave/1e4, spec_ymax*0.97, thislinename, ha='center', va='top', rotation=270, fontsize=12, alpha=0.5) - else: - specax.text(meanwave/1e4, spec_ymax, thislinename, ha='center', va='top', - rotation=270, fontsize=12, alpha=0.5) removelabels = np.ones(nline, bool) line_ymin, line_ymax = np.zeros(nline)+1e6, np.zeros(nline)-1e6 @@ -890,10 +893,6 @@ def major_formatter(x, pos): emlinesigma = emlinesigma[good] emlinemodel = emlinemodel[good] - #emlinemodel_oneline = [] - #for desiemlines_oneline1 in desiemlines_oneline: - # emlinemodel_oneline.append(desiemlines_oneline1[icam][good]) - indx = np.where((emlinewave > wmin) * (emlinewave < wmax))[0] if len(indx) > 1: removelabels[iax] = False @@ -949,9 +948,14 @@ def major_formatter(x, pos): # pdb.set_trace() xx.set_xlim(wmin/1e4, wmax/1e4) + + if icam == 0: # only label once + if 'AlIII' in linename: + _line = linename.split('+') + linename = '+'.join(_line[:2])+'+\n'+_line[2] # more space + xx.text(0.03, 0.94, linename, ha='left', va='top', + transform=xx.transAxes, fontsize=11) - xx.text(0.03, 0.89, linename, ha='left', va='center', - transform=xx.transAxes, fontsize=12) xx.tick_params(axis='x', labelsize=16) xx.tick_params(axis='y', labelsize=16) From f78d62ef785361e3f59a37f725e458e045111f68 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 06:30:32 -0700 Subject: [PATCH 13/32] update data model and webapp --- doc/fastspec.rst | 34 +++++++++++++++++++++ py/fastspecfit/webapp/fastmodel/models.py | 20 ++++++++++++ py/fastspecfit/webapp/load.py | 30 ++++++++++++++++++ py/fastspecfit/webapp/templates/target.html | 26 ++++++++++++++++ 4 files changed, 110 insertions(+) diff --git a/doc/fastspec.rst b/doc/fastspec.rst index 4433947e..9454c8c1 100644 --- a/doc/fastspec.rst +++ b/doc/fastspec.rst @@ -263,6 +263,40 @@ Name Type Units Descript CIV_1549_EW_LIMIT float32 Angstrom One-sigma upper limit on the emission line equivalent width. CIV_1549_CHI2 float32 Chi-squared of the line-fit. CIV_1549_NPIX int32 Number of pixels attributed to the emission line. + HEII_1640_MODELAMP float32 1e-17 erg / (Angstrom cm2 s) Model emission line amplitude. + HEII_1640_AMP float32 1e-17 erg / (Angstrom cm2 s) Emission line amplitude. + HEII_1640_AMP_IVAR float32 1e+34 Angstrom2 cm4 s2 / erg2 Inverse variance of line-amplitude. + HEII_1640_FLUX float32 1e-17 erg / (cm2 s) Gaussian-integrated emission-line flux. + HEII_1640_FLUX_IVAR float32 1e+34 cm4 s2 / erg2 Inverse variance of integrated flux. + HEII_1640_BOXFLUX float32 1e-17 erg / (cm2 s) Boxcar-integrated emission-line flux. + HEII_1640_BOXFLUX_IVAR float32 1e+34 cm4 s2 / erg2 Inverse variance of boxcar-integrated flux. + HEII_1640_VSHIFT float32 km / s Velocity shift relative to Z. + HEII_1640_SIGMA float32 km / s Gaussian emission-line width. + HEII_1640_CONT float32 1e-17 erg / (Angstrom cm2 s) Continuum flux at line center. + HEII_1640_CONT_IVAR float32 1e+34 Angstrom2 cm4 s2 / erg2 Inverse variance of continuum flux. + HEII_1640_EW float32 Angstrom Rest-frame emission-line equivalent width. + HEII_1640_EW_IVAR float32 1 / Angstrom2 Inverse variance of equivalent width. + HEII_1640_FLUX_LIMIT float32 erg / (cm2 s) One-sigma upper limit on the emission line flux. + HEII_1640_EW_LIMIT float32 Angstrom One-sigma upper limit on the emission line equivalent width. + HEII_1640_CHI2 float32 Chi-squared of the line-fit. + HEII_1640_NPIX int32 Number of pixels attributed to the emission line. + AlIII_1857_MODELAMP float32 1e-17 erg / (Angstrom cm2 s) Model emission line amplitude. + AlIII_1857_AMP float32 1e-17 erg / (Angstrom cm2 s) Emission line amplitude. + AlIII_1857_AMP_IVAR float32 1e+34 Angstrom2 cm4 s2 / erg2 Inverse variance of line-amplitude. + AlIII_1857_FLUX float32 1e-17 erg / (cm2 s) Gaussian-integrated emission-line flux. + AlIII_1857_FLUX_IVAR float32 1e+34 cm4 s2 / erg2 Inverse variance of integrated flux. + AlIII_1857_BOXFLUX float32 1e-17 erg / (cm2 s) Boxcar-integrated emission-line flux. + AlIII_1857_BOXFLUX_IVAR float32 1e+34 cm4 s2 / erg2 Inverse variance of boxcar-integrated flux. + AlIII_1857_VSHIFT float32 km / s Velocity shift relative to Z. + AlIII_1857_SIGMA float32 km / s Gaussian emission-line width. + AlIII_1857_CONT float32 1e-17 erg / (Angstrom cm2 s) Continuum flux at line center. + AlIII_1857_CONT_IVAR float32 1e+34 Angstrom2 cm4 s2 / erg2 Inverse variance of continuum flux. + AlIII_1857_EW float32 Angstrom Rest-frame emission-line equivalent width. + AlIII_1857_EW_IVAR float32 1 / Angstrom2 Inverse variance of equivalent width. + AlIII_1857_FLUX_LIMIT float32 erg / (cm2 s) One-sigma upper limit on the emission line flux. + AlIII_1857_EW_LIMIT float32 Angstrom One-sigma upper limit on the emission line equivalent width. + AlIII_1857_CHI2 float32 Chi-squared of the line-fit. + AlIII_1857_NPIX int32 Number of pixels attributed to the emission line. SILIII_1892_MODELAMP float32 1e-17 erg / (Angstrom cm2 s) Model emission line amplitude. SILIII_1892_AMP float32 1e-17 erg / (Angstrom cm2 s) Emission line amplitude. SILIII_1892_AMP_IVAR float32 1e+34 Angstrom2 cm4 s2 / erg2 Inverse variance of line-amplitude. diff --git a/py/fastspecfit/webapp/fastmodel/models.py b/py/fastspecfit/webapp/fastmodel/models.py index 6b9a6533..380a6cd9 100644 --- a/py/fastspecfit/webapp/fastmodel/models.py +++ b/py/fastspecfit/webapp/fastmodel/models.py @@ -268,6 +268,8 @@ class FastModel(Model): oi_1304_wave = CharField(max_length=10, default='') siliv_1396_wave = CharField(max_length=10, default='') civ_1549_wave = CharField(max_length=10, default='') + heii_1640_wave = CharField(max_length=10, default='') + aliii_1857_wave = CharField(max_length=10, default='') siliii_1892_wave = CharField(max_length=10, default='') ciii_1908_wave = CharField(max_length=10, default='') mgii_2796_wave = CharField(max_length=10, default='') @@ -316,6 +318,8 @@ class FastModel(Model): oi_1304_snr = CharField(max_length=50, default='') siliv_1396_snr = CharField(max_length=50, default='') civ_1549_snr = CharField(max_length=50, default='') + heii_1640_snr = CharField(max_length=50, default='') + aliii_1857_snr = CharField(max_length=50, default='') siliii_1892_snr = CharField(max_length=50, default='') ciii_1908_snr = CharField(max_length=50, default='') mgii_2796_snr = CharField(max_length=50, default='') @@ -364,6 +368,8 @@ class FastModel(Model): oi_1304_vshift_str = CharField(max_length=50, default='') siliv_1396_vshift_str = CharField(max_length=50, default='') civ_1549_vshift_str = CharField(max_length=50, default='') + heii_1640_vshift_str = CharField(max_length=50, default='') + aliii_1857_vshift_str = CharField(max_length=50, default='') siliii_1892_vshift_str = CharField(max_length=50, default='') ciii_1908_vshift_str = CharField(max_length=50, default='') mgii_2796_vshift_str = CharField(max_length=50, default='') @@ -412,6 +418,8 @@ class FastModel(Model): oi_1304_sigma_str = CharField(max_length=50, default='') siliv_1396_sigma_str = CharField(max_length=50, default='') civ_1549_sigma_str = CharField(max_length=50, default='') + heii_1640_sigma_str = CharField(max_length=50, default='') + aliii_1857_sigma_str = CharField(max_length=50, default='') siliii_1892_sigma_str = CharField(max_length=50, default='') ciii_1908_sigma_str = CharField(max_length=50, default='') mgii_2796_sigma_str = CharField(max_length=50, default='') @@ -460,6 +468,8 @@ class FastModel(Model): oi_1304_chi2_str = CharField(max_length=50, default='') siliv_1396_chi2_str = CharField(max_length=50, default='') civ_1549_chi2_str = CharField(max_length=50, default='') + heii_1640_chi2_str = CharField(max_length=50, default='') + aliii_1857_chi2_str = CharField(max_length=50, default='') siliii_1892_chi2_str = CharField(max_length=50, default='') ciii_1908_chi2_str = CharField(max_length=50, default='') mgii_2796_chi2_str = CharField(max_length=50, default='') @@ -508,6 +518,8 @@ class FastModel(Model): oi_1304_npix = IntegerField(null=True) siliv_1396_npix = IntegerField(null=True) civ_1549_npix = IntegerField(null=True) + heii_1640_npix = IntegerField(null=True) + aliii_1857_npix = IntegerField(null=True) siliii_1892_npix = IntegerField(null=True) ciii_1908_npix = IntegerField(null=True) mgii_2796_npix = IntegerField(null=True) @@ -568,6 +580,14 @@ class FastModel(Model): civ_1549_flux_err = CharField(max_length=50, default='') civ_1549_cont_err = CharField(max_length=50, default='') civ_1549_ew_err = CharField(max_length=50, default='') + heii_1640_amp_err = CharField(max_length=50, default='') + heii_1640_flux_err = CharField(max_length=50, default='') + heii_1640_cont_err = CharField(max_length=50, default='') + heii_1640_ew_err = CharField(max_length=50, default='') + aliii_1857_amp_err = CharField(max_length=50, default='') + aliii_1857_flux_err = CharField(max_length=50, default='') + aliii_1857_cont_err = CharField(max_length=50, default='') + aliii_1857_ew_err = CharField(max_length=50, default='') siliii_1892_amp_err = CharField(max_length=50, default='') siliii_1892_flux_err = CharField(max_length=50, default='') siliii_1892_cont_err = CharField(max_length=50, default='') diff --git a/py/fastspecfit/webapp/load.py b/py/fastspecfit/webapp/load.py index 9a32bb25..0113371e 100644 --- a/py/fastspecfit/webapp/load.py +++ b/py/fastspecfit/webapp/load.py @@ -271,6 +271,36 @@ def main(): 'CIV_1549_EW_LIMIT', 'CIV_1549_CHI2', 'CIV_1549_NPIX', + 'HEII_1640_AMP', + 'HEII_1640_AMP_IVAR', + 'HEII_1640_FLUX', + 'HEII_1640_FLUX_IVAR', + 'HEII_1640_BOXFLUX', + 'HEII_1640_VSHIFT', + 'HEII_1640_SIGMA', + 'HEII_1640_CONT', + 'HEII_1640_CONT_IVAR', + 'HEII_1640_EW', + 'HEII_1640_EW_IVAR', + 'HEII_1640_FLUX_LIMIT', + 'HEII_1640_EW_LIMIT', + 'HEII_1640_CHI2', + 'HEII_1640_NPIX', + 'ALIII_1857_AMP', + 'ALIII_1857_AMP_IVAR', + 'ALIII_1857_FLUX', + 'ALIII_1857_FLUX_IVAR', + 'ALIII_1857_BOXFLUX', + 'ALIII_1857_VSHIFT', + 'ALIII_1857_SIGMA', + 'ALIII_1857_CONT', + 'ALIII_1857_CONT_IVAR', + 'ALIII_1857_EW', + 'ALIII_1857_EW_IVAR', + 'ALIII_1857_FLUX_LIMIT', + 'ALIII_1857_EW_LIMIT', + 'ALIII_1857_CHI2', + 'ALIII_1857_NPIX', 'SILIII_1892_AMP', 'SILIII_1892_AMP_IVAR', 'SILIII_1892_FLUX', diff --git a/py/fastspecfit/webapp/templates/target.html b/py/fastspecfit/webapp/templates/target.html index f2028365..70f0bb16 100644 --- a/py/fastspecfit/webapp/templates/target.html +++ b/py/fastspecfit/webapp/templates/target.html @@ -682,6 +682,32 @@
Detailed Line-Properties
{{ target.civ_1549_chi2_str|safe }} {{ target.civ_1549_npix }} + + He II λ1640 + {{ target.heii_1640_wave|safe }} + {{ target.heii_1640_snr|safe }} + {{ target.heii_1640_vshift_str|safe }} + {{ target.heii_1640_sigma_str|safe }} + {{ target.heii_1640_amp_err|safe }} + {{ target.heii_1640_flux_err|safe }} + {{ target.heii_1640_cont_err|safe }} + {{ target.heii_1640_ew_err|safe }} + {{ target.heii_1640_chi2_str|safe }} + {{ target.heii_1640_npix }} + + + Al III λ1857 + {{ target.aliii_1857_wave|safe }} + {{ target.aliii_1857_snr|safe }} + {{ target.aliii_1857_vshift_str|safe }} + {{ target.aliii_1857_sigma_str|safe }} + {{ target.aliii_1857_amp_err|safe }} + {{ target.aliii_1857_flux_err|safe }} + {{ target.aliii_1857_cont_err|safe }} + {{ target.aliii_1857_ew_err|safe }} + {{ target.aliii_1857_chi2_str|safe }} + {{ target.aliii_1857_npix }} + Si III] λ1892 {{ target.siliii_1892_wave|safe }} From 5a7f6c4080f2c758fb9dd6f4153b99f81f41ddc9 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 06:39:06 -0700 Subject: [PATCH 14/32] write FPHOTO_DIR not LEGACYSURVEY_DIR to headers --- py/fastspecfit/io.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index ff753939..309e030e 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -1851,7 +1851,7 @@ def write_fastspecfit(out, meta, modelspectra=None, outfile=None, specprod=None, primhdr = fitsheader(primhdr) add_dependencies(primhdr, module_names=possible_dependencies+['fastspecfit'], - envvar_names=['DESI_ROOT', 'FTEMPLATES_DIR', 'DUST_DIR', 'LEGACYSURVEY_DIR']) + envvar_names=['DESI_ROOT', 'FTEMPLATES_DIR', 'DUST_DIR', 'FPHOTO_DIR']) hdus = fits.HDUList() hdus.append(fits.PrimaryHDU(None, primhdr)) From 17e4ad65daa5c0b0c6f1d013163d45eec088ef58 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 06:57:34 -0700 Subject: [PATCH 15/32] emission lines parameter file now an optional input --- py/fastspecfit/continuum.py | 28 +++++++++++++++------------- py/fastspecfit/emlines.py | 20 +++++++++++--------- py/fastspecfit/fastspecfit.py | 27 ++++++++++++++++++--------- py/fastspecfit/io.py | 4 ++-- 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index 3c22d4c7..493b48dd 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -17,7 +17,7 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, smooth_window=50, smooth_step=10, maskkms_uv=3000.0, maskkms_balmer=1000.0, maskkms_narrow=200.0, - linetable=None, linemask=None, png=None, + linetable=None, emlinesfile=None, linemask=None, png=None, log=None, verbose=False): """Build a smooth, nonparametric continuum spectrum. @@ -80,7 +80,7 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, if linetable is None: from fastspecfit.emlines import read_emlines - linetable = read_emlines() + linetable = read_emlines(emlinesfile=emlinesfile) npix = len(wave) @@ -1048,7 +1048,8 @@ class ContinuumTools(Filters, Inoue14): Need to document all the attributes. """ - def __init__(self, nophoto=False, fphoto=None, continuum_pixkms=25.0, pixkms_wavesplit=1e4): + def __init__(self, nophoto=False, fphoto=None, emlinesfile=None, + continuum_pixkms=25.0, pixkms_wavesplit=1e4): super(ContinuumTools, self).__init__(nophoto=nophoto, fphoto=fphoto) @@ -1058,7 +1059,7 @@ def __init__(self, nophoto=False, fphoto=None, continuum_pixkms=25.0, pixkms_wav self.pixkms_wavesplit = pixkms_wavesplit self.continuum_pixkms = continuum_pixkms - self.linetable = read_emlines() + self.linetable = read_emlines(emlinesfile=emlinesfile) @staticmethod def smooth_continuum(*args, **kwargs): @@ -1070,7 +1071,7 @@ def estimate_linesigmas(*args, **kwargs): @staticmethod def build_linemask(wave, flux, ivar, redshift=0.0, nsig=7.0, linetable=None, - log=None, verbose=False): + emlinesfile=None, log=None, verbose=False): """Generate a mask which identifies pixels impacted by emission lines. Parameters @@ -1115,7 +1116,7 @@ def build_linemask(wave, flux, ivar, redshift=0.0, nsig=7.0, linetable=None, if linetable is None: from fastspecfit.emlines import read_emlines - linetable = read_emlines() + linetable = read_emlines(emlinesfile=emlinesfile) # Initially, mask aggressively, especially the Balmer lines. png = None @@ -1123,8 +1124,8 @@ def build_linemask(wave, flux, ivar, redshift=0.0, nsig=7.0, linetable=None, #png = '/global/homes/i/ioannis/desi-users/ioannis/tmp/smooth.png' smooth, smoothsigma = _smooth_continuum(wave, flux, ivar, redshift, maskkms_uv=5000.0, maskkms_balmer=5000.0, maskkms_narrow=500.0, - linetable=linetable, log=log, verbose=verbose, - png=png) + linetable=linetable, emlinesfile=emlinesfile, + log=log, verbose=verbose, png=png) # Get a better estimate of the Balmer, forbidden, and UV/QSO line-widths. png = None @@ -1805,9 +1806,9 @@ def _kcorr_and_absmag(filters_out, band_shift): return kcorr, absmag, ivarabsmag, bestmaggies, lums, cfluxes -def continuum_specfit(data, result, templatecache, fphoto=None, constrain_age=False, - no_smooth_continuum=False, fastphot=False, log=None, - debug_plots=False, verbose=False): +def continuum_specfit(data, result, templatecache, fphoto=None, emlinesfile=None, + constrain_age=False, no_smooth_continuum=False, fastphot=False, + log=None, debug_plots=False, verbose=False): """Fit the non-negative stellar continuum of a single spectrum. Parameters @@ -1837,7 +1838,7 @@ def continuum_specfit(data, result, templatecache, fphoto=None, constrain_age=Fa tall = time.time() - CTools = ContinuumTools(fphoto=fphoto, + CTools = ContinuumTools(fphoto=fphoto, emlinesfile=emlinesfile, continuum_pixkms=templatecache['continuum_pixkms'], pixkms_wavesplit=templatecache['pixkms_wavesplit']) @@ -2133,7 +2134,8 @@ def _younger_than_universe(age, tuniv, agepad=0.5): residuals[I] = 0.0 _smooth_continuum, _ = CTools.smooth_continuum( specwave, residuals, specivar / apercorr**2, - redshift, linemask=linemask, png=png) + redshift, emlinesfile=emlinesfile, linemask=linemask, + png=png) if no_smooth_continuum: log.info('Zeroing out the smooth continuum correction.') _smooth_continuum *= 0 diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index e1f98535..0ddce481 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -15,13 +15,15 @@ from fastspecfit.continuum import Filters from fastspecfit.util import C_LIGHT -def read_emlines(): +def read_emlines(emlinesfile=None): """Read the set of emission lines of interest. """ - from importlib import resources - linefile = resources.files('fastspecfit').joinpath('data/emlines.ecsv') - linetable = Table.read(linefile, format='ascii.ecsv', guess=False) + if emlinesfile is None: + from importlib import resources + emlinesfile = resources.files('fastspecfit').joinpath('data/emlines.ecsv') + + linetable = Table.read(emlinesfile, format='ascii.ecsv', guess=False) return linetable @@ -145,7 +147,7 @@ def _objective_function(free_parameters, emlinewave, emlineflux, weights, redshi return residuals class EMFitTools(Filters): - def __init__(self, fphoto=None, uniqueid=None): + def __init__(self, fphoto=None, emlinesfile=None, uniqueid=None): """Class to model a galaxy stellar continuum. Parameters @@ -180,7 +182,7 @@ def __init__(self, fphoto=None, uniqueid=None): self.uniqueid = uniqueid - self.linetable = read_emlines() + self.linetable = read_emlines(emlinesfile=emlinesfile) self.emwave_pixkms = 5. # pixel size for internal wavelength array [km/s] self.dlog10wave = self.emwave_pixkms / C_LIGHT / np.log(10) # pixel size [log-lambda] @@ -2383,8 +2385,8 @@ def major_formatter(x, pos): plt.close() def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum, - fphoto=None, synthphot=True, broadlinefit=True, percamera_models=False, - log=None, verbose=False): + fphoto=None, emlinesfile=None, synthphot=True, broadlinefit=True, + percamera_models=False, log=None, verbose=False): """Perform the fit minimization / chi2 minimization. Parameters @@ -2414,7 +2416,7 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum else: log = get_logger() - EMFit = EMFitTools(fphoto=fphoto, uniqueid=data['uniqueid']) + EMFit = EMFitTools(emlinesfile=emlinesfile, fphoto=fphoto, uniqueid=data['uniqueid']) # Combine all three cameras; we will unpack them to build the # best-fitting model (per-camera) below. diff --git a/py/fastspecfit/fastspecfit.py b/py/fastspecfit/fastspecfit.py index 7e0e2f7f..94365e37 100644 --- a/py/fastspecfit/fastspecfit.py +++ b/py/fastspecfit/fastspecfit.py @@ -36,9 +36,9 @@ def _assign_units_to_columns(fastfit, metadata, Spec, templates, fastphot, stack metadata[col].unit = M[col].unit def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, - broadlinefit=True, fastphot=False, constrain_age=False, - no_smooth_continuum=False, percamera_models=False, - debug_plots=False): + emlinesfile=None, broadlinefit=True, fastphot=False, + constrain_age=False, no_smooth_continuum=False, + percamera_models=False, debug_plots=False): """Multiprocessing wrapper to run :func:`fastspec` on a single object. """ @@ -57,7 +57,7 @@ def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, maxtemplatewave=40e4, fastphot=fastphot) continuummodel, smooth_continuum = continuum_specfit(data, out, templatecache, fphoto=fphoto, - constrain_age=constrain_age, + emlinesfile=emlinesfile, constrain_age=constrain_age, no_smooth_continuum=no_smooth_continuum, fastphot=fastphot, debug_plots=debug_plots, log=log) @@ -67,8 +67,8 @@ def fastspec_one(iobj, data, out, meta, fphoto, templates, log=None, emmodel = None else: emmodel = emline_specfit(data, templatecache, out, continuummodel, smooth_continuum, - fphoto=fphoto, broadlinefit=broadlinefit, percamera_models=percamera_models, - log=log) + fphoto=fphoto, emlinesfile=emlinesfile, broadlinefit=broadlinefit, + percamera_models=percamera_models, log=log) return out, meta, emmodel @@ -103,6 +103,7 @@ def parse(options=None, log=None): parser.add_argument('--mapdir', type=str, default=None, help='Optional directory name for the dust maps.') parser.add_argument('--fphotodir', type=str, default=None, help='Top-level location of the source photometry.') parser.add_argument('--fphotoinfo', type=str, default=None, help='Photometric information file.') + parser.add_argument('--emlinesfile', type=str, default=None, help='Emission line parameter file.') parser.add_argument('--specproddir', type=str, default=None, help='Optional directory name for the spectroscopic production.') parser.add_argument('--debug-plots', action='store_true', help='Generate a variety of debugging plots (written to $PWD).') parser.add_argument('--verbose', action='store_true', help='Be verbose (for debugging purposes).') @@ -148,6 +149,12 @@ def fastspec(fastphot=False, stackfit=False, args=None, comm=None, verbose=False else: log = get_logger() + if args.emlinesfile is not None: + if not os.path.isfile(args.emlinesfile): + errmsg = f'Problem reading emission lines parameter file {args.emlinesfile}.' + log.critical(errmsg) + raise ValueError(errmsg) + input_redshifts = None if args.targetids: targetids = [int(x) for x in args.targetids.split(',')] @@ -192,14 +199,16 @@ def fastspec(fastphot=False, stackfit=False, args=None, comm=None, verbose=False templates = args.templates out, meta = init_fastspec_output(Spec.meta, Spec.specprod, fphoto=Spec.fphoto, - templates=templates, data=data, log=log, + templates=templates, data=data, log=log, + emlinesfile=args.emlinesfile, fastphot=fastphot, stackfit=stackfit) # Fit in parallel t0 = time.time() fitargs = [(iobj, data[iobj], out[iobj], meta[iobj], Spec.fphoto, templates, log, - args.broadlinefit, fastphot, args.constrain_age, args.no_smooth_continuum, - args.percamera_models, args.debug_plots) for iobj in np.arange(Spec.ntargets)] + args.emlinesfile, args.broadlinefit, fastphot, args.constrain_age, + args.no_smooth_continuum, args.percamera_models, args.debug_plots) + for iobj in np.arange(Spec.ntargets)] if args.mp > 1: import multiprocessing with multiprocessing.Pool(args.mp) as P: diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 309e030e..e4f4ebb2 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -1457,7 +1457,7 @@ def _gather_photometry(self, specprod=None, alltiles=None): def init_fastspec_output(input_meta, specprod, fphoto=None, templates=None, ncoeff=None, data=None, log=None, fastphot=False, - stackfit=False): + emlinesfile=None, stackfit=False): """Initialize the fastspecfit output data and metadata table. Parameters @@ -1490,7 +1490,7 @@ def init_fastspec_output(input_meta, specprod, fphoto=None, templates=None, from desiutil.log import get_logger log = get_logger() - linetable = read_emlines() + linetable = read_emlines(emlinesfile=emlinesfile) if fphoto is None: Filt = Filters(load_filters=False) From d267e5884d29807dffbec53a6514b80a1de2569d Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 09:28:00 -0700 Subject: [PATCH 16/32] update change log and requirements.txt dependencies --- .github/workflows/python-package.yml | 4 ++-- doc/changes.rst | 4 +++- requirements.txt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 241a2c4f..ed7a79e9 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -20,7 +20,7 @@ jobs: python-version: ['3.10'] fitsio-version: ['==1.1.7'] env: - DESIUTIL_VERSION: 3.2.6 + DESIUTIL_VERSION: 3.3.1 FASTSPECFIT: ${GITHUB_WORKSPACE}/fastspecfit DESI_ROOT: ${FASTSPECFIT}/desi @@ -60,7 +60,7 @@ jobs: python-version: ['3.10'] fitsio-version: ['==1.1.7'] env: - DESIUTIL_VERSION: 3.2.6 + DESIUTIL_VERSION: 3.3.1 FASTSPECFIT: ${GITHUB_WORKSPACE}/fastspecfit DESI_ROOT: ${FASTSPECFIT}/desi diff --git a/doc/changes.rst b/doc/changes.rst index d85d65b6..bef2a89d 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -5,7 +5,9 @@ Change Log 2.3.1 (not released yet) ------------------------ -* +* Bug fixes and miscellaneous feature requests for next VACs [`PR #148`_]. + +.. _`PR #148`: https://github.com/desihub/fastspecfit/pull/148 2.3.0 (2023-08-07) ------------------ diff --git a/requirements.txt b/requirements.txt index a54dfca0..2911b9a1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,5 +8,5 @@ matplotlib fitsio git+https://github.com/desihub/desimodel.git@0.18.0#egg=desimodel git+https://github.com/desihub/desitarget.git@2.6.0#egg=desitarget -git+https://github.com/desihub/desispec.git@main#egg=desispec +git+https://github.com/desihub/desispec.git@0.59.2#egg=desispec git+https://github.com/desihub/speclite.git@v0.16#egg=speclite From 56e1cb6decc44919029a2bee36284920b9083801 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 11:50:21 -0700 Subject: [PATCH 17/32] tighten xtol even more, to 1e-10, otherwise objects like fuji/sv3-dark-10153-39633315489120894 get stuck --- py/fastspecfit/emlines.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 0ddce481..38ee99e5 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -854,7 +854,7 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, else: try: fit_info = least_squares(_objective_function, parameters[Ifree], args=farg, max_nfev=5000, - #xtol=1e-2, + xtol=1e-10, tr_solver='lsmr', tr_options={'regularize': True}, method='trf', bounds=tuple(zip(*bounds)))#, verbose=2) parameters[Ifree] = fit_info.x @@ -954,6 +954,9 @@ def optimize(self, linemodel, emlinewave, emlineflux, weights, redshift, out_linemodel['value'] = parameters out_linemodel.meta['nfev'] = fit_info['nfev'] + #if debug: + # pdb.set_trace() + # Get the final line-amplitudes, after resampling and convolution (see # https://github.com/desihub/fastspecfit/issues/139). Some repeated code # from build_emline_model... @@ -2644,9 +2647,6 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum # if np.any(pos): # linemodel['bounds'][I[pos], :] = np.vstack((linemodel['value'][I[pos]] * 0.8, linemodel['value'][I[pos]] * 1.2)).T - #linemodel[linemodel['linename'] == 'halpha'] - #B = np.where(['ne' in param for param in EMFit.param_names])[0] - #B = np.where(['broad' in param for param in EMFit.param_names])[0] t0 = time.time() finalfit = EMFit.optimize(linemodel, emlinewave, emlineflux, weights, redshift, resolution_matrix, camerapix, @@ -2659,15 +2659,6 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum # Residual spectrum with no emission lines. specflux_nolines = specflux - finalmodel - #import matplotlib.pyplot as plt - #W = (emlinewave>6560)*(emlinewave<6660) - #plt.clf() - #plt.plot(emlinewave[W], emlineflux[W], color='gray') - #plt.plot(emlinewave[W], finalmodel[W], color='orange', alpha=0.7) - ##plt.plot(emlinewave[W], specflux[W], color='gray') - ##plt.plot(emlinewave[W], specflux_nolines[W], color='orange', alpha=0.7) - #plt.savefig('desi-users/ioannis/tmp/junk2.png') - # Now fill the output table. EMFit.populate_emtable(result, finalfit, finalmodel, emlinewave, emlineflux, emlineivar, oemlineivar, specflux_nolines, redshift, From 105193eb45e138662adf0d84433de60be3f09cc8 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 12:39:20 -0700 Subject: [PATCH 18/32] require just Balmer - not helium - lines to assess broad-line model; but fit He II 1640 independently of the other Balmer+He lines --- py/fastspecfit/data/emlines.ecsv | 106 +++++++++++++++---------------- py/fastspecfit/emlines.py | 17 +++-- 2 files changed, 60 insertions(+), 63 deletions(-) diff --git a/py/fastspecfit/data/emlines.ecsv b/py/fastspecfit/data/emlines.ecsv index 1640e129..138119ef 100644 --- a/py/fastspecfit/data/emlines.ecsv +++ b/py/fastspecfit/data/emlines.ecsv @@ -1,10 +1,11 @@ -# %ECSV 0.9 +# %ECSV 1.0 # --- # datatype: # - {name: name, datatype: string} # - {name: restwave, datatype: float64} # - {name: amp, datatype: float32} # - {name: isbalmer, datatype: bool} +# - {name: ishelium, datatype: bool} # - {name: isbroad, datatype: bool} # - {name: nicename, datatype: string} # - {name: plotgroup, datatype: string} @@ -18,56 +19,53 @@ # https://db.chiantidatabase.org/ # https://github.com/cconroy20/fsps/blob/master/data/emlines_info.dat # Shull, Stevans, & Danforth 2018, Table 4 - https://arxiv.org/pdf/1204.3908.pdf -# vanden Berk et al. 2001, Table 2 - https://iopscience.iop.org/article/10.1086/321167/pdf -# -# J. Moustakas, Siena College, 2020 Nov 11 -# jm21mar19 - more lines added -# jm21aug01 - [OI], HeI, HeII and more added'} -name restwave amp isbalmer isbroad nicename plotgroup - lyalpha 1215.67 1.0 False True Ly$\alpha$ lya - oi_1304 1304.35 1.0 False True OI-$\lambda$1304 oi_1304 - siliv_1396 1396.76 1.0 False True SiIV-$\lambda$1396 siliv_1396 - civ_1549 1549.06 1.0 False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 - heii_1640 1640.42 1.0 False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 - aliii_1857 1857.40 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 - siliii_1892 1892.030 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 - ciii_1908 1908.734 1.0 False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 - mgii_2796 2796.3511 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - mgii_2803 2803.5324 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - nev_3346 3346.7828 0.1 False False [NeV]-$\lambda$3346 nev_3346 - nev_3426 3426.8637 0.1 False False [NeV]-$\lambda$3426 nev_3426 - oii_3726 3727.0919 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - oii_3729 3729.8750 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - neiii_3869 3869.8611 1.0 False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6 3890.1576 0.1 True False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6_broad 3890.1576 0.1 True True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - hepsilon 3971.195 0.1 True False H$\epsilon$-$\lambda$3970 hepsilon - hepsilon_broad 3971.195 0.1 True True H$\epsilon$-$\lambda$3970 hepsilon - hdelta 4102.892 0.1 True False H$\delta$-$\lambda$4101 hdelta - hdelta_broad 4102.892 0.1 True True H$\delta$-$\lambda$4101 hdelta - hgamma 4341.684 1.0 True False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hgamma_broad 4341.684 1.0 True True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - oiii_4363 4364.4351 0.1 False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hei_4471 4472.7290 0.1 True False HeI-$\lambda$4471 hei_4471 - hei_broad_4471 4472.7290 0.1 True True HeI-$\lambda$4471 hei_4471 - heii_4686 4686.8655 0.1 True False HeII-$\lambda$4686 heii_4686 -heii_broad_4686 4686.8655 0.1 True True HeII-$\lambda$4686 heii_4686 - hbeta 4862.683 1.0 True False H$\beta$-$\lambda$4861 hbeta - hbeta_broad 4862.683 1.0 True True H$\beta$-$\lambda$4861 hbeta - oiii_4959 4960.2937 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - oiii_5007 5008.2383 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - nii_5755 5756.1887 0.1 False False [NII]-$\lambda$5755 nii_5755 - hei_5876 5877.2690 0.1 True False HeI-$\lambda$5876 hei_5876 - hei_broad_5876 5877.2690 0.1 True True HeI-$\lambda$5876 hei_5876 - oi_6300 6302.0435 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - siii_6312 6313.8062 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - nii_6548 6549.8578 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha 6564.613 1.0 True False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha_broad 6564.613 1.0 True True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - nii_6584 6585.2696 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - sii_6716 6718.2913 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - sii_6731 6732.6705 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - oii_7320 7321.731 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - oii_7330 7332.199 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - siii_9069 9071.103 0.1 False False [SIII]-$\lambda$9069 siii_9069 - siii_9532 9533.227 0.1 False False [SIII]-$\lambda$9532 siii_9532 +# vanden Berk et al. 2001, Table 2 - https://iopscience.iop.org/article/10.1086/321167/pdf'} +# schema: astropy-2.0 +name restwave amp isbalmer ishelium isbroad nicename plotgroup + lyalpha 1215.67 1.0 False False True Ly$\alpha$ lya + oi_1304 1304.35 1.0 False False True OI-$\lambda$1304 oi_1304 + siliv_1396 1396.76 1.0 False False True SiIV-$\lambda$1396 siliv_1396 + civ_1549 1549.06 1.0 False False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + heii_1640 1640.42 1.0 False True True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + aliii_1857 1857.40 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + siliii_1892 1892.030 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + ciii_1908 1908.734 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + mgii_2796 2796.3511 1.0 False False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + mgii_2803 2803.5324 1.0 False False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + nev_3346 3346.7828 0.1 False False False [NeV]-$\lambda$3346 nev_3346 + nev_3426 3426.8637 0.1 False False False [NeV]-$\lambda$3426 nev_3426 + oii_3726 3727.0919 1.0 False False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + oii_3729 3729.8750 1.0 False False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + neiii_3869 3869.8611 1.0 False False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6 3890.1576 0.1 True False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6_broad 3890.1576 0.1 True False True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + hepsilon 3971.195 0.1 True False False H$\epsilon$-$\lambda$3970 hepsilon + hepsilon_broad 3971.195 0.1 True False True H$\epsilon$-$\lambda$3970 hepsilon + hdelta 4102.892 0.1 True False False H$\delta$-$\lambda$4101 hdelta + hdelta_broad 4102.892 0.1 True False True H$\delta$-$\lambda$4101 hdelta + hgamma 4341.684 1.0 True False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hgamma_broad 4341.684 1.0 True False True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + oiii_4363 4364.4351 0.1 False False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hei_4471 4472.7290 0.1 True True False HeI-$\lambda$4471 hei_4471 + hei_broad_4471 4472.7290 0.1 True True True HeI-$\lambda$4471 hei_4471 + heii_4686 4686.8655 0.1 True True False HeII-$\lambda$4686 heii_4686 +heii_broad_4686 4686.8655 0.1 True True True HeII-$\lambda$4686 heii_4686 + hbeta 4862.683 1.0 True False False H$\beta$-$\lambda$4861 hbeta + hbeta_broad 4862.683 1.0 True False True H$\beta$-$\lambda$4861 hbeta + oiii_4959 4960.2937 1.0 False False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + oiii_5007 5008.2383 1.0 False False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + nii_5755 5756.1887 0.1 False False False [NII]-$\lambda$5755 nii_5755 + hei_5876 5877.2690 0.1 True True False HeI-$\lambda$5876 hei_5876 + hei_broad_5876 5877.2690 0.1 True True True HeI-$\lambda$5876 hei_5876 + oi_6300 6302.0435 0.1 False False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + siii_6312 6313.8062 0.1 False False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + nii_6548 6549.8578 0.1 False False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha 6564.613 1.0 True False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha_broad 6564.613 1.0 True False True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + nii_6584 6585.2696 0.1 False False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + sii_6716 6718.2913 1.0 False False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + sii_6731 6732.6705 1.0 False False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + oii_7320 7321.731 0.1 False False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + oii_7330 7332.199 0.1 False False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + siii_9069 9071.103 0.1 False False False [SIII]-$\lambda$9069 siii_9069 + siii_9532 9533.227 0.1 False False False [SIII]-$\lambda$9532 siii_9532 diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 38ee99e5..d58f9955 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -214,16 +214,10 @@ def __init__(self, fphoto=None, emlinesfile=None, uniqueid=None): param_names.append(param_name) self.param_names = np.hstack(param_names) self.amp_param_bool = np.array(['_amp' in pp for pp in self.param_names]) - self.amp_balmer_bool = np.array(['_amp' in pp and 'hei_' not in pp and 'heii_' not in pp for pp in self.param_names]) # just Balmer lines + self.amp_balmer_bool = np.array(['_amp' in pp and 'hei_' not in pp and 'heii_' not in pp for pp in self.param_names]) # no helium lines self.sigma_param_bool = np.array(['_sigma' in pp for pp in self.param_names]) self.vshift_param_bool = np.array(['_vshift' in pp for pp in self.param_names]) - #self.sigma_param_bool2 = np.zeros(len(self.param_names), bool) - #self.vshift_param_bool2 = np.zeros(len(self.param_names), bool) - #for pp in self.param_names[self.amp_param_bool]: - # self.sigma_param_bool2[np.where(pp.replace('_amp', '_sigma') == self.param_names)[0]] = True - # self.vshift_param_bool2[np.where(pp.replace('_amp', '_vshift') == self.param_names)[0]] = True - self.doubletindx = np.hstack([np.where(self.param_names == doublet)[0] for doublet in doublet_names]) self.doubletpair = np.hstack([np.where(self.param_names == pair)[0] for pair in doublet_pairs]) @@ -356,6 +350,7 @@ def _fix_parameters(linemodel, verbose=False): fit_linetable = Table() fit_linetable['name'] = self.linetable['name'] fit_linetable['isbalmer'] = self.linetable['isbalmer'] + fit_linetable['ishelium'] = self.linetable['ishelium'] fit_linetable['isbroad'] = self.linetable['isbroad'] fit_linetable['restwave'] = self.linetable['restwave'] fit_linetable['zwave'] = self.linetable['restwave'].data * (1 + redshift) @@ -375,6 +370,7 @@ def _fix_parameters(linemodel, verbose=False): final_linemodel['index'] = np.arange(nparam).astype(np.int32) final_linemodel['linename'] = np.tile(linenames, 3) # 3 parameters per line final_linemodel['isbalmer'] = np.zeros(nparam, bool) + final_linemodel['ishelium'] = np.zeros(nparam, bool) final_linemodel['isbroad'] = np.zeros(nparam, bool) final_linemodel['tiedfactor'] = np.zeros(nparam, 'f8') final_linemodel['tiedtoparam'] = np.zeros(nparam, np.int16)-1 @@ -399,6 +395,7 @@ def _fix_parameters(linemodel, verbose=False): for iline, linename in enumerate(linenames): final_linemodel['isbalmer'][final_linemodel['linename'] == linename] = fit_linetable[fit_linetable['name'] == linename]['isbalmer'] + final_linemodel['ishelium'][final_linemodel['linename'] == linename] = fit_linetable[fit_linetable['name'] == linename]['ishelium'] final_linemodel['isbroad'][final_linemodel['linename'] == linename] = fit_linetable[fit_linetable['name'] == linename]['isbroad'] # initial values and bounds - broad He+Balmer lines @@ -2477,7 +2474,7 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum for icam in np.arange(len(data['cameras'])): pixoffset = int(np.sum(data['npixpercamera'][:icam])) if len(data['linename'][icam]) > 0: - I = (initial_linemodel['isbalmer'] * initial_linemodel['isbroad'] * + I = (initial_linemodel['isbalmer'] * (initial_linemodel['ishelium'] == False) * initial_linemodel['isbroad'] * np.isin(initial_linemodel['linename'], data['linename'][icam])) _balmer_linemodel = initial_linemodel[I] _balmer_linemodel_nobroad = initial_linemodel_nobroad[I] @@ -2532,6 +2529,7 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum sigtest2 = (broadfit[Habroad]['value'] > broadfit[Hanarrow]['value'])[0] if len(broadsnr) == 0: broadsnrtest = False + _broadsnr = 0. elif len(broadsnr) == 1: broadsnrtest = broadsnr[-1] > EMFit.minsnr_balmer_broad _broadsnr = 'S/N ({}) = {:.1f}'.format(broadfit[Bbroad]['linename'][-1], broadsnr[-1]) @@ -2544,7 +2542,8 @@ def emline_specfit(data, templatecache, result, continuummodel, smooth_continuum log.info('Adopting broad-line model:') log.info(' delta-chi2={:.1f} > delta-ndof={:.0f}'.format(delta_linechi2_balmer, delta_linendof_balmer)) log.info(' sigma_broad={:.1f} km/s, sigma_narrow={:.1f} km/s'.format(broadfit[Habroad]['value'][0], broadfit[Hanarrow]['value'][0])) - log.info(' {} > {:.0f}'.format(_broadsnr, EMFit.minsnr_balmer_broad)) + if _broadsnr: + log.info(' {} > {:.0f}'.format(_broadsnr, EMFit.minsnr_balmer_broad)) bestfit = broadfit use_linemodel_broad = True else: From 3e8dad5a0ef3bac38f8e067cc5a54ec6ef5db7d7 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 13:28:55 -0700 Subject: [PATCH 19/32] update emlines.ecsv used for unit tests --- py/fastspecfit/test/data/emlines.ecsv | 103 +++++++++++++------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/py/fastspecfit/test/data/emlines.ecsv b/py/fastspecfit/test/data/emlines.ecsv index d38906f9..138119ef 100644 --- a/py/fastspecfit/test/data/emlines.ecsv +++ b/py/fastspecfit/test/data/emlines.ecsv @@ -1,10 +1,11 @@ -# %ECSV 0.9 +# %ECSV 1.0 # --- # datatype: # - {name: name, datatype: string} # - {name: restwave, datatype: float64} # - {name: amp, datatype: float32} # - {name: isbalmer, datatype: bool} +# - {name: ishelium, datatype: bool} # - {name: isbroad, datatype: bool} # - {name: nicename, datatype: string} # - {name: plotgroup, datatype: string} @@ -18,53 +19,53 @@ # https://db.chiantidatabase.org/ # https://github.com/cconroy20/fsps/blob/master/data/emlines_info.dat # Shull, Stevans, & Danforth 2018, Table 4 - https://arxiv.org/pdf/1204.3908.pdf -# vanden Berk et al. 2001, Table 2 - https://iopscience.iop.org/article/10.1086/321167/pdf -# -# J. Moustakas, Siena College, 2020 Nov 11 -# jm21mar19 - more lines added -# jm21aug01 - [OI], HeI, HeII and more added'} -name restwave amp isbalmer isbroad nicename plotgroup - oi_1304 1304.35 1.0 False True OI-$\lambda$1304 oi_1304 - siliv_1396 1396.76 1.0 False True SiIV-$\lambda$1396 siliv_1396 - civ_1549 1549.06 1.0 False True CIV-$\lambda$1549 civ_1549 - siliii_1892 1892.030 1.0 False True SiIII]-$\lambda$1892+CIII]-$\lambda$1908 siliii_1892_ciii_1908 - ciii_1908 1908.734 1.0 False True SiIII]-$\lambda$1892+CIII]-$\lambda$1908 siliii_1892_ciii_1908 - mgii_2796 2796.3511 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - mgii_2803 2803.5324 1.0 False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 - nev_3346 3346.7828 0.1 False False [NeV]-$\lambda$3346 nev_3346 - nev_3426 3426.8637 0.1 False False [NeV]-$\lambda$3426 nev_3426 - oii_3726 3727.0919 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - oii_3729 3729.8750 1.0 False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 - neiii_3869 3869.8611 1.0 False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6 3890.1576 0.1 True False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - h6_broad 3890.1576 0.1 True True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 - hepsilon 3971.195 0.1 True False H$\epsilon$-$\lambda$3970 hepsilon - hepsilon_broad 3971.195 0.1 True True H$\epsilon$-$\lambda$3970 hepsilon - hdelta 4102.892 0.1 True False H$\delta$-$\lambda$4101 hdelta - hdelta_broad 4102.892 0.1 True True H$\delta$-$\lambda$4101 hdelta - hgamma 4341.684 1.0 True False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hgamma_broad 4341.684 1.0 True True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - oiii_4363 4364.4351 0.1 False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 - hei_4471 4472.7290 0.1 True False HeI-$\lambda$4471 hei_4471 - hei_broad_4471 4472.7290 0.1 True True HeI-$\lambda$4471 hei_4471 - heii_4686 4686.8655 0.1 True False HeII-$\lambda$4686 heii_4686 -heii_broad_4686 4686.8655 0.1 True True HeII-$\lambda$4686 heii_4686 - hbeta 4862.683 1.0 True False H$\beta$-$\lambda$4861 hbeta - hbeta_broad 4862.683 1.0 True True H$\beta$-$\lambda$4861 hbeta - oiii_4959 4960.2937 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - oiii_5007 5008.2383 1.0 False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet - nii_5755 5756.1887 0.1 False False [NII]-$\lambda$5755 nii_5755 - hei_5876 5877.2690 0.1 True False HeI-$\lambda$5876 hei_5876 - hei_broad_5876 5877.2690 0.1 True True HeI-$\lambda$5876 hei_5876 - oi_6300 6302.0435 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - siii_6312 6313.8062 0.1 False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 - nii_6548 6549.8578 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha 6564.613 1.0 True False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - halpha_broad 6564.613 1.0 True True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - nii_6584 6585.2696 0.1 False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 - sii_6716 6718.2913 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - sii_6731 6732.6705 1.0 False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 - oii_7320 7321.731 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - oii_7330 7332.199 0.1 False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 - siii_9069 9071.103 0.1 False False [SIII]-$\lambda$9069 siii_9069 - siii_9532 9533.227 0.1 False False [SIII]-$\lambda$9532 siii_9532 +# vanden Berk et al. 2001, Table 2 - https://iopscience.iop.org/article/10.1086/321167/pdf'} +# schema: astropy-2.0 +name restwave amp isbalmer ishelium isbroad nicename plotgroup + lyalpha 1215.67 1.0 False False True Ly$\alpha$ lya + oi_1304 1304.35 1.0 False False True OI-$\lambda$1304 oi_1304 + siliv_1396 1396.76 1.0 False False True SiIV-$\lambda$1396 siliv_1396 + civ_1549 1549.06 1.0 False False True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + heii_1640 1640.42 1.0 False True True CIV-$\lambda$1549+HeII-$\lambda$1640 civ_1549_heii_1640 + aliii_1857 1857.40 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + siliii_1892 1892.030 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + ciii_1908 1908.734 1.0 False False True AlIII-$\lambda$1857+SiIII]-$\lambda$1892+CIII]-$\lambda$1908 aliii_1857_siliii_1892_ciii_1908 + mgii_2796 2796.3511 1.0 False False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + mgii_2803 2803.5324 1.0 False False True MgII-$\lambda\lambda$2796,2803 mgii_2796_2803 + nev_3346 3346.7828 0.1 False False False [NeV]-$\lambda$3346 nev_3346 + nev_3426 3426.8637 0.1 False False False [NeV]-$\lambda$3426 nev_3426 + oii_3726 3727.0919 1.0 False False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + oii_3729 3729.8750 1.0 False False False [OII]-$\lambda\lambda$3726,29 oii_3726_29 + neiii_3869 3869.8611 1.0 False False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6 3890.1576 0.1 True False False [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + h6_broad 3890.1576 0.1 True False True [NeIII]-$\lambda$3869+H6 neiii_3869_h6 + hepsilon 3971.195 0.1 True False False H$\epsilon$-$\lambda$3970 hepsilon + hepsilon_broad 3971.195 0.1 True False True H$\epsilon$-$\lambda$3970 hepsilon + hdelta 4102.892 0.1 True False False H$\delta$-$\lambda$4101 hdelta + hdelta_broad 4102.892 0.1 True False True H$\delta$-$\lambda$4101 hdelta + hgamma 4341.684 1.0 True False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hgamma_broad 4341.684 1.0 True False True H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + oiii_4363 4364.4351 0.1 False False False H$\gamma$-$\lambda$4340+[OIII]-$\lambda$4363 hgamma_oiii_4363 + hei_4471 4472.7290 0.1 True True False HeI-$\lambda$4471 hei_4471 + hei_broad_4471 4472.7290 0.1 True True True HeI-$\lambda$4471 hei_4471 + heii_4686 4686.8655 0.1 True True False HeII-$\lambda$4686 heii_4686 +heii_broad_4686 4686.8655 0.1 True True True HeII-$\lambda$4686 heii_4686 + hbeta 4862.683 1.0 True False False H$\beta$-$\lambda$4861 hbeta + hbeta_broad 4862.683 1.0 True False True H$\beta$-$\lambda$4861 hbeta + oiii_4959 4960.2937 1.0 False False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + oiii_5007 5008.2383 1.0 False False False [OIII]-$\lambda\lambda$4959,5007 oiii_doublet + nii_5755 5756.1887 0.1 False False False [NII]-$\lambda$5755 nii_5755 + hei_5876 5877.2690 0.1 True True False HeI-$\lambda$5876 hei_5876 + hei_broad_5876 5877.2690 0.1 True True True HeI-$\lambda$5876 hei_5876 + oi_6300 6302.0435 0.1 False False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + siii_6312 6313.8062 0.1 False False False [OI]-$\lambda$6300+[SIII]-$\lambda$6312 oi_6300_siii_6312 + nii_6548 6549.8578 0.1 False False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha 6564.613 1.0 True False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + halpha_broad 6564.613 1.0 True False True H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + nii_6584 6585.2696 0.1 False False False H$\alpha$+[NII]-$\lambda\lambda$6548,84 halpha_nii_6548_48 + sii_6716 6718.2913 1.0 False False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + sii_6731 6732.6705 1.0 False False False [SII]-$\lambda\lambda$6716,31 sii_6716_31 + oii_7320 7321.731 0.1 False False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + oii_7330 7332.199 0.1 False False False [OII]-$\lambda\lambda$7320,30 oii_7320_30 + siii_9069 9071.103 0.1 False False False [SIII]-$\lambda$9069 siii_9069 + siii_9532 9533.227 0.1 False False False [SIII]-$\lambda$9532 siii_9532 From 74c139d2736281c35f332b4d86f9156f4b301aee Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Mon, 14 Aug 2023 18:30:55 -0700 Subject: [PATCH 20/32] address first bug in #149 --- py/fastspecfit/io.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index e4f4ebb2..6a51a41b 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -686,7 +686,7 @@ def select(self, redrockfiles, zmin=0.001, zmax=None, zwarnmax=None, # Can we use the quasarnet afterburner file to improve QSO redshifts? qnfile = redrockfile.replace(redrockfile_prefix, qnfile_prefix) - if os.path.isfile(qnfile) and use_quasarnet and input_redshifts is not None: + if os.path.isfile(qnfile) and use_quasarnet and input_redshifts is None: use_qn = True else: use_qn = False @@ -785,9 +785,18 @@ def select(self, redrockfiles, zmin=0.001, zmax=None, zwarnmax=None, raise ValueError(errmsg) assert(np.all(zb['TARGETID'] == meta['TARGETID'])) # need to also update mpi.get_ntargets_one - fitindx = np.where((zb['Z'] > zmin) * (zb['Z'] < zmax) * - (meta['OBJTYPE'] == 'TGT') * (zb['ZWARN'] <= zwarnmax) * - (zb['ZWARN'] & ZWarningMask.NODATA == 0))[0] + if use_qn: + # If using QuasarNet, it can happen that zb['Z'] zmin) * (zb['Z'] < zmax) * + (meta['OBJTYPE'] == 'TGT') * (zb['ZWARN'] <= zwarnmax) * + (zb['ZWARN'] & ZWarningMask.NODATA == 0))[0] else: # We already know we like the input targetids, so no selection # needed. @@ -831,9 +840,6 @@ def select(self, redrockfiles, zmin=0.001, zmax=None, zwarnmax=None, assert(np.all(zb['TARGETID'] == targetids)) zb['Z'] = input_redshifts - tsnr2 = Table(fitsio.read(redrockfile, 'TSNR2', rows=fitindx, columns=TSNR2COLS)) - assert(np.all(zb['TARGETID'] == meta['TARGETID'])) - # Update the redrock redshift when quasarnet disagrees **but only # for QSO targets**. From Edmond: the QN afterburner is run with a # threshold 0.5. With VI, we choose 0.95 as final threshold. Note, @@ -865,6 +871,17 @@ def select(self, redrockfiles, zmin=0.001, zmax=None, zwarnmax=None, if np.count_nonzero(qn['IS_QSO_QN_NEW_RR']) > 0: zb['Z'][IQSO[qn['IS_QSO_QN_NEW_RR']]] = qn['Z_NEW'][qn['IS_QSO_QN_NEW_RR']] del qn + # now apply zmin + keep = np.where(zb['Z'] > zmin)[0] + if len(keep) == 0: + log.info('No requested targets found in redrockfile {}'.format(redrockfile)) + continue + zb = zb[keep] + meta = meta[keep] + fitindx = fitindx[keep] + + tsnr2 = Table(fitsio.read(redrockfile, 'TSNR2', rows=fitindx, columns=TSNR2COLS)) + assert(np.all(zb['TARGETID'] == meta['TARGETID'])) # astropy 5.0 "feature" -- join no longer preserves order, ugh. zb.remove_column('TARGETID') From 27736e209945a82b065d350eca691728fdf168e9 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 15 Aug 2023 14:50:15 -0700 Subject: [PATCH 21/32] more informative log --- py/fastspecfit/io.py | 2 +- py/fastspecfit/qa.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 6a51a41b..31c70e85 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -1455,7 +1455,7 @@ def _gather_photometry(self, specprod=None, alltiles=None): metas.append(meta) else: phot = Table(fitsio.read(self.fphotodir, columns=PHOTCOLS)) - print('Read {} objects from {}'.format(len(phot), self.fphotodir)) + print('Read {:,d} objects from {}'.format(len(phot), self.fphotodir)) metas = [] for meta in self.meta: diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index 351336ea..98c7893e 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -56,7 +56,7 @@ def qa_fastspec(data, templatecache, fastspec, metadata, coadd_type='healpix', import matplotlib.pyplot as plt import matplotlib.ticker as ticker from matplotlib import colors - from matplotlib.patches import Circle, Rectangle, ConnectionPatch + from matplotlib.patches import Circle, ConnectionPatch from matplotlib.lines import Line2D import matplotlib.gridspec as gridspec import matplotlib.image as mpimg From a3093c2e51085fc6456d185aae483d7ced762ec5 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Wed, 16 Aug 2023 13:55:04 -0700 Subject: [PATCH 22/32] smooth continuum enhancements documented in #128 --- py/fastspecfit/continuum.py | 54 ++++++++++++++++++++++++------------- py/fastspecfit/qa.py | 9 +++---- 2 files changed, 39 insertions(+), 24 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index 493b48dd..d5cbaaeb 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -14,8 +14,8 @@ from fastspecfit.io import FLUXNORM from fastspecfit.util import C_LIGHT -def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, - smooth_window=50, smooth_step=10, maskkms_uv=3000.0, +def _smooth_continuum(wave, flux, ivar, redshift, camerapix=None, medbin=175, + smooth_window=75, smooth_step=25, maskkms_uv=3000.0, maskkms_balmer=1000.0, maskkms_narrow=200.0, linetable=None, emlinesfile=None, linemask=None, png=None, log=None, verbose=False): @@ -70,7 +70,8 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, from scipy.ndimage import median_filter from scipy.stats import sigmaclip #from astropy.stats import sigma_clip - + from scipy.interpolate import make_interp_spline + if log is None: from desiutil.log import get_logger, DEBUG if verbose: @@ -125,12 +126,18 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, log.critical(errmsg) raise ValueError(errmsg) + # If camerapix is given, mask the 10 (presumably noisy) pixels from the edge + # of each per-camera spectrum. + if camerapix is not None: + for campix in camerapix: + ivar[campix[0]:campix[0]+10] = 0. + ivar[campix[1]-10:campix[1]] = 0. + # Build the smooth (line-free) continuum by computing statistics in a # sliding window, accounting for masked pixels and trying to be smart # about broad lines. See: # https://stackoverflow.com/questions/41851044/python-median-filter-for-1d-numpy-array # https://numpy.org/devdocs/reference/generated/numpy.lib.stride_tricks.sliding_window_view.html - wave_win = sliding_window_view(wave, window_shape=smooth_window) flux_win = sliding_window_view(flux, window_shape=smooth_window) ivar_win = sliding_window_view(ivar, window_shape=smooth_window) @@ -210,14 +217,24 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, # corner case for very wacky spectra if len(smooth_flux) == 0: smooth_flux = flux - smooth_sigma = flux * 0 + np.std(flux) + #smooth_sigma = flux * 0 + np.std(flux) else: - smooth_flux = np.interp(wave, smooth_wave, smooth_flux) - smooth_sigma = np.interp(wave, smooth_wave, smooth_sigma) + #smooth_flux = np.interp(wave, smooth_wave, smooth_flux) + #smooth_sigma = np.interp(wave, smooth_wave, smooth_sigma) + srt = np.argsort(smooth_wave) + bspl_flux = make_interp_spline(smooth_wave[srt], smooth_flux[srt], k=1) + smooth_flux = bspl_flux(wave) smooth = median_filter(smooth_flux, medbin, mode='nearest') - smoothsigma = median_filter(smooth_sigma, medbin, mode='nearest') + #smoothsigma = median_filter(smooth_sigma, medbin, mode='nearest') + #smoothsigma = median_filter(smooth_sigma, medbin, mode='nearest') + I = ivar > 0 + if np.sum(I) > 0: + smoothsigma = np.zeros_like(wave) + np.median(1. / np.sqrt(ivar[I])) + smoothsigma[I] = 1. / np.sqrt(ivar[I]) + + # very important! Z = (flux == 0.0) * (ivar == 0.0) if np.sum(Z) > 0: smooth[Z] = 0.0 @@ -235,13 +252,13 @@ def _smooth_continuum(wave, flux, ivar, redshift, medbin=150, ax[1].plot(wave, flux - smooth) ax[1].axhline(y=0, color='k') + #for xx in ax: + # #xx.set_xlim(3800, 4300) + # #xx.set_xlim(5200, 6050) + # #xx.set_xlim(7000, 9000) + # xx.set_xlim(7000, 7800) for xx in ax: - #xx.set_xlim(3800, 4300) - #xx.set_xlim(5200, 6050) - #xx.set_xlim(7000, 9000) - xx.set_xlim(7000, 7800) - for xx in ax: - xx.set_ylim(-2.5, 2) + xx.set_ylim(-0.2, 1.5) zlinewaves = linetable['restwave'] * (1 + redshift) linenames = linetable['name'] inrange = np.where((zlinewaves > np.min(wave)) * (zlinewaves < np.max(wave)))[0] @@ -1132,7 +1149,7 @@ def build_linemask(wave, flux, ivar, redshift=0.0, nsig=7.0, linetable=None, #png = 'linesigma.png' #png = '/global/homes/i/ioannis/desi-users/ioannis/tmp/linesigma.png' linesigma_narrow, linesigma_balmer, linesigma_uv, linesigma_narrow_snr, linesigma_balmer_snr, linesigma_uv_snr = \ - _estimate_linesigmas(wave, flux-smooth, ivar, redshift, png=png) + _estimate_linesigmas(wave, flux-smooth, ivar, redshift, png=png, log=log) # Next, build the emission-line mask. linemask = np.zeros_like(wave, bool) # True = affected by possible emission line. @@ -1147,7 +1164,7 @@ def build_linemask(wave, flux, ivar, redshift=0.0, nsig=7.0, linetable=None, png = None #png = 'linemask.png' #png = '/global/homes/i/ioannis/desi-users/ioannis/tmp/linemask.png' - snr_strong = 3.0 + snr_strong = 1.5#3.0 inrange = (zlinewaves > np.min(wave)) * (zlinewaves < np.max(wave)) nline = np.sum(inrange) @@ -2134,12 +2151,11 @@ def _younger_than_universe(age, tuniv, agepad=0.5): residuals[I] = 0.0 _smooth_continuum, _ = CTools.smooth_continuum( specwave, residuals, specivar / apercorr**2, - redshift, emlinesfile=emlinesfile, linemask=linemask, - png=png) + redshift, camerapix=data['camerapix'], emlinesfile=emlinesfile, + linemask=linemask, png=png) if no_smooth_continuum: log.info('Zeroing out the smooth continuum correction.') _smooth_continuum *= 0 - # Unpack the continuum into individual cameras. continuummodel, smooth_continuum = [], [] for camerapix in data['camerapix']: diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index 98c7893e..cee377de 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -394,14 +394,13 @@ def major_formatter(x, pos): resid[I] = 0.0 desiresiduals.append(resid) - if np.all(fastspec['COEFF'] == 0): + if np.all(fastspec['COEFF'] == 0) or no_smooth_continuum: fullsmoothcontinuum = np.zeros_like(fullwave) else: fullsmoothcontinuum, _ = CTools.smooth_continuum( - fullwave, np.hstack(desiresiduals), np.hstack(data['ivar']), - redshift=redshift, linemask=np.hstack(data['linemask'])) - if no_smooth_continuum: - fullsmoothcontinuum *= 0 + fullwave, np.hstack(desiresiduals), np.hstack(data['ivar']), + redshift=redshift, linemask=np.hstack(data['linemask']), + camerapix=data['camerapix']) desismoothcontinuum = [] for campix in data['camerapix']: From 0192624f61b24c8cd8497b8ad44b3889f5e01210 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 07:38:11 -0400 Subject: [PATCH 23/32] new templates: one more age bin with more sensible boundaries; extend vdisp grid to 50 km/s --- bin/build-fsps-templates | 24 +++++++++++------------- py/fastspecfit/io.py | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/bin/build-fsps-templates b/bin/build-fsps-templates index a0626785..cc2b7097 100755 --- a/bin/build-fsps-templates +++ b/bin/build-fsps-templates @@ -217,17 +217,17 @@ def build_templates(models, logages, agebins, imf='chabrier', pixkms=25.0, def main(args): - version = '1.0.0' + version = '1.1.0' # pixel resampling choices - pixkms = 25.0 # pixel size [km/s] + pixkms = 25. # pixel size [km/s] irfactor = 4 wavesplit = 1e4 # [A] # velocity dispersion grid - vdispmin = 100.0 - vdispmax = 350.0 - dvdisp = 25.0 + vdispmin = 50. + vdispmax = 350. + dvdisp = 25. nvdisp = int(np.ceil((vdispmax - vdispmin) / dvdisp)) + 1 vdisp = np.linspace(vdispmin, vdispmax, nvdisp) @@ -239,14 +239,10 @@ def main(args): #logages = np.linspace(minlogage, maxlogage, nages) # Choose lookback time bins. - nages = 7 - tuniv = 13.7 # [Gyr] - tbinmax = (tuniv * 0.85) * 1e9 - lim1, lim2 = 7.4772, 8.0 - agelims = np.hstack(((0, lim1), np.linspace(lim2, np.log10(tbinmax), nages-2), np.log10(tuniv*1e9))) - agelims = 10**agelims / 1e9 - agebins = np.array([agelims[:-1], agelims[1:]]).T # [Gyr] + agelims = np.array([0., 0.01, 0.03, 0.1, 0.33, 1.1, 3.6, 12., 14.]) # [Gyr] + nages = len(agelims) - 1 + agebins = np.array([agelims[:-1], agelims[1:]]).T # [Gyr] logages = np.log10(1e9*np.sum(agebins, axis=1) / 2) # mean age [yr] in each bin #logmets = np.array([-1.0, -0.3, 0.0, 0.3]) @@ -381,7 +377,9 @@ def main(args): #pdb.set_trace() # Write out. - outdir = os.path.join(os.environ.get('DESI_ROOT'), 'science', 'gqp', 'templates', 'fastspecfit') + outdir = os.path.join(os.environ.get('DESI_ROOT'), 'science', 'gqp', 'templates', 'fastspecfit', version) + if not os.path.isdir(outdir): + os.makedirs(outdir, exist_ok=True) outfile = os.path.join(outdir, 'ftemplates-{}-{}.fits'.format(args.imf, version)) hduflux1 = fits.PrimaryHDU(flux) diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 31c70e85..79e8c4dc 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -2008,7 +2008,7 @@ def cache_templates(templates=None, templateversion='1.0.0', imf='chabrier', log = get_logger() if templates is None: - templates = get_templates_filename(templateversion='1.0.0', imf='chabrier') + templates = get_templates_filename(templateversion=templateversion, imf='chabrier') if not os.path.isfile(templates): errmsg = 'Templates file not found {}'.format(templates) From f08583c78bdd5b410754d786f2967ddb7178731d Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 04:44:00 -0700 Subject: [PATCH 24/32] update template version for unit tests --- py/fastspecfit/test/test_fastspecfit.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/fastspecfit/test/test_fastspecfit.py b/py/fastspecfit/test/test_fastspecfit.py index 9d54c982..f4e3e170 100644 --- a/py/fastspecfit/test/test_fastspecfit.py +++ b/py/fastspecfit/test/test_fastspecfit.py @@ -31,8 +31,8 @@ def setUpClass(cls): cls.redrockfile = resource_filename('fastspecfit.test', 'data/redrock-4-80613-thru20210324.fits') cls.outdir = tempfile.mkdtemp() - cls.templates = os.path.join(cls.outdir, 'ftemplates-chabrier-1.0.0.fits') - cmd = 'wget -O {} https://data.desi.lbl.gov/public/external/templates/fastspecfit/1.0.0/ftemplates-chabrier-1.0.0.fits'.format(cls.templates) + cls.templates = os.path.join(cls.outdir, 'ftemplates-chabrier-1.1.0.fits') + cmd = 'wget -O {} https://data.desi.lbl.gov/public/external/templates/fastspecfit/1.1.0/ftemplates-chabrier-1.1.0.fits'.format(cls.templates) err = subprocess.call(cmd.split()) cls.cwd = os.getcwd() From 34ccb67c56ae5a451e28affe186b5ae189f69b9e Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 05:54:23 -0700 Subject: [PATCH 25/32] minor QA fix; prepare for 2.4.0 tag --- doc/changes.rst | 10 ++++++++-- py/fastspecfit/fastspecfit.py | 2 +- py/fastspecfit/io.py | 6 +++--- py/fastspecfit/qa.py | 10 +++++----- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/doc/changes.rst b/doc/changes.rst index bef2a89d..3765a790 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -2,10 +2,16 @@ Change Log ========== -2.3.1 (not released yet) +2.4.1 (not released yet) ------------------------ -* Bug fixes and miscellaneous feature requests for next VACs [`PR #148`_]. +* + +2.4.0 (2023-08-18) +------------------ + +* Bug fixes and miscellaneous feature requests for next VACs, including slightly + modified SPS templates [`PR #148`_]. .. _`PR #148`: https://github.com/desihub/fastspecfit/pull/148 diff --git a/py/fastspecfit/fastspecfit.py b/py/fastspecfit/fastspecfit.py index 94365e37..23f5a6c3 100644 --- a/py/fastspecfit/fastspecfit.py +++ b/py/fastspecfit/fastspecfit.py @@ -95,7 +95,7 @@ def parse(options=None, log=None): parser.add_argument('--ignore-quasarnet', dest='use_quasarnet', default=True, action='store_false', help='Do not use QuasarNet to improve QSO redshifts.') parser.add_argument('--percamera-models', action='store_true', help='Return the per-camera (not coadded) model spectra.') parser.add_argument('--imf', type=str, default='chabrier', help='Initial mass function.') - parser.add_argument('--templateversion', type=str, default='1.0.0', help='Template version number.') + parser.add_argument('--templateversion', type=str, default='1.1.0', help='Template version number.') parser.add_argument('--templates', type=str, default=None, help='Optional full path and filename to the templates.') parser.add_argument('--redrockfile-prefix', type=str, default='redrock-', help='Prefix of the input Redrock file name(s).') parser.add_argument('--specfile-prefix', type=str, default='coadd-', help='Prefix of the spectral file(s).') diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 79e8c4dc..472127bb 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -1931,7 +1931,7 @@ def select(fastfit, metadata, coadd_type, healpixels=None, tiles=None, else: return fastfit[keep], metadata[keep] -def get_templates_filename(templateversion='1.0.0', imf='chabrier'): +def get_templates_filename(templateversion='1.1.0', imf='chabrier'): """Get the templates filename. """ from fastspecfit.io import FTEMPLATES_DIR_NERSC templates_dir = os.environ.get('FTEMPLATES_DIR', FTEMPLATES_DIR_NERSC) @@ -1994,7 +1994,7 @@ def _one_filename(_metadata): return pngfile -def cache_templates(templates=None, templateversion='1.0.0', imf='chabrier', +def cache_templates(templates=None, templateversion='1.1.0', imf='chabrier', mintemplatewave=None, maxtemplatewave=40e4, vdisp_nominal=125.0, fastphot=False, log=None): """"Read the templates into a dictionary. @@ -2008,7 +2008,7 @@ def cache_templates(templates=None, templateversion='1.0.0', imf='chabrier', log = get_logger() if templates is None: - templates = get_templates_filename(templateversion=templateversion, imf='chabrier') + templates = get_templates_filename(templateversion=templateversion, imf=imf) if not os.path.isfile(templates): errmsg = 'Templates file not found {}'.format(templates) diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index cee377de..05a35895 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -171,10 +171,10 @@ def major_formatter(x, pos): 'zzsun': r'$Z/Z_{\odot}=$'+r'${:.3f}$'.format(fastspec['ZZSUN']), } - # try to figure out which absmags to display - gindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value - 4900)) - rindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value - 6500)) - zindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value - 9200)) + # try to figure out which absmags to display - default should be SDSS ^{0.1}grz + gindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value / (1.+CTools.band_shift) - 4300)) + rindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value / (1.+CTools.band_shift) - 5600)) + zindx = np.argmin(np.abs(CTools.absmag_filters.effective_wavelengths.value / (1.+CTools.band_shift) - 8100)) absmag_gband = CTools.absmag_bands[gindx] absmag_rband = CTools.absmag_bands[rindx] absmag_zband = CTools.absmag_bands[zindx] @@ -1204,7 +1204,7 @@ def parse(options=None): parser.add_argument('--overwrite', action='store_true', help='Overwrite existing files.') parser.add_argument('--imf', type=str, default='chabrier', help='Initial mass function.') - parser.add_argument('--templateversion', type=str, default='1.0.0', help='Template version number.') + parser.add_argument('--templateversion', type=str, default='1.1.0', help='Template version number.') parser.add_argument('--templates', type=str, default=None, help='Optional full path and filename to the templates.') parser.add_argument('--outprefix', default=None, type=str, help='Optional prefix for output filename.') From f92c9e3c45dd72e1524549d52785ce6c4d9369fa Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 07:30:18 -0700 Subject: [PATCH 26/32] start k-corrections tutorial nb (#89, #74) --- doc/nb/tutorial-kcorrections.ipynb | 181 +++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 doc/nb/tutorial-kcorrections.ipynb diff --git a/doc/nb/tutorial-kcorrections.ipynb b/doc/nb/tutorial-kcorrections.ipynb new file mode 100644 index 00000000..ce0f99fe --- /dev/null +++ b/doc/nb/tutorial-kcorrections.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "id": "b63a6996-4f40-43a6-842b-9191ca95a470", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "51c27fe4-5341-49dc-adce-0042b6531887", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from fastspecfit.util import C_LIGHT\n", + "from fastspecfit.io import read_fastspecfit, cache_templates" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2ed08e68-cf0d-404f-9f10-bb7ebc1386c6", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:io.py:1798:read_fastspecfit: Read 1 object(s) from /global/homes/i/ioannis/fastspec.fits\n" + ] + } + ], + "source": [ + "fastfile = os.path.join(os.getenv('HOME'), 'fastspec.fits')\n", + "fast, meta, _, _ = read_fastspecfit(fastfile)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ff73010a-4199-429d-88cb-2c7b9aa19f62", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "redshift = fast['Z'][0]\n", + "vdisp = fast['VDISP'][0]\n", + "coeff = fast['COEFF'].flatten()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "36ea8b66-094c-4cc6-a4d1-56fbff140916", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['imf', 'continuum_pixkms', 'pixkms_wavesplit', 'vdisp_nominal', 'templateinfo', 'templatewave', 'templateflux', 'templateflux_nomvdisp', 'templateflux_nolines', 'templateflux_nolines_nomvdisp', 'vdispflux', 'vdispwave', 'vdisp', 'vdisp_nominal_indx'])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cache = cache_templates(templates='/pscratch/sd/i/ioannis/fastspecfit/templates/1.1.0/ftemplates-chabrier-1.1.0.fits')\n", + "cache.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "e8545c7b-978c-457b-8c57-4dee5fb78dd6", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(25.0, 10000.99108255767)" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cache['continuum_pixkms'], cache['pixkms_wavesplit']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1ae9460c-1f2b-4dc6-a0ca-6d4fd34fb7b8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.1, 5)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "obswave = cache['templatewave'] * (1. + redshift)\n", + "obsflux = coeff.dot(cache['templateflux'].T)\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(obswave / 1e4, obsflux)\n", + "ax.set_xscale('log')\n", + "ax.set_xlim(0.1, 5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5102a0dc-3705-4fff-8d43-ca50b0474e8f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "FastSpecFit", + "language": "python", + "name": "fastspecfit" + }, + "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.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d7633c44d6146ced684ff328e57de080b1f3081b Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 07:30:47 -0700 Subject: [PATCH 27/32] create constants for the template pixel sizes and share them across all routines to simplify the API --- bin/build-fsps-templates | 31 +++++++++++++------------------ py/fastspecfit/continuum.py | 18 +++++++++--------- py/fastspecfit/io.py | 13 ++++--------- py/fastspecfit/qa.py | 4 +--- 4 files changed, 27 insertions(+), 39 deletions(-) diff --git a/bin/build-fsps-templates b/bin/build-fsps-templates index cc2b7097..21219d5f 100755 --- a/bin/build-fsps-templates +++ b/bin/build-fsps-templates @@ -33,6 +33,7 @@ import matplotlib.pyplot as plt from desispec.interpolation import resample_flux from fastspecfit.util import C_LIGHT +from fastspecfit.continuum import PIXKMS_BLU, PIXKMS_RED, PIXKMS_WAVESPLIT def smooth_continuum(wave, flux, medbin=1000, smooth_window=200, smooth_step=50, png=None): @@ -103,8 +104,8 @@ def smooth_continuum(wave, flux, medbin=1000, smooth_window=200, return smooth -def build_templates(models, logages, agebins, imf='chabrier', pixkms=25.0, - wavesplit=1e4, irfactor=4, include_nebular=True): +def build_templates(models, logages, agebins, imf='chabrier', + include_nebular=True): nsed = len(models) @@ -187,7 +188,7 @@ def build_templates(models, logages, agebins, imf='chabrier', pixkms=25.0, # Resample to constant log-lambda / velocity. In the IR (starting at ~1 # micron), take every fourth sampling, to save space. if imodel == 0: - dlogwave = pixkms / C_LIGHT / np.log(10) # pixel size [log-lambda] + dlogwave = PIXKMS_BLU / C_LIGHT / np.log(10) # pixel size [log-lambda] newwave = 10**np.arange(np.log10(np.min(wave)), np.log10(np.max(wave)), dlogwave) isplit = np.argmin(np.abs(newwave-wavesplit)) + 1 @@ -220,9 +221,7 @@ def main(args): version = '1.1.0' # pixel resampling choices - pixkms = 25. # pixel size [km/s] - irfactor = 4 - wavesplit = 1e4 # [A] + irfactor = int(PIXKMS_RED / PIXKMS_BLU) # velocity dispersion grid vdispmin = 50. @@ -321,12 +320,8 @@ def main(args): models = models.flatten() # Build models with and without line-emission. - meta, wave, flux = build_templates(models, logages, agebins, pixkms=pixkms, - wavesplit=wavesplit, include_nebular=True, - imf=args.imf) - _, _, fluxnolines = build_templates(models, logages, agebins, pixkms=pixkms, - wavesplit=wavesplit, include_nebular=False, - imf=args.imf) + meta, wave, flux = build_templates(models, logages, agebins, include_nebular=True, imf=args.imf) + _, _, fluxnolines = build_templates(models, logages, agebins, include_nebular=False, imf=args.imf) lineflux = flux - fluxnolines #I = (wave > 3500) * (wave < 9000) @@ -354,18 +349,18 @@ def main(args): # normflux[:, imodel] = fluxnolines[I, J[imodel]] / smooth vdispflux = [] - for sigma in vdisp / pixkms: + for sigma in vdisp / PIXKMS_BLU: vdispflux.append(gaussian_filter1d(fluxnolines[I, :], sigma=sigma, axis=0)) vdispflux = np.stack(vdispflux, axis=-1) # [npix,nvdispmodel,nvdisp] #vdispflux = [] - #for sigma in vdisp / pixkms: + #for sigma in vdisp / PIXKMS_BLU: # vdispflux.append(gaussian_filter1d(fluxnolines[I, :][:, J], sigma=sigma, axis=0)) # #vdispflux.append(gaussian_filter1d(normflux, sigma=sigma, axis=0)) #vdispflux = np.stack(vdispflux, axis=-1) # [npix,nvdispmodel,nvdisp] #vdispflux = [] - #for sigma in vdisp / pixkms: + #for sigma in vdisp / PIXKMS_BLU: # vdispflux.append(gaussian_filter1d(fluxnolines, sigma=sigma, axis=0)) #vdispflux = np.stack(vdispflux, axis=-1) # [npix,nvdispmodel,nvdisp] @@ -406,15 +401,15 @@ def main(args): hduwave1.header['EXTNAME'] = 'WAVE' hduwave1.header['BUNIT'] = 'Angstrom' hduwave1.header['AIRORVAC'] = ('vac', 'vacuum wavelengths') - hduwave1.header['PIXSZBLU'] = (pixkms, 'pixel size blueward of PIXSZSPT [km/s]') - hduwave1.header['PIXSZRED'] = (irfactor*pixkms, 'pixel size redward of PIXSZSPT [km/s]') + hduwave1.header['PIXSZBLU'] = (PIXKMS_BLU, 'pixel size blueward of PIXSZSPT [km/s]') + hduwave1.header['PIXSZRED'] = (PIXKMS_RED, 'pixel size redward of PIXSZSPT [km/s]') hduwave1.header['PIXSZSPT'] = (wave[isplit], 'wavelength where pixel size changes [Angstrom]') hduwave2 = fits.ImageHDU(vdispwave) hduwave2.header['EXTNAME'] = 'VDISPWAVE' hduwave2.header['BUNIT'] = 'Angstrom' hduwave2.header['AIRORVAC'] = ('vac', 'vacuum wavelengths') - hduwave2.header['PIXSZ'] = (pixkms, 'pixel size [km/s]') + hduwave2.header['PIXSZ'] = (PIXKMS_BLU, 'pixel size [km/s]') hdutable = fits.convenience.table_to_hdu(meta) hdutable.header['EXTNAME'] = 'METADATA' diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index d5cbaaeb..f1278158 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -14,6 +14,11 @@ from fastspecfit.io import FLUXNORM from fastspecfit.util import C_LIGHT +# SPS template constants (used by build-fsps-templates) +PIXKMS_BLU = 25. # [km/s] +PIXKMS_RED = 100. # [km/s] +PIXKMS_WAVESPLIT = 1e4 # [Angstrom] + def _smooth_continuum(wave, flux, ivar, redshift, camerapix=None, medbin=175, smooth_window=75, smooth_step=25, maskkms_uv=3000.0, maskkms_balmer=1000.0, maskkms_narrow=200.0, @@ -1065,16 +1070,13 @@ class ContinuumTools(Filters, Inoue14): Need to document all the attributes. """ - def __init__(self, nophoto=False, fphoto=None, emlinesfile=None, - continuum_pixkms=25.0, pixkms_wavesplit=1e4): + def __init__(self, nophoto=False, fphoto=None, emlinesfile=None): super(ContinuumTools, self).__init__(nophoto=nophoto, fphoto=fphoto) from fastspecfit.emlines import read_emlines self.massnorm = 1e10 # stellar mass normalization factor [Msun] - self.pixkms_wavesplit = pixkms_wavesplit - self.continuum_pixkms = continuum_pixkms self.linetable = read_emlines(emlinesfile=emlinesfile) @@ -1419,8 +1421,8 @@ def templates2data(self, _templateflux, _templatewave, redshift=0.0, dluminosity # broaden for velocity dispersion but only out to ~1 micron if vdisp is not None: #templateflux = convolve_vdisp(templateflux, vdisp) - I = np.where(templatewave < self.pixkms_wavesplit)[0] - templateflux[I, :] = self.convolve_vdisp(templateflux[I, :], vdisp, self.continuum_pixkms) + I = np.where(templatewave < PIXKMS_WAVESPLIT)[0] + templateflux[I, :] = self.convolve_vdisp(templateflux[I, :], vdisp, PIXKMS_BLU) # Apply the redshift factor. The models are normalized to 10 pc, so # apply the luminosity distance factor here. Also normalize to a nominal @@ -1855,9 +1857,7 @@ def continuum_specfit(data, result, templatecache, fphoto=None, emlinesfile=None tall = time.time() - CTools = ContinuumTools(fphoto=fphoto, emlinesfile=emlinesfile, - continuum_pixkms=templatecache['continuum_pixkms'], - pixkms_wavesplit=templatecache['pixkms_wavesplit']) + CTools = ContinuumTools(fphoto=fphoto, emlinesfile=emlinesfile) redshift = result['Z'] objflam = data['phot']['flam'].data * FLUXNORM diff --git a/py/fastspecfit/io.py b/py/fastspecfit/io.py index 472127bb..3e0c5a4a 100644 --- a/py/fastspecfit/io.py +++ b/py/fastspecfit/io.py @@ -2001,7 +2001,7 @@ def cache_templates(templates=None, templateversion='1.1.0', imf='chabrier', """ import fitsio - from fastspecfit.continuum import _convolve_vdisp + from fastspecfit.continuum import _convolve_vdisp, PIXKMS_WAVESPLIT, PIXKMS_BLU if log is None: from desiutil.log import get_logger @@ -2021,9 +2021,6 @@ def cache_templates(templates=None, templateversion='1.1.0', imf='chabrier', templatelineflux = fitsio.read(templates, ext='LINEFLUX') # [npix,nsed] templateinfo, templatehdr = fitsio.read(templates, ext='METADATA', header=True) - continuum_pixkms = wavehdr['PIXSZBLU'] # pixel size [km/s] - pixkms_wavesplit = wavehdr['PIXSZSPT'] # wavelength where the pixel size changes [A] - # Trim the wavelengths and select the number/ages of the templates. # https://www.sdss.org/dr14/spectro/galaxy_mpajhu if mintemplatewave is None: @@ -2037,20 +2034,18 @@ def cache_templates(templates=None, templateversion='1.1.0', imf='chabrier', # Cache a copy of the line-free templates at the nominal velocity # dispersion (needed for fastphot as well). - I = np.where(templatewave < pixkms_wavesplit)[0] + I = np.where(templatewave < PIXKMS_WAVESPLIT)[0] templateflux_nolines_nomvdisp = templateflux_nolines.copy() templateflux_nolines_nomvdisp[I, :] = _convolve_vdisp(templateflux_nolines_nomvdisp[I, :], vdisp_nominal, - pixsize_kms=continuum_pixkms) + pixsize_kms=PIXKMS_BLU) templateflux_nomvdisp = templateflux.copy() templateflux_nomvdisp[I, :] = _convolve_vdisp(templateflux_nomvdisp[I, :], vdisp_nominal, - pixsize_kms=continuum_pixkms) + pixsize_kms=PIXKMS_BLU) # pack into a dictionary templatecache = {'imf': templatehdr['IMF'], #'nsed': len(templateinfo), 'npix': len(wavekeep), - 'continuum_pixkms': continuum_pixkms, - 'pixkms_wavesplit': pixkms_wavesplit, 'vdisp_nominal': vdisp_nominal, 'templateinfo': Table(templateinfo), 'templatewave': templatewave, diff --git a/py/fastspecfit/qa.py b/py/fastspecfit/qa.py index 05a35895..183746a6 100644 --- a/py/fastspecfit/qa.py +++ b/py/fastspecfit/qa.py @@ -98,9 +98,7 @@ def major_formatter(x, pos): else: return f'{x:.0f}' - CTools = ContinuumTools(fphoto=fphoto, - continuum_pixkms=templatecache['continuum_pixkms'], - pixkms_wavesplit=templatecache['pixkms_wavesplit']) + CTools = ContinuumTools(fphoto=fphoto) if 'legacysurveydr' in fphoto.keys(): layer = 'ls-{}'.format(fphoto['legacysurveydr']) else: From b204e686bf82a51e3a2c0f0847873266e2e405b8 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 18 Aug 2023 10:40:06 -0400 Subject: [PATCH 28/32] fix typos; make sure templates are identical --- bin/build-fsps-templates | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/bin/build-fsps-templates b/bin/build-fsps-templates index 21219d5f..3e2f78ba 100755 --- a/bin/build-fsps-templates +++ b/bin/build-fsps-templates @@ -35,6 +35,8 @@ from desispec.interpolation import resample_flux from fastspecfit.util import C_LIGHT from fastspecfit.continuum import PIXKMS_BLU, PIXKMS_RED, PIXKMS_WAVESPLIT +irfactor = int(PIXKMS_RED / PIXKMS_BLU) + def smooth_continuum(wave, flux, medbin=1000, smooth_window=200, smooth_step=50, png=None): """Build a smooth, nonparametric continuum spectrum. @@ -191,7 +193,7 @@ def build_templates(models, logages, agebins, imf='chabrier', dlogwave = PIXKMS_BLU / C_LIGHT / np.log(10) # pixel size [log-lambda] newwave = 10**np.arange(np.log10(np.min(wave)), np.log10(np.max(wave)), dlogwave) - isplit = np.argmin(np.abs(newwave-wavesplit)) + 1 + isplit = np.argmin(np.abs(newwave-PIXKMS_WAVESPLIT)) + 1 newwave = np.hstack((newwave[:isplit], newwave[isplit:][::irfactor])) npix = len(newwave) @@ -220,9 +222,6 @@ def main(args): version = '1.1.0' - # pixel resampling choices - irfactor = int(PIXKMS_RED / PIXKMS_BLU) - # velocity dispersion grid vdispmin = 50. vdispmax = 350. @@ -336,7 +335,7 @@ def main(args): # Select just the line-free models trimmed to the 1200-10000 A wavelength # range. - I = np.where((wave > 1200) * (wave < wavesplit))[0] + I = np.where((wave > 1200) * (wave < PIXKMS_WAVESPLIT))[0] #J = np.where(meta['fagn'] == 0)[0] vdispwave = wave[I] #nvdispmodel = len(J) @@ -395,7 +394,7 @@ def main(args): hduflux3.header['VDISPRES'] = (dvdisp, 'velocity dispersion spacing [km/s]') hduflux3.header['BUNIT'] = 'erg/(s cm2 Angstrom)' - isplit = np.argmin(np.abs(wave-wavesplit)) + 1 + isplit = np.argmin(np.abs(wave-PIXKMS_WAVESPLIT)) + 1 hduwave1 = fits.ImageHDU(wave) hduwave1.header['EXTNAME'] = 'WAVE' From 91365f42cf3d2e49d3be3bfeb737c0802574859a Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sat, 19 Aug 2023 04:29:49 -0700 Subject: [PATCH 29/32] pull restframe_photometry calculations into dedicated function --- py/fastspecfit/continuum.py | 299 +++++++++++++++++++++++------------- 1 file changed, 189 insertions(+), 110 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index f1278158..69818fa7 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -469,6 +469,143 @@ def _get_linesigma(zlinewaves, init_linesigma, label='Line', ax=None): return (linesigma_narrow, linesigma_balmer, linesigma_uv, linesigma_narrow_snr, linesigma_balmer_snr, linesigma_uv_snr) + +def restframe_photometry(redshift, zmodelflux, zmodelwave, maggies, ivarmaggies, filters_in, + absmag_filters, band_shift=None, dmod=None, cosmo=None, snrmin=2., + log=None): + """Compute K-corrections and rest-frame photometry for a single object. + + Parameters + ---------- + redshift : float + Galaxy or QSO redshift. + zmodelwave : `numpy.ndarray` + Observed-frame (redshifted) model wavelength array. + zmodelflux : `numpy.ndarray` + Observed-frame model spectrum. + maggies : `numpy.ndarray` + Input photometric fluxes in the `filters_in` bandpasses. + ivarmaggies : `numpy.ndarray` + Inverse variance photometry corresponding to `maggies`. + filters_in : `speclite.filters.FilterSequence` + Input filter curves. + absmag_filters : `speclite.filters.FilterSequence` + Filter curves corresponding to desired bandpasses. + band_shift : `numpy.ndarray` or `None` + Band-shift each bandpass in `absmag_filters` by this amount. + cosmo : `fastspecfit.util.TabulatedDESI` or `None` + Cosmological model class. + log : `desiutil.log` + Logging object. + + Returns + ------- + + + """ + if log is None: + from desiutil.log import get_logger + log = get_logger() + + nabs = len(absmag_filters) + kcorr = np.zeros(nabs, dtype='f4') + absmag = np.zeros(nabs, dtype='f4') + ivarabsmag = np.zeros(nabs, dtype='f4') + bestmaggies = np.zeros(len(maggies)) + + if redshift <= 0.0: + errmsg = 'Input redshift not defined, zero, or negative!' + log.warning(errmsg) + return kcorr, absmag, ivarabsmag, bestmaggies + + if cosmo is None: + from fastspecfit.util import TabulatedDESI + cosmo = TabulatedDESI() + + dmod = cosmo.distance_modulus(redshift) + + modelwave = zmodelwave / (1. + redshift) + lambda_in = filters_in.effective_wavelengths.value + + # input bandpasses, observed frame; maggies and bestmaggies should be + # very close. + try: + bestmaggies = filters_in.get_ab_maggies(zmodelflux / FLUXNORM, zmodelwave) + except: + # pad in the case of an object at very high redshift (z>5.5). + log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') + padflux, padwave = filters_in.pad_spectrum(zmodelflux / FLUXNORM, zmodelwave, axis=0, method='edge') + bestmaggies = filters_in.get_ab_maggies(padflux, padwave) + + bestmaggies = np.array(bestmaggies.as_array().tolist()[0]) + + def _kcorr_and_absmag(filters_out, band_shift): + """Little internal method to handle a single value of band_shift.""" + + nout = len(filters_out) + + # note the factor of 1+band_shift + lambda_out = filters_out.effective_wavelengths.value / (1 + band_shift) + + # Multiply by (1+z) to convert the best-fitting model to the "rest + # frame" and then divide by 1+band_shift to shift it and the wavelength + # vector to the band-shifted redshift. Also need one more factor of + # 1+band_shift in order maintain the AB mag normalization. + synth_outmaggies_rest = filters_out.get_ab_maggies(zmodelflux * (1 + redshift) / (1 + band_shift) / + FLUXNORM, modelwave * (1 + band_shift)) + synth_outmaggies_rest = np.array(synth_outmaggies_rest.as_array().tolist()[0]) / (1 + band_shift) + + # Output bandpasses, observed frame; pad in the case of an object at + # very high redshift. Note that min(modelwave)=450 A is set in + # fastspec_one. + try: + synth_outmaggies_obs = filters_out.get_ab_maggies(zmodelflux / FLUXNORM, zmodelwave) + except: + log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') + padflux, padwave = filters_out.pad_spectrum(zmodelflux / FLUXNORM, zmodelwave, method='edge') + synth_outmaggies_obs = filters_out.get_ab_maggies(padflux, padwave) + synth_outmaggies_obs = np.array(synth_outmaggies_obs.as_array().tolist()[0]) + + absmag = np.zeros(nout, dtype='f4') + ivarabsmag = np.zeros(nout, dtype='f4') + kcorr = np.zeros(nout, dtype='f4') + for jj in np.arange(nout): + lambdadist = np.abs(lambda_in / (1 + redshift) - lambda_out[jj]) + # K-correct from the nearest "good" bandpass (to minimizes the K-correction) + #oband = np.argmin(lambdadist) + #oband = np.argmin(lambdadist + (ivarmaggies == 0)*1e10) + oband = np.argmin(lambdadist + (maggies*np.sqrt(ivarmaggies) < snrmin)*1e10) + kcorr[jj] = + 2.5 * np.log10(synth_outmaggies_rest[jj] / bestmaggies[oband]) + + # m_R = M_Q + DM(z) + K_QR(z) or + # M_Q = m_R - DM(z) - K_QR(z) + if maggies[oband] * np.sqrt(ivarmaggies[oband]) > snrmin: + #if (maggies[oband] > 0) and (ivarmaggies[oband]) > 0: + absmag[jj] = -2.5 * np.log10(maggies[oband]) - dmod - kcorr[jj] + ivarabsmag[jj] = maggies[oband]**2 * ivarmaggies[oband] * (0.4 * np.log(10.))**2 + else: + # if we use synthesized photometry then ivarabsmag is zero + # (which should never happen?) + absmag[jj] = -2.5 * np.log10(synth_outmaggies_rest[jj]) - dmod + + #check = absmag[jj], -2.5*np.log10(synth_outmaggies_rest[jj]) - dmod + #log.debug(check) + + return kcorr, absmag, ivarabsmag + + for _band_shift in set(band_shift): + I = np.where(_band_shift == band_shift)[0] + # Unfortunately, absmag_filters is a FilterSequence object, which is an + # immutable list, so we have to calculate K-corrections using all the + # filters, every time, sigh. + _kcorr, _absmag, _ivarabsmag = _kcorr_and_absmag(absmag_filters, band_shift=_band_shift) + kcorr[I] = _kcorr[I] + absmag[I] = _absmag[I] + ivarabsmag[I] = _ivarabsmag[I] + + return kcorr, absmag, ivarabsmag, bestmaggies + + def _convolve_vdisp(templateflux, vdisp, pixsize_kms): """Convolve by the velocity dispersion. @@ -566,7 +703,7 @@ def __init__(self, nophoto=False, fphoto=None, load_filters=True): self.synth_bands = np.array(['g', 'r', 'z']) # for synthesized photometry self.fiber_bands = np.array(['g', 'r', 'z']) # for fiber fluxes - self.absmag_bands = ['decam2014_g', 'decam2014_r', 'decam2014_z', + self.absmag_bands = ['decam_g', 'decam_r', 'decam_z', 'U', 'B', 'V', 'sdss_u', 'sdss_g', 'sdss_r', 'sdss_i', 'sdss_z', 'W1']#, 'W2'] @@ -1655,9 +1792,10 @@ def get_mean_property(templateinfo, physical_property, coeff, agekeep, meanvalue = np.log10(meanvalue) return meanvalue - - def kcorr_and_absmag(self, data, templatewave, continuum, snrmin=2.0, log=None): - """Computer K-corrections, absolute magnitudes, and a simple stellar mass. + + + def continuum_fluxes(self, data, templatewave, continuum, log=None): + """Compute rest-frame luminosities and observed-frame continuum fluxes. """ from scipy.stats import sigmaclip @@ -1666,125 +1804,27 @@ def kcorr_and_absmag(self, data, templatewave, continuum, snrmin=2.0, log=None): if log is None: from desiutil.log import get_logger log = get_logger() - + redshift = data['zredrock'] if redshift <= 0.0: errmsg = 'Input redshift not defined, zero, or negative!' log.warning(errmsg) - kcorr = np.zeros(len(self.absmag_bands)) - absmag = np.zeros(len(self.absmag_bands))#-99.0 - ivarabsmag = np.zeros(len(self.absmag_bands)) - bestmaggies = np.zeros(len(self.bands)) + lums, cfluxes = {}, {} - return kcorr, absmag, ivarabsmag, bestmaggies, lums, cfluxes - - # distance modulus, luminosity distance, and redshifted wavelength array - dmod, dlum = data['dmodulus'], data['dluminosity'] - ztemplatewave = templatewave * (1 + redshift) - - filters_in = self.filters[data['photsys']] - lambda_in = filters_in.effective_wavelengths.value - - maggies = data['phot']['nanomaggies'].data * 1e-9 - ivarmaggies = (data['phot']['nanomaggies_ivar'].data / 1e-9**2) * self.bands_to_fit # mask W2-W4 - - # input bandpasses, observed frame; maggies and bestmaggies should be - # very close. - try: - bestmaggies = filters_in.get_ab_maggies(continuum / FLUXNORM, ztemplatewave) - except: - # pad in the case of an object at very high redshift (z>5.5). - log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') - padflux, padwave = filters_in.pad_spectrum(continuum / FLUXNORM, ztemplatewave, axis=0, method='edge') - bestmaggies = filters_in.get_ab_maggies(padflux, padwave) + return lums, cfluxes - bestmaggies = np.array(bestmaggies.as_array().tolist()[0]) - - # need to handle filters with band_shift!=0 separately from those with band_shift==0 - def _kcorr_and_absmag(filters_out, band_shift): - nout = len(filters_out) - - # note the factor of 1+band_shift - lambda_out = filters_out.effective_wavelengths.value / (1 + band_shift) - - # Multiply by (1+z) to convert the best-fitting model to the "rest - # frame" and then divide by 1+band_shift to shift it and the - # wavelength vector to the band-shifted redshift. Also need one more - # factor of 1+band_shift in order maintain the AB mag normalization. - synth_outmaggies_rest = filters_out.get_ab_maggies(continuum * (1 + redshift) / (1 + band_shift) / - FLUXNORM, templatewave * (1 + band_shift)) - synth_outmaggies_rest = np.array(synth_outmaggies_rest.as_array().tolist()[0]) / (1 + band_shift) - - # output bandpasses, observed frame; pad in the case of an object at - # z>5.53 (min(templatewave)=450 A, set in fastspec_one) - try: - synth_outmaggies_obs = filters_out.get_ab_maggies(continuum / FLUXNORM, ztemplatewave) - except: - log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') - padflux, padwave = filters_out.pad_spectrum(continuum / FLUXNORM, ztemplatewave, method='edge') - synth_outmaggies_obs = filters_out.get_ab_maggies(padflux, padwave) - synth_outmaggies_obs = np.array(synth_outmaggies_obs.as_array().tolist()[0]) - - absmag = np.zeros(nout, dtype='f4') - ivarabsmag = np.zeros(nout, dtype='f4') - kcorr = np.zeros(nout, dtype='f4') - for jj in np.arange(nout): - lambdadist = np.abs(lambda_in / (1 + redshift) - lambda_out[jj]) - # K-correct from the nearest "good" bandpass (to minimizes the K-correction) - #oband = np.argmin(lambdadist) - #oband = np.argmin(lambdadist + (ivarmaggies == 0)*1e10) - oband = np.argmin(lambdadist + (maggies*np.sqrt(ivarmaggies) < snrmin)*1e10) - kcorr[jj] = + 2.5 * np.log10(synth_outmaggies_rest[jj] / bestmaggies[oband]) - - # m_R = M_Q + DM(z) + K_QR(z) or - # M_Q = m_R - DM(z) - K_QR(z) - if maggies[oband] * np.sqrt(ivarmaggies[oband]) > snrmin: - #if (maggies[oband] > 0) and (ivarmaggies[oband]) > 0: - absmag[jj] = -2.5 * np.log10(maggies[oband]) - dmod - kcorr[jj] - ivarabsmag[jj] = maggies[oband]**2 * ivarmaggies[oband] * (0.4 * np.log(10.))**2 - else: - # if we use synthesized photometry then ivarabsmag is zero - # (which should never happen?) - absmag[jj] = -2.5 * np.log10(synth_outmaggies_rest[jj]) - dmod - - #check = absmag[jj], -2.5*np.log10(synth_outmaggies_rest[jj]) - dmod - #log.debug(check) - - return kcorr, absmag, ivarabsmag - - nabs = len(self.absmag_bands) - kcorr = np.zeros(nabs, dtype='f4') - absmag = np.zeros(nabs, dtype='f4') - ivarabsmag = np.zeros(nabs, dtype='f4') - for band_shift in set(self.band_shift): - I = np.where(band_shift == self.band_shift)[0] - # Unfortunately, self.absmag_filters is a FilterSequence object, - # which is an immutable list, so we have to calculate K-corrections - # using all the filters, every time, sigh. - _kcorr, _absmag, _ivarabsmag = _kcorr_and_absmag(self.absmag_filters, band_shift=band_shift) - kcorr[I] = _kcorr[I] - absmag[I] = _absmag[I] - ivarabsmag[I] = _ivarabsmag[I] - - #nage = len(coeff) - - # From Taylor+11, eq 8 - #mstar = templateinfo['mstar'][:nage].dot(coeff) * self.massnorm - #https://researchportal.port.ac.uk/ws/files/328938/MNRAS_2011_Taylor_1587_620.pdf - #mstar = 1.15 + 0.7*(absmag[1]-absmag[3]) - 0.4*absmag[3] + dlum = data['dluminosity'] # compute the model continuum flux at 1500 and 2800 A (to facilitate UV # luminosity-based SFRs) and at the positions of strong nebular emission # lines [OII], Hbeta, [OIII], and Halpha - #dfactor = (1 + redshift) * 4.0 * np.pi * self.cosmo.luminosity_distance(redshift).to(u.cm).value**2 / FLUXNORM - #dfactor = (1 + redshift) * 4.0 * np.pi * (3.08567758e24 * self.luminosity_distance(redshift))**2 / FLUXNORM + dfactor = (1 + redshift) * 4.0 * np.pi * (3.08567758e24 * dlum)**2 / FLUXNORM lums = {} cwaves = [1500.0, 2800.0, 1450., 1700., 3000., 5100.] labels = ['LOGLNU_1500', 'LOGLNU_2800', 'LOGL_1450', 'LOGL_1700', 'LOGL_3000', 'LOGL_5100'] - norms = [1e28, 1e28, 1e10] - for cwave, norm, label in zip(cwaves, norms, labels): + for cwave, label in zip(cwaves, labels): J = (templatewave > cwave-500) * (templatewave < cwave+500) I = (templatewave[J] > cwave-20) * (templatewave[J] < cwave+20) smooth = median_filter(continuum[J], 200) @@ -1792,11 +1832,13 @@ def _kcorr_and_absmag(filters_out, band_shift): cflux = np.median(clipflux) # [flux in 10**-17 erg/s/cm2/A] cflux *= dfactor # [monochromatic luminosity in erg/s/A] if 'LOGL_' in label: + norm = 1e10 cflux *= cwave / 3.846e33 / norm # [luminosity in 10**10 L_sun] else: # Convert the UV fluxes to rest-frame luminosity in erg/s/Hz. This # luminosity can be converted into a SFR using, e.g., Kennicutt+98, # SFR=1.4e-28 * L_UV + norm = 1e28 cflux *= cwave**2 / (C_LIGHT * 1e13) / norm # [monochromatic luminosity in 10**(-28) erg/s/Hz] if cflux > 0: lums[label] = np.log10(cflux) # * u.erg/(u.second*u.Hz) @@ -1823,7 +1865,43 @@ def _kcorr_and_absmag(filters_out, band_shift): #plt.savefig('junk.png') ##plt.savefig('desi-users/ioannis/tmp/junk.png') - return kcorr, absmag, ivarabsmag, bestmaggies, lums, cfluxes + return lums, cfluxes + + def kcorr_and_absmag(self, data, templatewave, continuum, snrmin=2.0, log=None): + """Compute K-corrections and absolute magnitudes. + + """ + if log is None: + from desiutil.log import get_logger + log = get_logger() + + redshift = data['zredrock'] + if redshift <= 0.0: + errmsg = 'Input redshift not defined, zero, or negative!' + log.warning(errmsg) + + kcorr = np.zeros(len(self.absmag_bands)) + absmag = np.zeros(len(self.absmag_bands))#-99.0 + ivarabsmag = np.zeros(len(self.absmag_bands)) + bestmaggies = np.zeros(len(self.bands)) + return kcorr, absmag, ivarabsmag, bestmaggies + + # distance modulus, luminosity distance, and redshifted wavelength array + dmod = data['dmodulus'] + ztemplatewave = templatewave * (1 + redshift) + + filters_in = self.filters[data['photsys']] + + maggies = data['phot']['nanomaggies'].data * 1e-9 + ivarmaggies = (data['phot']['nanomaggies_ivar'].data / 1e-9**2) * self.bands_to_fit + + kcorr, absmag, ivarabsmag, bestmaggies = restframe_photometry( + redshift, continuum, ztemplatewave, maggies, ivarmaggies, + filters_in=filters_in, absmag_filters=self.absmag_filters, + band_shift=self.band_shift, dmod=data['dmodulus'], + snrmin=snrmin, log=log) + + return kcorr, absmag, ivarabsmag, bestmaggies def continuum_specfit(data, result, templatecache, fphoto=None, emlinesfile=None, constrain_age=False, no_smooth_continuum=False, fastphot=False, @@ -2183,8 +2261,9 @@ def _younger_than_universe(age, tuniv, agepad=0.5): AV, age, zzsun, logmstar, sfr = 0.0, 0.0, 0.0, 0.0, 0.0 #AV, age, zzsun, fagn, logmstar, sfr = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 else: - kcorr, absmag, ivarabsmag, synth_bestmaggies, lums, cfluxes = CTools.kcorr_and_absmag( + kcorr, absmag, ivarabsmag, synth_bestmaggies = CTools.kcorr_and_absmag( data, templatecache['templatewave'], sedmodel, log=log) + lums, cfluxes = CTools.continuum_fluxes(data, templatecache['templatewave'], sedmodel, log=log) AV = CTools.get_mean_property(templatecache['templateinfo'], 'av', coeff, agekeep, log=log) # [mag] age = CTools.get_mean_property(templatecache['templateinfo'], 'age', coeff, agekeep, normalization=1e9, log=log) # [Gyr] From 34da74dd640a7380ef36b08345c3533e2f5faf8b Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sat, 19 Aug 2023 06:52:16 -0700 Subject: [PATCH 30/32] more cleanup --- py/fastspecfit/continuum.py | 102 ++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 34 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index 69818fa7..4845a692 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -470,14 +470,14 @@ def _get_linesigma(zlinewaves, init_linesigma, label='Line', ax=None): linesigma_narrow_snr, linesigma_balmer_snr, linesigma_uv_snr) -def restframe_photometry(redshift, zmodelflux, zmodelwave, maggies, ivarmaggies, filters_in, - absmag_filters, band_shift=None, dmod=None, cosmo=None, snrmin=2., - log=None): +def restframe_photometry(redshift, zmodelflux, zmodelwave, maggies, ivarmaggies, + filters_in, absmag_filters, band_shift=None, snrmin=2., + dmod=None, cosmo=None, log=None): """Compute K-corrections and rest-frame photometry for a single object. Parameters ---------- - redshift : float + redshift : :class:`float` Galaxy or QSO redshift. zmodelwave : `numpy.ndarray` Observed-frame (redshifted) model wavelength array. @@ -493,15 +493,42 @@ def restframe_photometry(redshift, zmodelflux, zmodelwave, maggies, ivarmaggies, Filter curves corresponding to desired bandpasses. band_shift : `numpy.ndarray` or `None` Band-shift each bandpass in `absmag_filters` by this amount. + snrmin : :class:`float`, defaults to 2. + Minimum signal-to-noise ratio in the input photometry (`maggies`) in + order for that bandpass to be used to compute a K-correction. + dmod : :class:`float` or `None` + Distance modulus corresponding to `redshift`. Not needed if `cosmo` is + provided. cosmo : `fastspecfit.util.TabulatedDESI` or `None` - Cosmological model class. + Cosmological model class needed to compute the distance modulus. log : `desiutil.log` Logging object. Returns ------- + kcorr : `numpy.ndarray` + K-corrections for each bandpass in `absmag_filters`. + absmag : `numpy.ndarray` + Absolute magnitudes, band-shifted according to `band_shift` (if + provided) for each bandpass in `absmag_filters`. + ivarabsmag : `numpy.ndarray` + Inverse variance corresponding to `absmag`. + synth_absmag : `numpy.ndarray` + Like `absmag`, but entirely based on synthesized photometry. + synth_maggies_in : `numpy.ndarray` + Synthesized input photometry (should closely match `maggies` if the + model fit is good). + + Notes + ----- + By default, the K-correction is computed by finding the observed-frame + bandpass closest in wavelength (and with a minimum signal-to-noise ratio) to + the desired band-shifted absolute magnitude bandpass. In other words, by + default we endeavor to minimize the K-correction. The inverse variance, + `ivarabsmag`, is derived from the inverse variance of the K-corrected + photometry. If no bandpass is available then `ivarabsmag` is set to zero and + `absmag` is derived from the synthesized rest-frame photometry. - """ if log is None: from desiutil.log import get_logger @@ -511,33 +538,38 @@ def restframe_photometry(redshift, zmodelflux, zmodelwave, maggies, ivarmaggies, kcorr = np.zeros(nabs, dtype='f4') absmag = np.zeros(nabs, dtype='f4') ivarabsmag = np.zeros(nabs, dtype='f4') - bestmaggies = np.zeros(len(maggies)) + synth_absmag = np.zeros(nabs, dtype='f4') + synth_maggies_in = np.zeros(len(maggies)) if redshift <= 0.0: errmsg = 'Input redshift not defined, zero, or negative!' log.warning(errmsg) - return kcorr, absmag, ivarabsmag, bestmaggies + return kcorr, absmag, ivarabsmag, synth_absmag, synth_maggies_in if cosmo is None: from fastspecfit.util import TabulatedDESI cosmo = TabulatedDESI() + if dmod is None: dmod = cosmo.distance_modulus(redshift) modelwave = zmodelwave / (1. + redshift) lambda_in = filters_in.effective_wavelengths.value - # input bandpasses, observed frame; maggies and bestmaggies should be + if band_shift is None: + band_shift = np.zeros_like(lambda_in) + + # input bandpasses, observed frame; maggies and synth_maggies_in should be # very close. try: - bestmaggies = filters_in.get_ab_maggies(zmodelflux / FLUXNORM, zmodelwave) + synth_maggies_in = filters_in.get_ab_maggies(zmodelflux / FLUXNORM, zmodelwave) except: # pad in the case of an object at very high redshift (z>5.5). log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') padflux, padwave = filters_in.pad_spectrum(zmodelflux / FLUXNORM, zmodelwave, axis=0, method='edge') - bestmaggies = filters_in.get_ab_maggies(padflux, padwave) + synth_maggies_in = filters_in.get_ab_maggies(padflux, padwave) - bestmaggies = np.array(bestmaggies.as_array().tolist()[0]) + synth_maggies_in = np.array(synth_maggies_in.as_array().tolist()[0]) def _kcorr_and_absmag(filters_out, band_shift): """Little internal method to handle a single value of band_shift.""" @@ -551,9 +583,10 @@ def _kcorr_and_absmag(filters_out, band_shift): # frame" and then divide by 1+band_shift to shift it and the wavelength # vector to the band-shifted redshift. Also need one more factor of # 1+band_shift in order maintain the AB mag normalization. - synth_outmaggies_rest = filters_out.get_ab_maggies(zmodelflux * (1 + redshift) / (1 + band_shift) / - FLUXNORM, modelwave * (1 + band_shift)) - synth_outmaggies_rest = np.array(synth_outmaggies_rest.as_array().tolist()[0]) / (1 + band_shift) + synth_outmaggies_rest = filters_out.get_ab_maggies( + zmodelflux * (1. + redshift) / (1. + band_shift) / + FLUXNORM, modelwave * (1. + band_shift)) + synth_outmaggies_rest = np.array(synth_outmaggies_rest.as_array().tolist()[0]) / (1. + band_shift) # Output bandpasses, observed frame; pad in the case of an object at # very high redshift. Note that min(modelwave)=450 A is set in @@ -562,48 +595,49 @@ def _kcorr_and_absmag(filters_out, band_shift): synth_outmaggies_obs = filters_out.get_ab_maggies(zmodelflux / FLUXNORM, zmodelwave) except: log.warning('Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.') - padflux, padwave = filters_out.pad_spectrum(zmodelflux / FLUXNORM, zmodelwave, method='edge') + padflux, padwave = filters_out.pad_spectrum( + zmodelflux / FLUXNORM, zmodelwave, method='edge') synth_outmaggies_obs = filters_out.get_ab_maggies(padflux, padwave) synth_outmaggies_obs = np.array(synth_outmaggies_obs.as_array().tolist()[0]) + kcorr = np.zeros(nout, dtype='f4') absmag = np.zeros(nout, dtype='f4') ivarabsmag = np.zeros(nout, dtype='f4') - kcorr = np.zeros(nout, dtype='f4') + synth_absmag = np.zeros(nout, dtype='f4') for jj in np.arange(nout): - lambdadist = np.abs(lambda_in / (1 + redshift) - lambda_out[jj]) + lambdadist = np.abs(lambda_in / (1. + redshift) - lambda_out[jj]) # K-correct from the nearest "good" bandpass (to minimizes the K-correction) #oband = np.argmin(lambdadist) #oband = np.argmin(lambdadist + (ivarmaggies == 0)*1e10) oband = np.argmin(lambdadist + (maggies*np.sqrt(ivarmaggies) < snrmin)*1e10) - kcorr[jj] = + 2.5 * np.log10(synth_outmaggies_rest[jj] / bestmaggies[oband]) + kcorr[jj] = + 2.5 * np.log10(synth_outmaggies_rest[jj] / synth_maggies_in[oband]) + synth_absmag[jj] = -2.5 * np.log10(synth_outmaggies_rest[jj]) - dmod + # m_R = M_Q + DM(z) + K_QR(z) or # M_Q = m_R - DM(z) - K_QR(z) if maggies[oband] * np.sqrt(ivarmaggies[oband]) > snrmin: - #if (maggies[oband] > 0) and (ivarmaggies[oband]) > 0: absmag[jj] = -2.5 * np.log10(maggies[oband]) - dmod - kcorr[jj] ivarabsmag[jj] = maggies[oband]**2 * ivarmaggies[oband] * (0.4 * np.log(10.))**2 else: # if we use synthesized photometry then ivarabsmag is zero # (which should never happen?) - absmag[jj] = -2.5 * np.log10(synth_outmaggies_rest[jj]) - dmod - - #check = absmag[jj], -2.5*np.log10(synth_outmaggies_rest[jj]) - dmod - #log.debug(check) + absmag[jj] = synth_absmag[jj] - return kcorr, absmag, ivarabsmag + return kcorr, absmag, ivarabsmag, synth_absmag for _band_shift in set(band_shift): - I = np.where(_band_shift == band_shift)[0] + I = np.where(_band_shift == np.array(band_shift))[0] # Unfortunately, absmag_filters is a FilterSequence object, which is an # immutable list, so we have to calculate K-corrections using all the # filters, every time, sigh. - _kcorr, _absmag, _ivarabsmag = _kcorr_and_absmag(absmag_filters, band_shift=_band_shift) + _kcorr, _absmag, _ivarabsmag, _synth_absmag = _kcorr_and_absmag(absmag_filters, band_shift=_band_shift) kcorr[I] = _kcorr[I] absmag[I] = _absmag[I] ivarabsmag[I] = _ivarabsmag[I] + synth_absmag[I] = _synth_absmag[I] - return kcorr, absmag, ivarabsmag, bestmaggies + return kcorr, absmag, ivarabsmag, synth_absmag, synth_maggies_in def _convolve_vdisp(templateflux, vdisp, pixsize_kms): @@ -1565,7 +1599,7 @@ def templates2data(self, _templateflux, _templatewave, redshift=0.0, dluminosity # apply the luminosity distance factor here. Also normalize to a nominal # stellar mass. if redshift > 0: - ztemplatewave = templatewave * (1.0 + redshift) + ztemplatewave = templatewave * (1. + redshift) T = self.full_IGM(redshift, ztemplatewave) T *= FLUXNORM * self.massnorm * (10.0 / (1e6 * dluminosity))**2 / (1.0 + redshift) ztemplateflux = templateflux * T[:, np.newaxis] @@ -1883,8 +1917,8 @@ def kcorr_and_absmag(self, data, templatewave, continuum, snrmin=2.0, log=None): kcorr = np.zeros(len(self.absmag_bands)) absmag = np.zeros(len(self.absmag_bands))#-99.0 ivarabsmag = np.zeros(len(self.absmag_bands)) - bestmaggies = np.zeros(len(self.bands)) - return kcorr, absmag, ivarabsmag, bestmaggies + synth_maggies_in = np.zeros(len(self.bands)) + return kcorr, absmag, ivarabsmag, synth_maggies_in # distance modulus, luminosity distance, and redshifted wavelength array dmod = data['dmodulus'] @@ -1895,13 +1929,13 @@ def kcorr_and_absmag(self, data, templatewave, continuum, snrmin=2.0, log=None): maggies = data['phot']['nanomaggies'].data * 1e-9 ivarmaggies = (data['phot']['nanomaggies_ivar'].data / 1e-9**2) * self.bands_to_fit - kcorr, absmag, ivarabsmag, bestmaggies = restframe_photometry( + kcorr, absmag, ivarabsmag, synth_absmag, synth_maggies_in = restframe_photometry( redshift, continuum, ztemplatewave, maggies, ivarmaggies, filters_in=filters_in, absmag_filters=self.absmag_filters, band_shift=self.band_shift, dmod=data['dmodulus'], snrmin=snrmin, log=log) - return kcorr, absmag, ivarabsmag, bestmaggies + return kcorr, absmag, ivarabsmag, synth_absmag, synth_maggies_in def continuum_specfit(data, result, templatecache, fphoto=None, emlinesfile=None, constrain_age=False, no_smooth_continuum=False, fastphot=False, @@ -2261,7 +2295,7 @@ def _younger_than_universe(age, tuniv, agepad=0.5): AV, age, zzsun, logmstar, sfr = 0.0, 0.0, 0.0, 0.0, 0.0 #AV, age, zzsun, fagn, logmstar, sfr = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 else: - kcorr, absmag, ivarabsmag, synth_bestmaggies = CTools.kcorr_and_absmag( + kcorr, absmag, ivarabsmag, _, synth_bestmaggies = CTools.kcorr_and_absmag( data, templatecache['templatewave'], sedmodel, log=log) lums, cfluxes = CTools.continuum_fluxes(data, templatecache['templatewave'], sedmodel, log=log) From 261b57d3dac6db37904abcdb789c3db0c59bf3d6 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sat, 19 Aug 2023 06:54:16 -0700 Subject: [PATCH 31/32] add K-corrections tutorial notebook to address #89 and #74 --- doc/changes.rst | 4 +- doc/nb/tutorial-kcorrections.ipynb | 586 +++++++++++++++++++++++++++-- 2 files changed, 553 insertions(+), 37 deletions(-) diff --git a/doc/changes.rst b/doc/changes.rst index 3765a790..c4f70e12 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -10,8 +10,8 @@ Change Log 2.4.0 (2023-08-18) ------------------ -* Bug fixes and miscellaneous feature requests for next VACs, including slightly - modified SPS templates [`PR #148`_]. +* Bug fixes and miscellaneous feature requests for next VACs, including modified + SPS templates and a user-friendly refactor of the K-correction code [`PR #148`_]. .. _`PR #148`: https://github.com/desihub/fastspecfit/pull/148 diff --git a/doc/nb/tutorial-kcorrections.ipynb b/doc/nb/tutorial-kcorrections.ipynb index ce0f99fe..fc8469d1 100644 --- a/doc/nb/tutorial-kcorrections.ipynb +++ b/doc/nb/tutorial-kcorrections.ipynb @@ -1,8 +1,36 @@ { "cells": [ + { + "cell_type": "markdown", + "id": "cb4fb180-53e9-40eb-babf-3e1c7f3171c2", + "metadata": {}, + "source": [ + "### FastSpecFit K-corrections\n", + "\n", + "The purpose of this notebook is to illustrate how to compute custom K-corrections and rest-frame photometry using FastSpecFit model fitting results.\n", + "\n", + "To load all the dependencies simply run (at NERSC):\n", + "```\n", + "source /dvs_ro/common/software/desi/desi_environment.sh main\n", + "module load fastspecfit/main\n", + "```\n", + "\n", + "John Moustakas \n", + "Siena College \n", + "2023 August 19" + ] + }, + { + "cell_type": "markdown", + "id": "9778690d-51c4-45fd-a1dc-15c6449e18c2", + "metadata": {}, + "source": [ + "#### Basic imports" + ] + }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "id": "b63a6996-4f40-43a6-842b-9191ca95a470", "metadata": { "tags": [] @@ -11,26 +39,74 @@ "source": [ "import os\n", "import numpy as np\n", - "import matplotlib.pyplot as plt" + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 2, "id": "51c27fe4-5341-49dc-adce-0042b6531887", "metadata": { "tags": [] }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.3.0.dev1152\n" + ] + } + ], + "source": [ + "from fastspecfit.continuum import ContinuumTools\n", + "from fastspecfit.util import TabulatedDESI, C_LIGHT\n", + "from fastspecfit.io import read_fastspecfit, cache_templates, FLUXNORM\n", + "from fastspecfit._version import __version__\n", + "print(__version__)" + ] + }, + { + "cell_type": "markdown", + "id": "13b2b159-275c-4930-9535-22a139499c28", + "metadata": {}, + "source": [ + "#### Instantiate the cosmology, the continuum-fitting tools class, and the templates.\n", + "\n", + "The `ContinuumTools` class loads the DR9 filter curves by default (see the [legacysurvey-dr9.yaml parameter file](https://github.com/desihub/fastspecfit/blob/main/py/fastspecfit/data/legacysurvey-dr9.yaml) for the full list of default parameters) and `TabulatedDESI` loads the fiducial DESI cosmology (documented [here](https://github.com/desihub/LSS/blob/main/py/LSS/tabulated_cosmo.py)). Some details regarding the SPS (stellar population synthesis) templates are documented (he" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8aea105f-5143-48d6-824c-9c309f66752b", + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "from fastspecfit.util import C_LIGHT\n", - "from fastspecfit.io import read_fastspecfit, cache_templates" + "cosmo = TabulatedDESI()\n", + "CTools = ContinuumTools()\n", + "templates = cache_templates()" + ] + }, + { + "cell_type": "markdown", + "id": "f5d5fcbb-5b56-4e70-a390-cf1dcec8d210", + "metadata": { + "tags": [] + }, + "source": [ + "#### Build and read a `fastspec` model.\n", + "\n", + "As an initial simple example, let's fit a single galaxy. (Skip this section if you already have fitting results that you just want to read.)" ] }, { "cell_type": "code", "execution_count": 4, - "id": "2ed08e68-cf0d-404f-9f10-bb7ebc1386c6", + "id": "595630d8-1008-4b8f-a50b-584e14028a25", "metadata": { "tags": [] }, @@ -39,79 +115,334 @@ "name": "stdout", "output_type": "stream", "text": [ - "INFO:io.py:1798:read_fastspecfit: Read 1 object(s) from /global/homes/i/ioannis/fastspec.fits\n" + "INFO:fastspecfit.py:120:parse: fastspec /global/cfs/cdirs/desi/spectro/redux/fuji/healpix/sv3/bright/98/9813/redrock-sv3-bright-9813.fits --targetids 39633109787873428 -o /global/homes/i/ioannis/fastspec-39633109787873428.fits\n", + "INFO:io.py:666:select: Reading and parsing 1 unique redrockfile(s).\n", + "INFO:io.py:721:select: specprod=fuji, coadd_type=healpix, survey=sv3, program=bright, healpix=9813\n", + "INFO:io.py:961:select: Gathered photometric metadata in 0.33 sec\n", + "INFO:io.py:1050:read_and_unpack: Reading 1 spectrum from /global/cfs/cdirs/desi/spectro/redux/fuji/healpix/sv3/bright/98/9813/coadd-sv3-bright-9813.fits\n", + "INFO:spectra.py:372:read_spectra: iotime 0.437 sec to read coadd-sv3-bright-9813.fits at 2023-08-19T06:50:43.795647\n", + "INFO:io.py:1084:read_and_unpack: Coadding across cameras took 0.01 seconds.\n", + "INFO:io.py:103:unpack_one_spectrum: Pre-processing object 0 [targetid 39633109787873428 z=0.132020].\n", + "INFO:fastspecfit.py:191:fastspec: Reading and unpacking 1 spectra to be fitted took 1.82 seconds.\n", + "INFO:fastspecfit.py:49:fastspec_one: Continuum- and emission-line fitting object 0 [targetid 39633109787873428, z=0.132020].\n", + "INFO:continuum.py:2085:continuum_specfit: S/N_b=2.17, S/N_r=9.27, S/N_z=12.38, rest wavelength coverage=3180-8678 A.\n", + "INFO:continuum.py:2101:continuum_specfit: Fitting for the velocity dispersion took 2.16 seconds.\n", + "INFO:continuum.py:2112:continuum_specfit: Best-fitting vdisp=235.4+/-30.3 km/s.\n", + "WARNING:continuum.py:1627:templates2data: Padding model spectrum due to insufficient wavelength coverage to synthesize photometry.\n", + "INFO:continuum.py:2184:continuum_specfit: Median aperture correction = 4.122 [3.974-4.884].\n", + "INFO:continuum.py:2211:continuum_specfit: Final fitting with 192 models took 1.64 seconds.\n", + "INFO:continuum.py:2245:continuum_specfit: Spectroscopic DN(4000)=2.453+/-0.353, Model Dn(4000)=2.333\n", + "INFO:continuum.py:2284:continuum_specfit: Smooth continuum correction: b=-1.167%, r=-0.432%, z=0.346%\n", + "INFO:continuum.py:2311:continuum_specfit: Mstar=11.12 Msun, Mdecam_r=-17.65 mag, A(V)=0.843, Age=13.000 Gyr, SFR=0.000 Msun/yr, Z/Zsun=-0.158\n", + "INFO:continuum.py:2351:continuum_specfit: Continuum-fitting took 4.53 seconds.\n", + "INFO:emlines.py:2465:emline_specfit: Initial line-fitting with 25 free parameters took 0.60 seconds [niter=19, rchi2=1.0276].\n", + "INFO:emlines.py:2496:emline_specfit: Second (broad) line-fitting with 36 free parameters took 3.27 seconds [niter=21, rchi2=1.0288].\n", + "INFO:emlines.py:2551:emline_specfit: Dropping broad-line model: delta-chi2=3.0 < delta-ndof=11\n", + "INFO:emlines.py:2655:emline_specfit: Final line-fitting with 33 free parameters took 0.88 seconds [niter=15, rchi2=1.0277].\n", + "INFO:emlines.py:2739:emline_specfit: Dn(4000)=2.595 in the emission-line subtracted spectrum.\n", + "INFO:emlines.py:2780:emline_specfit: Emission-line fitting took 4.91 seconds.\n", + "INFO:fastspecfit.py:235:fastspec: Fitting 1 object(s) took 9.99 seconds.\n", + "INFO:io.py:1843:write_fastspecfit: Writing results for 1 object to /global/homes/i/ioannis/fastspec-39633109787873428.fits\n", + "INFO:io.py:1902:write_fastspecfit: Writing out took 1.82 seconds.\n" ] } ], "source": [ - "fastfile = os.path.join(os.getenv('HOME'), 'fastspec.fits')\n", - "fast, meta, _, _ = read_fastspecfit(fastfile)" + "from desispec.io import findfile\n", + "from fastspecfit.qa import fastqa\n", + "from fastspecfit.fastspecfit import fastspec\n", + "\n", + "outdir = os.getenv('HOME')\n", + "\n", + "survey, program, healpix = 'sv3', 'bright', 9813\n", + "targetid = 39633109787873428\n", + "\n", + "redrockfile = findfile('redrock', survey=survey, faprogram=program, healpix=healpix, groupname='healpix', \n", + " specprod_dir=os.path.join(os.getenv('DESI_SPECTRO_REDUX'), 'fuji'))\n", + "fastfile = os.path.join(outdir, f'fastspec-{targetid}.fits')\n", + "cmdargs = f'{redrockfile} --targetids {targetid} -o {fastfile}'\n", + "fastspec(args=cmdargs.split())" + ] + }, + { + "cell_type": "markdown", + "id": "e231a86b-4316-45c7-af4f-2bf5aeaca8b0", + "metadata": {}, + "source": [ + "##### Generate and display the QA. \n", + "\n", + "Note that there's an issue with retrieving and writing the image cutouts to `$PSCRATCH`, although `$HOME`seems to work OK." ] }, { "cell_type": "code", - "execution_count": 19, - "id": "ff73010a-4199-429d-88cb-2c7b9aa19f62", + "execution_count": 5, + "id": "14a78ff1-4653-48f1-b1f6-531af7d657a1", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:qa.py:1218:parse: fastspecfit-qa /global/homes/i/ioannis/fastspec-39633109787873428.fits -o /global/homes/i/ioannis --overwrite\n", + "INFO:io.py:1798:read_fastspecfit: Read 1 object(s) from /global/homes/i/ioannis/fastspec-39633109787873428.fits\n", + "INFO:qa.py:1304:fastqa: Building QA for 1 objects.\n", + "INFO:io.py:666:select: Reading and parsing 1 unique redrockfile(s).\n", + "INFO:io.py:721:select: specprod=fuji, coadd_type=healpix, survey=sv3, program=bright, healpix=9813\n", + "INFO:io.py:961:select: Gathered photometric metadata in 0.28 sec\n", + "INFO:io.py:1050:read_and_unpack: Reading 1 spectrum from /global/cfs/cdirs/desi/spectro/redux/fuji/healpix/sv3/bright/98/9813/coadd-sv3-bright-9813.fits\n", + "INFO:spectra.py:372:read_spectra: iotime 0.436 sec to read coadd-sv3-bright-9813.fits at 2023-08-19T06:50:58.732077\n", + "INFO:io.py:1084:read_and_unpack: Coadding across cameras took 0.01 seconds.\n", + "INFO:io.py:103:unpack_one_spectrum: Pre-processing object 0 [targetid 39633109787873428 z=0.132020].\n", + "INFO:qa.py:442:qa_fastspec: wget -q -O /global/homes/i/ioannis/tmp.fastspec-sv3-bright-9813-39633109787873428.jpeg https://www.legacysurvey.org/viewer/jpeg-cutout?ra=246.45265819296137&dec=41.788815091413966&width=114&height=87&layer=ls-dr9\n", + "INFO:qa.py:1162:qa_fastspec: Writing /global/homes/i/ioannis/fastspec-sv3-bright-9813-39633109787873428.png\n", + "INFO:qa.py:1426:fastqa: QA for everything took: 5.72 sec\n" + ] + } + ], "source": [ - "redshift = fast['Z'][0]\n", - "vdisp = fast['VDISP'][0]\n", - "coeff = fast['COEFF'].flatten()" + "cmdargs = f'{fastfile} -o {outdir} --overwrite'\n", + "fastqa(args=cmdargs.split())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2ed08e68-cf0d-404f-9f10-bb7ebc1386c6", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(-0.5, 2399.5, 1799.5, -0.5)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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bGykrq7OuV6HGu+Bc9XU1EQgEHBsrKuro7S0lPLyciorKw+qmhmex/r6+u+0MRgMMnPmzBYtO8LjPrCNgGmaVFdXO7lt4fugrq6OqqoqQqGQkwP07fOGK52WlZWxadOm763aqlAoFAqFQvHfojy2CsVRJtzfTNd1MjIySExMpKSkBLAFR2VlJS+//DJr167FNE3atm3L9ddfT48ePaipqWH69OmsW7cOTdNwu91cfPHFjBs3jieffJLKykruvfdePB4PF1xwAb/97W9bnDs7O5spU6ZQWlrKbbfdRqdOnbj66qu59dZbufDCC5k/fz6maTJt2jRWrVrFzJkzHcHar18/rrvuOhITExFC8NJLL1FeXk50dDQbNmzAsiyuvfZaPB4Pr7/+Ovv27SMzM5M777yTVq1aIaVk/fr1vPLKK5SUlCCEYOjQoVx99dUHhf0IIejXrx8zZsygtLSUjIwMcnNz6dChAykpKWzevJmhQ4dSW1tLXl6e49HMz8/nmWeeYd++fYRCIZKTk7n22msdkfzQQw/xt7/9zemjV1VVxZ/+9Cf+/Oc/M2LECMrKynjxxRfZtGkTlmXRoUMH/vznP9O5c+eDrmM4ZO+1115j//796LrOmDFj+OMf/0hkZCTvvPMOmzZtolOnTixfvpympibOOOMMLr/8clwuF1JKNm7cyDPPPEN1dTVt27alf//+LFq0iJdffpkZM2aQl5fHa6+9xkcffUS/fv244447ANi9ezd33XUXu3btwuVyOfYfyhtbUlLCtm3buO6665zXGxoanHEPGzYMgLy8PO677z6eeeYZ9u/fz1133cX555/P3LlzqaqqYty4cZx33nm8+uqrbN26FZfLxY033sgJJ5zgVGft2bMnCxcuVOHICoVCoVAofnaUsFUojhFM02THjh3U1NQ4ocOhUIhp06bh8/l4+OGHiYyM5LPPPuOhhx7i+eefZ+7cuWzatImpU6cSFxdHVVUVYFfV+8tf/kJOTg733nsvGRkZh8xnycrK4vbbb+fBBx/kkUceoV27dlRXV1NcXMy6deu48847iYqKclo83HbbbcTFxdHQ0MD06dN5/fXX+ctf/gLYHsmvvvqKW265hcsuu4zPP/+cKVOmMHToUG688UY0TeOee+7h448/5ve//z1FRUU88MADnH/++YwdO5b6+nqmTZvG66+/zrXXXntQ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AQMGsHDhQvbt20dtbS2dOnUiOjoal8tFfn4+69evp1evXni9XqSULFiwgCeeeIL+/fuTmprqrBjX19cjhODEE0/ko48+orCwkKioKDZu3Mj999+PEILy8nIqKip4/vnnndVsKSVRUVHOgkKYsDjMy8vjwQcfdP4eCoVo166d86By4Kq1pmnOfIDtNQ17x8Okp6cfURuNAx92w30vD8yXPRDLspzFjzA7d+6kXbt2zmKCZVnk5ubSt29f5/wej8cJO9c0jcjISNq0aeO8Hh7XgXMT9jCoHFuF4rvxeDxMmTLF+ez7+9//zs6dO3nyySfRNM1Z3DpUK60f8/4Ki8HD/b22tpYlS5Zw8803O9uFPW1hG0OhEJGRkTzzzDPExMTg8/lYv349zz//PNu2beO+++47osJxhmFw3nnnkZycTEREBJWVlTzwwAO88MILPPjgg/j9fh599FG8Xi/Tp09H0zSmT5/OU089xdSpU3G5XE7aTZ8+ffjLX/6C1+ulvLzcSWtJSEhwhLKu62zZsoX77ruPTp06ccopp+B2u7noooto3bo1Xq+XsrIy7rnnHl577TVuueUWwP78Pu+88ygvL+f9998/qF7E6tWrefXVV7nrrrvIyspi5syZPPzww/zjH/8gKSmJuXPn8u9//5sHH3yQzMxMVqxYwdNPP03Hjh3JzMwkMzOTl19+2TlmdXU1V111FSeccAJutxu/38/TTz9NXFwc99xzD7qu89prr/HEE0/Qq1cv4uLiuPnmm1t8Br/++uvMmzePzp07I6Vk6dKlvP/++0yZMoXu3buzY8cO7rrrLmfRtU+fPrzyyivO/mVlZVx99dUMHTrU8ZieddZZ/OEPfyAyMpLq6moefvhhpk+fzqOPPtriu3L27Nns3bsXXdedSITwnP3hD38gKysLy7J44403eOCBB3jttddITk4mLy+P6dOnM3nyZEaPHu2kwrz55pvceOONStgqvhMlbBWKo0xqaiqTJk1C0zT69+/Pddddx/z58znttNPwer3ExcUxdepUOnXq1GI/wzDQNI0HH3yQ/fv3k5eXx4wZM3j88cd5/PHHD3muoUOHOm0CYmJiDhvWFhYvYSoqKli4cKEjEoUQvPvuuxQUFBy037e/dA73JRQdHU2fPn2YNm1aizAmIUSLELQD6d27N++88w6LFy8mOTmZxMRENE2ja9eu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ZODAgSxevJhzzjnHWTx0u9243W4iIiI45ZRTmD59utOu5rvQdZ02bdo41YrBFrXl5eXOZ2V0dDS33XYbZWVl+P1+4uPjufvuu0lNTW0h1gKBALNmzWLkyJEtzltYWMiGDRu46aabnIXoU089lddee43du3e3ELZr166lsbHxoO+HL7/8kqysLDIzMxFCkJmZycCBA1m+fDkXXHCBY0djYyNz585tkZ97IAdeqzPOOIObbrqJiooK8vPzycvL4+WXX+bVV18lGAxSXl7O008/zc6dO7nqqqucNkCPPvoo5eXlPProo04rIbCjCeLj4xk0aBAul4vIyEhOOukk3nnnHSfNSqE4HErYKhQKxTHCxo0beffddx2vyeDBg/ntb3/7k3s8o6KieOSRR9A0jS+//JIuXbr8pAWeNE3jL3/5y0F9JhUKxQ/DsiwqKyvJyMggPj4eIQRr16510iIOhaZp9OjRg3Xr1uHz+Zw0j7y8PLKysgDo27cvixYtwuPxOGGolmURCAQc72O49cqREu7z+vbbb6NpGiNHjnSO6/P5nNSKbxMKhZBSOuLcsizy8/Pxer2OtzEc0pyenk4oFOK9996jY8eOTkTMkCFDeOGFFygrK6NNmzY0NjaSm5vLgAEDEEIQCAScSCGwWwwVFRWRkJDgeFoPtME0TfLz84mMjDyiGgG6rnPCCSewePFi6uvriY6OZseOHezfv99ZiA0XoQqny2zcuJHt27dz6aWXHlSlfseOHVx33XUt/u52u52c1PBicFhIH9geLxgMMmvWLAYOHEjbtm1bHCMiIoJ9+/YRCARwu90EAgH27dvXonsBwNatWykuLm6RYww4ntfwZ7uUkl27duH1enG73fTo0YPHH3/cqc1QU1PDE088wYQJExg1apRTWfupp54iPz+fRx999JA2VlRUUF9fT3x8PJZlsWfPHuLi4lRai+J7UcJWoVAojhHOPfdcTjzxRAKBgFMR9ftC4H4M4bA8KSV//OMfDwqF+ymOfyRtPhQKxXej6zpDhw5lxowZznt21apV37kQJYTgnHPO4YYbbuCBBx6gV69erFmzxhFWYEd6zJ8/n1tuuYUJEyYQGRnJrl27iI2N5brrriMxMZGoqChmzJhBZmbmQREaYRobG/nss8/weDxUVlayZs0aiouLufXWW52Inj179nDzzTdz1113HRRtA3ao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QqEQH3zwARMnTuT8888HoKCggE8++YQePXoctHo9evRoRo8ezaeffsqHH354NEz+wQSDQWbOnMmZZ57Jueeei2VZ7Ny5k88++4wbb7yxxbZer5c77rjDKX4waNAgli5dypYtW1r0OP01k5uby9atW/nHP/5BamoqmZmZXHfddRQWFh5UURDsB46uXbvSs2dP3G73IQsuHC+kp6czZcoU8vPzj9rCTVZWFllZWU4bicjISB577LEj6j14vCCEcHoLCyEYMWIEX331FTk5OfTp0+coW3cwkZGR9O7dG8Mw8Hq9x5xX+YdiGAZ//vOfMU2Tm266qcVrJSUlLFy4kMcff5zevXszaNAgrrzySrKzsw/qOfzfMn78eMaPH8+HH37IvHnzDno9KSnJmXePx/ODPld69OjB/fff77yPYmJimDJlCjU1NdTX1/P111/zzDPP0L17d/r168eVV17Jtm3bvrOPtkKhUCgUvyTH99PGUcDv97Njxw4n9FgIQd++fdm6dWuL1XPAqRR4vDWTbmpqIj8/38nF0TTtO8fodrudany1tbVO4/H/FXbs2EGrVq1ITk52etRFR0dTUFBwyO0ty+KZZ57hyiuv5K677mLXrl2H9PYfD2iadtSrFBqG0WJxoKSkhNjY2F+VdyJcPbKoqIh58+bxyiuvUF9ff0yKWiEEpaWlTJ48mauuuoqXXnqJhoaGo23Wf4UQ4rALUHv27EEI4VRfjY+PJy0tje3bt//kdnzX94mmaaxatYprr72Wa665ho8//vgHRS3oun7Q+yg6OhqPx0NhYSEej4f27dsjhCAxMZGUlBTy8vJ+knEpFAqFQvFToDy2PxDLsmhoaHDyjoQQREdH09DQcNyKk29jmiaNjY1O7zawm3/X19d/535NTU288MIL9OrV65h84P65qK+vx+12O/3VDMPA7XYf8mE+IiKChx9+mMTERILBIG+99RZTpkzh73//e4sG64ofjpSSHTt28Pbbb/PHP/7xVzmfe/bsYdGiRRQVFdG7d29SU1OPtkkHkZWVxYsvvkhCQgL79u1j6tSpuN1u/vCHPxy3kQnfRVNTE5qmOX17hRBERkZSV1f3i9px2mmnceqppxIZGUl2djZPPvkkycnJDB8+/AfNu5SS/Px83nzzTS6++GKio6NpbGxE13UntFnTNCIiIn7xMSoUCoVC8V0oj+0P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587l05/+9Pu+jqtWrWLZsmV8+tOf3uPvPvbYYxxxxBEMGDBgt9Z3HIcHH3yQU045hUgk8q7rz507l4kTJ77jdcxkMjz66KN8+tOf3qUS8vLly1m1ahVTpkyhoaGBxsZGOjo66OnpIZ1OU1paSn19PbW1tZSWllJYWEgymfxAn5Genh7uv/9+Tj/9dJLJ5Ae23TydnZ08//zznHLKKR/4tveERx55hGHDhnHIIYd84NveunUrr776Kp/85Cff97YWLlxIR0cHM2fO3KPvaa154IEHmD179m5fx/zzetppp73r86215sEHH+S4446joKBgl+vtzvWeP38+mUyG6dOn71Y790fa2tp4/PHH+cxnPrNbfcqHwZ72a3mmTJlCUVHRh9iyvU8sFuOib1xEZ2fnPjexqJTizjvvZOrUqYwePXpvN2enaK3585//zKhRo5g8efLebs4u+fvf/05lZeU+3dc0NTXx97//nQsuuIBYLLa3m7NTWltb+dOf/sR//Md/UFhYuMffz0+UvVM92JD9g9Cw3U0sy6KmpoavfOUre20Q8GGTSqV4/vnnOf300z+UwfXuoLVm/fr1zJkzp98LUylFe3s7r776Kk888QSpVIqLLrqIGTNmMHDgQAxfZOLdaG1tZfny5Xz1q1993yU95s2bRyqV4mtf+9oeGXJKKVatWsWZZ565251oOp1mwYIFnHfeee84aAfvHK5du/Zdr2NnZydLlizhK1/5CtFodKfrPPTQQwgh+P73v49SCsdx6OrqYuvWrbS0tNDU1ERDQwObNm2iubmZhoYGDMOgsrKS6upqampqGDhwIFVVVZSVlRGNRrEsa7evF0BzczMvvPAC55577i4nO94PGzZsoKGhYY+v4weJ1pqVK1dyzDHHcOqpp37g23/77bdpaWn5QI7xj3/8Ixs2bOD888/fo+85jsPrr7/O5z//+d2eOGtpaQmeV9N859eV67q88cYbnHPOOQwcOHCX6+3u9e7o6NjjY9yfWLVqFQsXLtytPuXDYk/6tY8bpmly8skn7+1m7JT8hMRRRx3FSSedtLebs1O01jz11FNMnjyZs88+e283Z5f861//YsSIEft0GxcvXszjjz/OGWecsc9OKK1Zs4b77ruPOXPm7FXHTMjeJzRsQ/Y56urqiMfjaO0Vo1+5ciWPP/44y5YtY/jw4Zx77rmMHj2a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4bvf/e4HFt64N3in+9xxHP75z3/yz3/+E9d1GT9+POeff/57KiWxN1m7di233347GzduxHVdBg8ezNe//nXq6uoAr6TXLbfcwtatWxkwYAAXXnghI0eO3Of64xCvjNsDDzzAhg0bOO6447j44ouD6+Q4Do8//jgPPfQQ6XSaoqIiLr30UoYOHYpSihdeeIFjjz2Wu+++m8svv5yamhr+8pe/8OKLL5JOp4lGo3z6058OxgNNTU1885vfJB6PI6VESsl5553HrFmzWLlyJTfffDOnnnoqL7/8MgMHDmTYsGHcc889XHnllUGKjtaa1atX893vfpcjjzyS7373uwgh6Onp4a677mL+/PkIIZg4cSJf/epXd6qM/eSTT/Lb3/42eC47OjpIp9NceumllJSU8Mwzz9DZ2cnrr79OTU0N5eXlXHDBBRx88ME73MNaazo7O7n11ltZsmQJkUiE008/nZNOOone3l5++9vfcvjhh6O1ZujQoe/JsNVa8+qrr/LDH/6QL37xi5x99tlorXnttdf44x//SFdXF6ZpMnv2bM4666yd9vN33XUXDz30UKBAXFFRwXXXXYdhGPzmN79h3LhxCCEYNGjQezJs85oXV111FZs3b+bWW2+loKCAzs5Obr/9dt544w3A02a48MILGTRo0E7P5auvvspdd91FKpWirq6Oiy66iJqaGp566imWLl0aXIPa2to97k/ykzTXX389y5cv59Zbb2XAgAE88MADPPjgg8F6XV1d1NbW8otf/GKHCJutW7dy4YUXBmlKQgjOOOMM5syZw8svv8yLL77ImDFjsG2b+vr6/fpdFrKN0LD16erq4kc/+hEzZ87kpJNO4tFHH+UnP/kJv/71r3fa2Q4ePJixY8fys5/9jEwmsxdavOfkB9GrV6/mhz/8IS0tLdxwww0MGjQo6CjzOI5DRUUFl19+OaWlpbz88sv8+Mc/ZujQoQwdOnS396mUoq2tjZdeeomnn36aXC7Hsccey49+9COqqqr2aQ9Ia2srN9xwA2eddRZHH300f/3rX7nxxhu56aabdggXdV2XVCrFtddey6BBgwD26zBG0zSZMmUKEydO5M9//vNeKVqezWY55phjGDNmDEop/ud//odf/vKX3HDDDe864MgbvgUFBRQUFFBRUcGIESOCmVulFEopent7aW9vZ+vWrWzcuJGGhgb+/e9/09nZGXg+ysrKAjGr6upqBg4cSEVFBfF4/H175YUQTJ06lRkzZpBIJFi7di3XXnstw4YN4/DDD39P2/ywaGtr47Of/WxQv9ayrP1ezXZX97nWmoULF3LnnXfy//7f/6OyspKf/exn3H333fzHf/zHPttn7YxsNstRRx3FYYcdhtaa3/3ud9x0003ceOONZDIZbrjhBo4++mg+9alPMXfuXH784x/zm9/8Zr8z4D8OFBUVMWfOHJ577jk6OjqC5VprnnjiCf76179y8cUXU1tbS2dnZ78c2OnTp3PGGWfQ3t7O+vXrGThwIIlEgm9961tUVFSwePFibrzxRgYNGsT48eNxHId0Os3Pf/7zIC2o71howoQJnHnmmaTTaRKJBGeccQZNTU1s3LgxMGyz2Sx/+MMfiEajQXu11tx77728/PLL/OAHPyASiXDjjTfyf//3fzt9tlKpFLW1tdxwww00Nzfz05/+lNbWVlKpFOXl5WzdupWFCxdywQUXcOyxx/LEE09www038Nvf/nanpWnuuusu1q5dyw9/+EO2bNkSjIHy4xrXdRk3btx7LmvT3t7On//8Z6LRKD09PYBXWu9nP/sZZ555JjNmzGDNmjVce+21jB49mvHjx++wja6uLo444gj+8z//E/CiY5LJZOBltm2bcePGvSetA9hW83vr1q20t7cH/d7999/Pm2++yTXXXEMkEuGWW27hlltu4brrrtshKrG5uZmf/OQnfPGLX+TII4/kz3/+M7/4xS/4yU9+gmmaZLNZioqKGDNmzHvuL5944gkaGxvp6OgI2njyyScH7yDXdbnqqqsYPnz4TqtAKKXo6uripptuCvKY8+Myy7LI5XIkEgnGjRu337/LQrYRGrY+y5cvp7u7mzlz5jBgwABOP/10Hn74YVavXr1DxxOJRDj11FPJ5XLvWlJlX6Knp4fnn3+e888/n6FDhzJkyBAmTJjA008/zbhx4/qtm0gkOOuss4IOadasWdx2221s3LjxXQ3b/Ezb8uXLeeyxx3jrrbcYNWoUX/7ylxk1atR+E764cOFCDMPg5JNPprCwkM985jN8/etfp7GxkYMOOmiH9bXWtLa2EolEqKmp2Svhux8UeYGmRYsW7bUO/9BDD+XQQw8Nwrhmz57NzTffTDabfc8hYvnrkff2lpSUUFJSwtChQ5k0aRKwLbwqm82S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U2vvSy+9RHNzM1lZWaSlpZGXl0d5eTkPPvggs2fP1kJ+rFYrTz31FGazmYaGBlwuF3feeSclJSX84Q9/4KyzzsJoNBIfH39chG1xcTF//etftf24++67SU9P1/bjP//5D16vl8zMTNLT08nLy0MURZ577jmqq6uJjY1l4sSJzJkzh08//ZSlS5eSlJSEKIr89Kc/7VOoTnNzM3/84x9JTEykrKyM7373u0yYMEFr06effsrKlSsZO3YsTqeT3NxcTCYTH3zwAV9++SUpKSmkp6dz+eWX8+mnn/LOO++Ql5fH/v37ueuuuxg2bFi/9uHhCIVC/PWvf9UmQhYvXszChQu1fQkEAjz55JOEQiEcDgdz5sxh0qRJyLLM3r17+cUvfsE111zDVVddxVdffcWzzz7L0KFDKS8v58477yQzM7PPbaupqeFPf/oTmZmZlJSUcOuttzJs2DCtbVVVVTz++OMkJydjNBq56qqrkGWZBx54gJkzZ2IymTj77LOJjY3lueeeIxwO4/V6EUWRX/ziF6flvfall17SSvh0npAZbOjCdpBTWVnJv//9b37+858zY8YMVq9ezT/+8Q+mTJnSbckaWZbZuHEjpaWlZGdnn7SFn/uC3+/n//2//8dFF13E5Zdfzv79+7nnnns444wzGDp0aLe/ue6661i0aBGgxEmeLgNpWZZZt24d69at4/HHHycpKYm///3vPP300zzwwANd+qG4uJgnnniCn/70p9rDSZ2dPx2IRCI8+eSTTJo0iR/96EfU1NRwxx13MHv2bKZPn95hWYvFwi9/+Uvt2tuyZQuFhYXMmjXrRDT9hLBnzx7efPNNHnnkEYYOHcprr73GE088weOPP94llu2rr75i9+7d/Otf/8LtdrN+/Xr+9Kc/ceGFF5KYmHiC9mDgkCSJ559/nsTERH71q1/R2trKnXfeycqVK7ngggs6XGN+v5+///3vnHfeeSxZsoTm5mbuvPNOVq9ezbnnnnsC90KnJ7766itsNht33XUXmzdv5q233mLixIla2RNZlhk2bBjz5s0jOzsbh8OB1+vFbrcze/ZssrKytMnXpUuXMn/+fC6++GL+9a9/sXLlSmbNmsWePXt4+OGHaW5u5re//S2LFy/uk1utLMu8//77nHHGGVxxxRW8+OKLLF++nOuvv15bxmAwMGHCBCZNmkR2drYmoJOS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3HN88cUXPPHEE1it1hO9CwNKKBTikUceYefOneTm5rJv3z5uvfVW5s6diyiKfOtb3+LCCy/kmmuuoaysTOvH9PR0du7cycyZM7njjjtOi5hRWZbZv38/9913H1lZWfj9fiwWC7/5zW9wu91s2LCBe++9l5dffpmkpCTeeecd1qxZg91uZ9++fcybN48bbrjhtLhvnSjq6uq4+OKLOeuss45LFt9TATWj8u23387ll18+YNtdtmwZv/3tb7nooov0yZ0e8Hg8fPzxx7z55pvHLYlhJBKhublZC8+pr6/nu9/9LmefffZJl3CppbWF1nArya7k43pOqRmhb7rppg5Z7c1mM263G0EQ2LZtG7feeqvmeTh79myuvPLKLqXgjjf//ve/+e9//0swGNSSqOXn5zN06FCGDRtGVlYWwWCQV155hUgkwo033khOTs4JEeG6sD0JCIfD7N27l+rqarKyshg2bJhmFdq2bRtWq7XLrKcoimzatIm8vDytVMDpgDoTV1RURFJSEqNGjdJiUwoLC2lqamLSpEmIokhhYSGVlZVIkkR2djZDhgw5rdz51NnjHTt24Pf7KSgo0Or8qVajgoICbbY1GAyye/duGhoaOpyHpwuqtWT//v3ExMQwduxYrVh7eXk5xcXFTJ8+XYuZ2rZtGzabjREjRpx2MZDq+bJr1y6ampq0LJhqIo8NGzaQnp6uZcZsampi9+7d+Hw+0tLSKCgoOC1ErYosy9TU1LBnzx4sFgtjx47VSik0NDSwfft2Zs6cqSUy2bNnD62traflfetEUFdXxxVXXMHTTz89oCVVTiYkSeLb3/42l19+OZdeeumAbffjjz/mn//8J6+++qp+HfRAWVkZ1157LS+//PJxE7YlJSXce++9WmbkSCRCeXk5r7/+OkOGDDku2zxeFDcU0+BtYGzmWMzG4zdhqE7yVldX43a7tc8LCgq4//77sdvt1NXVsXfvXlJTU6mpqeH//b//x5w5c/jRj340oOOKdevW0dDQQHZ2NhkZGVquADXRHKCVgZRlGZPJdMLGPbqw1dHR0dHR0dHpgc7CtrthU3cJ0npKmtZXBvME2WAQtkc70do5SVtPSduOZn3RHOu6+tq2zsuWl5cfd2EbDoepr6/XtltfX8/NN9/Mc889x5AhQw57zfREX/rvSNdcb/qxpKGEel894zLHYTJ0nCzp6Trv7ro/EqIoct1117F48WIWLVqkfW42m0lISOiQ/FTdxrJly3jmmWd4/vnntWopA0F0OwY7+vSWjo6Ojo6Ojk4v2bhxIwkJCQwZMoT33nuPhQsXdogJX7p0KfPmzdOSvFRWVrJs2TLN9f6dd94hNTWV8847j9bWVj766CMMBgOLFi1i7dq1NDQ0IMsyN9xwA5s3b2b37t2MHz/+tMnY31fKysp46623+OY3v8nWrVspLi7GZrNxwQUXsHnzZi2b9NatW/ne976nlUx65513GDlyJKNHj6awsJAvvviC1NRUzj77bD766CNqa2uZOHEiOTk5LF26FJvNxiWXXEJNTQ0rVqwgISGBCy64QKvJrZbekmWZZ599ltGjRxMKhSgsLMTlcnHeeeexfPlyFi9ezPLly8nOztYS63388cfceOONWv6PTz75BIfDwezZs6mqqmLFihU4nU7OPPNMli9fTjAYZOHChVgsFv773/8yceJE5s+fz5YtW9iyZQtOp5PJkycf9743m80dyg2ZTKYObrwbNmwgKSmJ/Px83nvvPRYtWtRFmMmyTDgc1rzstm/fzpdffslll13Gs88+y1VXXYUsy5SWltLY2MhZZ53FypUrmTFjBq+99hoXX3yxVqVh//79bN68mauuukpJcvXKy5x55pkMyR/Czp072bhxI0OGDGHy5Mk8/fTTxMXFMWfOHIYOHUowEOS1514j9YZUKisr2bJlC3FxcVx88cWYzWZEUeSTTz6hpKSEvLw8FixYgCiKvPDCC0ybNo1x48YdVd/FxcVpWbs701lIqufVQNctPxkErYoekKCjo6Ojo6Oj00vq6upoampCFEVKSkoIBAJ88sknvPrqq1RVVVFWVqaV5wAlA319fT3Nzc14PB5cLhezZ8/G7XazdetWhg8fTkJCAqWlpVxyySVMmzaN2NhYWlpa2LBhA5MnT9YSRur0jN/v1/p6z549XH311WRnZ7N06VKqqqpobW1lzJgx+Hw+rS+NRiNDhgzhq6++IhwO89FHHzF27FgmTpyI2Wxm4cKFLFy4kA0bNrBq1SqmTZtGQkICW7duZcWKFZxzzjmEQiEOHTqklfFZsWKFtn6v18uIESNYs2YNF1xwAeeddx4Gg4Hi4mLt/FHPjaFDhyJJklY7WBAECgoK2LRpE5Ik8eGHH5KXl8fUqVNJSEjgkksuYfjw4WzdupX4+Hhmz55NY2MjAMOGDWPJkiX4/X7KysoO229qjfEDBw6wd+9eGhsbezzX/H4/u3btYufOnezcuZNdu3bh8XiOeGxqa2tpbm5GFEWKi4sJhUKsX7+eV199lc8//xyPx4Msy7z77ru0trZqbRoyZAhWq5XKykpWrlyJx+OhpqaGsrIyQqEQJSUlxMTEkJ6ejt/v17aXk5NDYWEhgUAASZCI2CIsX7OcJk8Tn3zyCRMnTmT06NGEw2GCwSCzZs0iOzsbgJ1bdtLc3Izf7+fLL79kwYIFVFZWagmRgsEgO3bs4Pzzz2f79u2EQiF27dpFRUUFTU1NR+yLo2H37t0cPHhQS3716quvMnHixAG11h4JWZY7xFefaHSLrY6Ojo6Ojo5OL1FdArdt28aBAwfYs2cP+/fvZ9y4cSxdurTDAE+1MBUWFlJRUUFGRga5ubm89957zJs3j9zcXN58801EUdSsiFu3buXMM8+ksbGRvXv3kp2dzZYtW/jWt751WuU16AsGg4GKigry8/NxOBwUFBSwceNGrTRbdEwgtOcjqampIRAIsGPHDrKyslizZg3f//73aWho4PXXXycvL4+GhgYt50RxcTF+v5/ExERSUlKor6/Xsi3v2bMHk8nE9OnTEQQBq9XKxIkT+de//kVWVhYXXXRRj22PbptaC720tJRAIMDOnTu1yg/f/va3KSoqYtWqVVx44YVaJmL19y6Xi6amJpqbm49YvWD37t388Y9/1MrJNDc3c8sttzB37twulro9e/Zwxx13MHbsWIxGIwaDge9///uMHTv2sNtQk3tu2bKFwsJCCgsL2bt3L0lJSXz55ZeMHj2atWvXsmnTJoxGo1b6TD3fs7KykCSJ0tLSHvsuelt79+6luLiYiuoKRKvIzu07sVgsNLc0s2vXLvLy8li3bh3f+ta3mDp1Khs3bmTfvn1Mnz6d0opSsnKztJI2r732GoCWsMlisRATE8NLL71EfHw8oVCIrVu3ah4V/VmXee/evbz11ltIkoQkSYwbN46bbrppUFlQJUnir3/9K3fdddegKG2oC1sdnX5ClmUteB6UG230gyoSibBz506GDx9+0pUykSSJffv2kZKSQkJCQrfLqLVdy8rKMBgMjBkzZlAl81BnwqOTGqhuY+pnahxLJBLR0uofrweIx+OhqKiI0aNHH/fBqnpuQvsAIBgMsmfPHkaOHNnrrM2yLFNVVUUkEtFmt/uTSCTCvn37yM/PH1Qz0jo60ah1UsePH4/P58Pj8VBdXU1iYiJDhw5lz5492rKhUIiVK1dywQUXUFVVxfjx41m4cCFxcXEUFxfj9Xq5/PLLaW5uZseOHcTHx1NfX09OTg51dXWMHDmSxYsX89RTTyGKoi5se0FCQgJff/01kiRRU1NDbGxst9ltZVlm69atpKSkaBbDnJwc/j975x0fVZX+//e90yeZ9N5DCIYk9KoUAVGxogL2/rOsXdSvZXet61pXV93Vddeygg1UbFgQEcVGlyY9JKT3Ppk+9/7+GO5hJglFRA3uvPe1L8PMnXvPPeeW85zneT7PiSeeyNy5c+ns7CQlJYUrr7ySF198kejoaLq6umhvb8dms2E0GnG5XHR2dpKQkEBaWhoej4fOzk4GDhwoasJLksTUqVOZMGECL7zwAhUVFQd1HmVlZbjdbrKysnA6naSkpDB16lQ+//xzmpqaGDJkCFFRUXz77bcMHTpUPOc1Yci33nqLE044odf64cEkJCTwpz/9iczMTCRJ4o033uD5558X9ZO791lKSgp//etfxXcH856XJIlp06ZRXFyM3W5n165dFBQUUF1dzZgxY4iMjGTgwIFs27aNwsJCkpKSaGlpEb+XZZljjz2WF154QZQW2hda6Z7jjz+essoySutKyc7Lpmp3FXqDnn79+nHSSSfx/PPPAzB58mSampp45513sNls1FQFytisiFtBQ0MDV1xxBR9++CF1dXVkZWVht9txOp1ce+21vPjii8KI3rp1K3FxcYwZM+awiR+edtppTJ06VcxJrFZrn3wG7M/L/2sTDkUOE+YwoNUUfvzxx7nqqqv4f//v//HHP/6RlStXCkO3s7OTW2+99YBhQX0Rj8fDQw89xKpVq/a5TU1NDddeey1PP/00b7/9Nh6P51ds4YEpLy/nyiuvpLS0VHy2ceNGZs6cyeeffy4+a25u5pprruGHH374RduzY8cO7rrrLlwu1y96HI2XX36ZlStXin83Nzcze/ZsmpubD3ofTqeTBx98UNQxPtyoqsqbb77JwoUL+8xLMkyY7lgsFiwWC3q9nqioKIqLi8nIyMDpdGKz2bDZbMKQ2rp1KwMGDGDYsGE4HA62bdvGnDlzWLFiBcOGDWPgwIF89dVXITmgAwcOxGg0kpycTHx8PHPnzqWwsDBc0ukg0fpvzpw5fPPNN5xyyilCxRX2CuG43W62b9/OcccdR0pKCn6/n9GjRzNnzhysVismk4m33nqLd955h4KCAo499lg+/fRTNm/ezNChQxk7dizvvPMOTU1N9O/fn7i4OLKyssjMzCQzM1MYN36/n/fff5/33nsPo9FIamqqKOcSFRWFxWLpsbjo8/lYu3YtJ5xwArm5udjtdiZNmsRbb71FR0cHqqry+uuvs3TpUoYNG0ZbWxuLFy9mzZo1lJSUsGTJEqqqqli3bh0NDQ377a/ExEQGDBiA1WrFbDZz1FFH0dnZuc93eEdHBwsWLOC9997bpwe1O9q+9Xo90dHRZGVlsWzZMsrLy2lsbMRoNJKRkUFGRgZZWVkhZbVkWSYqKoqcnBxSU1PR6XTYbDZ0Ol2PRQtVVfnhhx8YM2YMgwYNoqa6huaGZoaMHoItyobZZGbgwIG8/PLLpKWl4XK5ePXVV3n77bcZPXo0w0YP49TzTmXo6KGMGj2KvLw83n33XVwuF3Fxcbzxxhv4fD6ioqKYN28eCQkJDB48mFtuuYUTTzyRo48++rDepzqdjsjISGJiYsQ5h9k/fcedEibMEcyOHTu4/fbbGTx4MNdddx0mk4mVK1dyzz33cOONN3LKKacAez1nHo8Hv9+PwWAIKbitKAoejwdFUdDpdEJEQfMker1esXKnhQ1BQJFQURT0ej0ej0dsbzKZxENfK8Gi1+vFw9Hn8+Hz+ZAkCaPRGPKC0NoS3O7ejA3Nw7lhwwZUVeWhhx4iOjparGYbjUbRJqPRiN/vx+v1iqLxwR5U7Xg6nQ6Px4Msy2JyoPWL1s5gdcLg8zCZTL16WRMSEmhqamLjxo0iX23lypWi+LqmSlhaWkpJSYkQc9Daq/WvNiaKouB2u3v0sdZubRVb+333Pu6tP7U+1/pGuzZUVcXlcmEymfD5fL1eO8H9oPWpz+fDZDLh9XpZvnw5RqORIUOGhKgtateFoig99tmdlStX4nA4GD16tPhMGzOtX7S2aueq/e33+0ParR03eMz0ej1nnHEGf/vb3zj++OPDNUPD9EkmTJggnsvnnXceBoOBiy++GK/XK+4xbXJbVFQk7qnTTjsNWZbJyckRz/D09HQKCgrE80FRFFEiTKfTcfbZZ+P1evf5XPtfY9WqVSELX9XV1eJvi8VCdXU1XV1dnHvuueJ9ZzAYOPnkk9HpdKxZswaLxSKeO7NmzUKv1zNr1ix0Oh1Tpkxh3Lhx4jl11llniXepJEn8v//3/5BlGYPBwJAhQzjqqKPQ6/XieR8XF8fUqVNFey0WC1u2bOGMM87A5/OJd96FF16IwWDg/PPPF++znTt3ine/TqfjjDPOwGAwcNJJJyFJEllZWRQXF4t3eHZ2tjgPVVW56qqrADCZTGRnZ4t2NDU14XK5+Nvf/hYSLTZx4kSOP/74kOvK7XazcOFChg8f3mtYaWRkJGPHjkWWZbZu3cprr73GXXfdxdFHH73f61MLa9buGb1ez+DBg0V5PAh4dU8//XTRlzabjRUrVjBq1CguuOACZFnm2muvBRDvyPPPPx+73U5VVZUIBT7mmGPEHCc2JZadjTsDY3vqFMxmM6eccop4d0uSxDnnnAOA2Wym1dGKbJAZd9w4MjIz6J/XH7fbjcFgQFVVMjIyiI2N5cILL8Tj8WA0GsW9PG7cuF80yivMwRE2bMOE+Zl4vV5eeOEF0tPTueuuu8RLs7CwEFVV+de//sXYsWPFg3bVqlX84x//oLGxkfz8fK6//nqSk5Px+XzMnz+fxYsX4/P5sFgsTJ8+ndNOOw1FUfj+++958803aWlpISIigpkzZ3L88cej0+l4/fXXKS0tJTY2lh9++IGioiI2b97MvffeK+outre3c+utt3LVVVcxevRofvzxR1555RVqa2sxGAxMmzaNGTNmYDAY8Hg8vPXWW3zyySeYTCbGjRu3Xw/s4sWLefrpp2lubuamm25iypQpDBo0iLlz53L00Ufz7bffkpeXxyWXXMK///1vdu/ejcfjIT09nSuvvFLUYX7ttdeorKzEZrOxbt06jEYj1113HR0dHbz99ts0NTUxfvx4rrrqKvEy37RpE3PmzKG2thaj0ci0adM466yzeoQCWa1WiouLWb16NdOnT8fn87Fx40bOOeccvv32W+x2O5GRkaxdu5bs7Gzi4+NxOBz861//YvPmzTidTmJiYrjkkksYM2YMHR0d3HrrrVx99dWMGjUKSZJwu93ceeedTJ06lVNOOYXdu3fz4osvUlZWhk6nY/z48Vx44YU9QtFVVaWtrY05c+awdu1a/H4/Rx11FFdffTXJycki5+mss85i2bJl1NfXk5eXx8033yzyp3bu3Mmzzz5LfX09WVlZFBUV8cMPP/DII4+wYMECNm7cyO7du/n444/FvlVV5bvvvmPZsmU0NjZSXFzMDTfcQExMTI+Xs8/n4+OPP2bcuHEiTFi7vi0WC1deeaW4zm666Sb+9Kc/kZ2dzfXXX8+UKVNYu3YtNTU1FBQUcNVVV/Hhhx+yYsUK/H4/V155pTAWtEn+2rVrOe6448KThDB9juDQS+05YzAYevXUBH+m/d39/tdCVoEQj4y22NOXUjp+a+Li4igqKgpJrejo6AACeZjXXnutUOQN7mfNMBk+fDjDhg0TxqQ2JsHjFJwGETw2vf27e8qEloIEgfG79NJLxSJF8DtJ+zv4s/79+3PdddeJhUntu+DxDz5e8N+SJIkc0O7HaG1tRafTMWDAgJB6qcnJyeJvbWF07ty5VFdX8+ijj/bqHczPz+fee+8Vi7svvPACc+fOZeTIkfsNv+3tnukt3SR4HAYNGsTAgQPFomn377V9xcbGcs0114h+C/bM6w177x+dXifGIvjaCG6Hoip0ODswG8y0OdpIi0kL2XbSpEmiLd3vy/B92jcIj0KYMD+T9vZ2fvjhB2bPni2MWghMUE444QTmzJnDtm3bKCoqwuPx8OWXX3L99ddjNpt59tlnefzxx3n44YfZsWMHr7zyCnfffTc5OTl0dHQIEZINGzaIMOfCwkJ2797NM888Q1JSEsOHD6ejo4MlS5Zw4403cv/992Mymbj//vv58ssvycvLQ5Ik1q9fT0NDA/n5+VRWVnL//fdz5plncvTRR9Pc3MyTTz6JzWbjlFNO4fPPP+f111/njjvuICMjg/fffz8khLc7EydOpLW1lYULF/LXv/5V5DhpohB33nmnCN2bPHmyyOVZtGgRjz76KP/85z+JiIigvb2dJUuWMHv2bKZPn87ChQu56667GDt2rDBwH3jgAYYOHcqECROoqKjg/vvvZ8aMGYwdO5bm5maeeOIJoqOjmTZtWohRJMsyI0eO5PXXX8dut+Nyuaivr+f666/nm2++EYIj69atY9iwYZhMJhwOB8OGDeO0007DaDSydu1aHn/8cf75z3+SkpJCeno6ixYtYuTIkUiSRElJCVu2bGH27Nm0tLRwzz33MHbsWC677DKcTif/+Mc/MBgMXHbZZSH95/P5ePLJJ4VhbDQamT9/Pk888QR//etfURSF8vJyvvzyS6688koMBgOPPfYYb775JjfeeCOdnZ088MADDBgwgOuvv576+nqefPJJMYE49dRT+eyzzzjmmGM49dRThRe3q6uL1atXc80116AoCg8++CAffPABl1xySY8x7ujoYMuWLZxzzjmiX91uNxs3bhQRCRDwoDQ1NREVFYWqqlRXV/P5559zww03YDKZePjhh7nttts4+eSTueeee/jyyy95+umnGTJkCNHR0VitVvLz81m5ciVTpkwJG7ZhwvxOcDgclJSUUF1djdFopLi4mKSkpF7rv27fvp3t27eLzywWCxMnTqR///5isRYCi6qbN28GCInw6Q1toeDXItjIOhg0T+0vgcFg4PTTT99nHVu/38/rr7/OV199xYMPPkhaWlqvz97gqC6dTsegQYNYtGiRKHF0ODnQeGoELwJ0R1EV/Ioft8+N1WhFZf8pLo2djdz74b3kJ+Xzx1P+SBqh/RV+H/VEkiShIt4XCOfYhgnzM3E4HDgcjl5f0JGRkVit1pA8xvPOO0/kVl111VWsX7+empoa/H6/MGRtNhuFhYUMHjwYgIULF5KVlUV6ejqdnZ0il2fZsmVi5bqgoIAzzzyTfv36kZaWxoknnsiXX36Jw+HA5/Px2WefMW7cOKKjo/nyyy/R6/UUFBRgt9sxGo0MGjSIJUuWoCgKH3/8MSeeeCLHHnss+fn5XHzxxUI0SlVVWltbqa+vp76+Xng64+LiMJlMpKeni20TEhK4+OKLyc/PJyMjg6SkJAoKCkQtQavVSllZWUgOUHFxMaeddhp5eXmcfPLJuFwuzjrrLAoLCxk1ahRFRUVs2bJF1PgzmUy9nkd3JEli8ODBNDc3U1NTw86dO4mOjqZfv37k5OSwceNG2traKCkpEYaq1Wpl2LBhNDU1sX79enw+H52dnezcuRNJkjjhhBNYtWoVLS0tKIrCkiVLKCoqIj09nTVr1tDU1MTIkSNxOByoqsrIkSNZsmRJSCkQCOQnf/vttxx77LH4/X6cTiejR49m3bp14tqRZZkLLriAwYMHM3DgQE4++WQ2btyIoijs3LmTmpoarrzySvLz8xk3bhzTpk0T+4+OjsZisRAbG0tmZqa4VvV6PRdffDFFRUUMGjSIqVOnsmHDhl6v87a2Nux2e8gqv8PhoKamRoROqqpKWVkZ0dHRISJjM2bMYPjw4RQVFTFx4kQAzjrrLPr168epp55KR0cHjY2NYvvMzEx2797dZ8oHhAkT5uczf/58nnrqKdauXcsnn3zCddddx+bNm3tNcfn888+ZO3cuO3fupKSkhN27d/d4boY5PPh8Pt566y0WLVrEPffcQ05ODoAQw9y2bZvI67Xb7fh8PpE2s3z5crKysvqMUdMdRVH4esfX/HHBH6lsqdyvdoOqqny/63v8fj+bqjdR21b7K7b0yENLp5IkiUsuuSQkkuu31MgIe2zDhPmZmEwmjEajePB3z1dxuVwh6oEZGRlim+TkZPx+v1BRvPTSS3nhhRdwu93k5ORw8cUXU1BQQE1NDWVlZTz77LNi36qqEh8fLx4gycnJYtVSkiTGjRvHiy++yNatW0lNTWXdunU89NBDSJJEdXU1NTU1QhVQ219BQQFut5uWlhaysrJEO202G/Hx8UAg9Pq5554TBtDpp5/OBRdc0GvfaIIHGuvWreOBBx4gLS2NpKQk/H4/DocjJMw5ISFBrKobjUYiIiKIiYkBAsad2WzG5XIJb2B1dTX/+te/Qs6jsLBQ5CoFox13w4YNNDY2UlRUhNFoZMSIEaIkhE6nEx6Bqqoq7rzzTkwmE5mZmeh0OpxOJw6HQxjKJpOJVatWMX78eJYtW8Yf/vAHdDodtbW1tLS08OKLL4a0TatVGIxWx/Dtt98OmSAMGDBA/G0wGEhISBAGZEREhBCeam5uxmq1in7S8rEOtLpsMpmIi4vrdZ/d0XKHg/u0pqYGvV4fYuxu27aNvLw8ke+t0+lITEwUbbFarSQkJIjzNJvNIgxOw2g04na799v2MGHCHFmccsopnHPOOZjNZnw+H/fccw/vvPMORUVFvW4/fPhwbrnllrCX7Bdmw4YNPPXUUwwbNowPP/wQCHjItcidm2++mTvvvJOJEyfy1ltvsXHjRpKTk6mtraWuro677767z4bhun1uPt/yOZ2uTpbvWs60omn73NbpdbJ482KmDJzCxqqNbK3bypSCKb9ia48s2tra2Lx5M+PHjw/R+li0aBGFhYVkZ2f/Ju3qm1dimDBHENHR0eTn5/PNN98wadKkkPyO7jXZ/H4/zc3Nwhhta2tDlmUsFgtGo5ELL7yQmTNnUldXx5tvvsnDDz/MCy+8QGxsrJDk7x4KpD1QutfAS0xMZNiwYSxevJi8vDzi4+NF/mJsbCx5eXkh4araPmRZJjIyMsSD5nK5RB6TwWDg5ptvFobI/krFdJ+QLFy4kBEjRnD77bdjNBqpqKhg6dKlB/yd9u/gzyVJIi4ujv79++/zPLoTERFBYWGhEI3SDPLCwkLmz5/Pd999R1ZWFgkJCQB8/fXXWCwWnn76aSwWC11dXaxYsULsLzIykkmTJrF48WIsFgter1eUIoiNjSU5OZlHHnkkpGRCb+FpNpuNyMhIbrvtNvLz80O+MxgMouh7b/0AEBUVhdPppKurC4vFgqqqNDY27lPsK3g/+9pnd2w2mygjoe2nrKwMm80mDGqPx8PGjRs58cQTf/JkNLitbW1twuAOE+bXRhPq0wj+O8z+8fl8IQuVWmSIJEmiliwEFnmtVut+tRt++OEH7rnnHpKSkjj55JPJy8v72e0LFioKEyA9PZ1777035BlsNBqF0NUdd9zBwIEDhbhTQUEB7e3tjBs3joEDB4oF175Ic1czna5OTiw+ka21W/Ep+/b6d7o6qWqt4oSiE/ApPrbVbjusNWl/b7S0tPDRRx+FpAZAQEzV7XaHDdswYY5UTCYTl112Gffccw9vvvkm06ZNQ6/X8+OPP/L8889zzjnnkJqaKnJm58+fT3Z2NkajkTfeeIN+/fqRkZFBRUUFLS0tZGZmEhMTQ3p6OuvWrQNg2rRp/OUvf+Hbb79lxIgRwlupSeD3hk6nY9q0aTz88MOsX7+eadOmiVCRSZMm8d577/Hxxx8zdepUdDod9fX1KIrCwIEDmTJlCvPnz2fixIkkJyfz4YcfUlsbCMvpTaTip/RVTU0Nra2tALz66qvY7fZD2hcE6s998MEHfPLJJxx33HHIskxDQ4PwPvfGqFGjePDBB4mLixOiVZmZmaiqyscff8yFF14ovJImk0mEyUZGRrJw4UKqq6vFvmRZZurUqXz44Ye0trZyzDHHCCXfkSNH8tJLLzF//nxmzJiB0WikpaWFjo4Ohg4dGtKmzMxMBg0axH//+19uvPFGUS+xoqJCKD3uj/z8fGw2G++88w6zZs2iubmZjz/+OGSbqKgoampq6OjoEEIqP4Xo6GhSU1MpLS0VL7IdO3bQ1NREWVkZsbGxfP7552zdupXzzjvvkMOIFUWhpKSEQYMG9bo4ESbML01tbS1/+ctf6OrqAgKGrbawF2bfqKrKyy+/zMKFC8Vnubm5QmMheLutW7eyYsUK/vSnP/W6r6FDh5Kenk5sbCwrV67klltu4amnnqJfv34/q312tx2/4ifaEh02WPaQkpISopPQncmTJ4u/ExISxMLvkUBtWy2x1limDpzK9yXf0+nqJC4irtdtm+3NOD1OUqJT8Pq9fLThI7yKF5NsCi+I7IMffviBu+++O+Qzl8tFVlbWb9SisGEbJszPRpIkjj76aO677z5effVVFi5cKEI2L7jgAmbMmCE8q7GxsfTv3597772X9vZ2YmJiuP322zGZTDQ1NfHEE08I74DJZOL666/HarUybtw4rrvuOl555RVeeOEFdDodFouFG2+8EQisrvbmOR0yZAiRkZE0NTUxadIk0d6jjjqKP/7xj8yZM4d3331XlBa66KKLGDhwINOnT6eyspK77roLm81GQUEBAwcO3G+4kV6v7yGe1V398+yzz+Yvf/kL11xzDVFRUYwcOZKMjAxhwHQ/D03ZMvhlooV+awq6d911F3PmzGHBggXiPC655JJeDVtJkigqKsJisZCVlSXyQC0WC4WFhVRVVTF8+HCx/eTJk/n++++FsVlcXExhYWFIP/Tr149+/fqxadMmbrzxRuEFTUtL4/777+f5558XOc06nY7TTz+dIUOGiDHUyjX88Y9/5Nlnn+XWW28VHo5hw4YxfPhwke8bbOhp/Q0BpdA77riDZ555hi+++IL4+HgGDRrEtm3bRN9Nnz6dZ555htWrV1NQUMCVV17Zo28NBkMP1U+NiIgIjjnmGFasWCHKSOzYsYMBAwZw9913o9PpGDhwIJmZmSxZsoRJkyaJ8QsOX+5+DO3ctG2am5upqKjgD3/4Q3gSEeY3ITY2lquuukpEpbS3t3Pffff9to06ApAkieOPP54JEyaIzyIiIkKiabSa7w899BAzZ85kzJgxvd7n48ePF/s85phjqKmpYfHixfzhD3/4WW2saa/B7XNTbClGIvx8+b1T1VpFWnQaI7JHIEkSrY5WsuN79yRWtlYSZYnCarSSGZdJm7ONdkc7ibZE3D43Xr+XSFNk+L20B+3evPPOO3t891uGpkvqb5nhGybM7witLqfmmY2IiCAycu9DUFEUGhsbiY2NxeFw4HK5RHF2LcfRbrcLL0FkZCQREREhuQva95IkYbPZxG+1Y2ohocFtamlpwefzkZiY2KOQudPpFJ6I7u31+XzCsxodHU1HRwcRERG9SvQDIhQ2Pj4eSZJwuVx0dnaGhClpoaydnZ0YjUaioqJobm4mLi4Og8HQ4zx8Ph8tLS3ExcWJB6UWvq3V2Ot+Ht37rTt+v18UhI+NjRV939nZSVdXV0j+p1aXtq2tDZ1OR0xMDG1tbSH9oKoq7e3tOJ1OEhMTQx7o2jXR3t6OqqpYLBZsNhuyLIvPExISxLj4fD7a2tpE3cqoqCj0ej1+v5+mpibRT937W0O7PqxWK6+99hq7du3i0UcfFbUC29vbcTgcGI1GYmJiaG5uJj4+XrS5q6sLt9st+qU7u3bt4q677uKpp54iIiKCSy+9lDvvvJP+/fuLcbPb7SHj09jYSHR0tFiwsNvteDwecQztvtDG+N1332X58uU89NBDh11lM0yYQ6GpqYmZM2fy4osv9gi7CxNAURQuvvhiZsyYwZlnntnrNlqk0Z///GdGjRrFlVdeeVD3uKIoPPTQQ+j1+h6T6MWLF/Pvf/+b+fPnH3Ayraoq2+q34fa6GZwxGFmSe3yv8XsyXqqqqrjgggt4880396mKfLhpbGxk1qxZvPzyyz/Ly74/VFWly92F2WBGr+s59qqq8sf3/ohe1nPHSXdw7r/P5epjr+a0Iaf1uu2L37zIpz9+ym0n3oZO1nHDGzcw5/I5FKQUUN1WTaerk6NSjupx3Rwqfr+fiy66iHPOOYfp06cfln3+mtjtdioqKigsLPytmxJC2GMbJsxhQpIkzGbzPj1esiwLkZ3eXuaasRostnSw3/dWSF37TbDh0/07q9Xaw6uqodfrRY1U4IDhRxaLpUf9v+59oYUxB4cyBwsPdT8PvV4fkpcF9DDeD3Qe3dHpdKSkpPTYR1RUVI/ja97U4DZ27wdJkoiJienRLu27fV0TJpOpx7np9fpe+1mn04W0AUL7W1VVvv32W9rb20lJSWHnzp18+OGH3HrrrcIT2ls7u++z+9h0Jycnh5NOOokff/yRvLw8HA4HWVlZIdeYFoqt0f0cg/ONIfS+cLvdlJSUcOmll/ZZlc0wYfo6fTVssra2lrvvvptBgwYJYSKv14ter6epqYk1a9YwefJkDAYDNTU1YrGroqKC1atXc/XVV/+i7fMpPuxuOzGWmF/0OGEOD37FT0ljCZlxmcRZe2oyKKpCZUslE/MnYtQZSY1OpayprNe8WRWVXY27yIwLlCKMMkcRFxHH7qbdFKQUoKgKiqqACmFHf4DIyMg+Z9RC2LANEyZMmN8FZrOZhQsXCo/yTTfdxOTJkw/r5Fan03HRRRehKApbt25l+PDhREdHH7b9G41GbrrpJkwmU5+blIcJcyTg9XtpsjeRZEtCJ/0yNVEPlXnz5rFp0yZ0Oh133HEHEChTd/3111NWVsbf//53Ro4cic1m45lnnqGlpQWDwUBLSwsTJkwQ6TT7Q1VV/IofWZJDxPGC6S0EWVVVOpwd7G7eTVFaEWZD7wvUfZHfo6f5YM5JRUVRFXz+3gWhHB4HjZ2NpMakIksyabFpVDRXoKhKj3tDURR2Ne5idO5oIkwRZMZmkpuQy7a6bUwrnvazy9eoqopP8aGqKgad4YgZJ5fLRUtLCykpKfu8nyA0Gq+74+DXJmzYhgkTJswRjiRJjBw5MkRoan8voZ+DFu43ePBgBg0adFiPoXm4w4QJc2g4PA5q2mqItcaik/uWYXveeedx0kknhXymRYgUFRXx3HPPERsbi06n489//jPNzc14vV6ioqJISko6KDE5RVXY2bATvU5PbkIuekmPoig4vU6sRut+PW4+xYdK387OU1UVr9+LX/Vj1pvF87eipYK4iLjfTQ5ol6eLLncXibbEfeZCa/VS92XYdro6aXW0khSVBBJkxGTw+ZbP8fl9Pe4NzQhOjkrGZrIRYYogPymfkoYS/Ir/sNRlrWqtwuf30T/pyElnaG9v549//CNFRUVMnTqV3NxcrFYrBoMBRVFwuVw0NzezYsUKFi9ezAknnMDZZ5/9m7Y5bNiGCRMmzO+AX8qQ7SvHCxOmL3OoXjNVVWnobMBqtPYwSg5lnz7Fh1/1B8Im93NMj9+DQWc4bPmCB0Nqaiqpqam9fhcRERGSvxwdHf2To0FUVcXhcdDh6kCWZLx+L3pZT5eni12NuxiYMhAVdZ+Gktfv/ckGjKqqIft0ep3oJB1GvRGP34PT4wxRYA7e/lCfn42djdjddvKT85GQUFSFVkcrkiQRaYo88A76MFr/t3S10NjZSFxEHLKu92tUURVU1H2W8Klrr8OkNwX6H4mkqCQhHmYymMTxXF4Xla2VuLwuUqNTAwsgQH5yvqiBq6KKsQtupyRJeHwefH4fFqNlv2Pq8Xn2e1/2RRITE7nvvvtYsGCBENBLSEjAarUKTZDW1lby8/O56KKLGDt27G/bYMKGbZgwYcKECRMmzM+mqq0Ks95MQuTB1/VUVIW6jjoAjko+CpM+NAy/yd6EzWzr8XlvqKqK3+9HUZT9TqD9ip+ShhLSY9KJscYcVDuPFNqd7ciSjCzJwvjwK358ii9gCO3HcPX4PHsNGO23qh8AnaTrtf99io/SplLSY9KJMEZQ2VqJxWAhMzaT+o56muxNDE4fLMSNvH4v5S3lZMZmYjaYURSFTncnNpPtoMub+RQfXsULaqB9Hc4OFFXB6XGGbHckasMqqkJNew0e377rG2toY9WbYauqKqWNpcRaY0mJCoTGxlhj8Pv9NNubibIE9DS0PN1VZauQZZm8xDwSbQFtkcy4TOo769nZsJOEyIQQb77L66LT1UmiLZH6zno6XZ0UJBcc+B7t4xEB3ZFlmezsbGbPns0ll1zC1q1b2bFjB21tbRiNRrKysiguLiYzMxODoW+EWIcN2zBhwoQJEyZMmJ9Jh7MDv8lPAgdf51Mzolw+Fw2dDWTGZorvfIqP6rZq0mLSSIxM3M9e9uJVvIHcQ0UJyTUNxq/6cXqduH3ug27nkYLD4yDCGIHL5xKfaX2sGbb7Mi48fk9AZd/rpN3ZTpItSeRkJkUlYTPZevSl1++lzdFGjCUGq8GKz+9D0Sniu+6LDF6/l5auFhIiEzAbzNjddrbXb6cguUAYWwdCOw8FhXZHOyWNJaiqik7S4Vf8wohWUWm2N+Pyug6wx18fj8+DJEnoZX1In3r9XuFp3Z+XW/O07i/HtqSxhH6J/YgyR6GiEmmKRKfTUddRR05CDpIk4VN8uL1uypvLSY1OxWKwiOPER8Sjl/VUtlZiMphCPP3NXc00dDYQFxmHX/EL7/F+kUBVjizDFvZGZyUkJDBhwgRRiiv4+77ErxeDEiZMmDBhwoQJc4TiV/z7/E5TTQ2eZPsVPw0dDeIzzcAK9qRpE2KrwYrT4wyZHGtCSF6f96DbqB3L6/eyq3EXDZ0NPTx3mtGridn8XlDUPbm0pkAoqXZuCooYH4U9Xttup63laqqotDnbKG8px+1z4/F7aLQ3srN+J16/N2R7r9+LhIQsyYEwUwL9qh3D6/ei0POagL0CVn7VLwyjg0VFxe1zU9VahdvnFteQx+8J8V76/D7KW8ppsjf9tI78hVFVlcrWSmraanr/fo8nVpIkJCT8ip9dDbto7GzcO6aqQk1bjRhzh8chvtPum9LGUmHAypJMWkwaMZYYKlsqxbEUVcGv+qlsqSQtJg2jfm/FiihLFJGmSKpaq+hydwX62OcJ/K0tkKh7xlTde27B97jX593rSVfZ78LKkYJm6PbVdKSwYRsmTJgwYcKECbMftEntPr/fM5kONn5dXhflLeV0eQIT4bqOOqpaq0KN1z2T+AhTwMvY3ehVVAWP/8BhmRqa8eX1e+nydFHVWoXTGxqiqokk7cvTdaTi8/vwK36shj2G7Z6+1cZEEwHS/heMoirC0FcURfxeMzh9ii/EsPX6vWyv206HqwOVgJdXO5bmHdaMTq8S+jvtePvzNu4PzWiuba/F4XGIz/2qv4fxragKzV3NIqT6t8DhcYh7QMPnD+1P2HsPaSHWmvHv8XtocbTQ5ekK2dbjC3jYuzxdNHQ2iO88fg876newq3EX6THpwJ5yiWYbGbEZ7GrcBewJUff78Pg81LbXUpRWhM281yuvl/Wkx6RT3Vq956BQ11FHSWNJyH0e7K1td7bT5mwT39V31rO9fntgkWPPdsEh8t37IMzPJxyKHCZMmDBhfjcEr9r/r6JNzPriavqRzL5EamCvoaIJN6lKwKvmV/24vC5sZhsdzg7anG1YjBbiI+KRJEkYWlajlTZHGz5lr2Krts/9TX67X+daG32KT3hmm+3NWOOsoduo/O4m1V4lIP6ked1UVaXR3khNW02I0al5zoIJNjg0YzbEyFUD42k1WpEkCb/qp8vTRYQnAlQCY6348auBY2hGpmaEah5IYTyrCi1dLZS3lIv9q2rAW2zSmwIhsXuuj+4Ee3eDDVutjTZsgePu6Y9gj+JvQU1bDS6vi4GpA0WZnd4WF1RUqtuqA9e9oiDpAs+v4MUF2Fs6x+Fx8MH6D6jvqOfqiVeTE5+DT/HR2tVKWXMZHc4OUqJTxHNQlmTSY9PZULmBsqYyujxdSEg4vU4aOxspTi/GoNtbP10n68iOz2Znw07RPs0YFSJSez7TwsNr22tRUYmxxIQscLh9brFQItScFd/vbnGpLxA2bMOECRMmzO8Kn88nJqT/i0iShF6vDxu2h5nuhq02cZUlWUxw/Yqf1q5WmrqaiDRFipzNYCXi+o564iLihKKtqqqidIvH58GkDyi2KsrekNb9Udtei07WkWRLEhNlzStrMVoCk+o9hhUgQm73Z6gfiWj3vF6nF0ZEm6MNp9cZCGlV9+2x1cYSECHGwR5bFVXkqiqqgt/vF39rY695jBVVER49naQTnn5h5AZtr42t5lGtbq3GarKSG58r2tbSFfBWZsZmBhZOgp5twV5MSZLEWHv8Hqpbq/uECq8WLuz1e8WiTfeQfAh4MO1uu7g2dbIuZAy0hYlWRyt2t53FmxezbPsyUmNSefLzJ3ks5jEMsoHq9moaOxsBiI+IF/uXJZnMuEw++/EzyprLhPpxU2cTOllHalRqyDPTpDcxOnc03+z8Bo/Pg8VoCWmvZpx2jwTQFhiCQ8y1v93eQAh5VnxWr9dhmJ9PnzJs/5dX2H/vHK4JVrA3Jny99C2C8y0OdbzDY3rk0BeNJs3D8r9s1MJeddy+mgN1RKIivG2aJ63L3UVlayX9Evrt9dgqfhxeR6BEyJ7nmdPjFGGnUeYo7G57QNhJJ4uJr0lvQpZk3D43kWrkXu/enkm+oirC2xXaLFWUt4mPjBcGkpaXazaYhTElIYUYysGf/x7wq4FrXusnRVGEMaoJaimq0us9EWxkaP2ieeA1WhwtuH1uYqwxlDWVhXjfgj3r2r8lJIx6Y6+hyJp3V7Rd8YtjOjyOkHHpdHfS4eogLTqN0qZSOlwdPdovSzJGnVEIgrm8LlocLYfemYeR4HtDiHih0unuxO62YzPbgL2h5BA6Hoqyd/HAr/opbymnpq2GT378hEuPuZR+if14YOEDvPvDuxw/8HhUVWV3025SY1JDjFFZkkmNTsXuttPp7MRqtAa2bd5NXEQc8ZHxIe2WJIn85Hw6XZ20O9uJskSFCJB5/V6qW6vFgomGSsBz6/a5MegMwoOv/bfF0UJGXEavkQNhfj59xrDVBvd/faX994Q2qdLr9SGrxT8HVVXx+X5fghe/J2RZRq//6Y8VEQKm7L8cQ5i+gSRJojRFXzOcwu+PAOH76PATnFenTV7bnG20OduIMEYIw8TjC4j4dLo6sRgCHlOthmWkOZJ2Zzt+xY9BZ8CvBHIJ9To9Rp0xRME2ODfU4XGgl/WYDeZelXklSQqU+tnjQfb4PUhImPVm2rxtgethz880T60Ize1bt/Aho6lAa7V5vX5viPKzX/ULwZ8eocjBgj97Qoe7L5LZ3XZcXhcmvUnsV1t8CA79VdgTSitJYow1NI9691rDiqoE2oWK2+vG5/eJkGoZWey/zdkWIkAV7PEz6U0hObx9Ac2Q1Qxbl9clcoM1RWnNsO1u7IeklewRadI8n9/s/IbsuGzG9R+H0+vkpOKT+GTjJxzd72iQYEf9DvIS80JCi2VZJsYaQ4w1horWCpKikgDYXredQemDsBhCPbIAsRGxxFhjKG8uJyM2Q/Srdl24fe7AdRIkSubyuvD6vRh1RnRSwOvc2Nm4d+FjT367tpgR5vDSZwxbCBu1vze0F4Xf70en67nSfCj7Cxs+fRttfA7F2Anf/0cWh7qIESbMkYrwJu3x1na4Oog2R9Pc1YxRZxQGk2b0+FU/MZYYWhwtODwOJEkSwkYevwezwRwwxuRASR6zwbzXw7gnzFEi4Lktby5Hr9MzIHlAiIdVU/NF2ptjatAZ8Pg9AS+e3hgoQaMq6Ai8h31+H0adURgd2ueHipbHeSBjSlVVamtr2bx5M0ajkaFDhxIVFdW7B1VVqa+vZ9OmTRgMBoYMGUJMTMx+3y1+xY9O1gk1XZfPFdImzZCXJKlXg0JFRZZk0e/dzyk4Z1IjWPFa8/R6fV7ane1AQIBIu24cHged7k5kSRb5z0IdWdlrdPsUHz7FhxGjaJeWdxqMxWDB4Q3k2EpI6HQ6sR9tnnSw3nifz8f27dupqKggJSWFoqIijEZjr9v6/X527txJWVkZSUlJFBcXYzKZet02uC1dni7qOupCFm+CPaBaGHXwb7VttD7y+r20drXy1fav+PMpfyY/KZ8fa35kbN5YPtv8GStKV1CcXkxJQwnHDTxOLHJAICw8JSqF3IRcttZsZWT2SJxeJ6WNpVx6zKUhisgaZr2Z/OR8NlVv4ui8o/emGzhaRduCDVQtt9rr9wbGfo+hrm0PgWulrKlMRFDsD1VVqampYfPmzZjNZoYMGbLPeyZMgD41KzncBovX66WyshJFUcjMzMRoNIbWy/J6qa+vp729nX79+mGxWFBVlY6ODurr6/H7/SQnJxMbGwuA2+2mtrYWl8tFYmIi8fF7xR8aGhpoaWkhNTWV6OhoANra2mhoaECWZTIyMjCbAyutWrtUVRVFjQFcLheVlZWYTCYyMjIOizHYFzic49rbKqu2MirLsjCmVVUVk4VfkmBPIxByzGDhid7aEtzWYOn07ucAfc8rtj8OdbzDRm0o3a+NvsaRPF77uvfChNkfWm6qhITD48CgM5Aem05JQwl2tx1AeGy1WpiR5khaHC3Y3faAB09vQK/T4/a6wYwIMZYIGLZauGtjZyNIBEJZ/V7sbjs6WYfb5w7xLGnGl6IEQp1VVcVsMNPl7sKoN2LSm0RJGb2sF+q+ZoNZ5AEGe7V+KqoaUKfd1biLLnfXfrfbunUr9957L3l5eTgcDubPn8+DDz5IbGxsyP2nqiolJSXcfffdZGVl4fV6ef3113nooYdITNx3PV+f4gv0pdTNWNyDFoqsqAp17XVkxGaECHWhBgSDFP9esaLuxrp2vhrCQ8resOcuTxddni5MehN6nV5s0+nqRCfriDBGBMZNUYiPiA/kaQbn/6pqiJdXG9/uIlAWo2Wv8S4FjGgtBF1RFUx6EzGWGBrq9ioG94aiKLz77rvMnz+fIUOGsGPHDo4++miuvvrqHouXqqqycOFC5s6dy5AhQygtLWXIkCHccMMNYi4b+oO9hqnT4+yhLK5919TZRGVrZc+fa2Hde0Lzm+3NfLn9S2KtsYzIHoFJbyLaEo1f8TOteBrv/vAudR116GU92fHZYg6lYTVaGZ49nPmr5+P0OgMGpiQxOGNwr+8ASZIYljWMOd/Nwe62YzaYQ/LTg68R7drScHldvSqpe/17Fj4OMFVSVZUtW7Zw7733kp+fj91u56233uIvf/nLARd5/pfpU4bt4cTv9zNnzhwqKysxGAxERERw/fXXh9x4mzdv5s0332TLli08+uijFBYWAvDNN99QVlYmVqVuvvlm+vfvzyeffEJJSQlms5kdO3ZwxRVXMGTIEH744Qdee+01srOzqays5JZbbiEmJobnn3+eyMhIOjo6cLlc3H777VgsFl5++WVqa2vR6XRER0dzzTXX4PV6+dvf/obZbKa1tZWRI0dy5pln9rgpw4RSW1vLvffey5lnnsnJJ5+MqqrMmzePb775hr/85S8kJCT8osf3+XzMmzePnTt34vf7GTFiBKeddhp6vZ5Nmzbx7rvv4vf7mTJlCscee2zIeLa2tjJ37lwaGhowm83MnDmTgQMH0trayquvvkpDQwO5ubmcf/75WK3W/bTiyCfshQ9FVVV2797NggULKCoq4sQTT+yTz4LDlWLwa6MoCosWLaKpqQmTycQZZ5yB2Wz+rZsVpo8jDAspEIJo1BuxGq3oZB12tz0gIrVHuCfSHInL68JqtAYM1q4WDDoDBp1B5EJqBows7fXY+vw+2hxt1HXUEW2JxqgzilI0AB3ODiE0pbVJm1A7vYE6uEa9UeTdGnSGgNfX78Pj91DRXIFP8WEz23D5XPutzXuwdLo6cXgcQvSq177bMycbMWIEt956K16vl5tvvpnPPvuMc889N2RbVVV59dVXKSgo4E9/+hM+n4/bb7+djz76iEsvvXSfzxzhsd1TW1ZTf9bQ+lBRFeo76kmITCDCFCGOKYxDzfPai2hXd49tcOhv97JKWv9rBq9P8YlrQAu7tRgsSH5J5JFq//P4PHS6OokwBYW4+z0hhrpRbxSGuISEXtaHKDproesHorm5mblz53L77bczfvx4du3axezZsznxxBPp379/yLZtbW288sorXHvttUydOpXKykquu+46TjzxRAoLC3uMjVZDOLivQo5tb0ZCwqt4e5S10uYFfsWP2WBGlmRWlq1k8ebF/PmUP5MQmYBO1pEZm4nD42B8/ng2VG7gow0fcd7o84gwRYTkpUtSIOe5ILUAr9/LytKVrNm9hokDJhJjjem1b6xGK0f3O5rXVrzG2t1rmVo4NeT74HB+zfussT9xNqGQvB/r1u/388orrzBmzBhmz56N2+3mpptuYvHixZx99tn7/N3/On3WsPX7/XzwwQfs3LkTVVVxuVxcfvnlZGVlBVau/D0fxrIsC89YfX09q1at4tFHH8VoNHLHHXdQVlbGgAEDxPbFxcXcc8893H///SH7mTZtGjqdDkVRePLJJ9m4cSP9+/fnpJNOwmg0Issy8+bNY+nSpQwaNIh3332Xs846i3HjxvHqq6/y6aefcvnll3PzzTdjNpvxeDzMnj2b0tJS4uLi+OGHH3jssceQZZk77riDiooKGhsbcTgc3HnnnTQ0NPDAAw8wdepU4f0N0xNVVSktLaWzs5PNmzczbdo0ysvL+fLLL3G73URERPwq7Rg8eDCnnHIKTqeT++67j/z8fHJzc3nhhRe47LLLiIuL45FHHmHAgAGkp6eL333++ed0dXVxxx13sHLlSubOnctDDz3E22+/TUREBLfeeivPP/88X3zxBaeeeuoRaUAcKqqq4vV6Q14Ser0eRVGE2qvPF3hpaJENPp8PnU6HLMu0tbXhdDpJSUnB5/OJ32g52tp2vdHV1UVzczOZmZk/uc+1Z5PmbdfpdD08Edo2B1KuXblyJcOGDWPt2rVMnjw5bHgdRmRZZvLkyej1el566SUaGhrIysr6xY+rqiqNjY3U1NQQGRnZY9KobdPQ0EB1dTVJSUmkpaUhSRLNzc1UV1fj9/tJT08nKSnpf+qZ8FujhUpqIb5d7i50sk4Ypu3OdmRZFrlzqdGpxFpi0Uk6rEYrzfZmYqwxIsKoy92F1+/F5XWJ8EVJknB6AqVH2hxtIhe3zdFGh7ODLk8Xnzg/wagz4vA4hFFqd9uJNEeSHZeNQWcgLSaNLk8XCZEJ4jhdni7cXrcIiYyxxODz+4TAzc/B7rGjl/XodfueUnZ1dbFlyxbuuOMODAYDer2esWPHsmrVKs4555yQa9npdPLjjz9yzTXXoNfr0ev1HH300SxfvpwLL7ywh2dQ86K6vXvrxvoUn8h11IwHTZlXURV8UiAHWjt3oWIrK0IV2eFx4PF7RAis2+vG6Q14HTtcHeJ4Rp0Rs8FMhClCeNiD82ArWyv5due3NHc1o5f1JNoSsZltRJgiSI1OFV7muo46kV/b3NVMq6OVgpQCPD4PHp9HjKWiKsRYYog0RYbkbmpGt8fnEefT3fvbG7t2Beq6Dho0CFmWyc7OJikpic2bN/d4RlVUVOB0Ohk2bBiyLJOenk56ejqbN28WzqHgcWmyNwWEn1Q/Lp9LtF/D6/dS0VrRa2kj7fda7efGzkae/fJZjsk7huMLj0cv60WEQqw1FqfHyayRs+j4toNpxdMwG8wBY19RRB65xWAhKzaLkwadxMvfvkyiLZHbTrxNKJR3Ryv5c8rgU3h7zdskRyWTk5DTQ9hKkiQc7sD14vV7A+HmBwrNV/Yvgmq329m6dStnnXUWer0enU7HmDFjWL16ddiw3Q991rCVZZljjz2WUaNGsWjRImpra4mLiwOgpqaG//73v3g8oas7xxxzDNOmTRPb2Gw2YmICtaSSk5OpqKgIMWy1EIvgB6oW0vrNN9+wbt06qqurOe+885AkCYslEP7j8XgoKSlh0KBBOJ1O6uvrycvLQ5ZlCgoKeP/991EURYQ219fX43a7SUxMpKKigpiYGKKiolBVlcTERKqqqqipqSEnJweDwUBSUiChvampKWzYHoBdu3YxduxYmpubcTqdvPPOOwwZMoTGxsZecz6am5v5+uuvhVGkcdRRRzFo0KCfPFHU6/UMHjwYgIiICMxmM16vl5qaGvx+v3hRpKWlsWPHjhDDNikpiU2bNlFbW0tjYyM5OTl4PB42bNjALbfcQmxsLBMnTuSzzz7j5JNP/t2Eph8M9fX13HPPPSQkJCDLMgaDgRNOOIElS5bwf//3fxiNRv7xj39gMpn4wx/+gNfr5eGHH+aKK64gNTWV119/naOPPpqYmBgeeeQRrrrqKtH3//jHP5g0aRLDhw/v9dg+n4+XX36Zm266SaQhHCw//vgj7777Lh6PB6PRyAUXXED//v3FdeVwOHjppZeor6/H5/NxzDHHcMopp/Saq5qRkcEjjzzCjBkz9pnrFObA7GviYLFYKC0txe/37ze88XDidrt588032bVrF5GRkTz00EMh32uLdc888wxFRUVs2bKFiy66iOHDh7Ny5Upqa2vx+/385z//4eabb6agoOBXaff/Gu3t7Xz++edijmG327E77Dy26DFe2vgSEhKdrk70Oj0WgwW7247H5wl4z/Z4bSLNkYG8WwKT905XJya9iQhTBA6PA5/iE4rFXr8Xq9GKT/HR7mgHaa93WDO8YqwxJNmSUFHJic8hxhqDLMl0ujoDRlBLKxsqN+BwO/AqAYPZoDMQYYygy9OFxWAR3mRZkokwReDyugLGmO7nPV8cHgeKotBU08Ty5ctxOvd6LuPi4jjuuOPweDx0dHSE3GsJCQk0Nzf33J/DgdvtDglRTkhIoK2tja1bt/Ljjz+Kbbdu3UpJQwkz/jUDpy9wXKvRSqerM7AAquXAoop8V80osRgsmAymgMfQ78XhcQQ8vXtCzvU6fWDhYY9X3Of3ifIumupx8JxB85BqJXk0D7KiKiLfUkbGr/oD3lvZgMVoEZ5+zXMfLDoVaYrE4w8YtloOtopKhDFgRDs8jkDo+x6Pv9vrxmaxCWPYbDDT0dyBy+Higw8+CJlTFhYWMmTIENrb29Hr9cIZYDAYiIqK6nVsmpubiYiIEPMrWZZJSEigpKSEBQsWhNwzHV0dzJ43G9UW6G9tIUiIQu3DWynyg/f0g9u7px60xyUWDv7xxT/E4rSqqnS6OmmyN1HbUUu/hH489+VzxEfGExcRh0FnCMm1dXldlDWWEW2JJsYaw/vr3md5yfJ9zv88fg9VLVW4fC7+/P6fibXGotPpeqiUh+SzBz0L9oe9yc7y5cvp6tobxh8fH8+UKVPEPRMceZiQkMB33313xEZL/Rr0WcNWkiSio6NZtmwZnZ2dzJ49W9x0KSkpXH/99T0umGCPhqIoIfmJsiwfdE6YJEli9b66uprS0lLS09NFfuz8+fORZZnjjz++h1hO8HG01flnn32Ws88+m5SUFHbv3h3iKZJlGb/fj9/vD2mvJElHdA7br0VpaSlTp07lo48+4vvvv0eWZaKiooiMjAzJdYU9D0mDgZSUlB4e/6ioqB779ng8rFmzBofDEfJ5bGwsQ4cODfHG+Xw+3n//fRISEigsLGTLli2YTCZhsGgh6RqqqpKXl8cHH3zAvHnzaGxs5PTTT8fr9eLxeLBaA0XgbTYbdrsdRVH+pwxbr9eL3+/ntttuE/e9y+Xi5ZdfprW1lcjISJE/73a7aWpqoq6ujpiYGOrq6qiqqqKwsBBFUairqwtZBGtsbBQTL5/Px44dO2htbaWwsJDa2lr69etHTk4Oy5cv56STTvpJL49+/fpxyy23YDAY+PDDD5k3bx5/+tOfxD70ej3Tpk0jIyODlpYW/vznPzN48GByc3ND9uP1evnqq69IT08XHp4wh0ZZWRnz5s3jnHPOITs7mzfffJPi4mJiYmL45JNPmDVr1s/2hmuRAN0XzABMJpN4tptMJq699lrWrVvHhx9+2Ot+Pv74YyZMmMCMGTP4+uuvef/99xk2bJi4FhVF4W9/+xvbtm0LG7a/ENritfaccLlcoMDJg09m5KCRyJJMWXMZSZFJRFmiaLY3U9dRR5Q5CpfPhc/vIyc+R5QaUVSFipYKbGYb8dZ4Ot2dVLVWgRQQpzHpTWTGBSJEqlqqAoqqeiNGvZG8xDzSY9Ix6U3oZB1b67aSEZtBYmQiKirN9maq2qow6oy0OlrJisvCr/jZUrsFq9FKsi2ZbXXb0Mt62pxt6KRA2HRGXAb1HfXEWmOJtQYt4O0Jte7BPj5XVZXy5nIijBHM+W4OdXV1bN++XXwf/AzrPq8JnqcFs79t29vbQ/ZfXV1NtCWakwefjMlgwma2kRiZyO7m3SFh2pohGhsRS5ujTXjTZEkmITKBhs4GDDoDJr0pkA+NhMVoEQsWmgFq0psw6o1CoAoCasTaPDDJlkR9Zz0SEpGmSOIj4qlsrRS5zclRyRh1RhrtjQEj1GzD7rZT2VoZIm6leVnjrHF4/B7sbrtYpADIiM0gyhyFX/GLc02OSqahs4HsuGw6XYFSOmkxaeyu2M0Ln73Arl27QiLZNCdK97nS/sZG0zIJHn9FUfB6vezcuTNwrxDwuqMG7pnY5NiA2KAW5h08dw+6ppIik/ApPlodrUJN3GQw4fK4SLQlMjB1IBUtAe9uQUqBMFY1dei69jpaHa3kJeYRa40NUSgPNqLdXjdlzWVcO+laWhwt2Ew2UqJT9mmEun1udtTv4NijjsXtc6OX9QFPtLrvOrSRpsjAgo+qYDPZsHvsvXqk3//ufWpra0McMRkZGSHaMQdzz4TZS581bL1eL++++y719fVcffXVYqIPUFdXx3//+1/cbnfIb8aNGyc8tklJSXR0dOB0OtHpdDQ1NZGSEnrh7kuJDyA7O5vs7GwaGxtZs2YNEyZMwOfz8dZbb1FeXs6NN95IREQEXq+X6Oho6urqSElJobKykrS0NHQ6Hc3NzTz11FNMmDCBqVOnIssyycnJtLe343K5kCSJlpYWUlJSkCSJr7/+GkVR6OjowO/3/2Rv0f8aLpeLhoYG+vXrR3R0NG+++SZ33303r732GpMnT8blcrFkyRIMBgNjxowhNjYWl8tFaWkpXm9orofZbCY7OzvkM0VRaGhooLOzM+RzLdQ0+N8LFy7kxx9/ZPbs2ZjNZiIjI3G5XPh8PmRZxm63hxjPqqqyYMECxo0bx8yZM9m9ezd//etfGTFiBCaTia6uLiFkZrPZ/icfZJrImsViQa/Xk5GRQXp6Ojt27CA1NZXExERkWaa2tpaysjIyMzOxWq189913ZGRkYDKZcDqdKIpCeXm5GHO7PSDy4vf7eeONN6irq8NgMPDRRx8RGxvLTTfdRFFREYsWLeKkk04CAuO1atUqtm7dGtJGg8HAtGnTiI8P1L+LjIykra2N0tJSqqqqQry1EDBsBgwYgKqq2Gy2HqHK2rHWrl2Lw+Hg7LPP5quvvvqfW9g4nGRkZJCfn8+iRYsoKCigpKSE6dOn89JLL6GqKkuXLmXatGkiIuhQ+fzzz/n+++9DPjMajVxxxRWkpaUBexfX9nU/+/1+KioqmDBhApIkkZubS11dHW63G5PJxJIlS1i9ejUNDQ1ccsklP6u9YfZNYmIid955p/h3U1MTK1asoDC1kPH9xyPLMrERseQl5hFtiabZ3syOhh0k2ZKwu+24fW4GpQ0Shq2qqji9TvQ6PQY54Ilrd7VT0VyBX/UTa42lX0I/AHZE7qDV0YpJb8Llc5EQmSDqa6qqSowlhjZHGzGWGMpbykEFoy6Q6+vxeUiJSqHT1UlcRBwpUSnkxOdg0BtEyaDM2Ezane1kxGZQ1lRGpCmSjNiM/S6eaeJFmuJwMD6/j/jIeJJtyXxg/YAzzzyTM888s8c+PB4PcXFx1NbWigWZmpoaUlNTe+wzMjISq9VKQ0ODeNfW1NSQkJDAMcccw4QJE8S2ixcv5slnnmR41nCMBiOp0amkxaSxpXYLTo9TCGZpHtL+Sf3Z2bATk96E1Wil1dGKzWyj1dGK2WAm0hhJm7NNGK5aWR6TLjAevWHWm4X4U3xkvFAqjrPGkRiViN1jF57elOgULAaL2G9ufC5un5vYiMB8T8vL1fJ4JUkSZYAMskHUxC1ILiA2Ihaf4mNLzRY8fg+58bnsatxFpDmSCGMgMuColKOojq7mzYg3ueWWW8SzKJiEhIQQj7rb7aatrY3k5OQe2yYnJ2O32+nq6iIqKkosHp9xxhmcfvrpYiwbGxtZsXIFg9IHkZaVhl7WIyH1yKMNJisuC6/fS0tXC1lxWZQ0lgQMfSRhrGqGZG5CbogXVlUDueVIkByVvM+cWQh4bB0eB0m2JHQ6HYmRiWTHZ+9zey20WyuhlRqdSm17rWiLtsChqWrbzDZsJhs17TUoqsKApAGUNZcJwUK/Gkhf8Pv9LDEv4ayzzmL69Ok9jmsymYiNjaW2tlZEm9bW1vZ6z4TZS580bFVV5b333mPRokXMmjWLVatWheQnpqenh7x0NIInC2lpaWRnZzN37lzMZjMWi4X+/fvT1NTE66+/zjXXXIPT6eTbb7+lpqaGb7/9Fo/HQ1FRER9//DEWiwW3281XX33FeeedB8BHH33EBx98wPnnn8+aNWtIT09nwIABTJs2jXnz5lFZWclXX33Ftddei8vl4qGHHsJoNGI2m/n2228ZNGgQGRkZpKam8uqrr6LX64mKiiI3N5fU1FQ+/PBD3n77baqrqxk+fHjYsD0ALS0t6HQ6YmJimDp1KqNHjyYlJYW6ujpycnKoq6tj/fr1XH311dhsgTppERERFBcX9/DY9vYAN5vNnHHGGfttg6IofPjhh3zzzTfcdNNNGAwGfD4faWlpGAwG1q9fT1xcHNXV1Rx11FE4nU42btzIsGHDMJlMVFdX09raSkVFBTqdDqvVytChQ1m6dCmxsbF89dVXjBkz5n/SsLXb7SxduhSj0YjFYuHss89m0KBBbNq0iZaWFoqLi3G5XGzfvp0tW7YwdOhQJEmioaEhxEjxer189913xMTEAIEwZ4DKykpWrVrFww8/TFtbG9dddx33338/RqOR+Ph4mpqaQgxKbUyD0el0IkVBo6qqisWLF7Nz505GjBjR67m53W7mzJnDyJEjycjI6HHeb7/9NpdddhmRkZHMnz8fr9cbNmwPEaPRyPDhw3nwwQfZunUrd955JzabjRtuuEFMmrXIClVVcbvdGAwGPB5PiLf1QEyaNImxY8eGfKZFXfwUgiOAuqfJFBUVERcXx9tvv83WrVtJTk4OT3B+RRRVCRgwflXkVkLAYydLAY+UTtYhS7JQ24XA2FmNewUA9To9sZZYanW1uNwuYTBq+YI6WRcQd7K7QvYDEBcRR2lTKY32xoDwjiSJMOVYaywGnUH8RvtvhDGCqtaqQESTOYqEyEBoY4Qp4AHUlJ57Q1VVWh2tNNubyUvM6xF+qYXV7k84CgLv3lGjRvHpp58ycuRIMf+68MILgYAhtHbtWiZNmoTJZOLoo49m8eLFTJgwAbfbzbJlyzjjjDP2eT+qakCpVi8H7mUZWYgOaSVXdDqdCO026A3kJuSiNCoi71iWZFKjU0mJTqGypZJ2VzsWgwWP39NjHLTttftVRkZBCQnrlmU5UMdUVYWIlU4KtMGn+IQWQ4QpIiTHVCvXZDPZ6HDtjfTyKl4sBgtOr3PvM2JPOLSEhE4O1Ey1u+0YdcZenyO9kZeXR0REBF9//TUnn3wyGzZsoK2tTaRZbdy4EZfLxciRI8nMzCQpKYmlS5dy1llnsXXrVpqamsS23THoDAxIGkCTvYk2R1vId9q5aGihykadMSCqtccTGx8RT3xEvLhOg73lIceSDWI/+0ML+daExg4ULqzd21oYv0FnCHia9/xMlgO1k7U8+Zz4HEx6E06vk1ZHK3qdPrCPPQrZfr8fvU6Pquz/uJGRkYwcOZJFixYxfPhwHA4H3333XXhR8wD0ScMWIDMzk+nTp+P1evH5fCGGiLbqvT+MRiM33HADa9aswe/3M336dCwWC4qiMHz4cCEO5fP5xOqiJipz1FFHsXv3bgwGAzfddBP9+gVWUrOyskS+bWdnpwi5mDJlCklJSVRXV3PjjTfSr18/PB4PU6dOxev10tXVFagv5vdjMpm46aabWLNmDaqqctZZZ2E2mzGbzdx5552sX7+ejIwMRowYEZ7IHoCuri4GDRqExWJh9OjRQEBpODc3l9jYWNauXcuECRNITEwUD/aIiAiGDBly2NrgcrlYtWoVkiTx0ksvodPpOPvssykoKODqq6/m3XffxefzceGFF5KSkkJraytLly5l8ODBzJo1izfeeIMnnnhChChaLBZmzZrF66+/ztNPP03//v2ZMmXK/+TkNT4+nquuuiokdKqoqIivvvqKjo4OZsyYIcoU1NTUcOaZZ4pceM0rC4FVz/PPP5/c3FxUVaWqqgqAnTt3kpOTQ2RkJOXl5QwYMICioiIkSRIesuBJ1O7du9m0aVNIGw0GA+np6SGq1cXFxRQVFbF+/Xpeeuklxo8fH5JD63a7+e9//4uiKFx66aUh36mqyqJFi9ixYwcffvghPp+P2tpaWlpael1pD3NwREZG0tLSwsUXXywWSDWhwe6Tmvfee4/JkyfT3NxMv379MBqNPcqHaakjwWWCli1bxvLly0P2ZTQaufzyyw84dlo4n06nIz09nfLycoYMGUJFRQUJCQmYTIFQx9TUVFJTU9m1axcbN25k0qRJh6mHwhwMKgEhHp/qExNVCBhJOjlgsOikQO5dsDepNzSFVtwIY1EzgM0Gc0AYyN4oDDXte5vZhlFvpLq1OuD1Uf0YZANW496oNu25pf02yZYkhJD0ur2CdZGmSJrtzQEBLN2+29vl7hJhld1r3mo5hb3VAA1GlmUuueQSHnjgAW688UZ8Ph9FRUVMmjQJSZIoKyvjySefFFFL559/Pg8++KBYgMrNzeX4448/4LvQoDeIvtLyaj2ShxhLDPER8WIRQRsji8FCs9osfmMxWgL3tRw4jpbTqRlLwaJAmjdYlmRhcAUbVTopIFKoLYhAwOjSjF/Nw2c1WjHrzQGDlUDbDLKB7PhsShtL6fJ0EWUORHxFGAO50SGLXnuMPM1g02rhHuy8ISoqihtuuIFnn32WRYsW0dnZyeWXX05qaioAn332GfX19QwfPpyIiAhuuOEGnn76ab788kvsdjsXXXQRWVlZvR4vITKBGGsMrY7WEDElzfNZ0VIh1INF+7udl9lgFuclSdI+761gY39/BOcyw75zfTV0so6chBx21O8Q961mdAPCG+3FKxYYZEkmxhpDu7NdXGtGvRG/4ifCGEFsRCw1rTX7b+eee+Yvf/kLN954I16vl0GDBjFx4sT/yTnhwdInDVtJkjj66KN/9n5sNhuTJ08O+SwyMpKJEycCAVGD3jxyAwcOZODAgT0+Hz58eK+CM3q9nqFDhzJ06FDxmdls5uSTT+61XVFRUUyZMqXH58nJyZx44on7O6UwQeTn55Ofnx/yWUxMDLfccguSJNHR0SEMlV8Ki8XCX//615DPtAdmYWGhuI60z+Li4rjjjjsCQg9mMzfeeGNIDrCWW37ttdf+z4sD+Hw+WlpaRNi+zWYjPT0du93Orl27SE9Px+/3s3v3bnw+n3gJH3XUUbz33nsHXIXV6/U0NTVRUVHB66+/jsvlwuPxYDAYKC0t5aijjgrZfsCAASInSUOSJCIjI4G9JXqMRiMGg4Eff/yR+Ph4ZFmms7OTH374gTFjxvDyyy/T0NDAFVdcgdPpRK/Xi4W6uro6li5dyn333UdMTAw+n4/6+nrq6urChu0h4vP5+PDDD3G73eTm5gbUR+vq+P7775kyZQpLly7ljDPOEPeay+XC7/eLPPn333+fpKQkzGYzZ555JsuWLWP37t2YTCZmzpwpPPbTpk3r9fkdfA8risI333zDypUrKSsrY8GCBUydOhWn08krr7zCLbfcwsknn8xzzz2Hw+Fg9erVzJw5E5/Px7vvvovBYMDtdvP9999z2WWX/TodGCaAhFCY9fg8IYI0ellPhDECs8GM3W0PMR73h+blDDaG4iLiiLJE4fQ6e3h+ITApT7YlU+ouJS0mjdq22h6qxsEeKW3/uQm5QsFZw2q0ivqr+1NG1gSUhOiPGiiFI8uyyEE9kJcMIDU1lSeeeIK6ujr0ej1paWliYa+oqIjnnntOCEYlJSXx2GOPUVNTg06n6zVipjsSkuhToWug0yN7A6HjibZEEQqr9UOwQS6zN2dT+9ukN9Hl7hLGi1FvxO11o6IGPIx7wkpVSUVHwJAVRo/EXo/tnv3qZB16nV7km2rewOz4bEoaSlBRiYuMQ1VVrAZr4PieLmKsMaREpdBkbxL7Euct7TWqJSQUFFGr+EBGnvb7CRMmUFRURHNzM9HR0SLVB+Diiy8Wjh9JkhgzZgzPPvssTU1NREVFkZSU1Hs+riSTZEsS5Zc0Q96oN+LxebAYLPRP6k9FS0XAWEfCqDMGBL0kSXhFDTqDWKjobvwGn4NRH1CnPpBTSBOlMugMJEQmEGXpqbHSfXtNrEtVVaxGK7Iki5JSmjqztq12bWlq15IkCQExLWoiKTKJ2rbaA45Neno6Tz75JLW1tRgMhpB7JkzvhHsnzBHLvh5umhfmhBNO+MUfAMGrfgfz3b4+6+3f/8tGrdlsJjU1lZdffhlJCpTFOffcc8nOzmb8+PFAYFFBkiSGDx+O1WoV4gv9+/cXBmFsbCxFRUUh4cIDBgwgJiaGzMxMtmzZwiuvvMKxxx7Ljh072L59O4MHD2bDhg3MmDFD/EaSJJKTk3sNWQ+mvr6eZcuW4fF4SE5O5pprrkGSJBwOB+vXr6egoIDKykp0Oh0vv/wyRqORCy+8kIyMDFRVZfPmzZxyyikMHz5ciHRMmjSphwJ8mINDVVVWrlzJrl27mDhxIuXl5WRnZ2MymaioqBB5+r2hKa1LksSMGTN48cUXaWpq4osvvmDatGmsWLGCsrKykNqNB3PP2mw2sRCqlXCw2Wwcd9xxImLo1ltvpaysjGuuuYZ+/fohSRKjR48W0QZ33nmnKAMU5telsbMRh9dBtDlaTGBlSSY/KR9Zkml1tAoD40BoNUZDvHx7jERNUTfYYwuBayw2IpY8KY8ocxR2l32vR2sPsiQjI4vfah7K7sanQWfAIBvocncRaYrs9XrSyhxpOaEaZU1lRJojhXfxQB5qrR0RERHk5eX1+C4iIiKktIwWfdPbtvtCy2HWfg97vGlBxoY2LlpfBHvfgkNcheG7J6RXJ+tAApPOFFAhJmAcacap5h3Wfmcz2YiPiN8b6aGFIu/x5mn1ibX2RZmjAkazz020OVpcG8ILjyyMqeB5RHBorvadqqr4/D4kw8E/HyRJIj4+XuhFBNP9vact0h+MLkH3Z6PVaCUnPodtddsCYfTmGGypAQEtre5sfER8IJd4T59piw/7C0MGsJltFKYUHjh6YM/9atAZiI+MP6h7VYvI0Mt6jHpjIHJijwiYXqcXYl86SSfaaTFaSIxMFItgep1+7zns5zy691/3eyPM/gkbtmF+l0iSFC6RcgSTkJDQwxOucfnll4u/JUniD3/4Q8j3ZrOZ008/ncrKSlJSUrjhhhtCtr/00kvFv6+99lrxt+Zta25upqCggLy8vJ9sOIwZM4YxY8aEfKZ5H2688UaAHiVegjnuuOPEbzRmzZr1k9oQZi+1tbW8/fbb3HDDDZSWlvLBBx+QnZ1NSkoKnZ2dLFq0iIkTJ2K32zEajb2WCLPZbELhXFVVIf40fvz4n+xFl2V5n2WmRo0aJf7WxAuD6devn0iLCfPbYDVacfvcJNmSSLbtnexLkhTImduTI7svr1J3THqT8OJ1x6w3kxufi9nYU7Fbm/wD9E/q3yPvVZICaqq9iT0FI0sB71GjvVGURem+vc/vw+P3hNRD1Yxd3Agl4YPx2P7S6OXAQpHEXqPBoAuE9Go5zt2NQOEN3FNuR7M1NM+rVg5IW6ww6A3InkAubrQlmu3125FkCUmVhKdekqSA590chU/xoZN1gXBbCWGcJkclo5N1woAFQkKaQ9rE3neC1s/CKJLoYSxp+cZ9aeEr2IspFlyCwrejLYEyRJIU8JYH1x8OjiYIDgHu7Rgmw/5zvbVjBPf7wZIekx5YeJJ09E/qj8vrEukCQmU7KGXFYrCQFReosJKXmIde1tPh6hDXQJhfhrBhGyZMmD7HT3kh9+bxHjFiREho0E/Zd3x8/H5FSg62HT/lmPvapi9NTI5EDAYDN9xwA/369SMjI4Pk5GSioqLQ6/VkZ2czdOhQCgoKmDdvHqNGjaJ///7k5uYKT1F0dLRY4Ojfvz8xMTHMmDGDH3/8EavVeljz9cP0bSQk+iX0o39a//2GQ6ZEpRwwZ0/b1qAzCAO0O7IsCzXk3n6r0VsIsRYafSDPFUBqdCqdDZ1Ut1WTE58jPg8Ou/b7/SK/GAIh9YoaCGH2+Dyh5YJ+I8wGM1ajVRj5wpCSdcRYYnrkX4Z4dIM+04ytxMhEos3R2Cw2auQa0c9GnZG4iDhirbGYDCZhpMRYY0LC04Nz8DWjOMocFVjMkCQh4BU8lr1FfnQ3bLV/B19j2nGCr0st97cvEOxhliUZg95ARmyGMEL3FSmghWMfzHX8S6N51bW/9ZJ+b069rEOvBsLLjTpjj2sMAt5kvxKoYxx+r/+yhA3bIxhNOnx/4bBhwvwv8nPuifD99PshMTGRxMREICAiFqzcefHFFwOB5+jw4cPJyclBkiQm7RFkOv744wFETXPNoz9kyJCwQfs/ysHkkv4Uz6VRH1B/1cJnDxd6WU9+cn4PT253tLxErfaqoiroJB2KqlDTVkOTvUko7WpCSbBXHVqr25wek35Y2/9TMeqNDEgegNW0V8Qv2MPZ3XgMyYOUdSIEONgQ1PIuVVUlLzFP1ME16AyBmsME8iY1wzbJFtBfcHgcwiMMAUNaU8vW1HKD2yfaRc9waQg1bHtdTOkWimwz2/B1+UTub195l4nzkANh8anRqQf1u6SopBCl6eDFg1+b7n2pk3RCOC4lKgVgv/n1siSTHpt+QAXxMD+PsGEbhKqqtLS0sHHjRux2Ozk5OQwcOBC9Xk9FRQVbt27F4/HQr18/CgoKkGWZtWvXUllZiSQFxG0mTpx4QIGD7sfcuXMnu3btQlEUCgoKyM3NRZZlurq6WL16NW63mxEjRhAfHx9ywzQ3N4vSRT817FZRFNavX09+fv5PLkfRl+jq6uKLL76gqKiIvLw80Z/bt29n8uTJQtjnUPD7/SxbtoyIiAhGjx6NJEk0NTXx7bff9lqm5WBRVZXy8nI2b95MUlISQ4cODblmVFWls7OTNWvW4PF4GDZsmBAtamhoYP369RgMBkaMGCFq49bX17Nu3TohD9+9BE2YMGF6R5IkUVczTJhfE72s56jko4S68uFC8ygd7LYmvQmv3ytUj31+Hw2dDURbomnpahEh08GGrea11ck6zPqfHtZ5ODHoAqrQWj8GL/gHG0XBBHtsC1IKaHe273M7m9lGl7srJJQ4cKC94cPatpIkCdEoQAiAaXnO+zQ0pZ5qvcHt3F8+ZnAocl5iHtt822h3tfcZoxb2tr97zvi+0MrqBJctAvZbb/bXRpYDitZaTeQD9bckScRYYoCARzrRlrhf0bYwh0bfiFPYB6qq4vf78Xq9eDwevF4viqIc+Ic/g5UrVwrFvhdffJEvvvhClAjxegMqgP/85z9ZuXIliqLw6aef0traSkxMDFFRUfu8sNesWdOjVIh2juXl5UCg3uYjjzzCzp078Xq9/Otf/+LHH3+kubmZxx57LKSEibZ9eXm58Nxq/aOVR9L+rSgKXm+gdpYWnmm323nnnXcAxLY+n++ASrJ9jZKSEiFRr6oqXV1d/POf/+Sll14Sq8mHSkdHBy+88AL//e9/8fv9+P1+3njjDZ5++mlaWloOaZ+acu4TTzyB3+/no48+YuHChSH97na7efzxx9m5cyddXV089thjtLS00NLSwoMPPijq3j799NN4PB5aW1t55JFH6OzsZNWqVbzyyis96vQeaaiq+otej1p5FUVRxL3j9XoP6Xja7w9He3/p8w4TJkzfQfOY/tYhowadAVQCeY2qissXKGWYFp1GRmwGcRFx6HQBg1dVAzV8NYVaTUynr6EpG3f3jklIRFuiiTQFFr21fMskW1JAwXc/3jbNgAzZ3z48qcGpLFq484EMHyEOFWQoa7m+Im/TaCElKqVnbq4WRo0kVIF/6+sqmGAF8YPBpDdRkFJAjDVGfKaF7/eWC/5bIBGoWbu/66bHb4JyoTNjMw8p1zfM/umzHltVVSkrK2PevHm0t7dTUVFBREQEt956a6+leA5mf11dXaL2rIYkBcqraOq506ZNExeo2+1m3bp1nHDCCaL8kM/nY/v27VRVVTFmzBgkKVDz0ufzkZubu0+Z8fLyciIjIxk0aFCP40+dOhUAj8fDypUraWhowGazsX37dp588knMZjMbN25ky5YtPYRptHP7/vvvWb16NTNmzODf//436enp7N69m+HDh2M0Glm7di3x8fFcffXVWCwWSkpKSE1NRVEUnnnmGZqamjCZTFxwwQU/SYXwt0RVVUpLSxk+fDjNzc14vV4+++wzoqKiyMvL+9meaE323mq10tnZSVVVFdXV1eTm5orSMsEoikJ7e3sPo1Kv1xMdHS2uq2XLljF8+HBOO+00CgoKeOqppzjllFOEcE1DQwOVlZXceeedWCwWNm3axOrVq4mOjsZkMjFr1izcbjezZ89m9+7dVFVVER8fz4wZM2htbeXOO++kra2tV3XDI4Xq6mreeecdrrvuup8UAfFT+PDDD8nOziYjI4M//elPDB06lKuuugqn08nHH3/MmDFjyMnJwefzsXTpUsaPH09paSkAhYWFfPXVVwwePBhJknj22WfxeDzcd999GAwGamtrqaurw2Aw4Pf7RehqZWUl5eXljBs3rve8IlXltddeY9KkSWRnZ//kl7fX62XNmjWUl5dTWFhIcXFxyARLVVUaGhr4/vvv0ev1TJgwgejoaEpKSli5cqXYxmq1Mn36dKqrq1m2bFkgD1CnY8qUKQdUhg4T5veIdu8E16z+veDxeWhubKbKX0WkOZImexOtna00y81CzKelsQWHwUFLYwt6nZ6WppZAjqGso05XB2pgzvRbLMp5vV5qamrEPE5VVRrbGml1tNKgb+jhFTOrZuwtdrqkroM+htvnprmhGbPXjN++J9dYVWhuaMaut2PxBqKknB4nzQ3NRClROM1OAJpbmml3tlOnq9unYaeqKk3NTXR5uqiRa8R2jR2NNLcF9uexBtTx9aqexvpG8dvG5kY8Pg81ag2SJNHS3EJzVzMmjwnZKVNfX/+LO4X2dU4NDQ2YzWaa7E00tzRj9pgxuA/+nd5O75703wOKouD1eH/rZvzu6LOGrdPp5Nlnn2X69OkMHz6cZ555hrS0tBDJay10OCYm5oB1qwC+/vprfvjhh5DPTCYTl1xyCUlJSSErb3a7neXLl4s8K1VV+fTTT1m2bBldXV2cf/75SFKgnpfH46G6upr33nuPu+++m5SUQKy9w+Fg7ty5NDc3U1paisFgYM2aNWRmZnL++eej1wdi8X0+H2+99RarV6/GZDIxZMgQysrKsFgsREREIEmBUiO1tT1rXvl8PhYtWsTmzZu54oorkGWZ7du3c+655zJ9+nRuu+02LrroIm6//XYeffRRtm7dyvDhw1m7di3Dhw9n+/btdHR0cNtttwVWw34hI+KXYteuXYwZM4bly5dTUVHB2rVrKS4upqmpaZ/iP8EetmAkScJkMonf7dq1i7y8PHw+nxjfyZMn88knn4gQ4GBcLhfz5s2jubk55POsrCzOO+88DAYDqqpSXV3N6NGjAUhKSsLhcNDV1SUM24iICCBgBCUmJlJRUUFGRgbZ2dm0t7fT2NiIw+GgpqaGuro6qqurSUtLQ5ZloqOjkWWZ1tbWI9qw9Xg81NfXi2gEj8eDoigh46MoCm63G51OF6JWezA0NzezatUqjjvuODo7OzGZTFx66aXodDra2tp45ZVX2LhxI/fddx8+n4/33nuPYcOGsWbNGlRVpaCggA8//JDExESKi4u58sorefDBB0V7lyxZQlpamoj00Azb0tJSvvjiC4455hhxDh6PRzwLALHv66+//icZtqqqsnjxYpYvX85xxx3HSy+9xGWXXRZSX9tut/P4448zduxYOjo6ePrpp7nrrruIjo4WdXuXL1/O5s2bmT59Ort27WL79u1CTCsc4h7mfxHNc3bHHXf8ZFG5YLSyXX1RsV+rcStJkgg19rg9oqyapvqqKfUqqtJD0Kirq+tn9c+hIEkS1dXVXHTRRSH9q6iBaJzDqdYc3EcaQg03SNRJUZSQ7YLboigKLpdL9GswvbVZ+2x/+bLd26D9Rssl1iKTfgv+7//+T5Su03KStfPQogp7U6P/pfktj+10OjEajeh0ut/knvm902cN27KyMmRZ5uijj0av1xMfH09kZCSKolBZWYnBYMBoNPLyyy9z1llnkZWVRWNjI6qqkpycjMvlwul0oiiKyE885phjeoh+SJJEbGyoop/D4eD555+nf//+TJw4UdyEEydOZPDgwbz++ut8/fXXzJo1S3hbtZDidevWcdJJJwGBsiNnn302Pp+PTz75hIiICI499lhxQWvodDpOPvlkjj76aP7973+zbt064uPjQx5Efr+/V+O9vLycBQsW8Nhjj5GUlERTUxMpKSnk5eUhyzJpaWkMHDgQm81GSkoKHR0duFwuysrKRJ1OvV7PU089RU5ODtOnT8dqPXCuQF/A7/dTWVnJaaedxrp163jllVc4/vjj2bhxo1gA6ejooKOjA7PZTExMjCjZ8c477wgPlYbFYuGmm24iNTVV5OoWFBTQ2trKW2+9RXp6Onq9nvT0dIxGo/ASW61WoqKiMJlMnHXWWT0MZqPRGFJPV6fTCa+utooa/GCLjY3l4osv5uWXXxaLG0ajkf79+3Pcccfx5JNPYrPZiImJwWAwoNPpRCSCZlgdzELPkYCqqnz11Vd89tlnQMDoO++885BlmXnz5rFp0yYSExNpamri2muv7VEiZV+sX7+etLQ0IiMj6ezsRJZljMa9uTzZ2dkiYqN7lEV3uv/W4/GwY8cOTjjhBKqqqsSYdMdut/P6669TUVGBzWYjJyeH/Px8odLb0dFBTEwMEPCENDc399iPzWbDZrOJBbIlS5Zw6aWXMnjwYOx2O0uWLGHw4MHi+tq5cyeSJDF9+nQ8Hg+33norNTU15OTkkJSUhNfr5b333mPatGniGurs7KSsrIyBAweKRZffK4qiiPq1iYmJmM3mI+JZGOaXJSYmhtdee+1nGwdz5sxBVdWQkmN9lYqKCh555BEef/zxg77vVVU9qNqmh5Nx48bx/vvvI0kS//nPf7DZbJx33nm/aht+CtXV1Tz44IM89thjv6q+iSRJYi78axAXF8cbb7yx33vm3Xffpbq6OqQk36/Fb3Vsr9fL7bffzhVXXEFRUdFvcs/83umzhq3mRZEkifb2drZu3co111zDO++8Q2RkJFFRUaSmptLS0kJTUxPR0dEiBG/kyJFUVFTQ2NjI+PHjSUxMRJIkVq1axfr160OOYzKZOP/884VypsPh4F//+hdRUVFcfPHFGI1GkfcWGRlJZGQk+fn57Nq1S+QA6/V6fD4fLpcrZCVWlmVxwRYVFWEymXo8WLR9R0dHExUVRXp6OlVVVRQWFuJyuWhubsZms1FdXc0JJ5zQo5+ysrIYPnw4r776qqjnGVxHK/hv7b+7d+8mNjaW6OhoVFXltttuo6Ojg9dee42PP/6YCy+88DCM4C9PW1sbHo+H5ORk8vLyKCsrY8yYMSxcuJATTzyRxsZGFixYQEpKCqtWreKuu+4SedBnn302M2fO7LFPzWPt8/moqKhg0qRJpKam8t1333HttdfywQcfkJ+fj9/v56mnnmLYsGGMHj2aqKgoPB4PCxcu7JF/m5mZyaxZs4RXLi8vTxg+2lhERETg8QRqBRqNRiZOnMiECRNwOp08+OCDFBcXo9frmTlzJmeddRaNjY08+OCD5ObmArBw4UK8Xi/19fVIknREe2uDaWlp4c033+Suu+4iISGBBx54gHXr1mGz2Vi7di333XcfHR0d/N///R9er5eOjg42bNhAeno6ubm5uN1uNm7ciMlkoqioSCww7Ny5c7+hviaTiZkzZ7JgwYKfXBi9uroak8kkxmDp0qVUV1cDUFdXR0JCAoqiMG/ePEwmE3fddRf3338/TU1NTJ8+Hb1ejyzLIhoFoLGxkbfffhuvNzRsaezYsUyYMAEIGL+dnZ3ieZeens6yZcvw+/3CsK2rqyM+Ph69PlDvMTIykqamJnJycgCoqqqiqamJYcOGIUkS2dnZTJs2DZPJxL///W+mT5/O1KlTf7fGnsvlYsWKFciyTEVFBZdffvlvsqIfpm+h0+lIT//5yr82mw1VVQ9ZePDXxO12YzQaSU1N7TVCqa9gtVpFeLjNZiMqKqpP96/f7xf9qj3ff48czD0THR1Ne3v7bzJev9WxtfsqMTGxT1+nRzJ91rDNy8ujvb2dZ555ho6ODiZMmEC/fv3YuXMn9fX1YkI/atQoRo0axaeffkp7ezttbW10dHTQ2NjIrFmzRIgxwAknnNCrcaihqioLFizg66+/ZurUqcyZM4cBAwYwbtw43njjDex2Oz6fj9LSUq644grcbjf/+c9/MBgMtLS0oNPpGDlypNify+Xigw8+oL19b47AihUrSElJ4eSTT0av1+N0OpkzZw6ACC+dPn06cXFxHHvssTz99NNYrVZSU1NFqGAwJpOJs88+m4ULF/Lcc89xzjnnhHj/ejNsV69ezYgRI9DpdGzatInPPvsMq9VKVVUVo0aNOtQh+9VpamrCZrMRERHBOeecI0J83G43SUlJLF++XNSmrKysFKvOkiSFeFB7w+1209HRQUpKCjExMTzxxBOYzWYqKysZPXo07e3tJCYmcvrpp4t9WSwWrrjiiv3uVysn8re//Y2nnnqK6upqZsyYgV6v5+OPP6azs5Ozzz6bjz76iKqqKlpaWujfvz/FxcV4PB7efPNNurq6qKmp4aSTThJ1OZcsWcLf//53WltbOemkk36WGnRfoqmpicjISNLT0zEYDBQUFFBeXk50dDQ5OTkiB1oryeJyuSgvL6eyspLc3FwWL16MwWCgqakJv98vDDafz3dAr3ZxcTFLly5l+fLlP6nN69evZ9CgQWL/xxxzDBdddBEA33//PStWrMDpdLJhwwaRR202mznuuOOwWCzC4x+cE5WQkMAZZ5zRI08qeGKkpVJo23i93pAQZ0AswsFecT5tMUdVVb7++muGDx8uJrJ5eXlCbVyWZT7//HMRpXIk0d7ezmuvvcbxxx9Pfn7+Pg1zi8XCqaeeisvl4h//+Ac+n69PGLZOp5NPP/2UmpoaTCYTkydPFvV1w4QJEyZMmDAB+qxhq3ln6uvriY6OJjk5mc7OTtLS0jCZTGzYsEHkP2oe3YkTJ7J9+3ZSU1PZvn07MTExP/nFf9xxxzF8+HDxby189bTTTqOpqUmEOmveznPOOYe2tjYMBgPp6ekhkyC9Xs/w4cNF3oeG1WoVxqfFYhGiP7Isk5qaKvJqzz33XKqqqvD5fGRkZPTIy4mPj+fGG2/EYrEwc+ZMKioqiI+PZ/bs2WLb6667TniJZ86ciV6vZ/Xq1UybNg2Ao446iqioKBwOB2eeeSbJyclHzGQpIyODm266KWTyrtPpuP3224mOjgYCHqiKigqRe3qwmEwm7rzzTuLi4pBlmcjISFRV5aqrriIpKYndu3eTlpZ2SCG/CQkJ/PnPf6ampoaoqCjR50cffbTwrk2cOFEIlQQfZ9q0abS1tRETEyMWbaxWK//3f/9HVVUVJpOJ9PT0303Ohs1mo6urC7vdTlRUFFVVVYwfP56oqCgaGhrwer10dXXR2BgQ0khMTGTEiBFs2LABCKQ0XHLJJTQ0NLBmzRqGDRsGBCId6urq9hsmpdfrmTVrFk8++SRdXQcnMuLz+di0aROXX375XhVLi0UYoNriitfrxeVyYTabKS8vZ8eOHVxxxRVCjE5RlBAvSUtLC59++mmPMPeRI0cKYTuLxUJ6ejrbtm0jLS2NzZs3k5+fj06no7OzE7PZTG5uLh988AF2ux2Xy0VXV5cQQnM4HKxYsYLZs2cDiNxmzfBtaWk5IoVzVFVlzZo1fPXVV7jdbm6++WYkScLpdOLxeEQ/d3R0iBziDz74gLFjx/aZ81VVlfT0dIqLiyktLeXRRx/lb3/7m3jOhQkTJkyYMGH6sGGr5b4G57/q9Xo8Hg/R0dFiMgeB0I4ZM2bQ0NDAzJkzyc3NxWKx/GSBBkmSSEtLIy0trcd3cXFxPeLgJUkiJSVFiEV1R6/Xk5+ff8BjJiUl9Zr7oNfrRYhgbxiNRuGpkmWZfv36AYRMiDMzM8XfycnJqKrK9ddfLyZwRqPxoPMS+xpaaHgw2vmoqsqQIUNYu3YtZWVl+/XU94bBYOjR95Ikif6Oj49nwoQJh7QIoNU87u6BDw4f7u16A/Z5vVkslgNea0cSmlc9JSWFcePG8be//U3kfo8aNQq9Xs/nn3/Oww8/jNlsxuv19lp2QZIkkeMabOwPGzaMF154Abfbvc9jQ8BjOWDAAJYuXQoghKoAETIcTENDA6qqijHS6XQhXlZZltHr9VitVnJzc/n73/+OqqpkZWXx2Wefcfnll1NZWUl8fHzI+KelpXHttdfut89kWWbWrFm89NJLrF69mra2NmbPno2iKDz77LOcdNJJFBYWUlRUxOOPP47X62XSpEkkJCQAsHXrVqKiosjJyRH99sknn7Bjxw4gEMZ89dVX77cNfRGfz8eXX37J1Vdfzfvvv09LSwsJCQls2LCBV199lZtuugmLxcI//vEPbrjhBr7++mv0ej3FxcVCgOWXQlVVampqaG1tDflce56bzYFSEFarldGjRwsRte7XVZgjg+HDhx8xpbxiYmI4/fTT+6TQ1b4YNWqUuGf6KlFRUZx++ul9IhLkt6aoqKjX+fbv+dg6nY5TTjklXF3gF0RS+8hTVlOq7SPNCXMY0SbzP3eCqOUjH8yETlVVtm7dyvbt28nMzGTYsGG/G0Glvo6Wv/lT0Gota3g8Htra2khMTERRFBoaGvD5fCQmJooJQWdnp8izfvrpp7nnnnuwWCwsXryYkpISLrroItavX4/b7aa1tZURI0YwaNAgJEnC7/fz4osvMn78eGJjY7n11lu57LLLOO6444SAkOYR7+rqoqWlhbS0NFFLOjo6moaGBqKjo/F6vXz44Yd89dVXnHfeedjtdk477TShD6CqqvDYagrYCQkJuFwuGhoaiIyMxGw2Y7fbSUxMZM6cOQwZMkSETf8UVFWlvb2d9vZ24uPjhYe4sbERm82G2WzG5/PR0NCALMskJSWJsero6MDr9RIXFycMW4fDQUtLC4qiiP0Ft+mnKFH/GnR/Rmh1o5988kkefvhhXnzxRQYMGCAE/t544w0URaGkpIQJEyZwzDHH8N5772E0GomIiOC44477RSegqqry7bffsm3btpDPjUYjp59+esjCbktLC8899xzbt2/nuOOO46KLLtrvfaap3B8pETj/C2jzmyNhTILnYkdCe+HI6N8jsV9/KX7L8fqtjh0e/1+esGEb5hfntzBsw/x2HA7D9kD4/X5ef/11KisraW9vZ+jQoZx77rl0dXWxefNmFEUhOzubxMREduzYgdFoJC8vT7RLq2utKApGo5EffvgBq9UaoiB8sGj5smazmcLCQnQ63SEvomh1/xISEo6IhZgjwbCdO3cuqqpyySWXsGHDBt544w0efPBBDAYDK1eu5KGHHuL444/nD3/4w37LnWlGckpKys8qe1ReXk5iYiJWq1Xss6GhIWQbnU5HYWFhSCi0FhpeX1/Pgw8+yD333LNf8ZGwYfvroJVw27VrF5mZmeTk5PRaO3rHjh2YzWYGDx6M0WjE4/GwdetW2tvbycvLE2OpLcqqqkpRUdFhb29XVxebNm1Cp9MxaNAgIdKpHdvtdrN582a6uroYMGAAKSkpqKpKVVUVpaWlREdHi5J6mzdvFhExSUlJoq734URVVSorKykrKyM7OztE9E9VVdavXy9K7GmRWnFxcZSVlVFdXU1BQYGIoPH7/Wzbto2WlhYKCwvFIt7hwOFwsGnTJiRJYvDgwSH92tLSElJqMjY2lqFDh9LW1kZJSQmyLDNixAhkWcZut7Nq1apAySBZZsiQIUeUGKTP52Pbtm20trZSVFREbGxsSMWAFStWiPQ8g8HA6NGjcbvdbNu2DZfLRU5ODllZWUiSRGtrK1u2bEGWZYqKioT45+E8tsViEfdwdXU1I0eOFO9er9fL6tWr6d+//wEVpQ/l2O3t7fz4449AYDFTizhwOp3iWho0aFBYnf8n0mdDkcOECRNmX8iyzIwZM+js7MRgMBATE4Msy9hsNsaOHRuybXFxcY/fS5IUEsau1ZU9FCwWS49jHipazeowhweHw8HKlSu55ZZbUFWVAQMG4HA42L17N/n5+UKh8oILLsBgMGC323E4HDidTlJSUtDr9dTW1iLLMikpKSxZsoQxY8YQFxdHamoqTqcTh8OBx+MhMjKS1tZWkpOTsVgsdHR00NLSQlxcHFFRUXR1ddHU1MTnn3/OtGnThNHa0NDArl27QtptMBhCUgs8Hg9+vx+TyYTVasXv9/+khaAwvwyqqlJRUcHjjz/OqFGjWLBgAVdddRVFRUViIlpaWsp//vMfES3Sr18/oqOjefnll3E6nSIcUjNs6+rqePTRR8nOzuaBBx44rO31er0899xz6HQ63G43a9as4eqrrw6ZgD/33HPo9XqSkpIwGo0kJyezbt063n77bQYPHkxNTQ0DBgwQKvSKovDNN9/Qr18/Bg8efFjbq6oqpaWl/P3vf2fUqFG88847XHfddRx11FGizQ6HQ5QxnD9/Po8++ih6vZ63336brVu3cv7553PSSSeJ+uJffPEF+fn5fPDBB9x9992HJU/d5/Px/PPPoygKfr+fVatWcc011wgDyefz0dHRIfL9rVYrQ4cO5dtvv2X58uU0Nzfz7LPPYjQaqamp4dVXX+XUU08NKQ14JKDVUl+2bBl5eXksXLiQu+++W5Q1UlWVzs5O3G43tbW1fPfdd4wYMYKKigq2bduGXq9n/vz53HDDDeTk5PDwww+Tm5uL1+vl448/5p577tlnBM2hHltVVZxOJ88++yxVVVW88MILIuXou+++45FHHuH//u//OO644w77ea9bt47PP/+c8ePHYzKZArV+FYXnn38ev9+PoiisWLGC66677ohY6O4rhA3bMGHC/Ob81NVISZKIiIj43ddV7ev09VXkkpISampqeP7550UN6/r6elatWkV0dDTz5s0L8b6uWbOGFStWkJeXBwQ8K5WVlXi9XgYPHozH4xH1rwcOHIiiKHz99deMGTOGDRs20L9/f6qqqrjiiisoLS2ltLSUyspKLrzwQt544w1yc3PZvHmzEO+TJIkxY8YwZsyY/Z5HTU0Nc+fOBQIT+UmTJoVLRfQRli5dypgxY7jwwgtJSkpi0aJFFBYWinD+d955h9GjR5OUlER2djaxsbGUlJRQUlLCzJkzMRqNFBYWAgED6N1332XChAnU1NQc9rbW1dVRUlLC3//+d9xuN7ff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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.image as mpimg\n", + "pngfile = os.path.join(outdir, f'fastspec-{survey}-{program}-{healpix}-{targetid}.png')\n", + "img = mpimg.imread(pngfile)\n", + "\n", + "fig, ax = plt.subplots(figsize=(12, 12))\n", + "ax.imshow(img)\n", + "ax.axis('off')" + ] + }, + { + "cell_type": "markdown", + "id": "ea29b81d-97b5-480c-bd9b-e53e6e9454fe", + "metadata": {}, + "source": [ + "##### Read the fitting results. Click [here](https://fastspecfit.readthedocs.io/en/latest/fastspec.html) for a description of the data model." ] }, { "cell_type": "code", - "execution_count": 20, - "id": "36ea8b66-094c-4cc6-a4d1-56fbff140916", + "execution_count": 7, + "id": "52090c4f-75fd-4fcd-8309-4c4f099a204e", "metadata": { "tags": [] }, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:io.py:1798:read_fastspecfit: Read 1 object(s) from /global/homes/i/ioannis/fastspec-39633109787873428.fits\n" + ] + }, { "data": { + "text/html": [ + "
Table length=1\n", + "\n", + "\n", + "\n", + "\n", + "
TARGETIDSURVEYPROGRAMHEALPIXTILEID_LISTRADECCOADD_FIBERSTATUSCMX_TARGETDESI_TARGETBGS_TARGETMWS_TARGETSCND_TARGETSV1_DESI_TARGETSV1_BGS_TARGETSV1_MWS_TARGETSV2_DESI_TARGETSV2_BGS_TARGETSV2_MWS_TARGETSV3_DESI_TARGETSV3_BGS_TARGETSV3_MWS_TARGETSV1_SCND_TARGETSV2_SCND_TARGETSV3_SCND_TARGETZZWARNDELTACHI2SPECTYPEZ_RRTSNR2_BGSTSNR2_LRGTSNR2_ELGTSNR2_QSOTSNR2_LYAPHOTSYSLS_IDFIBERFLUX_GFIBERFLUX_RFIBERFLUX_ZFIBERTOTFLUX_GFIBERTOTFLUX_RFIBERTOTFLUX_ZFLUX_GFLUX_RFLUX_ZFLUX_W1FLUX_W2FLUX_W3FLUX_W4FLUX_IVAR_GFLUX_IVAR_RFLUX_IVAR_ZFLUX_IVAR_W1FLUX_IVAR_W2FLUX_IVAR_W3FLUX_IVAR_W4EBVMW_TRANSMISSION_GMW_TRANSMISSION_RMW_TRANSMISSION_ZMW_TRANSMISSION_W1MW_TRANSMISSION_W2MW_TRANSMISSION_W3MW_TRANSMISSION_W4SPECPROD
int64str3str6int32str3float64float64int32int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64float64int64float64str6float64float32float32float32float32float32str1int64float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32str4
39633109787873428sv3bright9813371246.4526581929613741.7888150914139660000000000005764607523034234880514000791648371998720.1320199801585397501188.5740924547426GALAXY0.132019980158539751509.089116.38171424.7657645.80330513.420705N99077354134611408.62723623.98110252.903578.79624324.29385853.28263545.859978126.65814277.79364329.8847236.47246440.48077-262.3544638.728479.9747615.2856720.86291260.390388970.00238870781.8650966e-050.00646524460.98078650.98712610.99288570.998904940.999327360.99985650.9999458fuji
" + ], "text/plain": [ - "dict_keys(['imf', 'continuum_pixkms', 'pixkms_wavesplit', 'vdisp_nominal', 'templateinfo', 'templatewave', 'templateflux', 'templateflux_nomvdisp', 'templateflux_nolines', 'templateflux_nolines_nomvdisp', 'vdispflux', 'vdispwave', 'vdisp', 'vdisp_nominal_indx'])" + "\n", + " TARGETID SURVEY PROGRAM ... MW_TRANSMISSION_W4 SPECPROD\n", + " int64 str3 str6 ... float32 str4 \n", + "----------------- ------ ------- ... ------------------ --------\n", + "39633109787873428 sv3 bright ... 0.9999458 fuji" ] }, - "execution_count": 20, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "cache = cache_templates(templates='/pscratch/sd/i/ioannis/fastspecfit/templates/1.1.0/ftemplates-chabrier-1.1.0.fits')\n", - "cache.keys()" + "fast, meta, _, _ = read_fastspecfit(fastfile, read_models=False)\n", + "meta" ] }, { "cell_type": "code", - "execution_count": 22, - "id": "e8545c7b-978c-457b-8c57-4dee5fb78dd6", + "execution_count": 8, + "id": "8b933d52-a73a-457e-a901-72d8f62d9ab5", "metadata": { "tags": [] }, "outputs": [ { "data": { + "text/html": [ + "
Table length=1\n", + "
\n", + "\n", + "\n", + "\n", + "
TARGETIDSURVEYPROGRAMHEALPIXZCOEFFRCHI2RCHI2_CONTRCHI2_PHOTSNR_BSNR_RSNR_ZSMOOTHCORR_BSMOOTHCORR_RSMOOTHCORR_ZVDISPVDISP_IVARAVAGEZZSUNLOGMSTARSFRDN4000DN4000_OBSDN4000_IVARDN4000_MODELFLUX_SYNTH_GFLUX_SYNTH_RFLUX_SYNTH_ZFLUX_SYNTH_SPECMODEL_GFLUX_SYNTH_SPECMODEL_RFLUX_SYNTH_SPECMODEL_ZFLUX_SYNTH_PHOTMODEL_GFLUX_SYNTH_PHOTMODEL_RFLUX_SYNTH_PHOTMODEL_ZFLUX_SYNTH_PHOTMODEL_W1FLUX_SYNTH_PHOTMODEL_W2FLUX_SYNTH_PHOTMODEL_W3FLUX_SYNTH_PHOTMODEL_W4ABSMAG10_DECAM_GABSMAG10_IVAR_DECAM_GKCORR10_DECAM_GABSMAG10_DECAM_RABSMAG10_IVAR_DECAM_RKCORR10_DECAM_RABSMAG10_DECAM_ZABSMAG10_IVAR_DECAM_ZKCORR10_DECAM_ZABSMAG00_UABSMAG00_IVAR_UKCORR00_UABSMAG00_BABSMAG00_IVAR_BKCORR00_BABSMAG00_VABSMAG00_IVAR_VKCORR00_VABSMAG01_SDSS_UABSMAG01_IVAR_SDSS_UKCORR01_SDSS_UABSMAG01_SDSS_GABSMAG01_IVAR_SDSS_GKCORR01_SDSS_GABSMAG01_SDSS_RABSMAG01_IVAR_SDSS_RKCORR01_SDSS_RABSMAG01_SDSS_IABSMAG01_IVAR_SDSS_IKCORR01_SDSS_IABSMAG01_SDSS_ZABSMAG01_IVAR_SDSS_ZKCORR01_SDSS_ZABSMAG01_W1ABSMAG01_IVAR_W1KCORR01_W1LOGLNU_1500LOGLNU_2800LOGL_1450LOGL_1700LOGL_3000LOGL_5100FLYA_1215_CONTFOII_3727_CONTFHBETA_CONTFOIII_5007_CONTFHALPHA_CONTRCHI2_LINEDELTA_LINECHI2DELTA_LINENDOFAPERCORRAPERCORR_GAPERCORR_RAPERCORR_ZNARROW_ZNARROW_ZRMSBROAD_ZBROAD_ZRMSUV_ZUV_ZRMSNARROW_SIGMANARROW_SIGMARMSBROAD_SIGMABROAD_SIGMARMSUV_SIGMAUV_SIGMARMSMGII_DOUBLET_RATIOOII_DOUBLET_RATIOSII_DOUBLET_RATIOLYALPHA_MODELAMPLYALPHA_AMPLYALPHA_AMP_IVARLYALPHA_FLUXLYALPHA_FLUX_IVARLYALPHA_BOXFLUXLYALPHA_BOXFLUX_IVARLYALPHA_VSHIFTLYALPHA_SIGMALYALPHA_CONTLYALPHA_CONT_IVARLYALPHA_EWLYALPHA_EW_IVARLYALPHA_FLUX_LIMITLYALPHA_EW_LIMITLYALPHA_CHI2LYALPHA_NPIXOI_1304_MODELAMPOI_1304_AMPOI_1304_AMP_IVAROI_1304_FLUXOI_1304_FLUX_IVAROI_1304_BOXFLUXOI_1304_BOXFLUX_IVAROI_1304_VSHIFTOI_1304_SIGMAOI_1304_CONTOI_1304_CONT_IVAROI_1304_EWOI_1304_EW_IVAROI_1304_FLUX_LIMITOI_1304_EW_LIMITOI_1304_CHI2OI_1304_NPIXSILIV_1396_MODELAMPSILIV_1396_AMPSILIV_1396_AMP_IVARSILIV_1396_FLUXSILIV_1396_FLUX_IVARSILIV_1396_BOXFLUXSILIV_1396_BOXFLUX_IVARSILIV_1396_VSHIFTSILIV_1396_SIGMASILIV_1396_CONTSILIV_1396_CONT_IVARSILIV_1396_EWSILIV_1396_EW_IVARSILIV_1396_FLUX_LIMITSILIV_1396_EW_LIMITSILIV_1396_CHI2SILIV_1396_NPIXCIV_1549_MODELAMPCIV_1549_AMPCIV_1549_AMP_IVARCIV_1549_FLUXCIV_1549_FLUX_IVARCIV_1549_BOXFLUXCIV_1549_BOXFLUX_IVARCIV_1549_VSHIFTCIV_1549_SIGMACIV_1549_CONTCIV_1549_CONT_IVARCIV_1549_EWCIV_1549_EW_IVARCIV_1549_FLUX_LIMITCIV_1549_EW_LIMITCIV_1549_CHI2CIV_1549_NPIXHEII_1640_MODELAMPHEII_1640_AMPHEII_1640_AMP_IVARHEII_1640_FLUXHEII_1640_FLUX_IVARHEII_1640_BOXFLUXHEII_1640_BOXFLUX_IVARHEII_1640_VSHIFTHEII_1640_SIGMAHEII_1640_CONTHEII_1640_CONT_IVARHEII_1640_EWHEII_1640_EW_IVARHEII_1640_FLUX_LIMITHEII_1640_EW_LIMITHEII_1640_CHI2HEII_1640_NPIXALIII_1857_MODELAMPALIII_1857_AMPALIII_1857_AMP_IVARALIII_1857_FLUXALIII_1857_FLUX_IVARALIII_1857_BOXFLUXALIII_1857_BOXFLUX_IVARALIII_1857_VSHIFTALIII_1857_SIGMAALIII_1857_CONTALIII_1857_CONT_IVARALIII_1857_EWALIII_1857_EW_IVARALIII_1857_FLUX_LIMITALIII_1857_EW_LIMITALIII_1857_CHI2ALIII_1857_NPIXSILIII_1892_MODELAMPSILIII_1892_AMPSILIII_1892_AMP_IVARSILIII_1892_FLUXSILIII_1892_FLUX_IVARSILIII_1892_BOXFLUXSILIII_1892_BOXFLUX_IVARSILIII_1892_VSHIFTSILIII_1892_SIGMASILIII_1892_CONTSILIII_1892_CONT_IVARSILIII_1892_EWSILIII_1892_EW_IVARSILIII_1892_FLUX_LIMITSILIII_1892_EW_LIMITSILIII_1892_CHI2SILIII_1892_NPIXCIII_1908_MODELAMPCIII_1908_AMPCIII_1908_AMP_IVARCIII_1908_FLUXCIII_1908_FLUX_IVARCIII_1908_BOXFLUXCIII_1908_BOXFLUX_IVARCIII_1908_VSHIFTCIII_1908_SIGMACIII_1908_CONTCIII_1908_CONT_IVARCIII_1908_EWCIII_1908_EW_IVARCIII_1908_FLUX_LIMITCIII_1908_EW_LIMITCIII_1908_CHI2CIII_1908_NPIXMGII_2796_MODELAMPMGII_2796_AMPMGII_2796_AMP_IVARMGII_2796_FLUXMGII_2796_FLUX_IVARMGII_2796_BOXFLUXMGII_2796_BOXFLUX_IVARMGII_2796_VSHIFTMGII_2796_SIGMAMGII_2796_CONTMGII_2796_CONT_IVARMGII_2796_EWMGII_2796_EW_IVARMGII_2796_FLUX_LIMITMGII_2796_EW_LIMITMGII_2796_CHI2MGII_2796_NPIXMGII_2803_MODELAMPMGII_2803_AMPMGII_2803_AMP_IVARMGII_2803_FLUXMGII_2803_FLUX_IVARMGII_2803_BOXFLUXMGII_2803_BOXFLUX_IVARMGII_2803_VSHIFTMGII_2803_SIGMAMGII_2803_CONTMGII_2803_CONT_IVARMGII_2803_EWMGII_2803_EW_IVARMGII_2803_FLUX_LIMITMGII_2803_EW_LIMITMGII_2803_CHI2MGII_2803_NPIXNEV_3346_MODELAMPNEV_3346_AMPNEV_3346_AMP_IVARNEV_3346_FLUXNEV_3346_FLUX_IVARNEV_3346_BOXFLUXNEV_3346_BOXFLUX_IVARNEV_3346_VSHIFTNEV_3346_SIGMANEV_3346_CONTNEV_3346_CONT_IVARNEV_3346_EWNEV_3346_EW_IVARNEV_3346_FLUX_LIMITNEV_3346_EW_LIMITNEV_3346_CHI2NEV_3346_NPIXNEV_3426_MODELAMPNEV_3426_AMPNEV_3426_AMP_IVARNEV_3426_FLUXNEV_3426_FLUX_IVARNEV_3426_BOXFLUXNEV_3426_BOXFLUX_IVARNEV_3426_VSHIFTNEV_3426_SIGMANEV_3426_CONTNEV_3426_CONT_IVARNEV_3426_EWNEV_3426_EW_IVARNEV_3426_FLUX_LIMITNEV_3426_EW_LIMITNEV_3426_CHI2NEV_3426_NPIXOII_3726_MODELAMPOII_3726_AMPOII_3726_AMP_IVAROII_3726_FLUXOII_3726_FLUX_IVAROII_3726_BOXFLUXOII_3726_BOXFLUX_IVAROII_3726_VSHIFTOII_3726_SIGMAOII_3726_CONTOII_3726_CONT_IVAROII_3726_EWOII_3726_EW_IVAROII_3726_FLUX_LIMITOII_3726_EW_LIMITOII_3726_CHI2OII_3726_NPIXOII_3729_MODELAMPOII_3729_AMPOII_3729_AMP_IVAROII_3729_FLUXOII_3729_FLUX_IVAROII_3729_BOXFLUXOII_3729_BOXFLUX_IVAROII_3729_VSHIFTOII_3729_SIGMAOII_3729_CONTOII_3729_CONT_IVAROII_3729_EWOII_3729_EW_IVAROII_3729_FLUX_LIMITOII_3729_EW_LIMITOII_3729_CHI2OII_3729_NPIXNEIII_3869_MODELAMPNEIII_3869_AMPNEIII_3869_AMP_IVARNEIII_3869_FLUXNEIII_3869_FLUX_IVARNEIII_3869_BOXFLUXNEIII_3869_BOXFLUX_IVARNEIII_3869_VSHIFTNEIII_3869_SIGMANEIII_3869_CONTNEIII_3869_CONT_IVARNEIII_3869_EWNEIII_3869_EW_IVARNEIII_3869_FLUX_LIMITNEIII_3869_EW_LIMITNEIII_3869_CHI2NEIII_3869_NPIXH6_MODELAMPH6_AMPH6_AMP_IVARH6_FLUXH6_FLUX_IVARH6_BOXFLUXH6_BOXFLUX_IVARH6_VSHIFTH6_SIGMAH6_CONTH6_CONT_IVARH6_EWH6_EW_IVARH6_FLUX_LIMITH6_EW_LIMITH6_CHI2H6_NPIXH6_BROAD_MODELAMPH6_BROAD_AMPH6_BROAD_AMP_IVARH6_BROAD_FLUXH6_BROAD_FLUX_IVARH6_BROAD_BOXFLUXH6_BROAD_BOXFLUX_IVARH6_BROAD_VSHIFTH6_BROAD_SIGMAH6_BROAD_CONTH6_BROAD_CONT_IVARH6_BROAD_EWH6_BROAD_EW_IVARH6_BROAD_FLUX_LIMITH6_BROAD_EW_LIMITH6_BROAD_CHI2H6_BROAD_NPIXHEPSILON_MODELAMPHEPSILON_AMPHEPSILON_AMP_IVARHEPSILON_FLUXHEPSILON_FLUX_IVARHEPSILON_BOXFLUXHEPSILON_BOXFLUX_IVARHEPSILON_VSHIFTHEPSILON_SIGMAHEPSILON_CONTHEPSILON_CONT_IVARHEPSILON_EWHEPSILON_EW_IVARHEPSILON_FLUX_LIMITHEPSILON_EW_LIMITHEPSILON_CHI2HEPSILON_NPIXHEPSILON_BROAD_MODELAMPHEPSILON_BROAD_AMPHEPSILON_BROAD_AMP_IVARHEPSILON_BROAD_FLUXHEPSILON_BROAD_FLUX_IVARHEPSILON_BROAD_BOXFLUXHEPSILON_BROAD_BOXFLUX_IVARHEPSILON_BROAD_VSHIFTHEPSILON_BROAD_SIGMAHEPSILON_BROAD_CONTHEPSILON_BROAD_CONT_IVARHEPSILON_BROAD_EWHEPSILON_BROAD_EW_IVARHEPSILON_BROAD_FLUX_LIMITHEPSILON_BROAD_EW_LIMITHEPSILON_BROAD_CHI2HEPSILON_BROAD_NPIXHDELTA_MODELAMPHDELTA_AMPHDELTA_AMP_IVARHDELTA_FLUXHDELTA_FLUX_IVARHDELTA_BOXFLUXHDELTA_BOXFLUX_IVARHDELTA_VSHIFTHDELTA_SIGMAHDELTA_CONTHDELTA_CONT_IVARHDELTA_EWHDELTA_EW_IVARHDELTA_FLUX_LIMITHDELTA_EW_LIMITHDELTA_CHI2HDELTA_NPIXHDELTA_BROAD_MODELAMPHDELTA_BROAD_AMPHDELTA_BROAD_AMP_IVARHDELTA_BROAD_FLUXHDELTA_BROAD_FLUX_IVARHDELTA_BROAD_BOXFLUXHDELTA_BROAD_BOXFLUX_IVARHDELTA_BROAD_VSHIFTHDELTA_BROAD_SIGMAHDELTA_BROAD_CONTHDELTA_BROAD_CONT_IVARHDELTA_BROAD_EWHDELTA_BROAD_EW_IVARHDELTA_BROAD_FLUX_LIMITHDELTA_BROAD_EW_LIMITHDELTA_BROAD_CHI2HDELTA_BROAD_NPIXHGAMMA_MODELAMPHGAMMA_AMPHGAMMA_AMP_IVARHGAMMA_FLUXHGAMMA_FLUX_IVARHGAMMA_BOXFLUXHGAMMA_BOXFLUX_IVARHGAMMA_VSHIFTHGAMMA_SIGMAHGAMMA_CONTHGAMMA_CONT_IVARHGAMMA_EWHGAMMA_EW_IVARHGAMMA_FLUX_LIMITHGAMMA_EW_LIMITHGAMMA_CHI2HGAMMA_NPIXHGAMMA_BROAD_MODELAMPHGAMMA_BROAD_AMPHGAMMA_BROAD_AMP_IVARHGAMMA_BROAD_FLUXHGAMMA_BROAD_FLUX_IVARHGAMMA_BROAD_BOXFLUXHGAMMA_BROAD_BOXFLUX_IVARHGAMMA_BROAD_VSHIFTHGAMMA_BROAD_SIGMAHGAMMA_BROAD_CONTHGAMMA_BROAD_CONT_IVARHGAMMA_BROAD_EWHGAMMA_BROAD_EW_IVARHGAMMA_BROAD_FLUX_LIMITHGAMMA_BROAD_EW_LIMITHGAMMA_BROAD_CHI2HGAMMA_BROAD_NPIXOIII_4363_MODELAMPOIII_4363_AMPOIII_4363_AMP_IVAROIII_4363_FLUXOIII_4363_FLUX_IVAROIII_4363_BOXFLUXOIII_4363_BOXFLUX_IVAROIII_4363_VSHIFTOIII_4363_SIGMAOIII_4363_CONTOIII_4363_CONT_IVAROIII_4363_EWOIII_4363_EW_IVAROIII_4363_FLUX_LIMITOIII_4363_EW_LIMITOIII_4363_CHI2OIII_4363_NPIXHEI_4471_MODELAMPHEI_4471_AMPHEI_4471_AMP_IVARHEI_4471_FLUXHEI_4471_FLUX_IVARHEI_4471_BOXFLUXHEI_4471_BOXFLUX_IVARHEI_4471_VSHIFTHEI_4471_SIGMAHEI_4471_CONTHEI_4471_CONT_IVARHEI_4471_EWHEI_4471_EW_IVARHEI_4471_FLUX_LIMITHEI_4471_EW_LIMITHEI_4471_CHI2HEI_4471_NPIXHEI_BROAD_4471_MODELAMPHEI_BROAD_4471_AMPHEI_BROAD_4471_AMP_IVARHEI_BROAD_4471_FLUXHEI_BROAD_4471_FLUX_IVARHEI_BROAD_4471_BOXFLUXHEI_BROAD_4471_BOXFLUX_IVARHEI_BROAD_4471_VSHIFTHEI_BROAD_4471_SIGMAHEI_BROAD_4471_CONTHEI_BROAD_4471_CONT_IVARHEI_BROAD_4471_EWHEI_BROAD_4471_EW_IVARHEI_BROAD_4471_FLUX_LIMITHEI_BROAD_4471_EW_LIMITHEI_BROAD_4471_CHI2HEI_BROAD_4471_NPIXHEII_4686_MODELAMPHEII_4686_AMPHEII_4686_AMP_IVARHEII_4686_FLUXHEII_4686_FLUX_IVARHEII_4686_BOXFLUXHEII_4686_BOXFLUX_IVARHEII_4686_VSHIFTHEII_4686_SIGMAHEII_4686_CONTHEII_4686_CONT_IVARHEII_4686_EWHEII_4686_EW_IVARHEII_4686_FLUX_LIMITHEII_4686_EW_LIMITHEII_4686_CHI2HEII_4686_NPIXHEII_BROAD_4686_MODELAMPHEII_BROAD_4686_AMPHEII_BROAD_4686_AMP_IVARHEII_BROAD_4686_FLUXHEII_BROAD_4686_FLUX_IVARHEII_BROAD_4686_BOXFLUXHEII_BROAD_4686_BOXFLUX_IVARHEII_BROAD_4686_VSHIFTHEII_BROAD_4686_SIGMAHEII_BROAD_4686_CONTHEII_BROAD_4686_CONT_IVARHEII_BROAD_4686_EWHEII_BROAD_4686_EW_IVARHEII_BROAD_4686_FLUX_LIMITHEII_BROAD_4686_EW_LIMITHEII_BROAD_4686_CHI2HEII_BROAD_4686_NPIXHBETA_MODELAMPHBETA_AMPHBETA_AMP_IVARHBETA_FLUXHBETA_FLUX_IVARHBETA_BOXFLUXHBETA_BOXFLUX_IVARHBETA_VSHIFTHBETA_SIGMAHBETA_CONTHBETA_CONT_IVARHBETA_EWHBETA_EW_IVARHBETA_FLUX_LIMITHBETA_EW_LIMITHBETA_CHI2HBETA_NPIXHBETA_BROAD_MODELAMPHBETA_BROAD_AMPHBETA_BROAD_AMP_IVARHBETA_BROAD_FLUXHBETA_BROAD_FLUX_IVARHBETA_BROAD_BOXFLUXHBETA_BROAD_BOXFLUX_IVARHBETA_BROAD_VSHIFTHBETA_BROAD_SIGMAHBETA_BROAD_CONTHBETA_BROAD_CONT_IVARHBETA_BROAD_EWHBETA_BROAD_EW_IVARHBETA_BROAD_FLUX_LIMITHBETA_BROAD_EW_LIMITHBETA_BROAD_CHI2HBETA_BROAD_NPIXOIII_4959_MODELAMPOIII_4959_AMPOIII_4959_AMP_IVAROIII_4959_FLUXOIII_4959_FLUX_IVAROIII_4959_BOXFLUXOIII_4959_BOXFLUX_IVAROIII_4959_VSHIFTOIII_4959_SIGMAOIII_4959_CONTOIII_4959_CONT_IVAROIII_4959_EWOIII_4959_EW_IVAROIII_4959_FLUX_LIMITOIII_4959_EW_LIMITOIII_4959_CHI2OIII_4959_NPIXOIII_5007_MODELAMPOIII_5007_AMPOIII_5007_AMP_IVAROIII_5007_FLUXOIII_5007_FLUX_IVAROIII_5007_BOXFLUXOIII_5007_BOXFLUX_IVAROIII_5007_VSHIFTOIII_5007_SIGMAOIII_5007_CONTOIII_5007_CONT_IVAROIII_5007_EWOIII_5007_EW_IVAROIII_5007_FLUX_LIMITOIII_5007_EW_LIMITOIII_5007_CHI2OIII_5007_NPIXNII_5755_MODELAMPNII_5755_AMPNII_5755_AMP_IVARNII_5755_FLUXNII_5755_FLUX_IVARNII_5755_BOXFLUXNII_5755_BOXFLUX_IVARNII_5755_VSHIFTNII_5755_SIGMANII_5755_CONTNII_5755_CONT_IVARNII_5755_EWNII_5755_EW_IVARNII_5755_FLUX_LIMITNII_5755_EW_LIMITNII_5755_CHI2NII_5755_NPIXHEI_5876_MODELAMPHEI_5876_AMPHEI_5876_AMP_IVARHEI_5876_FLUXHEI_5876_FLUX_IVARHEI_5876_BOXFLUXHEI_5876_BOXFLUX_IVARHEI_5876_VSHIFTHEI_5876_SIGMAHEI_5876_CONTHEI_5876_CONT_IVARHEI_5876_EWHEI_5876_EW_IVARHEI_5876_FLUX_LIMITHEI_5876_EW_LIMITHEI_5876_CHI2HEI_5876_NPIXHEI_BROAD_5876_MODELAMPHEI_BROAD_5876_AMPHEI_BROAD_5876_AMP_IVARHEI_BROAD_5876_FLUXHEI_BROAD_5876_FLUX_IVARHEI_BROAD_5876_BOXFLUXHEI_BROAD_5876_BOXFLUX_IVARHEI_BROAD_5876_VSHIFTHEI_BROAD_5876_SIGMAHEI_BROAD_5876_CONTHEI_BROAD_5876_CONT_IVARHEI_BROAD_5876_EWHEI_BROAD_5876_EW_IVARHEI_BROAD_5876_FLUX_LIMITHEI_BROAD_5876_EW_LIMITHEI_BROAD_5876_CHI2HEI_BROAD_5876_NPIXOI_6300_MODELAMPOI_6300_AMPOI_6300_AMP_IVAROI_6300_FLUXOI_6300_FLUX_IVAROI_6300_BOXFLUXOI_6300_BOXFLUX_IVAROI_6300_VSHIFTOI_6300_SIGMAOI_6300_CONTOI_6300_CONT_IVAROI_6300_EWOI_6300_EW_IVAROI_6300_FLUX_LIMITOI_6300_EW_LIMITOI_6300_CHI2OI_6300_NPIXSIII_6312_MODELAMPSIII_6312_AMPSIII_6312_AMP_IVARSIII_6312_FLUXSIII_6312_FLUX_IVARSIII_6312_BOXFLUXSIII_6312_BOXFLUX_IVARSIII_6312_VSHIFTSIII_6312_SIGMASIII_6312_CONTSIII_6312_CONT_IVARSIII_6312_EWSIII_6312_EW_IVARSIII_6312_FLUX_LIMITSIII_6312_EW_LIMITSIII_6312_CHI2SIII_6312_NPIXNII_6548_MODELAMPNII_6548_AMPNII_6548_AMP_IVARNII_6548_FLUXNII_6548_FLUX_IVARNII_6548_BOXFLUXNII_6548_BOXFLUX_IVARNII_6548_VSHIFTNII_6548_SIGMANII_6548_CONTNII_6548_CONT_IVARNII_6548_EWNII_6548_EW_IVARNII_6548_FLUX_LIMITNII_6548_EW_LIMITNII_6548_CHI2NII_6548_NPIXHALPHA_MODELAMPHALPHA_AMPHALPHA_AMP_IVARHALPHA_FLUXHALPHA_FLUX_IVARHALPHA_BOXFLUXHALPHA_BOXFLUX_IVARHALPHA_VSHIFTHALPHA_SIGMAHALPHA_CONTHALPHA_CONT_IVARHALPHA_EWHALPHA_EW_IVARHALPHA_FLUX_LIMITHALPHA_EW_LIMITHALPHA_CHI2HALPHA_NPIXHALPHA_BROAD_MODELAMPHALPHA_BROAD_AMPHALPHA_BROAD_AMP_IVARHALPHA_BROAD_FLUXHALPHA_BROAD_FLUX_IVARHALPHA_BROAD_BOXFLUXHALPHA_BROAD_BOXFLUX_IVARHALPHA_BROAD_VSHIFTHALPHA_BROAD_SIGMAHALPHA_BROAD_CONTHALPHA_BROAD_CONT_IVARHALPHA_BROAD_EWHALPHA_BROAD_EW_IVARHALPHA_BROAD_FLUX_LIMITHALPHA_BROAD_EW_LIMITHALPHA_BROAD_CHI2HALPHA_BROAD_NPIXNII_6584_MODELAMPNII_6584_AMPNII_6584_AMP_IVARNII_6584_FLUXNII_6584_FLUX_IVARNII_6584_BOXFLUXNII_6584_BOXFLUX_IVARNII_6584_VSHIFTNII_6584_SIGMANII_6584_CONTNII_6584_CONT_IVARNII_6584_EWNII_6584_EW_IVARNII_6584_FLUX_LIMITNII_6584_EW_LIMITNII_6584_CHI2NII_6584_NPIXSII_6716_MODELAMPSII_6716_AMPSII_6716_AMP_IVARSII_6716_FLUXSII_6716_FLUX_IVARSII_6716_BOXFLUXSII_6716_BOXFLUX_IVARSII_6716_VSHIFTSII_6716_SIGMASII_6716_CONTSII_6716_CONT_IVARSII_6716_EWSII_6716_EW_IVARSII_6716_FLUX_LIMITSII_6716_EW_LIMITSII_6716_CHI2SII_6716_NPIXSII_6731_MODELAMPSII_6731_AMPSII_6731_AMP_IVARSII_6731_FLUXSII_6731_FLUX_IVARSII_6731_BOXFLUXSII_6731_BOXFLUX_IVARSII_6731_VSHIFTSII_6731_SIGMASII_6731_CONTSII_6731_CONT_IVARSII_6731_EWSII_6731_EW_IVARSII_6731_FLUX_LIMITSII_6731_EW_LIMITSII_6731_CHI2SII_6731_NPIXOII_7320_MODELAMPOII_7320_AMPOII_7320_AMP_IVAROII_7320_FLUXOII_7320_FLUX_IVAROII_7320_BOXFLUXOII_7320_BOXFLUX_IVAROII_7320_VSHIFTOII_7320_SIGMAOII_7320_CONTOII_7320_CONT_IVAROII_7320_EWOII_7320_EW_IVAROII_7320_FLUX_LIMITOII_7320_EW_LIMITOII_7320_CHI2OII_7320_NPIXOII_7330_MODELAMPOII_7330_AMPOII_7330_AMP_IVAROII_7330_FLUXOII_7330_FLUX_IVAROII_7330_BOXFLUXOII_7330_BOXFLUX_IVAROII_7330_VSHIFTOII_7330_SIGMAOII_7330_CONTOII_7330_CONT_IVAROII_7330_EWOII_7330_EW_IVAROII_7330_FLUX_LIMITOII_7330_EW_LIMITOII_7330_CHI2OII_7330_NPIXSIII_9069_MODELAMPSIII_9069_AMPSIII_9069_AMP_IVARSIII_9069_FLUXSIII_9069_FLUX_IVARSIII_9069_BOXFLUXSIII_9069_BOXFLUX_IVARSIII_9069_VSHIFTSIII_9069_SIGMASIII_9069_CONTSIII_9069_CONT_IVARSIII_9069_EWSIII_9069_EW_IVARSIII_9069_FLUX_LIMITSIII_9069_EW_LIMITSIII_9069_CHI2SIII_9069_NPIXSIII_9532_MODELAMPSIII_9532_AMPSIII_9532_AMP_IVARSIII_9532_FLUXSIII_9532_FLUX_IVARSIII_9532_BOXFLUXSIII_9532_BOXFLUX_IVARSIII_9532_VSHIFTSIII_9532_SIGMASIII_9532_CONTSIII_9532_CONT_IVARSIII_9532_EWSIII_9532_EW_IVARSIII_9532_FLUX_LIMITSIII_9532_EW_LIMITSIII_9532_CHI2SIII_9532_NPIX
int64str3str6int32float64float32[192]float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float64float64float64float64float64float64float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32
39633109787873428sv3bright98130.132019980158539750.0 .. 0.01.02434351.056505417.3751092.16645249.26834312.383621-1.1667843-0.432350550.3462764235.356050.00109273640.8428921712.999992-0.1584924611.12170.02.59489132.45287068.0372442.3328668.88849130.43723368.687239.39446431.1300668.8281538.609314128.2048285.56757381.00604247.43686569.50336650.34863-14.74832269095.44-5.091489-17.65219569095.44-2.1876154-20.22093269095.440.38112146-18.39922369095.44-1.4405862-19.95815869095.440.118349366-20.718063135743.83-0.22474545-17.79441869095.44-2.0453908-19.80918169095.44-0.030627966-20.798811135743.83-0.14399704-21.295677135743.830.35286796-21.657293346016.03-0.13823847-21.82994879660.414-0.15218286-2.9106288-1.3418224-3.1778743-3.2289114-1.3120651-0.021108130.08369287.841058729.26979428.50862737.5210271.02771593.0204978114.1220754.8840424.1220753.9740430.13197186674055418.373153672257272e-050.132019980158539750.00.132019980158539750.0162.467110.3083340.00.00.00.00.01.9907750.244799960.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.0521422770.00.01.13884510.005372678484.93031172.775442.2360081.51063290.00.04.45412168.7979460.0171.14362811.07952270.20888396.40080.01616549715.0623590.01029663584.93031172.775440.451711454.545913712.5175430.00246605072.62905841.049076722.036995172.54070852.42067650.127722215.4504340.0274459216.8874780.016376287-101.039734172.775441.97124968.9621636.9238070.115028232.03535273.544273419.857384181.2762411.21594680.125346637.7544740.0258719922.4577640.017445333-101.039734172.775441.851760510.4884163.69924780.108972381.88284833.07996719.353117181.01999390.974095340.12975466.43994860.0128174358.3976850.007800195484.93031172.775441.28737133.54932714.41900540.0249657153.35997753.821079523.25862190.367781730.348582270.187674032.056930.0290681332.04348230.0172410.678043152.158773.09133776.66549350.587785660.355287972.17012625.926214728.530762170.00.00.108896020.00.0-4.05785560.025125360.00.02.97250583.71456860.00.01.43283963.76241060.0120.00.00.200451720.00.0-3.89476320.02340994410.678043152.158772.49676929.00762750.00.01.90568014.2031440.0180.00.00.136722890.00.00.25588220.0350232570.00.01.954109530.6024630.00.00.50959790.87967530.0120.00.00.349053320.00.0-7.4941770.025450410.678043152.158773.753260111.6892180.00.01.72834865.7304130.0170.00.00.61461830.00.0-1.44237340.0373931340.00.03.64985357.34355550.00.01.07478483.46531580.0120.00.00.641010050.00.0-9.430890.02167323810.678043152.158775.082608713.6627960.00.01.69169637.59547570.0190.00.00.406903180.00.0-4.6773870.0308833960.00.05.024426525.6674370.00.00.608347242.70012550.0120.00.00.119383180.00.0-11.5806570.0245399749.308941172.775444.774803622.8352070.00.01.49362926.3000530.0210.00.00.640043850.00.0-5.42516040.02731626310.678043152.158775.75077721.3375990.00.01.3945497.0844510.0190.00.00.84764390.00.0-3.0119450.043824250.00.05.79359317.1917930.00.00.765766863.9191370.0120.00.00.45283740.00.01.61241830.02765687610.678043152.158775.91589827.6559410.00.01.28357796.70793440.0200.00.01.00007860.00.00.58982550.046975290.00.06.59978815.580150.00.00.84291014.91424940.0120.00.01.08597670.00.0-2.5828430.02871957410.678043152.158776.102162426.9023270.00.01.35025257.2785470.0210.00.02.07305310.00.0-0.0662343650.050212360.00.05.608797617.4639340.00.00.8260184.0926550.0120.67022030.653601770.312308135.4344090.040722475.00133750.0233636636.3632483172.775447.208153724.2064130.665999952.70878981.648753210.4984628.059217251.99987041.95115280.3066757316.3663230.03899603318.4996030.0233507446.3632483172.775446.56828237.6734472.20112782.14215091.33438387.742450724.096344250.75962910.74514741.71523337.1461510.114679942.97525670.062687849.308941172.775448.95268397.777490.70512311.7700330.95199097.528907324.001612280.106920470.104617410.91723720.90409160.13526714.9714590.0819145110.678043152.158778.16407723.629610.0978253111.5527151.741330712.55839925.377865250.00.01.65409060.00.02.26369830.172416610.00.08.49975816.2179850.00.01.03600477.7788280.0120.0544856970.0537154080.935817240.56143250.137072071.45199280.081791239.308941172.775448.488295123.174570.05842826512.6559860.928620166.963129537.289284310.068654490.0675065141.01489040.70856660.132981761.40806710.081440629.308941172.775448.52028795.9680.0734636312.3709911.05401127.93314435.189686311.24654261.23107981.421222313.3499710.1255793117.3762260.06691903-39.526123172.775449.097692575.622051.296268513.272071.23157939.8978222.361364323.51199873.44496941.23421433.181360.1278427434.3856770.07663526410.678043152.158779.090207116.485523.224529313.3421840.876006077.034395721.51624280.00.03.75001070.00.027.4663830.158308880.00.09.03683746.1797870.00.00.685753055.4743190.0143.6674533.62031221.46616139.472330.1163930341.0520440.070532925-39.526123172.775449.00627472.206663.871626911.734981.26718410.0816333.34759321.56112411.54308740.170817333.9289250.005458839244.8084530.003542039818.634386172.775448.805327121.9483263.40385080.542014540.99494737.73911869.23985660.38216310.37774770.194757944.9879190.0417794328.1538140.007106293518.634386172.775448.818368140.198780.499662884.1629930.929917457.244001469.77589480.030003390.0295662530.85775240.358317140.098086745-0.1199158650.050609216-15.934024172.775449.070496188.112490.0348965510.3414190.872951036.994663234.959763350.0244905630.0241424960.9354440.293021320.101016633.1451770.05256695-15.934024172.775449.168727197.705760.02823163810.88225650.8527266.906602443.410465360.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00
" + ], "text/plain": [ - "(25.0, 10000.99108255767)" + "\n", + " TARGETID SURVEY PROGRAM ... SIII_9532_CHI2 SIII_9532_NPIX\n", + " int64 str3 str6 ... float32 int32 \n", + "----------------- ------ ------- ... -------------- --------------\n", + "39633109787873428 sv3 bright ... 0.0 0" ] }, - "execution_count": 22, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "cache['continuum_pixkms'], cache['pixkms_wavesplit']" + "fast" + ] + }, + { + "cell_type": "markdown", + "id": "e61bca4d-ae48-4e68-9357-ef4897cd7005", + "metadata": {}, + "source": [ + "#### Reproduce the best-fitting model fit." ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 9, + "id": "ff73010a-4199-429d-88cb-2c7b9aa19f62", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "redshift = fast['Z'][0]\n", + "vdisp = fast['VDISP'][0]\n", + "photsys = meta['PHOTSYS'][0] # N/S photometric system\n", + "coeff = fast['COEFF'].flatten()\n", + "dlum = cosmo.luminosity_distance(redshift)\n", + "dmod = cosmo.distance_modulus(redshift)\n", + "filters = CTools.filters[photsys]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "8c705fc4-362d-4dee-9fe1-e969f4861078", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "sedmodel, sedphot = CTools.templates2data(\n", + " templates['templateflux'], templates['templatewave'],\n", + " redshift=redshift, dluminosity=dlum, vdisp=vdisp, \n", + " photsys=photsys, synthphot=True, coeff=coeff)\n", + "\n", + "sedwave = templates['templatewave'] * (1 + redshift)\n", + "\n", + "# [1e-17 erg/s/cm2/A --> maggies]\n", + "abfactor = 10**(0.4 * 48.6) * sedwave**2 / (C_LIGHT * 1e13) / FLUXNORM\n", + "sedmodel_abmag = -2.5 * np.log10(sedmodel * abfactor) # AB mag" + ] + }, + { + "cell_type": "markdown", + "id": "b2b0a390-7d29-4fee-a325-090d41f8b866", + "metadata": {}, + "source": [ + "##### Parse the observed (input) photometry and then make a plot!" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "494e7295-69a5-41ea-8186-6c0d27906edc", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Table length=7\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
bandlambda_effnanomaggiesnanomaggies_ivarflamflam_ivarabmagabmag_ivarabmag_brighterrabmag_fainterrabmag_limit
str2float64float32float32float64float64float32float32float32float32float32
g4815.953635129666545.85997838.728472.152236280233112e-166.140062484443096e+3418.34641669095.460.00379102120.00381768170.0
r6437.792829370577126.658149.9747613.3264409815835074e-162.615190483751843e+3417.243418135743.830.00270742010.00272099020.0
z9229.657864493674277.793645.2856723.5495377294054666e-162.3223011466404976e+3416.390694346015.970.00169735390.00170267780.0
W134002.540444816936329.88470.86291263.10570463886497e-174.864218111125391e+3516.20409479660.4140.00353153750.0035546620.0
W246520.07577118702236.472460.390388971.1893794800698418e-173.262773796218799e+3616.56554818518.6780.0072990360.0073985110.0
W3128103.3789599012440.480770.00238870782.9216385726787228e-182.738190623184853e+3715.8901825393.159060.048194460.0528898870.0
W4223752.7751557955-262.354461.8650966e-05-5.70390516649236e-193.935073574338542e+360.00.00.00.015.835801
" + ], + "text/plain": [ + "\n", + "band lambda_eff nanomaggies ... abmag_fainterr abmag_limit\n", + "str2 float64 float32 ... float32 float32 \n", + "---- ------------------ ----------- ... -------------- -----------\n", + " g 4815.9536351296665 45.859978 ... 0.0038176817 0.0\n", + " r 6437.792829370577 126.65814 ... 0.0027209902 0.0\n", + " z 9229.657864493674 277.79364 ... 0.0017026778 0.0\n", + " W1 34002.540444816936 329.8847 ... 0.003554662 0.0\n", + " W2 46520.07577118702 236.47246 ... 0.007398511 0.0\n", + " W3 128103.3789599012 440.48077 ... 0.052889887 0.0\n", + " W4 223752.7751557955 -262.35446 ... 0.0 15.835801" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nanomaggies = np.array([meta['FLUX_{}'.format(band.upper())] for band in CTools.bands]).flatten()\n", + "ivarnanomaggies = np.array([meta['FLUX_IVAR_{}'.format(band.upper())] for band in CTools.bands]).flatten()\n", + "\n", + "phot = CTools.parse_photometry(CTools.bands, maggies=nanomaggies, ivarmaggies=ivarnanomaggies,\n", + " nanomaggies=True, lambda_eff=filters.effective_wavelengths.value,\n", + " min_uncertainty=CTools.min_uncertainty)\n", + "phot" + ] + }, + { + "cell_type": "code", + "execution_count": 12, "id": "1ae9460c-1f2b-4dc6-a0ca-6d4fd34fb7b8", "metadata": { "tags": [] @@ -120,16 +451,16 @@ { "data": { "text/plain": [ - "(0.1, 5)" + "Text(0, 0.5, 'AB mag')" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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HtVOoDZs2IDvvvsOABAeHo6+fftyIk0yK7+wxN4hEBER2Uy1s51ff/0VIpEI48ePx3vvvQexmDUMZJ41I+tYT0lERPVdtbOehIQEAMCrr77K5Imq1LN9qL1DICIispkaTaQplUrh6+try3jISUmt6ETOrnJERFTfVbvqqFOnTigsLERubq4t4yEnpNMJ+ONAnL3DICIisplqJ1Bz5swBAHz77bc2C4ac05vLj1p5BKugiIiofqt2E16PHj3w1ltv4Z133oFCocDcuXMRERFhy9jIgel0As5euwURRDh3nevfERGRc6l2AjV8+HAAgEQiwfr167F+/Xr4+flVOZHm7t27q3tJciD7z6TgszVn7B0GERFRrah2ApWamlphW15eHvLy8swew4k0G46aJE98mxARUX1X7QTqgw8+sGUcRERERA6j2gnUhAkTbBkHkQEroIiIqL7jDJhEREREVmICRTan1mhrdgJ2giIionrOIVb+FQQBZ8+exd69e3H69GncvHkThYWF8PHxQfv27TF+/HiMGzfObCd1tVqNVatWYevWrUhKSoKrqyuioqIwffp0jBw5so5fjfOLS823dwhERES1yiESqGPHjmHWrFmG5xEREQgLC0NqaioOHz6Mw4cPY/v27Vi2bBlcXV2NjlWpVHjsscdw+vRpSCQStGnTBgqFAsePH8fx48cxd+5cvPTSS3X8ipybVivYOwQiIqJa5RBNeIIgIDw8HK+99hqOHDmC3bt3Y9OmTTh+/Dg++ugjuLq6Yv/+/fjiiy8qHPvf//4Xp0+fRnh4OLZt24atW7fin3/+wddffw1XV1d8//332Lt3rx1elfOqaQscW/CIiKi+c4gEqlOnTti1axdmzpyJwMBAo33jx4/H008/DQBYv349dDqdYV92djbWrl0LAHjvvffQqlUrw77hw4cblqP58ssva/slOLX8QhXkxSWG5wIroIiIyMk5RALl7e0NqVRqdv+gQYMA6CfyzMnJMWzfu3cv1Go1mjdvjj59+lQ4bsqUKQCAmJgYJCUl2TjqhuF6ci5mv/sPpr+5C5fjbwMADl9Iq9E5WQFFRET1nUMkUFVRqVSGx+7u7obH586dAwB0797d5HEhISEIDw83KkvW+XnHFZSotdDpBCz5+jAA4M9/b9o5KiIiotrlEJ3Iq7J9+3YAQFRUFLy9vQ3bExISAADN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\n", "text/plain": [ "
" ] @@ -139,19 +470,204 @@ } ], "source": [ - "obswave = cache['templatewave'] * (1. + redshift)\n", - "obsflux = coeff.dot(cache['templateflux'].T)\n", + "import matplotlib.ticker as ticker\n", + "sns.set(context='talk', style='ticks', font_scale=1.0)\n", + "\n", + "@ticker.FuncFormatter\n", + "def major_formatter(x, pos):\n", + " if (x >= 0.01) and (x < 0.1):\n", + " return f'{x:.2f}'\n", + " elif (x >= 0.1) and (x < 1):\n", + " return f'{x:.1f}'\n", + " else:\n", + " return f'{x:.0f}'\n", "\n", "fig, ax = plt.subplots()\n", - "ax.plot(obswave / 1e4, obsflux)\n", + "ax.plot(sedwave / 1e4, sedmodel_abmag)\n", + "ax.scatter(phot['lambda_eff'] / 1e4, phot['abmag'], marker='o', s=100, \n", + " color='orange', zorder=2, alpha=0.7, label='Observed')\n", + "ax.scatter(sedphot['lambda_eff'] / 1e4, sedphot['abmag'], marker='s', s=150, \n", + " color='k', facecolor='none', zorder=3, label='Model')\n", + "ax.legend(loc='lower right')\n", + "\n", + "ax.set_ylim(25, 14)\n", + "ax.set_xlim(0.2, 35)\n", "ax.set_xscale('log')\n", - "ax.set_xlim(0.1, 5)" + "ax.set_xticks(np.array([0.2, 0.5, 1.0, 3.0, 5.0, 10.0, 20.0]))\n", + "ax.xaxis.set_major_formatter(major_formatter)\n", + "\n", + "ax.set_xlabel(r'Observed-frame Wavelength ($\\AA$)')\n", + "ax.set_ylabel('AB mag')" + ] + }, + { + "cell_type": "markdown", + "id": "e69e4263-9e37-4aeb-8ba1-2f4f923606b0", + "metadata": {}, + "source": [ + "#### What rest-frame photometry does FastSpecFit determine by default?\n", + "\n", + "Note that each bandpass is band-shifted by an amount specified in the [legacysurvey-dr9.yaml parameter file](https://github.com/desihub/fastspecfit/blob/main/py/fastspecfit/data/legacysurvey-dr9.yaml)." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "5102a0dc-3705-4fff-8d43-ca50b0474e8f", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "decam_g (z=1.0): K=-5.091, Mabs=-14.748\n", + "decam_r (z=1.0): K=-2.188, Mabs=-17.652\n", + "decam_z (z=1.0): K=0.381, Mabs=-20.221\n", + "U (z=0.0): K=-1.441, Mabs=-18.399\n", + "B (z=0.0): K=0.118, Mabs=-19.958\n", + "V (z=0.0): K=-0.225, Mabs=-20.718\n", + "sdss_u (z=0.1): K=-2.045, Mabs=-17.794\n", + "sdss_g (z=0.1): K=-0.031, Mabs=-19.809\n", + "sdss_r (z=0.1): K=-0.144, Mabs=-20.799\n", + "sdss_i (z=0.1): K=0.353, Mabs=-21.296\n", + "sdss_z (z=0.1): K=-0.138, Mabs=-21.657\n", + "W1 (z=0.1): K=-0.152, Mabs=-21.830\n" + ] + } + ], + "source": [ + "for band, band_shift in zip(CTools.absmag_bands, CTools.band_shift):\n", + " kcorr = fast['KCORR{:02d}_{}'.format(int(10*band_shift), band.upper())][0]\n", + " mabs = fast['ABSMAG{:02d}_{}'.format(int(10*band_shift), band.upper())][0]\n", + " print('{:7} (z={:.1f}): K={:.3f}, Mabs={:.3f}'.format(\n", + " band, band_shift, kcorr, mabs))" + ] + }, + { + "cell_type": "markdown", + "id": "8c32a803-5283-4517-8ab7-d66fcd242306", + "metadata": {}, + "source": [ + "##### But what if we want K-corrections to other rest-frame bandpasses? \n", + "\n", + "First, recompute K-corrections and rest-frame photometry to the same (default) bands and make sure we get consistent results." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "73f02b50-55e2-470d-8039-ca5e44ffeda1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from fastspecfit.continuum import restframe_photometry\n", + "\n", + "absmag_filters = CTools.absmag_filters\n", + "band_shift = CTools.band_shift\n", + " \n", + "kcorr, absmag, ivarabsmag, synth_absmag, synth_maggies_in = restframe_photometry(\n", + " redshift=redshift, zmodelflux=sedmodel, zmodelwave=sedwave, \n", + " maggies=nanomaggies*1e-9, ivarmaggies=ivarnanomaggies*1e18, filters_in=filters, \n", + " absmag_filters=absmag_filters, band_shift=band_shift, dmod=dmod)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "9a594906-e9f4-4b44-a4f0-c6ec15e45265", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "decam_g (z=1.0): Mabs(orig)=-14.748, Mabs(new)=-14.748, Mabs(synth)=-14.561\n", + "decam_r (z=1.0): Mabs(orig)=-17.652, Mabs(new)=-17.652, Mabs(synth)=-17.465\n", + "decam_z (z=1.0): Mabs(orig)=-20.221, Mabs(new)=-20.221, Mabs(synth)=-20.034\n", + "U (z=0.0): Mabs(orig)=-18.399, Mabs(new)=-18.399, Mabs(synth)=-18.212\n", + "B (z=0.0): Mabs(orig)=-19.958, Mabs(new)=-19.958, Mabs(synth)=-19.771\n", + "V (z=0.0): Mabs(orig)=-20.718, Mabs(new)=-20.718, Mabs(synth)=-20.731\n", + "sdss_u (z=0.1): Mabs(orig)=-17.794, Mabs(new)=-17.794, Mabs(synth)=-17.608\n", + "sdss_g (z=0.1): Mabs(orig)=-19.809, Mabs(new)=-19.809, Mabs(synth)=-19.622\n", + "sdss_r (z=0.1): Mabs(orig)=-20.799, Mabs(new)=-20.799, Mabs(synth)=-20.812\n", + "sdss_i (z=0.1): Mabs(orig)=-21.296, Mabs(new)=-21.296, Mabs(synth)=-21.309\n", + "sdss_z (z=0.1): Mabs(orig)=-21.657, Mabs(new)=-21.657, Mabs(synth)=-21.687\n", + "W1 (z=0.1): Mabs(orig)=-21.830, Mabs(new)=-21.830, Mabs(synth)=-21.986\n" + ] + } + ], + "source": [ + "for iband, (band, band_shift) in enumerate(zip(CTools.absmag_bands, CTools.band_shift)):\n", + " mabs = fast['ABSMAG{:02d}_{}'.format(int(10*band_shift), band.upper())][0]\n", + " print('{:7} (z={:.1f}): Mabs(orig)={:.3f}, Mabs(new)={:.3f}, Mabs(synth)={:.3f}'.format(\n", + " band, band_shift, mabs, absmag[iband], synth_absmag[iband]))" + ] + }, + { + "cell_type": "markdown", + "id": "21e9492b-6582-4c4c-8294-ae5f50c50508", + "metadata": {}, + "source": [ + "##### Now choose different rest-frame bandpasses and band_shifts.\n", + "\n", + "For example, let's do DECam `grz` and WISE `W1W2` band-shifted to `z=0.3`." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "276d7f3f-5600-4462-9cd6-fb20992e0257", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "decam2014-g (z=0.3): K=-1.085, Mabs=-18.755, Mabs(synth)=-18.568\n", + "decam2014-r (z=0.3): K=-0.605, Mabs=-20.337, Mabs(synth)=-20.351\n", + "decam2014-z (z=0.3): K=-0.432, Mabs=-21.364, Mabs(synth)=-21.394\n", + "wise2010-W1 (z=0.3): K=0.001, Mabs=-21.983, Mabs(synth)=-22.139\n", + "wise2010-W2 (z=0.3): K=0.158, Mabs=-21.779, Mabs(synth)=-21.828\n" + ] + } + ], + "source": [ + "from speclite import filters as specfilters\n", + "\n", + "myabsmag_filters = specfilters.load_filters('decam2014-g', 'decam2014-r', 'decam2014-z', \n", + " 'wise2010-W1', 'wise2010-W2')\n", + "myband_shifts = [0.3] * len(myabsmag_filters)\n", + "\n", + "mykcorr, myabsmag, myivarabsmag, mysynth_absmag, mysynth_maggies_in = restframe_photometry(\n", + " redshift=redshift, zmodelflux=sedmodel, zmodelwave=sedwave, \n", + " maggies=nanomaggies*1e-9, ivarmaggies=ivarnanomaggies*1e18, filters_in=filters, \n", + " absmag_filters=myabsmag_filters, band_shift=myband_shifts, dmod=dmod)\n", + "\n", + "for iband, (band, band_shift) in enumerate(zip(myabsmag_filters.names, myband_shifts)):\n", + " print('{:7} (z={:.1f}): K={:.3f}, Mabs={:.3f}, Mabs(synth)={:.3f}'.format(\n", + " band, band_shift, mykcorr[iband], myabsmag[iband], mysynth_absmag[iband]))" + ] + }, + { + "cell_type": "markdown", + "id": "4b19d644-5b05-49e4-9772-ee3af619406a", + "metadata": {}, + "source": [ + "#### Your turn!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af6b4fbd-0eab-4688-90e1-ed71d9838439", "metadata": {}, "outputs": [], "source": [] From f7d0359fd469742f7c0965781bbff08b3570b5fc Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sat, 19 Aug 2023 08:50:07 -0700 Subject: [PATCH 32/32] add vmax notebook to address #74 --- doc/nb/tutorial-kcorrections.ipynb | 2 +- doc/nb/tutorial-vmax.ipynb | 431 +++++++++++++++++++++++++++++ 2 files changed, 432 insertions(+), 1 deletion(-) create mode 100644 doc/nb/tutorial-vmax.ipynb diff --git a/doc/nb/tutorial-kcorrections.ipynb b/doc/nb/tutorial-kcorrections.ipynb index fc8469d1..a515b407 100644 --- a/doc/nb/tutorial-kcorrections.ipynb +++ b/doc/nb/tutorial-kcorrections.ipynb @@ -74,7 +74,7 @@ "source": [ "#### Instantiate the cosmology, the continuum-fitting tools class, and the templates.\n", "\n", - "The `ContinuumTools` class loads the DR9 filter curves by default (see the [legacysurvey-dr9.yaml parameter file](https://github.com/desihub/fastspecfit/blob/main/py/fastspecfit/data/legacysurvey-dr9.yaml) for the full list of default parameters) and `TabulatedDESI` loads the fiducial DESI cosmology (documented [here](https://github.com/desihub/LSS/blob/main/py/LSS/tabulated_cosmo.py)). Some details regarding the SPS (stellar population synthesis) templates are documented (he" + "The `ContinuumTools` class loads the DR9 filter curves by default (see the [legacysurvey-dr9.yaml parameter file](https://github.com/desihub/fastspecfit/blob/main/py/fastspecfit/data/legacysurvey-dr9.yaml) for the full list of default parameters) and `TabulatedDESI` loads the fiducial DESI cosmology (documented [here](https://github.com/desihub/LSS/blob/main/py/LSS/tabulated_cosmo.py)). Some details regarding the SPS (stellar population synthesis) templates are documented [here](https://data.desi.lbl.gov/desi/public/external/templates/fastspecfit/README.txt)." ] }, { diff --git a/doc/nb/tutorial-vmax.ipynb b/doc/nb/tutorial-vmax.ipynb new file mode 100644 index 00000000..70e130ae --- /dev/null +++ b/doc/nb/tutorial-vmax.ipynb @@ -0,0 +1,431 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cb4fb180-53e9-40eb-babf-3e1c7f3171c2", + "metadata": {}, + "source": [ + "### Vmax\n", + "\n", + "The purpose of this notebook is to demonstrate how to estimate Vmax using the FastSpecFit model fitting results. For additional details please see the `tutorial-kcorrections.ipynb` notebook.\n", + "\n", + "To load all the dependencies simply run (at NERSC):\n", + "```\n", + "source /dvs_ro/common/software/desi/desi_environment.sh main\n", + "module load fastspecfit/main\n", + "```\n", + "\n", + "John Moustakas \n", + "Siena College \n", + "2023 August 19" + ] + }, + { + "cell_type": "markdown", + "id": "9778690d-51c4-45fd-a1dc-15c6449e18c2", + "metadata": {}, + "source": [ + "#### Basic imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b63a6996-4f40-43a6-842b-9191ca95a470", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "from astropy.table import Table, vstack\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "sns.set(context='talk', style='ticks', font_scale=0.8)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "eacfb633-d31f-4743-b2ab-e71d1ad2631b", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.3.0.dev1152\n" + ] + } + ], + "source": [ + "from fastspecfit.util import TabulatedDESI\n", + "from fastspecfit.continuum import ContinuumTools\n", + "from fastspecfit.io import read_fastspecfit, cache_templates\n", + "from fastspecfit._version import __version__\n", + "print(__version__)" + ] + }, + { + "cell_type": "markdown", + "id": "13b2b159-275c-4930-9535-22a139499c28", + "metadata": {}, + "source": [ + "#### Instantiate the cosmology and the continuum-fitting tools class, and load the templates." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8aea105f-5143-48d6-824c-9c309f66752b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "cosmo = TabulatedDESI()\n", + "CTools = ContinuumTools()\n", + "templates = cache_templates()" + ] + }, + { + "cell_type": "markdown", + "id": "f5d5fcbb-5b56-4e70-a390-cf1dcec8d210", + "metadata": { + "tags": [] + }, + "source": [ + "#### Read fitting results for a single object.\n", + "\n", + "As an initial simple example, let's fit a single galaxy. (Skip this section if you already have fitting results that you just want to read.)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "595630d8-1008-4b8f-a50b-584e14028a25", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:io.py:1798:read_fastspecfit: Read 1 object(s) from /global/homes/i/ioannis/fastspec-39633109787873428.fits\n" + ] + }, + { + "data": { + "text/html": [ + "
Table length=1\n", + "
\n", + "\n", + "\n", + "\n", + "
TARGETIDSURVEYPROGRAMHEALPIXZCOEFFRCHI2RCHI2_CONTRCHI2_PHOTSNR_BSNR_RSNR_ZSMOOTHCORR_BSMOOTHCORR_RSMOOTHCORR_ZVDISPVDISP_IVARAVAGEZZSUNLOGMSTARSFRDN4000DN4000_OBSDN4000_IVARDN4000_MODELFLUX_SYNTH_GFLUX_SYNTH_RFLUX_SYNTH_ZFLUX_SYNTH_SPECMODEL_GFLUX_SYNTH_SPECMODEL_RFLUX_SYNTH_SPECMODEL_ZFLUX_SYNTH_PHOTMODEL_GFLUX_SYNTH_PHOTMODEL_RFLUX_SYNTH_PHOTMODEL_ZFLUX_SYNTH_PHOTMODEL_W1FLUX_SYNTH_PHOTMODEL_W2FLUX_SYNTH_PHOTMODEL_W3FLUX_SYNTH_PHOTMODEL_W4ABSMAG10_DECAM_GABSMAG10_IVAR_DECAM_GKCORR10_DECAM_GABSMAG10_DECAM_RABSMAG10_IVAR_DECAM_RKCORR10_DECAM_RABSMAG10_DECAM_ZABSMAG10_IVAR_DECAM_ZKCORR10_DECAM_ZABSMAG00_UABSMAG00_IVAR_UKCORR00_UABSMAG00_BABSMAG00_IVAR_BKCORR00_BABSMAG00_VABSMAG00_IVAR_VKCORR00_VABSMAG01_SDSS_UABSMAG01_IVAR_SDSS_UKCORR01_SDSS_UABSMAG01_SDSS_GABSMAG01_IVAR_SDSS_GKCORR01_SDSS_GABSMAG01_SDSS_RABSMAG01_IVAR_SDSS_RKCORR01_SDSS_RABSMAG01_SDSS_IABSMAG01_IVAR_SDSS_IKCORR01_SDSS_IABSMAG01_SDSS_ZABSMAG01_IVAR_SDSS_ZKCORR01_SDSS_ZABSMAG01_W1ABSMAG01_IVAR_W1KCORR01_W1LOGLNU_1500LOGLNU_2800LOGL_1450LOGL_1700LOGL_3000LOGL_5100FLYA_1215_CONTFOII_3727_CONTFHBETA_CONTFOIII_5007_CONTFHALPHA_CONTRCHI2_LINEDELTA_LINECHI2DELTA_LINENDOFAPERCORRAPERCORR_GAPERCORR_RAPERCORR_ZNARROW_ZNARROW_ZRMSBROAD_ZBROAD_ZRMSUV_ZUV_ZRMSNARROW_SIGMANARROW_SIGMARMSBROAD_SIGMABROAD_SIGMARMSUV_SIGMAUV_SIGMARMSMGII_DOUBLET_RATIOOII_DOUBLET_RATIOSII_DOUBLET_RATIOLYALPHA_MODELAMPLYALPHA_AMPLYALPHA_AMP_IVARLYALPHA_FLUXLYALPHA_FLUX_IVARLYALPHA_BOXFLUXLYALPHA_BOXFLUX_IVARLYALPHA_VSHIFTLYALPHA_SIGMALYALPHA_CONTLYALPHA_CONT_IVARLYALPHA_EWLYALPHA_EW_IVARLYALPHA_FLUX_LIMITLYALPHA_EW_LIMITLYALPHA_CHI2LYALPHA_NPIXOI_1304_MODELAMPOI_1304_AMPOI_1304_AMP_IVAROI_1304_FLUXOI_1304_FLUX_IVAROI_1304_BOXFLUXOI_1304_BOXFLUX_IVAROI_1304_VSHIFTOI_1304_SIGMAOI_1304_CONTOI_1304_CONT_IVAROI_1304_EWOI_1304_EW_IVAROI_1304_FLUX_LIMITOI_1304_EW_LIMITOI_1304_CHI2OI_1304_NPIXSILIV_1396_MODELAMPSILIV_1396_AMPSILIV_1396_AMP_IVARSILIV_1396_FLUXSILIV_1396_FLUX_IVARSILIV_1396_BOXFLUXSILIV_1396_BOXFLUX_IVARSILIV_1396_VSHIFTSILIV_1396_SIGMASILIV_1396_CONTSILIV_1396_CONT_IVARSILIV_1396_EWSILIV_1396_EW_IVARSILIV_1396_FLUX_LIMITSILIV_1396_EW_LIMITSILIV_1396_CHI2SILIV_1396_NPIXCIV_1549_MODELAMPCIV_1549_AMPCIV_1549_AMP_IVARCIV_1549_FLUXCIV_1549_FLUX_IVARCIV_1549_BOXFLUXCIV_1549_BOXFLUX_IVARCIV_1549_VSHIFTCIV_1549_SIGMACIV_1549_CONTCIV_1549_CONT_IVARCIV_1549_EWCIV_1549_EW_IVARCIV_1549_FLUX_LIMITCIV_1549_EW_LIMITCIV_1549_CHI2CIV_1549_NPIXHEII_1640_MODELAMPHEII_1640_AMPHEII_1640_AMP_IVARHEII_1640_FLUXHEII_1640_FLUX_IVARHEII_1640_BOXFLUXHEII_1640_BOXFLUX_IVARHEII_1640_VSHIFTHEII_1640_SIGMAHEII_1640_CONTHEII_1640_CONT_IVARHEII_1640_EWHEII_1640_EW_IVARHEII_1640_FLUX_LIMITHEII_1640_EW_LIMITHEII_1640_CHI2HEII_1640_NPIXALIII_1857_MODELAMPALIII_1857_AMPALIII_1857_AMP_IVARALIII_1857_FLUXALIII_1857_FLUX_IVARALIII_1857_BOXFLUXALIII_1857_BOXFLUX_IVARALIII_1857_VSHIFTALIII_1857_SIGMAALIII_1857_CONTALIII_1857_CONT_IVARALIII_1857_EWALIII_1857_EW_IVARALIII_1857_FLUX_LIMITALIII_1857_EW_LIMITALIII_1857_CHI2ALIII_1857_NPIXSILIII_1892_MODELAMPSILIII_1892_AMPSILIII_1892_AMP_IVARSILIII_1892_FLUXSILIII_1892_FLUX_IVARSILIII_1892_BOXFLUXSILIII_1892_BOXFLUX_IVARSILIII_1892_VSHIFTSILIII_1892_SIGMASILIII_1892_CONTSILIII_1892_CONT_IVARSILIII_1892_EWSILIII_1892_EW_IVARSILIII_1892_FLUX_LIMITSILIII_1892_EW_LIMITSILIII_1892_CHI2SILIII_1892_NPIXCIII_1908_MODELAMPCIII_1908_AMPCIII_1908_AMP_IVARCIII_1908_FLUXCIII_1908_FLUX_IVARCIII_1908_BOXFLUXCIII_1908_BOXFLUX_IVARCIII_1908_VSHIFTCIII_1908_SIGMACIII_1908_CONTCIII_1908_CONT_IVARCIII_1908_EWCIII_1908_EW_IVARCIII_1908_FLUX_LIMITCIII_1908_EW_LIMITCIII_1908_CHI2CIII_1908_NPIXMGII_2796_MODELAMPMGII_2796_AMPMGII_2796_AMP_IVARMGII_2796_FLUXMGII_2796_FLUX_IVARMGII_2796_BOXFLUXMGII_2796_BOXFLUX_IVARMGII_2796_VSHIFTMGII_2796_SIGMAMGII_2796_CONTMGII_2796_CONT_IVARMGII_2796_EWMGII_2796_EW_IVARMGII_2796_FLUX_LIMITMGII_2796_EW_LIMITMGII_2796_CHI2MGII_2796_NPIXMGII_2803_MODELAMPMGII_2803_AMPMGII_2803_AMP_IVARMGII_2803_FLUXMGII_2803_FLUX_IVARMGII_2803_BOXFLUXMGII_2803_BOXFLUX_IVARMGII_2803_VSHIFTMGII_2803_SIGMAMGII_2803_CONTMGII_2803_CONT_IVARMGII_2803_EWMGII_2803_EW_IVARMGII_2803_FLUX_LIMITMGII_2803_EW_LIMITMGII_2803_CHI2MGII_2803_NPIXNEV_3346_MODELAMPNEV_3346_AMPNEV_3346_AMP_IVARNEV_3346_FLUXNEV_3346_FLUX_IVARNEV_3346_BOXFLUXNEV_3346_BOXFLUX_IVARNEV_3346_VSHIFTNEV_3346_SIGMANEV_3346_CONTNEV_3346_CONT_IVARNEV_3346_EWNEV_3346_EW_IVARNEV_3346_FLUX_LIMITNEV_3346_EW_LIMITNEV_3346_CHI2NEV_3346_NPIXNEV_3426_MODELAMPNEV_3426_AMPNEV_3426_AMP_IVARNEV_3426_FLUXNEV_3426_FLUX_IVARNEV_3426_BOXFLUXNEV_3426_BOXFLUX_IVARNEV_3426_VSHIFTNEV_3426_SIGMANEV_3426_CONTNEV_3426_CONT_IVARNEV_3426_EWNEV_3426_EW_IVARNEV_3426_FLUX_LIMITNEV_3426_EW_LIMITNEV_3426_CHI2NEV_3426_NPIXOII_3726_MODELAMPOII_3726_AMPOII_3726_AMP_IVAROII_3726_FLUXOII_3726_FLUX_IVAROII_3726_BOXFLUXOII_3726_BOXFLUX_IVAROII_3726_VSHIFTOII_3726_SIGMAOII_3726_CONTOII_3726_CONT_IVAROII_3726_EWOII_3726_EW_IVAROII_3726_FLUX_LIMITOII_3726_EW_LIMITOII_3726_CHI2OII_3726_NPIXOII_3729_MODELAMPOII_3729_AMPOII_3729_AMP_IVAROII_3729_FLUXOII_3729_FLUX_IVAROII_3729_BOXFLUXOII_3729_BOXFLUX_IVAROII_3729_VSHIFTOII_3729_SIGMAOII_3729_CONTOII_3729_CONT_IVAROII_3729_EWOII_3729_EW_IVAROII_3729_FLUX_LIMITOII_3729_EW_LIMITOII_3729_CHI2OII_3729_NPIXNEIII_3869_MODELAMPNEIII_3869_AMPNEIII_3869_AMP_IVARNEIII_3869_FLUXNEIII_3869_FLUX_IVARNEIII_3869_BOXFLUXNEIII_3869_BOXFLUX_IVARNEIII_3869_VSHIFTNEIII_3869_SIGMANEIII_3869_CONTNEIII_3869_CONT_IVARNEIII_3869_EWNEIII_3869_EW_IVARNEIII_3869_FLUX_LIMITNEIII_3869_EW_LIMITNEIII_3869_CHI2NEIII_3869_NPIXH6_MODELAMPH6_AMPH6_AMP_IVARH6_FLUXH6_FLUX_IVARH6_BOXFLUXH6_BOXFLUX_IVARH6_VSHIFTH6_SIGMAH6_CONTH6_CONT_IVARH6_EWH6_EW_IVARH6_FLUX_LIMITH6_EW_LIMITH6_CHI2H6_NPIXH6_BROAD_MODELAMPH6_BROAD_AMPH6_BROAD_AMP_IVARH6_BROAD_FLUXH6_BROAD_FLUX_IVARH6_BROAD_BOXFLUXH6_BROAD_BOXFLUX_IVARH6_BROAD_VSHIFTH6_BROAD_SIGMAH6_BROAD_CONTH6_BROAD_CONT_IVARH6_BROAD_EWH6_BROAD_EW_IVARH6_BROAD_FLUX_LIMITH6_BROAD_EW_LIMITH6_BROAD_CHI2H6_BROAD_NPIXHEPSILON_MODELAMPHEPSILON_AMPHEPSILON_AMP_IVARHEPSILON_FLUXHEPSILON_FLUX_IVARHEPSILON_BOXFLUXHEPSILON_BOXFLUX_IVARHEPSILON_VSHIFTHEPSILON_SIGMAHEPSILON_CONTHEPSILON_CONT_IVARHEPSILON_EWHEPSILON_EW_IVARHEPSILON_FLUX_LIMITHEPSILON_EW_LIMITHEPSILON_CHI2HEPSILON_NPIXHEPSILON_BROAD_MODELAMPHEPSILON_BROAD_AMPHEPSILON_BROAD_AMP_IVARHEPSILON_BROAD_FLUXHEPSILON_BROAD_FLUX_IVARHEPSILON_BROAD_BOXFLUXHEPSILON_BROAD_BOXFLUX_IVARHEPSILON_BROAD_VSHIFTHEPSILON_BROAD_SIGMAHEPSILON_BROAD_CONTHEPSILON_BROAD_CONT_IVARHEPSILON_BROAD_EWHEPSILON_BROAD_EW_IVARHEPSILON_BROAD_FLUX_LIMITHEPSILON_BROAD_EW_LIMITHEPSILON_BROAD_CHI2HEPSILON_BROAD_NPIXHDELTA_MODELAMPHDELTA_AMPHDELTA_AMP_IVARHDELTA_FLUXHDELTA_FLUX_IVARHDELTA_BOXFLUXHDELTA_BOXFLUX_IVARHDELTA_VSHIFTHDELTA_SIGMAHDELTA_CONTHDELTA_CONT_IVARHDELTA_EWHDELTA_EW_IVARHDELTA_FLUX_LIMITHDELTA_EW_LIMITHDELTA_CHI2HDELTA_NPIXHDELTA_BROAD_MODELAMPHDELTA_BROAD_AMPHDELTA_BROAD_AMP_IVARHDELTA_BROAD_FLUXHDELTA_BROAD_FLUX_IVARHDELTA_BROAD_BOXFLUXHDELTA_BROAD_BOXFLUX_IVARHDELTA_BROAD_VSHIFTHDELTA_BROAD_SIGMAHDELTA_BROAD_CONTHDELTA_BROAD_CONT_IVARHDELTA_BROAD_EWHDELTA_BROAD_EW_IVARHDELTA_BROAD_FLUX_LIMITHDELTA_BROAD_EW_LIMITHDELTA_BROAD_CHI2HDELTA_BROAD_NPIXHGAMMA_MODELAMPHGAMMA_AMPHGAMMA_AMP_IVARHGAMMA_FLUXHGAMMA_FLUX_IVARHGAMMA_BOXFLUXHGAMMA_BOXFLUX_IVARHGAMMA_VSHIFTHGAMMA_SIGMAHGAMMA_CONTHGAMMA_CONT_IVARHGAMMA_EWHGAMMA_EW_IVARHGAMMA_FLUX_LIMITHGAMMA_EW_LIMITHGAMMA_CHI2HGAMMA_NPIXHGAMMA_BROAD_MODELAMPHGAMMA_BROAD_AMPHGAMMA_BROAD_AMP_IVARHGAMMA_BROAD_FLUXHGAMMA_BROAD_FLUX_IVARHGAMMA_BROAD_BOXFLUXHGAMMA_BROAD_BOXFLUX_IVARHGAMMA_BROAD_VSHIFTHGAMMA_BROAD_SIGMAHGAMMA_BROAD_CONTHGAMMA_BROAD_CONT_IVARHGAMMA_BROAD_EWHGAMMA_BROAD_EW_IVARHGAMMA_BROAD_FLUX_LIMITHGAMMA_BROAD_EW_LIMITHGAMMA_BROAD_CHI2HGAMMA_BROAD_NPIXOIII_4363_MODELAMPOIII_4363_AMPOIII_4363_AMP_IVAROIII_4363_FLUXOIII_4363_FLUX_IVAROIII_4363_BOXFLUXOIII_4363_BOXFLUX_IVAROIII_4363_VSHIFTOIII_4363_SIGMAOIII_4363_CONTOIII_4363_CONT_IVAROIII_4363_EWOIII_4363_EW_IVAROIII_4363_FLUX_LIMITOIII_4363_EW_LIMITOIII_4363_CHI2OIII_4363_NPIXHEI_4471_MODELAMPHEI_4471_AMPHEI_4471_AMP_IVARHEI_4471_FLUXHEI_4471_FLUX_IVARHEI_4471_BOXFLUXHEI_4471_BOXFLUX_IVARHEI_4471_VSHIFTHEI_4471_SIGMAHEI_4471_CONTHEI_4471_CONT_IVARHEI_4471_EWHEI_4471_EW_IVARHEI_4471_FLUX_LIMITHEI_4471_EW_LIMITHEI_4471_CHI2HEI_4471_NPIXHEI_BROAD_4471_MODELAMPHEI_BROAD_4471_AMPHEI_BROAD_4471_AMP_IVARHEI_BROAD_4471_FLUXHEI_BROAD_4471_FLUX_IVARHEI_BROAD_4471_BOXFLUXHEI_BROAD_4471_BOXFLUX_IVARHEI_BROAD_4471_VSHIFTHEI_BROAD_4471_SIGMAHEI_BROAD_4471_CONTHEI_BROAD_4471_CONT_IVARHEI_BROAD_4471_EWHEI_BROAD_4471_EW_IVARHEI_BROAD_4471_FLUX_LIMITHEI_BROAD_4471_EW_LIMITHEI_BROAD_4471_CHI2HEI_BROAD_4471_NPIXHEII_4686_MODELAMPHEII_4686_AMPHEII_4686_AMP_IVARHEII_4686_FLUXHEII_4686_FLUX_IVARHEII_4686_BOXFLUXHEII_4686_BOXFLUX_IVARHEII_4686_VSHIFTHEII_4686_SIGMAHEII_4686_CONTHEII_4686_CONT_IVARHEII_4686_EWHEII_4686_EW_IVARHEII_4686_FLUX_LIMITHEII_4686_EW_LIMITHEII_4686_CHI2HEII_4686_NPIXHEII_BROAD_4686_MODELAMPHEII_BROAD_4686_AMPHEII_BROAD_4686_AMP_IVARHEII_BROAD_4686_FLUXHEII_BROAD_4686_FLUX_IVARHEII_BROAD_4686_BOXFLUXHEII_BROAD_4686_BOXFLUX_IVARHEII_BROAD_4686_VSHIFTHEII_BROAD_4686_SIGMAHEII_BROAD_4686_CONTHEII_BROAD_4686_CONT_IVARHEII_BROAD_4686_EWHEII_BROAD_4686_EW_IVARHEII_BROAD_4686_FLUX_LIMITHEII_BROAD_4686_EW_LIMITHEII_BROAD_4686_CHI2HEII_BROAD_4686_NPIXHBETA_MODELAMPHBETA_AMPHBETA_AMP_IVARHBETA_FLUXHBETA_FLUX_IVARHBETA_BOXFLUXHBETA_BOXFLUX_IVARHBETA_VSHIFTHBETA_SIGMAHBETA_CONTHBETA_CONT_IVARHBETA_EWHBETA_EW_IVARHBETA_FLUX_LIMITHBETA_EW_LIMITHBETA_CHI2HBETA_NPIXHBETA_BROAD_MODELAMPHBETA_BROAD_AMPHBETA_BROAD_AMP_IVARHBETA_BROAD_FLUXHBETA_BROAD_FLUX_IVARHBETA_BROAD_BOXFLUXHBETA_BROAD_BOXFLUX_IVARHBETA_BROAD_VSHIFTHBETA_BROAD_SIGMAHBETA_BROAD_CONTHBETA_BROAD_CONT_IVARHBETA_BROAD_EWHBETA_BROAD_EW_IVARHBETA_BROAD_FLUX_LIMITHBETA_BROAD_EW_LIMITHBETA_BROAD_CHI2HBETA_BROAD_NPIXOIII_4959_MODELAMPOIII_4959_AMPOIII_4959_AMP_IVAROIII_4959_FLUXOIII_4959_FLUX_IVAROIII_4959_BOXFLUXOIII_4959_BOXFLUX_IVAROIII_4959_VSHIFTOIII_4959_SIGMAOIII_4959_CONTOIII_4959_CONT_IVAROIII_4959_EWOIII_4959_EW_IVAROIII_4959_FLUX_LIMITOIII_4959_EW_LIMITOIII_4959_CHI2OIII_4959_NPIXOIII_5007_MODELAMPOIII_5007_AMPOIII_5007_AMP_IVAROIII_5007_FLUXOIII_5007_FLUX_IVAROIII_5007_BOXFLUXOIII_5007_BOXFLUX_IVAROIII_5007_VSHIFTOIII_5007_SIGMAOIII_5007_CONTOIII_5007_CONT_IVAROIII_5007_EWOIII_5007_EW_IVAROIII_5007_FLUX_LIMITOIII_5007_EW_LIMITOIII_5007_CHI2OIII_5007_NPIXNII_5755_MODELAMPNII_5755_AMPNII_5755_AMP_IVARNII_5755_FLUXNII_5755_FLUX_IVARNII_5755_BOXFLUXNII_5755_BOXFLUX_IVARNII_5755_VSHIFTNII_5755_SIGMANII_5755_CONTNII_5755_CONT_IVARNII_5755_EWNII_5755_EW_IVARNII_5755_FLUX_LIMITNII_5755_EW_LIMITNII_5755_CHI2NII_5755_NPIXHEI_5876_MODELAMPHEI_5876_AMPHEI_5876_AMP_IVARHEI_5876_FLUXHEI_5876_FLUX_IVARHEI_5876_BOXFLUXHEI_5876_BOXFLUX_IVARHEI_5876_VSHIFTHEI_5876_SIGMAHEI_5876_CONTHEI_5876_CONT_IVARHEI_5876_EWHEI_5876_EW_IVARHEI_5876_FLUX_LIMITHEI_5876_EW_LIMITHEI_5876_CHI2HEI_5876_NPIXHEI_BROAD_5876_MODELAMPHEI_BROAD_5876_AMPHEI_BROAD_5876_AMP_IVARHEI_BROAD_5876_FLUXHEI_BROAD_5876_FLUX_IVARHEI_BROAD_5876_BOXFLUXHEI_BROAD_5876_BOXFLUX_IVARHEI_BROAD_5876_VSHIFTHEI_BROAD_5876_SIGMAHEI_BROAD_5876_CONTHEI_BROAD_5876_CONT_IVARHEI_BROAD_5876_EWHEI_BROAD_5876_EW_IVARHEI_BROAD_5876_FLUX_LIMITHEI_BROAD_5876_EW_LIMITHEI_BROAD_5876_CHI2HEI_BROAD_5876_NPIXOI_6300_MODELAMPOI_6300_AMPOI_6300_AMP_IVAROI_6300_FLUXOI_6300_FLUX_IVAROI_6300_BOXFLUXOI_6300_BOXFLUX_IVAROI_6300_VSHIFTOI_6300_SIGMAOI_6300_CONTOI_6300_CONT_IVAROI_6300_EWOI_6300_EW_IVAROI_6300_FLUX_LIMITOI_6300_EW_LIMITOI_6300_CHI2OI_6300_NPIXSIII_6312_MODELAMPSIII_6312_AMPSIII_6312_AMP_IVARSIII_6312_FLUXSIII_6312_FLUX_IVARSIII_6312_BOXFLUXSIII_6312_BOXFLUX_IVARSIII_6312_VSHIFTSIII_6312_SIGMASIII_6312_CONTSIII_6312_CONT_IVARSIII_6312_EWSIII_6312_EW_IVARSIII_6312_FLUX_LIMITSIII_6312_EW_LIMITSIII_6312_CHI2SIII_6312_NPIXNII_6548_MODELAMPNII_6548_AMPNII_6548_AMP_IVARNII_6548_FLUXNII_6548_FLUX_IVARNII_6548_BOXFLUXNII_6548_BOXFLUX_IVARNII_6548_VSHIFTNII_6548_SIGMANII_6548_CONTNII_6548_CONT_IVARNII_6548_EWNII_6548_EW_IVARNII_6548_FLUX_LIMITNII_6548_EW_LIMITNII_6548_CHI2NII_6548_NPIXHALPHA_MODELAMPHALPHA_AMPHALPHA_AMP_IVARHALPHA_FLUXHALPHA_FLUX_IVARHALPHA_BOXFLUXHALPHA_BOXFLUX_IVARHALPHA_VSHIFTHALPHA_SIGMAHALPHA_CONTHALPHA_CONT_IVARHALPHA_EWHALPHA_EW_IVARHALPHA_FLUX_LIMITHALPHA_EW_LIMITHALPHA_CHI2HALPHA_NPIXHALPHA_BROAD_MODELAMPHALPHA_BROAD_AMPHALPHA_BROAD_AMP_IVARHALPHA_BROAD_FLUXHALPHA_BROAD_FLUX_IVARHALPHA_BROAD_BOXFLUXHALPHA_BROAD_BOXFLUX_IVARHALPHA_BROAD_VSHIFTHALPHA_BROAD_SIGMAHALPHA_BROAD_CONTHALPHA_BROAD_CONT_IVARHALPHA_BROAD_EWHALPHA_BROAD_EW_IVARHALPHA_BROAD_FLUX_LIMITHALPHA_BROAD_EW_LIMITHALPHA_BROAD_CHI2HALPHA_BROAD_NPIXNII_6584_MODELAMPNII_6584_AMPNII_6584_AMP_IVARNII_6584_FLUXNII_6584_FLUX_IVARNII_6584_BOXFLUXNII_6584_BOXFLUX_IVARNII_6584_VSHIFTNII_6584_SIGMANII_6584_CONTNII_6584_CONT_IVARNII_6584_EWNII_6584_EW_IVARNII_6584_FLUX_LIMITNII_6584_EW_LIMITNII_6584_CHI2NII_6584_NPIXSII_6716_MODELAMPSII_6716_AMPSII_6716_AMP_IVARSII_6716_FLUXSII_6716_FLUX_IVARSII_6716_BOXFLUXSII_6716_BOXFLUX_IVARSII_6716_VSHIFTSII_6716_SIGMASII_6716_CONTSII_6716_CONT_IVARSII_6716_EWSII_6716_EW_IVARSII_6716_FLUX_LIMITSII_6716_EW_LIMITSII_6716_CHI2SII_6716_NPIXSII_6731_MODELAMPSII_6731_AMPSII_6731_AMP_IVARSII_6731_FLUXSII_6731_FLUX_IVARSII_6731_BOXFLUXSII_6731_BOXFLUX_IVARSII_6731_VSHIFTSII_6731_SIGMASII_6731_CONTSII_6731_CONT_IVARSII_6731_EWSII_6731_EW_IVARSII_6731_FLUX_LIMITSII_6731_EW_LIMITSII_6731_CHI2SII_6731_NPIXOII_7320_MODELAMPOII_7320_AMPOII_7320_AMP_IVAROII_7320_FLUXOII_7320_FLUX_IVAROII_7320_BOXFLUXOII_7320_BOXFLUX_IVAROII_7320_VSHIFTOII_7320_SIGMAOII_7320_CONTOII_7320_CONT_IVAROII_7320_EWOII_7320_EW_IVAROII_7320_FLUX_LIMITOII_7320_EW_LIMITOII_7320_CHI2OII_7320_NPIXOII_7330_MODELAMPOII_7330_AMPOII_7330_AMP_IVAROII_7330_FLUXOII_7330_FLUX_IVAROII_7330_BOXFLUXOII_7330_BOXFLUX_IVAROII_7330_VSHIFTOII_7330_SIGMAOII_7330_CONTOII_7330_CONT_IVAROII_7330_EWOII_7330_EW_IVAROII_7330_FLUX_LIMITOII_7330_EW_LIMITOII_7330_CHI2OII_7330_NPIXSIII_9069_MODELAMPSIII_9069_AMPSIII_9069_AMP_IVARSIII_9069_FLUXSIII_9069_FLUX_IVARSIII_9069_BOXFLUXSIII_9069_BOXFLUX_IVARSIII_9069_VSHIFTSIII_9069_SIGMASIII_9069_CONTSIII_9069_CONT_IVARSIII_9069_EWSIII_9069_EW_IVARSIII_9069_FLUX_LIMITSIII_9069_EW_LIMITSIII_9069_CHI2SIII_9069_NPIXSIII_9532_MODELAMPSIII_9532_AMPSIII_9532_AMP_IVARSIII_9532_FLUXSIII_9532_FLUX_IVARSIII_9532_BOXFLUXSIII_9532_BOXFLUX_IVARSIII_9532_VSHIFTSIII_9532_SIGMASIII_9532_CONTSIII_9532_CONT_IVARSIII_9532_EWSIII_9532_EW_IVARSIII_9532_FLUX_LIMITSIII_9532_EW_LIMITSIII_9532_CHI2SIII_9532_NPIX
int64str3str6int32float64float32[192]float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float64float64float64float64float64float64float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32
39633109787873428sv3bright98130.132019980158539750.0 .. 0.01.02434351.056505417.3751092.16645249.26834312.383621-1.1667843-0.432350550.3462764235.356050.00109273640.8428921712.999992-0.1584924611.12170.02.59489132.45287068.0372442.3328668.88849130.43723368.687239.39446431.1300668.8281538.609314128.2048285.56757381.00604247.43686569.50336650.34863-14.74832269095.44-5.091489-17.65219569095.44-2.1876154-20.22093269095.440.38112146-18.39922369095.44-1.4405862-19.95815869095.440.118349366-20.718063135743.83-0.22474545-17.79441869095.44-2.0453908-19.80918169095.44-0.030627966-20.798811135743.83-0.14399704-21.295677135743.830.35286796-21.657293346016.03-0.13823847-21.82994879660.414-0.15218286-2.9106288-1.3418224-3.1778743-3.2289114-1.3120651-0.021108130.08369287.841058729.26979428.50862737.5210271.02771593.0204978114.1220754.8840424.1220753.9740430.13197186674055418.373153672257272e-050.132019980158539750.00.132019980158539750.0162.467110.3083340.00.00.00.00.01.9907750.244799960.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.0521422770.00.01.13884510.005372678484.93031172.775442.2360081.51063290.00.04.45412168.7979460.0171.14362811.07952270.20888396.40080.01616549715.0623590.01029663584.93031172.775440.451711454.545913712.5175430.00246605072.62905841.049076722.036995172.54070852.42067650.127722215.4504340.0274459216.8874780.016376287-101.039734172.775441.97124968.9621636.9238070.115028232.03535273.544273419.857384181.2762411.21594680.125346637.7544740.0258719922.4577640.017445333-101.039734172.775441.851760510.4884163.69924780.108972381.88284833.07996719.353117181.01999390.974095340.12975466.43994860.0128174358.3976850.007800195484.93031172.775441.28737133.54932714.41900540.0249657153.35997753.821079523.25862190.367781730.348582270.187674032.056930.0290681332.04348230.0172410.678043152.158773.09133776.66549350.587785660.355287972.17012625.926214728.530762170.00.00.108896020.00.0-4.05785560.025125360.00.02.97250583.71456860.00.01.43283963.76241060.0120.00.00.200451720.00.0-3.89476320.02340994410.678043152.158772.49676929.00762750.00.01.90568014.2031440.0180.00.00.136722890.00.00.25588220.0350232570.00.01.954109530.6024630.00.00.50959790.87967530.0120.00.00.349053320.00.0-7.4941770.025450410.678043152.158773.753260111.6892180.00.01.72834865.7304130.0170.00.00.61461830.00.0-1.44237340.0373931340.00.03.64985357.34355550.00.01.07478483.46531580.0120.00.00.641010050.00.0-9.430890.02167323810.678043152.158775.082608713.6627960.00.01.69169637.59547570.0190.00.00.406903180.00.0-4.6773870.0308833960.00.05.024426525.6674370.00.00.608347242.70012550.0120.00.00.119383180.00.0-11.5806570.0245399749.308941172.775444.774803622.8352070.00.01.49362926.3000530.0210.00.00.640043850.00.0-5.42516040.02731626310.678043152.158775.75077721.3375990.00.01.3945497.0844510.0190.00.00.84764390.00.0-3.0119450.043824250.00.05.79359317.1917930.00.00.765766863.9191370.0120.00.00.45283740.00.01.61241830.02765687610.678043152.158775.91589827.6559410.00.01.28357796.70793440.0200.00.01.00007860.00.00.58982550.046975290.00.06.59978815.580150.00.00.84291014.91424940.0120.00.01.08597670.00.0-2.5828430.02871957410.678043152.158776.102162426.9023270.00.01.35025257.2785470.0210.00.02.07305310.00.0-0.0662343650.050212360.00.05.608797617.4639340.00.00.8260184.0926550.0120.67022030.653601770.312308135.4344090.040722475.00133750.0233636636.3632483172.775447.208153724.2064130.665999952.70878981.648753210.4984628.059217251.99987041.95115280.3066757316.3663230.03899603318.4996030.0233507446.3632483172.775446.56828237.6734472.20112782.14215091.33438387.742450724.096344250.75962910.74514741.71523337.1461510.114679942.97525670.062687849.308941172.775448.95268397.777490.70512311.7700330.95199097.528907324.001612280.106920470.104617410.91723720.90409160.13526714.9714590.0819145110.678043152.158778.16407723.629610.0978253111.5527151.741330712.55839925.377865250.00.01.65409060.00.02.26369830.172416610.00.08.49975816.2179850.00.01.03600477.7788280.0120.0544856970.0537154080.935817240.56143250.137072071.45199280.081791239.308941172.775448.488295123.174570.05842826512.6559860.928620166.963129537.289284310.068654490.0675065141.01489040.70856660.132981761.40806710.081440629.308941172.775448.52028795.9680.0734636312.3709911.05401127.93314435.189686311.24654261.23107981.421222313.3499710.1255793117.3762260.06691903-39.526123172.775449.097692575.622051.296268513.272071.23157939.8978222.361364323.51199873.44496941.23421433.181360.1278427434.3856770.07663526410.678043152.158779.090207116.485523.224529313.3421840.876006077.034395721.51624280.00.03.75001070.00.027.4663830.158308880.00.09.03683746.1797870.00.00.685753055.4743190.0143.6674533.62031221.46616139.472330.1163930341.0520440.070532925-39.526123172.775449.00627472.206663.871626911.734981.26718410.0816333.34759321.56112411.54308740.170817333.9289250.005458839244.8084530.003542039818.634386172.775448.805327121.9483263.40385080.542014540.99494737.73911869.23985660.38216310.37774770.194757944.9879190.0417794328.1538140.007106293518.634386172.775448.818368140.198780.499662884.1629930.929917457.244001469.77589480.030003390.0295662530.85775240.358317140.098086745-0.1199158650.050609216-15.934024172.775449.070496188.112490.0348965510.3414190.872951036.994663234.959763350.0244905630.0241424960.9354440.293021320.101016633.1451770.05256695-15.934024172.775449.168727197.705760.02823163810.88225650.8527266.906602443.410465360.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.000.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00
" + ], + "text/plain": [ + "\n", + " TARGETID SURVEY PROGRAM ... SIII_9532_CHI2 SIII_9532_NPIX\n", + " int64 str3 str6 ... float32 int32 \n", + "----------------- ------ ------- ... -------------- --------------\n", + "39633109787873428 sv3 bright ... 0.0 0" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fastfile = os.path.join(os.getenv('HOME'), 'fastspec-39633109787873428.fits')\n", + "fast, meta, _, _ = read_fastspecfit(fastfile, read_models=False)\n", + "fast" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "88f60da1-2532-430d-b5af-8a9670dc4d30", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "redshift = fast['Z'][0]\n", + "coeff = fast['COEFF'].flatten()\n", + "photsys = meta['PHOTSYS'][0] # N/S photometric system\n", + "filters = CTools.filters[photsys]" + ] + }, + { + "cell_type": "markdown", + "id": "b2b0a390-7d29-4fee-a325-090d41f8b866", + "metadata": {}, + "source": [ + "##### Parse the observed photometry." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "494e7295-69a5-41ea-8186-6c0d27906edc", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Table length=7\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
bandlambda_effnanomaggiesnanomaggies_ivarflamflam_ivarabmagabmag_ivarabmag_brighterrabmag_fainterrabmag_limit
str2float64float32float32float64float64float32float32float32float32float32
g4815.953635129666545.85997838.728472.1522362533396654e-166.140062205597225e+3418.34641669095.440.00379102160.00381768170.0
r6437.792829370577126.6581349.9747613.326440832765665e-162.615190715956715e+3417.243418135743.810.002707420.00272099050.0
z9229.657864493674277.793645.28567273.5495378025892425e-162.3223010360062095e+3416.390694346016.030.00169735390.00170267760.0
W134002.540444816936329.88470.862912653.105704587302022e-174.864218600900992e+3516.20409479660.410.00353153750.00355466150.0
W246520.07577118702236.472440.390388971.1893794161685198e-173.262774043988273e+3616.56554818518.6780.00729903630.00739851170.0
W3128103.3789599012440.480770.00238870782.9216384882644753e-182.738190521049074e+3715.8901825393.159030.048194460.052889890.0
W4223752.7751557955-262.354461.8650966e-05-5.703905167382328e-193.935074780967879e+360.00.00.00.015.835801
" + ], + "text/plain": [ + "\n", + "band lambda_eff nanomaggies ... abmag_fainterr abmag_limit\n", + "str2 float64 float32 ... float32 float32 \n", + "---- ------------------ ----------- ... -------------- -----------\n", + " g 4815.9536351296665 45.859978 ... 0.0038176817 0.0\n", + " r 6437.792829370577 126.658134 ... 0.0027209905 0.0\n", + " z 9229.657864493674 277.79364 ... 0.0017026776 0.0\n", + " W1 34002.540444816936 329.8847 ... 0.0035546615 0.0\n", + " W2 46520.07577118702 236.47244 ... 0.0073985117 0.0\n", + " W3 128103.3789599012 440.48077 ... 0.05288989 0.0\n", + " W4 223752.7751557955 -262.35446 ... 0.0 15.835801" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "maggies = 1e-9 * np.array([meta['FLUX_{}'.format(band.upper())] for band in CTools.bands]).flatten()\n", + "ivarmaggies = 1e18 * np.array([meta['FLUX_IVAR_{}'.format(band.upper())] for band in CTools.bands]).flatten()\n", + "\n", + "phot = CTools.parse_photometry(CTools.bands, maggies=maggies, ivarmaggies=ivarmaggies,\n", + " nanomaggies=False, lambda_eff=filters.effective_wavelengths.value,\n", + " min_uncertainty=CTools.min_uncertainty)\n", + "phot" + ] + }, + { + "cell_type": "markdown", + "id": "e61bca4d-ae48-4e68-9357-ef4897cd7005", + "metadata": {}, + "source": [ + "#### Instantiate the best-fitting model fit." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2771a6c1-ce18-4597-879f-7fbaacefe19a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "sedwave = templates['templatewave']\n", + "sedmodel = templates['templateflux'].dot(coeff) # [F_lambda]" + ] + }, + { + "cell_type": "markdown", + "id": "90188592-a32b-4efe-bfc1-7182b00994f8", + "metadata": {}, + "source": [ + "#### Define the selection band (filter) and specify the faint flux-limit." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "25fff232-f718-4744-b33a-187a9365596d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from speclite import filters as specfilters\n", + "\n", + "if photsys == 'N':\n", + " select_filter = specfilters.load_filter('BASS-r')\n", + "else:\n", + " select_filter = specfilters.load_filter('DECam2014-r')\n", + " \n", + "obsmaggies_select = maggies[select_filter.name == np.array(filters.names)][0] # observed flux\n", + "\n", + "mag_faint = 19.5" + ] + }, + { + "cell_type": "markdown", + "id": "a2365f1c-890c-4682-9fb5-7f9600630153", + "metadata": {}, + "source": [ + "#### Compute the brightness in the selection band to find zmax." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "af6b4fbd-0eab-4688-90e1-ed71d9838439", + "metadata": {}, + "outputs": [], + "source": [ + "zmin, zmax, dz = 0., 1.2, 0.02\n", + "zgrid = np.arange(zmin, zmax+dz, dz)\n", + "nz = len(zgrid)\n", + "\n", + "synthmaggies_select = select_filter.get_ab_maggies(sedmodel / (1. + redshift), sedwave * (1. + redshift))\n", + "mag_zgrid = np.zeros(nz)\n", + "for iz, zz in enumerate(zgrid):\n", + " kcorr = select_filter.get_ab_maggies(sedmodel / (1. + zz), sedwave * (1. + zz)) / synthmaggies_select\n", + " mag_zgrid[iz] = -2.5 * np.log10(obsmaggies_select * kcorr)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c9ea11ad-136b-4079-99ab-e7cf4b00162a", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "zmax = 0.822167913\n" + ] + } + ], + "source": [ + "zmin = 0.\n", + "zmax = np.interp(mag_faint, mag_zgrid, zgrid)\n", + "print(f'zmax = {zmax:.9f}')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a3f321fc-730a-4819-b04f-408f5f1cc4e8", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAHBCAYAAAAo6sxCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACPY0lEQVR4nOzdd3yN5/vA8c/JjkSIJLIkCGIkQYi9Y2sVUaQlalWN0kGLb1tUtbS0ais1WqOxFUWLtlYRI6IZVswMEUIkspPz+yO/HE6TcJKcOBnX+/Xqq8793M/9XOcR51y5n3solEqlEiGEEEIIoVN6ug5ACCGEEEJIUiaEEEIIUSJIUiaEEEIIUQJIUiaEEEIIUQJIUiaEEEIIUQJIUiaEEEIIUQJIUiaEEEIIUQIY6DqA8qZTp07ExcVhbGxMtWrVdB2OEEIIITQQERFBamoqVapU4a+//iqWa0hS9pLFxcWRkpJCSkoK8fHxug5HCCGEEAUQFxdXbG1LUvaSGRsbk5KSgomJCbVq1dJ1OEIIUepkZmYSEhKieu3m5oa+vr4OIxLlQXh4OCkpKRgbGxfbNSQpe8mqVatGfHw8tWrVYseOHboORwghSp34+HgaNGigev3zzz9TqVIlHUYkygMfHx9CQkKKdeiRDPQXQgghhCgBJCkTQgghhCgBJCkTQgghhCgBJCkTQgghhCgBJCkTQgghhCgBJCkTQgghhCgBSuSSGCtXriQ0NJTQ0FBu376Nnp4eoaGhedb19vYmMjIy37Zat27N2rVrNbrumTNnWLx4McHBwSiVSjw8PJgwYQLNmjUr1PsQQgghhNBUiUzKvv32WywsLKhfvz5JSUnPXT33f//7H0+ePMlVvnv3bo4fP463t7dG1zx27BhjxozB1taW8ePHY2xszObNmxk2bBgrVqygXbt2hX4/QgghhBAvUiKTsoMHD+Ls7AyAn5/fc5OyLl265CrLyspi4cKFGBsb06dPnxdeLzMzk5kzZ2JkZMSGDRtwcHAAoG/fvvTu3ZuZM2dy8OBB9PTkaa8QQgghikeJzDJyErLCOn78OJGRkfTo0QMLC4sX1j979iwRERH06NFDlZABmJubM2DAACIiIjh79myRYhJCCCGEeJ4S2VNWVNu2bQNg4MCBGtUPCgoCwNPTM9exnLKgoCCaN2+e5/n+/v5s2bJFo2uFh4drVE8IIYQQ5UuZS8oePHjAn3/+iYuLC15eXhqdExMTA4CtrW2uY3Z2dmp18hIbG6u2Oa4QQgghREGVuaRsx44dpKena9xLBpCcnAyAkZFRrmM5u8Hn1MmLjY0Nbm5uGl0rZ5d5IYQQQohnlbmkbNu2bRgaGmo0wD+HqakpAGlpabmO5SRQOXXy4uvri6+vr0bXytll/tbdx/yw4yKNXW3wqG1NBRNDjeMVQgghRNlTppKygIAAbt68ySuvvEKVKlU0Pi/nsWVejyif92izKNIzsth74gZ7T9xAX0+Bq7Mlnq42eNatSh2nyujrl8g5GEIIIYQoJmUqKcsZbD9gwIACndewYUMAAgMDcz32DAwMVKtTHDKzlITdjCPsZhyb/riMmakhTetVpYWbHU3q2WJuKr1oQgghRFlXZpKy+Ph4/vjjD6pXr07Lli3zrRcVFUVycjLOzs4YGmYnO82aNcPR0ZEDBw4wceJE7O3tAUhMTGTr1q04OjpqPGlAUzaVTWnT0IGgq7EkJqerHXuSnM7RwEiOBkair6fAzcWKFm52NHezw87KTKtxCCGEEKJkKJFJ2a5du4iKigIgMjISpVLJsmXLVMfHjRuX65zdu3eTmprK66+/jkKhyLftKVOmEBAQwOHDh6lWrRoA+vr6zJgxg7FjxzJ48GD8/PwwNDRk8+bNxMTEsHz5cvT19bX6HiuZGzP1rWZkZikJj3jEhSuxXLgSS9jNB2RkKlX1MrOUXLx2n4vX7rPq12Cc7SrSvIEdXvVtqVfdUh5zCiGEEGVEiUzKtm/fTkBAgFrZwoULVX/OKynbunUrBgYG+Pj4FOqaHTp0YM2aNSxdupRFixYB4O7uzpo1a57b81ZUOePJXJ0tGdjFleTUDC5cucfpkLucDYshPlF98sHtuwncvpvAtj+vYmZqiKerDV71bWlSryqWFU2KLU4hhBBCFK8SmZStX7++wOfs3r27yG23bNmyWBMwTZgaG9DKw4FWHg5kZim5cushAaF3OR1ylzsxCWp1nySnczwoiuNB2b2KtatVoml9W7zq2VLH2RJ9vfx7DIUQQghRspTIpExk09dTUL9mFerXrMJbrzQg+v4TAkKze9CCwx+QkZmlVv9aRDzXIuLZfPAKlSsa09LdnlYe9njUssbQQB5zCiGEECWZJGWliL21GX3a16JP+1okp2Zw8WosZy/d42xYDPcfqS9u+yghlQMnb3Lg5E3MTA1p1sCW1h72eNatiomR/LULIYQQJY18O5dSpsYGtHC3p4W7PUqlktsxCZwLi+Fs2D1CbjwgK+vpZIEnyen8fS6Cv89FYGSoT9N6VWnX2JGW7vbSgyaEEEKUEJKUlQEKhYLqdhZUt7PAp1MdEpLSOBN6l38uRhN4+R5pGU8fc6alZ3Ly32hO/htNZXNjurZwpnvLGthWqaDDdyCEEEIIScrKoIoVjPD2csbby5nk1AzOX7rHyX+jORN2l6SUDFW9R4mpbD18lW1/XqVpPVt6tqpB0/q2MkFACCGE0AFJyso4U2MD2jRyoE0jB9IzMgm6ep+jgREcD4oi/f970JRKOBsWw9mwGKwrm9K9ZXW6NnfGqlL++30KIYQQQrskKStHDA308apvi1d9W0b18eDPs7fZ/89Nou4/UdW5/yiZjQcu4f/HZVo3dKB3Wxfq1bDMf0FepRL++Qf+/BMePwYLC+jcGVq1gucs4iuEEEIIdZKUlVMWZkb07VCbPu1rcfHaffb/c5NTwdFk/v8EgcwsJccuRHLsQiS1q1WidzsX2jV2xNDgmZ0NduyAzz+HixfVG58+HRo1yv5/IRfzFUIIIcobScrKOYVCQaM6NjSqY0Pc4xQOBtziwMlbaktsXIuIZ8EvgazdE0r3VtXp2aoGVquWwkcf5d9wUBD07w/z58OkSS/hnQghhBClmyRlQqWKhQmDutTl9U51OB1ylz3HrxMc/kB1/FFiKpsPXiFi+c9M3T1Xs0YnT4aaNaXHTAghhHgBScpELvr6erRu6EDrhg7ciIpn7/Eb/H3uTvbSGkolg/7xL1iDs2ZBv34yxkwIIYR4Dlk5VDxXTYdKTBjYmLXTu/PWKw1o+fgGNe/fRPniU58KCoKTJ4srRCGEEKJMkKRMaMTCzIjXveswzSl7U/QC93kdPqz1mIQQQoiyRJIyUSB6iQmFOi/2VoxqZqcQQgghcpOkTBSMhUWhTvs9LI7hs37nhx0XCbmuvjenEEIIIWSgvygob+/s9cc0pCT7UWeQcyMeJqSy98QN9p64QRULEzo0qUaPVtVxsDYvtnCFEEKI0kKSMlEwrVtDw4a5F4zNhwK4W60OVx3r8ezsgLjHKez8+xo7/75Gk7pV6dW6Bl4N7GTfTSGEEOWWJGWiYBQKmDEje2FYDdktnMvP3XtyKjiaYxciuXjtvtrjy/OX73H+8j1sLE3p0bIGXVs4Y1nRpDiiF0IIIUosScpEwfn4wLx5z1/RP8f8+eDjgwXQrUV1urWoTnxiKscuRLLvn5vciXk6cSD2YTLr94fxyx+XaN3QgV6ta9KgZpX8990UQgghyhBJykThTJ4MLi55730Jz937spK5Ma+2deGVNjUJvv6AfSducPLfp/tuZmQqORoYydHASBxtzOnWojreXk5Urmhc3O9KCCGE0BlJykTh+fhkr9R/8mT2OmSPH2fPzuzcGVq1euEK/gqFAo9a1njUsibucQp/nL7FgZM3eRCfoqoTGZvI2r0h/LwvlOZudnRrUR3PulVl7JkQQogyR5IyUTQKRfbg/9ati9RMFQsTfLvWZYB3HQJC77LvxE0uXI1VHc/MUnLy32hO/huNdSUTOjdzpktzZ+yszIr6DoQQQogSQZIyUaLo6+vRysOBVh4O3H3whEMBtzl05rZa79n9+BQ2H7rC5kNXaFTHmm4tqtPS3R4jQ30dRi6EEEIUjSRlosSyszJjSM/6vNG9HoGX7/HH6VsEhNxV2xkg6Op9gq7ex9zUkE5eTnRt7kxNh0o6jFoIIYQoHEnKRImnr6fAq74tXvVteZiQwl9n7/DH6dtExiaq6iQmp7Pn2HX2HLtOHafKdG1RnQ6ejlQwMdRh5EIIIYTmJCkTpYplRRN8OtWhX8fahN6I42DALY4HRZGalqmqc/XOI67eecTq3cF08KxG3w61cLKtqMOohRBCiBeTpEyUSgqFAjcXK9xcrBjd14OjgZH8cfoWV+88UtVJTcvkj9O3+OP0LZo1sKVfx9q4u1jJumdCCCFKJEnKRKlXwcSQHq1q0KNVDW5ExXMw4DZ/nb1DYnK6qs6Z0BjOhMZQu1ol+nWsTZuGDujr6+kwaiGEEEKdfCuJMqWmQyVG9/XgpxndeW+QJ8526o8tr0XEM2/DOd6ec4hdR8JJSknPpyUhhBDi5ZKeMlEmGRnq06W5M52bORF4OZadf19TW/cs9mEyq3cH88sfl+jesga927pgY2mqw4iFEEKUdyUyKVu5ciWhoaGEhoZy+/Zt9PT0CA0NzbOut7c3kZGR+bbVunVr1q5d+8JrPq+dPXv24OrqqlnwokRRKBQ0qVeVJvWqcj0ynl1HrnE0MFK1rEZSSgY7/77G7qPhtG3kSN8OtajtVFm3QQshhCiXSmRS9u2332JhYUH9+vVJSkoiLi4u37r/+9//ePLkSa7y3bt3c/z4cby9vTW+rouLC2PGjMlVbm9vr3EbouRycazEh282ZWivBuw5dp0Dp26SlJIBZO8YcCQwgiOBEbjXsqJfh9p41bdFT7ZzEkII8ZKUyKTs4MGDODs7A+Dn5/fcpKxLly65yrKysli4cCHGxsb06dNH4+taW1sXqL4onawrmzK8txuDurpyMOA2u4+Gc+9hsup4cPgDgsMf4GhjRp/2tfBu5oyx7BYghBCimJXIgf45CVlhHT9+nMjISHr06IGFhUWBzs3IyCAxMRGlUvniyqJUq2BiSJ/2tVg5rQtThnpR19lS7Xhk7BOWbb/IiC/+YNPvl4hPTNVRpEIIIcqDEtlTVlTbtm0DYODAgQU6LygoiMaNG5Oeno6ZmRnt27fngw8+oHr16s89z9/fny1btmh0jfDw8ALFJIqfvr4ebRs50qahA5duPmTnkWucCo4mJy9//CSNX/64zPY/r+LdzJm+HWrhaGOu26CFEEKUOWUuKXvw4AF//vknLi4ueHl5aXxe7dq16d+/P7Vq1SIrK4vz58/j7+/PiRMn8Pf3p1atWvmeGxsbS0hIiDbCFzqkUCioX7MK9Ws2J/r+E3YfC+dgwG3VbgFpGVkcOHmT30/dpHkDO/p1rE2DmlVkMVohhBBaUeaSsh07dpCenl7gXrKVK1eqve7Vqxft2rVj9OjRzJ07l1WrVuV7ro2NDW5ubhpdJzw8nJSUlALFJl4+e2sz3unXkDe712P/PzfZc/w6jxKyH18qlXA65C6nQ+5S19mSgV1cadbAVpIzIYQQRVLmkrJt27ZhaGiolQH7HTp0wN3dnZMnT5KWloaRkVGe9Xx9ffH19dWoTR8fH+lVK0UqVjBiYBdX+nWsxd/nIth55Bp3Yp5uhH759kO+WHOaus6W+PWsTyNXGx1GK4QQojQrkQP9CysgIICbN2/SrVs3qlSpopU2HR0dSU9PJyEhQSvtidLJ0ECfri2qs2SyNzNGtaRhbWu145dvP+TTH/7hk+UnuHQz/9nCQgghRH7KVE9ZzmD7AQMGaK3NW7duYWhoWOBZnKJs0tNT4FXfFq/6tly784hNf1ziTGiM6vjFa/f5aPExvOrb4tezPi6OlXQYrRBCiNKkzCRl8fHx/PHHH1SvXp2WLVvmWy8qKork5GScnZ0xNDQEIC4ujsqVK6Onp95xuGfPHi5dukTnzp1VdYXIUdupMtNHtuTSzTjW7w/j4rX7qmNnw2I4GxZDm0YODO5eDyfbis9pSQghhCihSdmuXbuIiooCIDIyEqVSybJly1THx40bl+uc3bt3k5qayuuvv/7cAddTpkwhICCAw4cPU61aNdW569evp1u3blSrVk01+3L//v1YW1szbdo0Lb9DUZbUq1GFL8e2IehKLOv3h3H59kPVsRNBUZy8GEXXFtV5o1tdrCrJ/ppCCCHyViKTsu3btxMQEKBWtnDhQtWf80rKtm7dioGBAT4+PgW+noeHB66urhw4cIC4uDiysrJwcHDAz8+P0aNHY2Mjg7fFizVytaFhHWvOhMawfn8YN6MfA5ClhN9P3eKvcxH07VCL/p1qU8FEel6FEEKoK5FJ2fr16wt8zu7duwvddtOmTWnatGmBrynEfykUCpq72eFV35YTQVGsPxBG9P3svVnT0jPZcugKB07eZFAXV3q2roGhgWzfJIQQIluZmn0pREmhp6egnacjyz72ZoxPQyqbG6uOPX6Sxqpfgxn79Z8cOR9BVpZs6SWEEEKSMiGKlYG+Hq+0qckP0zrzRre6mBg97RmLiUti/sZzTFp4hCvPjEMTQghRPklSJsRLUMHEkDe712PltC70al0Dfb2nk1GuRcQzedFRfth5kaSUdB1GKYQQQpckKRPiJbK0MGFs/0Ys+9ibNg0dVOVKJew9foNx3/zJyX+jdRihEEIIXZGkTAgdcLAxZ+pbzfhqXBscbcxV5Q/iU/hqXQBfrj3N/UfJOoxQCCHEyyZJmRA65FHLmsWTO/Jmt7oY6D/953gq+C7jvjnM7mPhZMpEACGEKBckKRNCxwwN9Hmjez0WTeqIey0rVXlyaiardgXz0aKjXLvzSHcBCiGEeCkkKROihHCyrchXY9swcWBjzE2fLi579c4jPlx4hCVbLxCfmKrDCIUQQhQnScqEKEEUCgVdW1Rn+ZTOdGxSTVWu/P9dAd6Zcyj7kWZmlg6jFEIIURwkKROiBKpc0ZhJg5sy+53WONk+nQjwJCWDVbuCmfjd3wRdjdVhhEIIIbRNkjIhSrBGrjYsmtSJUX3cqWDydFe023cT+HTFP8z96Qz34pJ0GKEQQghtkaRMiBLOQF+PPu1r8cPULnRt7ozi6bqznLgYxdivD7N2TwgP4mUJDSGEKM0kKROilKhc0ZiJgzyZP7E9dZ0tVeVpGVns+PsaI2cf5LtN57gRFa/DKIUQQhSWwYurCCFKEldnS76Z0I6/zt1h3W+hPErInpGZmaXkr3MR/HUugsauNvTrUBvPujYonu1aE0IIUWJJUiZEKaSnp6BzM2daedjzx+nb7D4WTuzDp48vL1yJ5cKVWGrYW9C3Qy3ae1bD0EA6xoUQoiSTpEyIUqyCiSF9O9Ti1bY1OREUxc4j1wiPePr48mb0Y773D+TnfaH0bleLHq1qqK2BJoQQouSQpEyIMsBAX48OTarR3tOR4PAH7Pj7GmfDYlTH4x6n8tNvoWw5dJluLWrwWnsXqlpW0GHEQggh/kuSMiHKEIVCgUdtazxqW3MnJoFdR8L58+wdMv5/sdnk1Ex+PRrOnuPXadfIkX4da1GrWmXdBi2EEAKQpEyIMsvJtiITBjZmSI967D1xg30nbpCYnA5AVpaSI4ERHAmMoFEda3w61cHTVSYFCCGELklSJkQZZ2lhgl/P+rzuXYdDAbfZdTRcbcHZoKv3Cbp6n3rVLRnSsz6N6tjoMFohhCi/JCkTopwwNTagdzsXerWuwT//RrPj72tcu/NIdfzSrYd8uuIfGta2ZkiP+tSvWUV3wQohRDkkSZkQ5Yy+vh7tGjvStpEDweEP2PbnVc5fvqc6fvHafT5ecoym9aoypEd9ajtV1l2wQghRjkhSJkQ59eykgJDrD9hwIIzg8Aeq4+cu3ePcpXu08rBncPd6VLe30GG0QghR9slqkkII3Fys+GpsG2a/05q61S3Vjp38N5oJ3/7F8u1BpKRm6ChCIYQo+6SnTAgBZPecNXK1oWEda85dusf6/WFcj8xeiFaphH3/3CTwcizv+Xri5mKl42iFEKLskZ4yIYQahUKBV31bvv+gA9PeaoaTrbnqWPSDJ0xbdpzVu4NJS8/UYZRCCFH2SFImhMiTQqGgdUMHFn7YkQGd66D3/0uYKZWw60g47y/4myu3H+o2SCGEKEMkKRNCPJehgT5DezXgmwntcLR52mt2JyaRjxYfY8OBMNIzsnQYoRBClA2SlAkhNFK3ehUWTupIn/a1yFn4PytLyeaDV5i88Cg3ox/rNkAhhCjlJCkTQmjM2FCfUX3c+WpsG2yrPN3Q/HpUPJMWHuVoYIQOoxNCiNKtRM6+XLlyJaGhoYSGhnL79m309PQIDQ3Nt/7Vq1dZsWIFgYGBxMbGYmVlhZubGyNHjqRJkyYaX/fMmTMsXryY4OBglEolHh4eTJgwgWbNmmnjbQlRZrjXsmbx5E6s3RPC/pM3AUhLz2TehnNcj4zHr1cD9PVkH00hhCiIQvWUde7cmRkzZmg7FpVvv/2WEydOYGdnh7W19XPrXrx4kf79+xMQEEC/fv2YPn06Pj4+BAUFMXjwYI4eParRNY8dO8awYcOIiIhg/PjxTJo0iYcPHzJs2DCOHTumjbclRJliamzAuNcbMfPtlpibGqrKt/91jS9Wn1Jtfi6EEEIzheopi4uLw8Ki+Fb3PnjwIM7OzgD4+fkRFxeXb92ff/6Z1NRUVq9ejaurq6q8W7du9OnTh82bN9O+ffvnXi8zM5OZM2diZGTEhg0bcHBwAKBv37707t2bmTNncvDgQfT05GmvEP/VtJ4t373fgdlrT3P7bgKQvRvApO+P8OmIFjjZVtRxhEIIUToUKsuoVasWd+7c0XYsKjkJmSYSErK/BKpWrapWbmtrC4CJickL2zh79iwRERH06NFDlZABmJubM2DAACIiIjh79qzGMQlR3thbmzFvQjtaediryqLuP2HSwqOcDo7WYWRCCFF6FKqnbMiQIcyYMYNLly5Rr149bcdUIG3atOHvv/9m8uTJvPvuu9jb2xMVFcXixYuxsLBg1KhRL2wjKCgIAE9Pz1zHcsqCgoJo3rx5nuf7+/uzZcsWjeINDw/XqJ4QpU0FE0OmDm3GlsNX2HjgEgDJqRnMXhvA4B71GNjZFT0ZZyaEEPkqVFLm6OhIq1ateOONNxg0aBANGzbE2toahSL3B25xD5IfPHgwd+/eZdOmTQwaNEhVXrt2bbZs2ULNmjVf2EZMTAzwtHftWXZ2dmp18hIbG0tISEhBQxeizNHTU+DbtS417C34btM5klOzV/3feOASN6Li+eCNJpgYlcj5RUIIoXOF+nT08/NDoVCgVCpZt25dnslYjrCwsEIHpwl9fX2cnJxo0KABnTt3pkaNGty+fZvVq1czatQo1q1bh5OT03PbSE5OBsDIyCjXMWNjY7U6ebGxscHNzU2jeMPDw0lJSdGorhClVUt3e+ZPbM/stQFE338CwD8Xo4l9eILPRrbAsuKLhxUIIUR5U6ikbPz48c9NxF6mBQsW8OOPP7Jz5061gf7t2rWjb9++fP311yxZsuS5bZiamgKQlpaW61hOApVTJy++vr74+vpqFK+Pj4/0qolywdnOgu/ea8+8jec4f+keAFfvPOKjRceYMaqlTAAQQoj/KFRSNmHCBG3HUSgZGRmsWbMGFxcXtYQMsh9f1q5dm4CAgBe2k/PYMq9HlM97tCmEeD7zCkZMH9mSVbv+5bcTNwCIiUvi48XH+GR4c9xrPX/JGyGEKE9K9RoPcXFxpKWlkZmZmefxjIwM0tNfvFZSw4YNAQgMDMx1LKcsp44QomD09RS808+DEb2fPuJPTE7nsx9Oyg4AQgjxDK0kZYcOHWLatGnaaKpArK2tsbS05MaNG1y4cEHt2IULFwgPD6dRo0Zq5VFRUYSHh6sla82aNcPR0ZEDBw4QHf10+n5iYiJbt27F0dERLy+vYn0vQpRlCoWCfh1rM3VoMwwNsj92MjKzmLfhHFsPX0GpVOo4QiGE0D2tTIO6dOkSu3btYs6cOdpojl27dhEVFQVAZGQkSqWSZcuWqY6PGzcOAD09PSZMmMCsWbMYPnw4vr6+1KhRg5s3b+Lv74+BgQHvvfeeWttTpkwhICCAw4cPU61aNSB7ssCMGTMYO3YsgwcPxs/PD0NDQzZv3kxMTAzLly9HX19fK+9NiPKsTSMHqliY8MWa0yQkZY/h/HlfGDFxSYz1aYi+fqnuvBdCiCIpkXPTt2/fnmss2MKFC1V/zknKIHtJDFtbW9avX8+2bdt48uQJlSpVom3btowdO5YGDRpodM0OHTqwZs0ali5dyqJFiwBwd3dnzZo1tGzZUgvvSggBUL9mFeZPbMfMH0+pZmb+fuoWsY+SmeLnRQUTwxe0IIQQZVOJTMrWr19foPpdunShS5cuRW67ZcuWkoAJ8RI42Jgzb0I7Zq85zaVbDwE4f+ken/3wDzNGtcLCLPfyNEIIUdbJswIhhE5UMjdm9tg2tGn4dGuzK7cfMXXpMe4/yn9dQCGEKKu0kpTVq1ePvn37aqMpIUQ5Ymyoz8d+Xrza5unOG3diEpmy5BhRsYk6jEwIIV4+rSRlXbp00dogfyFE+aKnp2B0Pw/e6FZXVXbvYTJTlhznemS8DiMTQoiXS2uPLzMyMggLCyM0NFSjtcGEECKHQqHgze71eLuvu6rsUWIq05YdJ+T6Ax1GJoQQL4/GSdmdO3fYtm0b169fz3Xs2LFjdOzYER8fH/r370+7du34/ffftRqoEKLse61dLT54owl6etnbuCWlZDD9h384E3pXx5EJIUTx0zgp27ZtG5999lmu1fOjoqKYOHEi9+/fx97eHhcXF+Lj45k0aRJXr17VesBCiLLN28uJT4Y1Vy0ym5aRxZdrA/j73B0dRyaEEMVL46Ts/Pnz1K5dmzp16qiVr1+/nuTkZAYOHMjhw4f57bffWLBgARkZGQVe2kIIIQCau9nx+ehWmBpnr9qTmaXk203n2Xs8d0+9EEKUFRonZREREdStWzdX+ZEjRzAwMGDy5MkoFNmPHHr06EHjxo05c+aM9iIVQpQrHrWs+WpcGyqZP12z7Ied//LL75dkWyYhRJmkcVIWFxeHg4ODWlliYiI3btzA3d0dCwsLtWNubm7cvSvjQIQQhVe7WmXmjm+LdWVTVdmmPy6zcue/ZGVJYiaEKFs0TsoUCgUJCQlqZSEhISiVyjy3MjI3N881/kwIIQqqWtWKfPNuO6pVNVeV7T1xg283nSMjM0uHkQkhhHZpnJQ5Ojpy/vx5tbIzZ86gUCho2LBhrvoPHz7E2tq66BEKIco9G0tT5o5vSx2nyqqyo4GRzF5zmpS0DN0FJoQQWqRxUtamTRuuXLnCsmXLSExM5N9//+WXX35BX1+f9u3b56ofHByMvb29VoMVQpRflcyNmT2mNY3qPP1l79yle0z/4SSJSWk6jEwIIbRD46Rs1KhRWFhYsHjxYpo1a8bAgQN58OABr7/+OlWqVFGrGxkZSWhoKM2aNdN6wEKI8quCiSEzRrWklcfTX/jCbsYxbdkJ4h6n6DAyIYQoOo2TsqpVq7J+/XpatGiBkZERdnZ2jBo1ik8++SRX3Z07d1KxYsU8e9CEEKIoDA30mTK0Gd1aVFeV3Yx+zJQlx4i+/0SHkQkhRNEYFKSyq6sr69ate2G9d999l3fffbewMQkhxHPp6yl4d0AjLMyM2PZn9iLVdx8kMWXJMb54pzXV7S1e0IIQQpQ8Wtv7UgghXiaFQsFbrzRg+KtuqrKHCdn7ZV6981CHkQkhROFoLSm7dOkS69atY926dfz777/aalYIIZ7Lp1NtJg5szP9vl0lCUjqfLP9HNjIXQpQ6Gj++PHPmDFu3bmXQoEE0bdpU7diSJUtYunSpWtnQoUOZNm2adqIUQojn6NqiOibGBny78RyZWUqSUzOYvvIknwxrTpN6VXUdnhBCaETjnrIDBw7w22+/Ub16dbXywMBAlixZgp6eHr1798bX15fKlSvz888/c+TIEa0HLIQQeWnX2JFPhj+zkXl6Jl+sOcXJf6N0HJkQQmhG46QsMDCQRo0a5VoQ9pdffkGhUPDJJ5/wzTffMGPGDDZs2IC+vj7bt2/XesBCCJGfZg3smPl2S0yM9AHIyFQy9+ez/HXujo4jE0KIF9M4Kbt37x41a9bMVX7y5ElMTU0ZOHCgqqxWrVq0bduW4OBg7UQphBAaaljbhi/GtMbM1BCArCwlC345z/5/bug4MiGEeD6Nk7JHjx7l6iWLiYkhNjYWT09PDAzUh6fVqFGD+/fvaydKIYQogHrVqzBnXBsqmxsDoFTCsu0X2fHXVR1HJoQQ+dM4KTMxMcmVZIWEhADkuSG5kZER+vr6RQxPCCEKp6ZDJeaMb4N1JRNV2dq9oazbG0JWllKHkQkhRN40TspcXFw4evQoGRlPN/89evQoCoUCT0/PXPWjo6OpWlVmPQkhdKda1YrMfbcd9lZmqrLtf13je//zZGRm6TAyIYTITeOkrHv37sTGxjJ27FgOHz7M6tWr2b59OxYWFrRp0yZX/fPnz+eaqSmEEC+bbZUKzH23LTUdnq7y/9e5CL5YfZrk1IznnCmEEC+XxkmZn58f9evX59ixY7z77rvMnz+f9PR03nvvPYyNjdXqBgUFERkZSevWrbUesBBCFFQVCxPmjGtLw9pPx8Wev3yP/y0/waOEVB1GJoQQT2mclBkZGbFx40YmTpxI27Ztee211/jhhx948803c9UNCwujc+fOdOrUSavBCiFEYZmZGjLz7Za0beSgKrt25xEfL5aNzIUQJUOBNiSvUKEC48aNe2E9X19ffH19Cx2UEEIUB0MDfT4a4oWlRTB7jl0HIPrBEz5efIwZo1pS26mybgMUQpRrxbYh+Y0bN/j666+Lq3khhCgUPT0Fb/dxZ9grT2eNP0pM5X/LjxN4+Z4OIxNClHdaTcrS0tLYs2cPfn5+9OrVi3Xr1mmzeSGE0AqFQkF/7zp88IYnev+/k3lyaiaf/3iKY4GROo5OCFFeFejxZX6uXbvGli1b+PXXX3n8+DFKpRIHBwf69+9fqPZWrlxJaGgooaGh3L59Gz09PUJDQ/Otf/XqVVasWEFgYCCxsbFYWVnh5ubGyJEjadKkiUbX9Pb2JjIy7w/jPXv24OrqWqj3IoQouby9nLEwM2buz2dITcskM0vJ/I1nycjKolNTJ12HJ4QoZwqdlKWmprJv3z62bNnChQsXUCqzF2OsW7cuH330EW3atEGhUBSq7W+//RYLCwvq169PUlIScXFx+da9ePEiQ4YMoVKlSgwcOBA7Ozuio6PZsmULgwcP5ocffqB9+/YaXdfFxYUxY8bkKre3ty/U+xBClHxe9W35amwbZq46RUJSGllKWPDLeTIzlXRp7qzr8IQQ5UiBk7JLly6xZcsW9uzZQ2JiIkqlkgYNGtC/f3+++OILGjZsSNu2bYsU1MGDB3F2zv4w9PPze25S9vPPP5Oamsrq1avVerO6detGnz592Lx5s8ZJmbW1NX369ClS7EKI0sfV2ZKvxrXh0xUniE9MQ6mERVsCycxS0r2lrLcohHg5NE7Ktm7dypYtWwgODkapVGJlZcVbb72Fj4+PKhn64osvtBJUTkKmiYSEBIBcuwfY2toC2dtDFURGRgYpKSmYmZkVuqdPCFH61LC34KuxbfhkxT88SkhFqYQlWy+QmZVFr9Y1dR2eEKIc0Dgp++yzz9DT06NLly7069ePDh06lIi9Ldu0acPff//N5MmTeffdd7G3tycqKorFixdjYWHBqFGjNG4rKCiIxo0bk56ejpmZGe3bt+eDDz544c4E/v7+bNmyRaNrhIeHaxyPEOLlcrazYM64Nnyy/B/iHqcAsHz7RTIzlfRu56Lj6IQQZV2BHl8qlUpu3LjBzZs3adSoEVZWVsUVl8YGDx7M3bt32bRpE4MGDVKV165dmy1btlCzpma/4dauXZv+/ftTq1YtsrKyOH/+PP7+/pw4cQJ/f39q1aqV77mxsbGqzdmFEKVbtaoVmTM+OzG7/ygZgJW7/iUzK4u+HWrrODohRFmmcVK2adMmNm/ezO+//84333zDd999R5s2bejXrx/e3t4YGRkVZ5z50tfXx8nJiQYNGtC5c2dq1KjB7du3Wb16NaNGjWLdunU4Ob14FtXKlSvVXvfq1Yt27doxevRo5s6dy6pVq/I918bGBjc3N43iDQ8PJyUlRaO6QgjdcLA2//8esxPce5idmK3eHUJ6RhYDOstMbCFE8dA4KWvSpAlNmjTh008/5ddff2XLli0cOXKEo0ePYmFhQa9evYozznwtWLCAH3/8kZ07d6oN9G/Xrh19+/bl66+/ZsmSJYVqu0OHDri7u3Py5EnS0tLyTTwLsoOBj4+P9KoJUQrYWZkxZ1xbPllxgrsPkgD4eV8YWVlKBnWtq+PohBBlUYEXj61YsSJDhgxh9+7dbN68mb59+5KWlsYvv/wCwNGjR1mzZs1zZ0xqS0ZGBmvWrMHFxSXXOmK1a9emdu3aBAQEFOkajo6OpKenqyYUCCHKj6pVKjBnXFscrM1UZRsOXGLr4Ss6jEoIUVYVaUX/Ro0aMWfOHI4dO8b06dNp0KABMTExzJs3j/bt2zNx4kRtxZmnuLg40tLSyMzMzPN4RkYG6enpRbrGrVu3MDQ0xMLCokjtCCFKJ+vKpnw1rg2ONuaqsp/3hbH9z6s6jEoIURZpZZslc3Nz3nzzTXbs2MG2bdt4/fXXMTQ05ODBg9poPl/W1tZYWlpy48YNLly4oHbswoULhIeH06hRI7XyqKgowsPD1ZK1uLg4srKycrW/Z88eLl26RPv27TE0NCyW9yCEKPmsKuUkZk97zNb9FsquI9d0GJUQoqzRyjZLz3J3d8fd3Z1p06bx22+/FaqNXbt2ERUVBUBkZCRKpZJly5apjo8bNw4APT09JkyYwKxZsxg+fDi+vr7UqFGDmzdv4u/vj4GBAe+9955a21OmTCEgIIDDhw9TrVo1AHbv3s369evp1q0b1apVU82+3L9/P9bW1kybNq1Q70MIUXZUsTDhy7FtmLbsBNH3nwDZg//1FApea5//7GwhhNCU1pOyHBUqVGDAgAGFOnf79u25xoItXLhQ9eecpAyyl8SwtbVl/fr1bNu2jSdPnlCpUiXatm3L2LFjadCgwQuv5+HhgaurKwcOHFD1mjk4OODn58fo0aOxsbEp1PsQQpQtVpVM+WpsG6YtO64a/L/q12D09BS82lbWMRNCFE2Bk7KoqCji4uJwcXGhQoUKAMTExLBs2TL+/fdfsrKyaNGiBe+88w5VqlQpVFDr168vUP0uXbrQpUuXQrfdtGlTmjZtWqBrCiHKJ+vKpqoes3tx2YnZDzv/RU9PISv/CyGKROOkLDMzk6lTp7J3714gexzZN998Q/369RkwYACxsbGqupcvX+bvv/9m+/btmJub59ekEEKUSlUtK6h6zGL/fx2z5dsvoqdQ0KNVDd0GJ4QotTQe6O/v78+ePXswMTGhfv36ZGRk8Mknn7BixQri4+MZM2YMy5cvZ+7cuXh4eHD79m3WrFlTnLELIYTO2FbJTsysK5uqypZuC+KP07d0GJUQojTTOCnbs2cPlSpVYt++fezYsYN9+/aRmZnJtm3bmDp1Ku+//z6dOnWib9++bNiwAVtbW/7888/ijF0IIXTKzsqMr8a2waqSiaps8ZYL7PxbZmUKIQpO46Ts2rVreHt7Y29vD4C9vT3e3t5kZmbmGs9lZGRE+/btuXVLfmMUQpRt9tbZiVkVi6eJ2Zo9IazZE0JWllKHkQkhShuNk7InT55gZ2enVmZrawtA1apVc9W3sbGRPR6FEOWCg405c8a3wbZKBVXZzr+v8b3/eTIyc6+BKIQQedE4KVMqlejr66uVGRjkP09AoVAUPiohhChlHKzNmTehHTUdnu7+8de5CGavOU1KaoYOIxNClBZaWdFfCCEEWFqYMGdcWzxqWavKzl26xycrThCfmKrDyIQQpUGB1ikLCAhgyZIlqtenT58GYOnSpSiV6mMnco4JIUR5YmZqyMy3W/LdpvOcuJi9M8mV24+YsuQ4s0a3ouozjziFEOJZBU7K/rvSPsDixYvVXisUCpRKpTzCFEKUS0aG+nzk50WlnRfZ989NACJjE/lo8TE+H92KGvYWz29ACFEuaZyUvfvuu8UZhxBClCn6egrG+DTE0sKEjQcuARD3OIWpS47xv+HNaVhbtm8TQqiTpEwIIYqJQqHAt2tdKpsbs3x7EFlKeJKSwYyVJ3l3QGM6N3PWdYhCiBJEBvoLIUQx69GqBlPfaoaRQfZHbkamku/9A9l44FKu8bhCiPJLkjIhhHgJWnk48OW4NlQyN1KV+R+8zHebzpOekanDyIQQJYUkZUII8ZLUq16F+RPbU62quars7/MRfPbDSR4/SdNhZEKIkkCSMiGEeInsrMyYN6EdDWs/Xcss5PoDPlp0lKj7iTqMTAiha5KUCSHES2ZewYiZb7eiczMnVVnU/SdMXniM0BsPdBiZEEKXJCkTQggdMDTQ471BngzpWU9VlpCUxqcr/uHPs7d1GJkQQlckKRNCCB1RKBQM6lKXyYObYqCf/XGcnpHFgl8CWbL1AmnpMgFAiPJEkjIhhNCxDk2qMXtMaypWeDoz8/dTt/h4yTHuPniiw8iEEC9TgbZZ+q/79+8TEhJCfHw8WVlZedbp27dvUS4hhBDlgpuLFd9/2IGvfz7DlduPAAiPiOf9BUf48M0mNG9gp9sAhRDFrlBJWVpaGjNmzGD37t35JmM5e19KUiaEEJqpalmBuePbsnp3CL+duAHAk+R0vlh9mgGd6zC4ez309eUBhxBlVaGSsu+//56dO3fi7OxM7969sbOzw8CgSJ1uQgghAEMDfcb4NKR+jSos2XqBlLTscWVbD1/l8q2HTB7SFMuKJjqOUghRHAqVSe3bt48aNWqwa9cuTEzkw0EIIbStQ5Nq1HSwYO7PZ7gTk71+2cVr93n/u7/52K8Zbi5WOo5QCKFtheoHf/DgAR06dJCETAghipGznQXfvteB9o0dVWVxj1P5ZPkJdh8Nl30zhShjCpWUOTg4kJgoK08LIURxMzU2YPKQprzTzwMDfQUAmVlKVv0azPyN50hJzdBxhEIIbSlUUtavXz+OHj1KQkKCtuMRQgjxHwqFglfbujBnfFusKj19QnE0MJLJi44SGSu/JAtRFhQqKRs9ejRNmzZl2LBhnD59WnrNhBDiJahXvQrff9BRbd/MW3cT+PD7I5wKjtZdYEIIrSjUQH83Nzcge9mLYcOG5VtPoVAQGhpaqMCEEELkVrmiMbNGt2L9/jC2/3UNgKSUDL5cG5C9bEaP+ujrKXQcpRCiMAqVlHl5eWk7DiGEEBrS19dj2Ktu1HG2ZKH/eZJTny6bcfX2IyYPaUolc2MdRymEKKhCJWXr16/XdhxCCCEKqE1DB5xtKzLnpwDVshkXrsbywfdH+HR4C1wcK+k4QiFEQZTIpaFXrlzJ+++/T7du3ahXrx4NGjR4bv2AgABGjhyJl5cXDRs2pHfv3mzYsCHf3Qbyc+bMGYYOHUqTJk3w9PRk6NChnDlzpihvRQghipWTbUXmT2xPm0YOqrLYh8l8vOQYJ/+N0mFkQoiCKpFJ2bfffsuJEyews7PD2tr6uXX37dvHW2+9RVhYGMOGDWPKlCk4OzvzxRdf8MUXX2h8zWPHjjFs2DAiIiIYP348kyZN4uHDhwwbNoxjx44V9S0JIUSxqWBiyBQ/L0b0diNnOFlqWiZfrTvD5oOXZT0zIUoJjR5fLlmyBIVCweDBg6lcuTJLlizRqHGFQsH48eMLHNTBgwdxdnYGwM/Pj7i4uDzrZWRkMHv2bIyMjNi8eTNOTk4ADB48mOnTp7Np0yZ69+5NkyZNnnu9zMxMZs6ciZGRERs2bMDBIfs3zr59+9K7d29mzpzJwYMH0dMrkTmsEEKgUCjo17E21e0s+Gb9GZ6kZK9ftuHAJW7fTWCiryfGhvo6jlII8TwFSsp69er1UpKynITsRa5evcqDBw9o27atKiHL0a9fPzZv3syOHTtemJSdPXuWiIgIfHx8VAkZgLm5OQMGDGDhwoWcPXuW5s2bF/i9CCHEy9SkXlXmTWzPF2tOE33/CQBHL0QS9eAJnw5vjlUlUx1HKITIj0ZJ2c8//wygSlhyXutaamoqAKamuT9kcsouXLjwwnaCgoIA8PT0zHUspywoKCjfpMzf358tW7ZoFHN4eLhG9YQQorCcbCvy7Xvt+frnMwRdvQ/AtTuP+PD7I3wyvAWuzpY6jlAIkReNkrL/JiMlpceoZs2a6Ovrc+HCBVJSUtT24jx16hQAUVEvHugaExMDgK2tba5jdnZ2anXyEhsbS0hISIFiF0KI4lSxghEz327F6l+D2XviBpC9b+a0pceZOMiTDk2q6ThCIcR/FWpJjJKiUqVK9O/fny1btvDuu+8yceJELC0tOXnyJIsXL8bAwICUlJQXtpOcnAyAkZFRrmPGxsZqdfJiY2OjWlD3RcLDwzWKSQghispAX493fBribFeRH3b+S2aWkrSMLOZvPMedmATe7F4PPVloVogSo1QnZQCffvopenp6bN++XTVLskKFCkybNo0FCxaQmZn5wjZyHnWmpaXlOpaTQOX1iDSHr68vvr6+GsXr4+MjvWpCiJeqZ+uaOFY1Z+5PZ0hISgdg86Er3LmXwAe+TTAxLvVfBUKUCaV+OqGxsTGff/45J0+exN/fn82bN/PPP//w6quv8vDhQ1xcXF7YRs5jy7weUT7v0aYQQpQWDWvb8O17HXCyNVeV/XMxmqnLjvMgPv8nAUKIl6fUJ2U5KlasiKenJ40bN8bU1JSjR4+iVCrp2LHjC89t2LAhAIGBgbmO5ZTl1BFCiNLK3tqMeRPa06RuVVVZeEQ8H35/hKt3HuowMiEElKGk7FkPHz5kwYIFVKlShUGDBqkdi4qKIjw8nPT0dFVZs2bNcHR05MCBA0RHR6vKExMT2bp1K46OjrLfpxCiTDAzNWT6yBa81u7pU4S4x6lMXXKcYxcidRiZEKJEDiTYtWuXatZkZGQkSqWSZcuWqY6PGzdO9ee9e/eyc+dOWrRoQZUqVYiIiGDbtm08efKE5cuXY2mpPvV7ypQpBAQEcPjwYapVy559pK+vz4wZMxg7diyDBw/Gz88PQ0NDNm/eTExMDMuXL0dfXxZdFEKUDfr6erzd14NqthX5YcdF1QSAb9afJeJeIr5dXVEoZAKAEC9biUzKtm/fTkBAgFrZwoULVX9+NimrUaMGmZmZrFu3jsePH2NpaUm7du0YM2YM1atX1/iaHTp0YM2aNSxdupRFixYB4O7uzpo1a2jZsmUR35EQQpQ8PVvVwMHajLk/nSExOfvpwabfLxERIzsACKELJTIpW79+vcZ13d3dWbdunVbabtmypSRgQohypVEdG+a/154vVp8iMvbpDgAxD5P4bEQLKpkb6zhCIcqPQiVl06ZNe2EdPT09KlasiIuLC97e3i/cWFwIIYRuONqYM39ie+Y+swPA5VsP+WjxMWa+3RIHa/MXtCCE0IZCJWU7d+5UjTdQKpW5jisUCrXyL774gg8//JDhw4cXMkwhhBDFyfz/dwBYseMiv5+6BUD0/Sd8tOgY00e2oG71KjqOUIiyr1CzLw8ePEjnzp2pXLky77//PuvXr2ffvn2sX7+e9957j8qVK9O1a1e2bNnCrFmzsLKy4ptvvuHPP//UdvxCCCG0xEBfj/GvN2Jor/qqssdP0vjf8n84FRz9nDOFENpQqJ6yw4cPc/bsWX799Ve1RVVdXFxo1qwZffv2pW/fvjRt2pRhw4bRrl07evXqxYYNG/D29tZa8EIIIbRLoVAwoLMrNpVNWbg5kIxMJWnpmXy1LoDRfT14te2LF+QWQhROoXrKNm/eTI8ePfJd5d7e3p4ePXqwZcsW1euOHTvK9kJCCFFKdGzqxOejW2Fmkv27u1IJP+z8lzV7QsjKyj1sRQhRdIVKyiIjI6lYseJz61hYWBAREaF67ejoyJMnTwpzOSGEEDrQsLYNX09oh3Xlp3v/7vz7GvM2nCUt/cX7CgshCqZQSZmlpSUnTpx4bp0TJ05QuXJl1evHjx9TqVKlwlxOCCGEjlS3s2D+xHa4ODz9/D4eFMWMVSdJTs3QYWRClD2FSsq6detGaGgokydPVq28nyMqKopJkyYRFhZG9+7dVeUhISHUqFGjSMEKIYR4+awqmTJnfBu1PTODwx/w+Y+nJDETQosKNdD/vffe49y5c+zdu5f9+/dja2uLlZUVDx48ICYmhszMTOrXr897770HwL179zA0NKR3795aDV4IIcTLUcHEkM9GtmDJ1gscPnMHgJDr2YnZzFEtMTEukWuRC1GqFOpfkbm5Of7+/qxatYpdu3Zx584dVY+Zk5MTffr04e2338bYOHsl6KpVq+Lv76+9qIUQQrx0Bvp6TBzoiZ5CwcGA28D/J2arTzFjpCRmQhRVof8FGRkZMX78eMaPH09iYiJPnjzBzMwMc3NZ+VkIIcoqPT0F7w5ojFIJh85kJ2bB4Q+Ytfo000e2kMRMiCIo1Jiy/zI3N8fW1lYSMiGEKAf09BRMGNiYzs2cVGX/ht9n1urTpMgYMyEKTStJmRBCiPIlOzHzxNtLPTH7Ys1pUtIkMROiMArdz5yUlMTGjRs5ceIEMTExpKWl5aqjUCg4dOhQkQIUQghRMunrKZg4yBOAP89mD/6/eO0+X6w+zWcjW2BiJI8yhSiIQv2LiY+P54033uD69euYm5uTmJhIxYoVSU9PJyUlBcge3G9gIP8ghRCiLMtJzJRKJX+dy14wPCcxmz6qJcaG+jqOUIjSo1CPL5cvX87169eZNWsWZ86cAeCtt94iMDAQf39/GjRogLOzM/v379dqsEIIIUoefT0F7/k2oWPTaqqyi9fu883PZ8nMzNJhZEKULoVKyv766y+aNm3KwIEDUSgUqnKFQkHjxo1ZtWoV169fZ/ny5VoLVAghRMmlr6fgfd8mdGzyNDELCL3Loi0XZK9MITRUqKQsOjoad3f3p43o6ZGenq56bWVlRfv27dm3b1/RIxRCCFEqZCdmnrRws1OV/Xn2Dmv2hKBUSmImxIsUKikzNTVFT+/pqRUrViQ2NlatjpWVFTExMUWLTgghRKmir6/HR35euNeyUpX9ejScbX9e1WFUQpQOhUrK7OzsuHv3rup1rVq1OHv2LJmZmaqyc+fOYW1tXfQIhRBClCrGhvp8OrwFLo5PNzH/eV8YB07e1F1QQpQChUrKmjVrxpkzZ1Td0b169eL27duMHj2ajRs3MnHiRIKCgujQoYNWgxVCCFE6mJka8vnbrXCwNlOVLdsexImgKB1GJUTJVqg1K/r160d6ejp3797F3t4eX19fTp06xaFDhzhx4gQATZo04f3339dmrEIIIUqRyhWN+eKd1ny85BgP4lNQKmH+xrNUMGmJZ92qug5PiBKnUEmZm5sbn3/++dNGDAxYsmQJwcHB3L59G0dHRzw8PNTGnQkhhCh/qlapwKzRrZi69DgJSelkZCr5al0AX45tg6uzpa7DE6JE0WrW5O7uTq9evWjUqJEkZEIIIQBwtrNgxqiWmBhlLySbkpbJzFUnuXL7oY4jE6JkkcxJCCFEsatbvQr/G9YcA/3stS0TktKZsuQYu46Ey3IZQvy/Iu2D9OeffxIWFkZMTIzaOmU5FAoFX331VVEuIYQQoozwrFuVSYObMm/DObKylGRkKlm9O5iL12J537cJFmZGug5RCJ0qVFIWFRXFO++8w7Vr1577G44kZUIIIZ7VtpEjlhVNmLfhLA/is/dKPhMaw3vf/sXkIV64uVi9oAUhyq5CJWWzZ8/m6tWrDBw4kNdee42qVauiry+bzgohhHgxNxcrFn7Yke/9Azkblr3I+P34FP637Dhv9qjH696u6OspXtCKEGVPoZKykydP0q5dO2bNmqXteIQQQpQDlcyNmT6yBb8eDWfd3lAys5RkKWHD/ksEX3vAh282wdLCRNdhCvFSFWqgv6GhIXXq1NF2LEIIIcoRhUJB3w61+WZCO2yrVFCVX7gay8Rv/+bI+QgyZTNzUY4UqqescePGXL1afPuYrVy5ktDQUEJDQ7l9+zZ6enqEhobmWz8gIIAffviBoKAg0tLSqF69OoMGDeLNN9/UeGkOb29vIiMj8zy2Z88eXF1dC/VehBBCPJ+rsyXff9iRJVsucOJi9or/jxJTmb/xHJsPXca3a13aNHKUR5qizCtUUjZhwgSGDBnCb7/9xiuvvKLtmPj222+xsLCgfv36JCUlERcXl2/dffv2MWnSJCwtLRk2bBiWlpb8888/fPHFF4SHhzNjxgyNr+vi4sKYMWNyldvb2xfqfQghhNCMuakhU4Z6sf/kTX78NZj0jCwA7sQkMm/DOfwPPk3OhCirCpWUeXh4sGbNGsaOHYu/vz9ubm6Ym5vnqqdQKBg/fnyB2z948CDOzs4A+Pn55ZuUZWRkMHv2bIyMjNi8eTNOTk4ADB48mOnTp7Np0yZ69+5NkyZNNLqutbU1ffr0KXC8Qgghik6hUNCrdU0a1rbmlz8uc+xCJDkT/HOSs1/+uEzvVg66DVSIYlKopCwhIYFFixbx+PFjzpw5w5kzZ/KsV9ikLCche5GrV6/y4MED2rZtq0rIcvTr14/NmzezY8cOjZMyyE70UlJSMDMzQ6Eovq7yzMxM4uPjNaprYWGRK5bHjx9rvOCikZERpqamamVpaWkkJydrFixgbm6ea4ZtYmIimZmZGp1vYGCAmZmZWllGRgZPnjzROIYKFSpgaGioVpaUlJTnGnl50dPTo2LFimplWVlZJCQkaByDiYkJxsbGamXJycmkpaVp3EalSpVylWn6swB5/32mpqaSkpKicRsVK1bM9Wg/ISGBrKwsjc43NDSkQoUKamXp6ekkJSVpHIOZmRkGBuofQU+ePCEjI0Oj8/X19XP9MpiZmUliYqLGMZiammJkpL42VkH+PhUKBRYWFmplSqWSx48faxyDsbExJibqA9pTUlJITU3VuI2y9hlRrWpFPhrixeudarFhXxAn/41WJWc3I5L4fuMttXNz7rd8RmSTz4hsxfUZUZwKlZR99dVXnD59mtatW/Paa69ha2urkyUxcj60/vvD92zZhQsXNG4vKCiIxo0bk56ejpmZGe3bt+eDDz6gevXqzz3P39+fLVu2aHSN8PBwAEJCQmjQoIFG54SGhub6R9qiRQuNP/gHDBjA999/r1a2c+dOPvzwQ43OB/j9999xd3dXK+vXr99zx/o9q1WrVmzbtk2tLCAggAEDBmgcw+rVq+nRo4da2bvvvsvvv/+u0fnVqlXj9OnTamWRkZG0bNlS4xhmzpzJ22+/rVY2Z84cVq9erXEbeY1d1PRnAWDkyJG5Zj7//PPPzJw5U+M2Tp06lesXmS5duhAREaHR+d27d2fNmjVqZYcPH2bkyJEax7B161Zat26tVvbWW29x8uRJjc5v0KABBw8eVCsLCwuje/fuGsfw3XffMWjQILWyadOmsXXrVo3Ot7CwICwsTK3s8ePHBfr7/PDDD5k0aZJa2dKlS/nuu+80bqOsfkZE3wpjxczBLzw359+wfEZkk8+IbMX1GVGcCpWU/f3333h6eua64S9bzZo10dfX58KFC6SkpKj9tnnq1Ckge6FbTdSuXZv+/ftTq1YtsrKyOH/+PP7+/pw4cQJ/f39q1aqV77mxsbGEhIQU7c0IIYQokl+PhOPS4KFsdC5KrUIlZSkpKXh6emo7lgKrVKkS/fv3Z8uWLbz77rtMnDgRS0tLTp48yeLFizEwMNC4u3blypVqr3v16kW7du0YPXo0c+fOZdWqVfmea2Njg5ubm0bXCQ8PL1AXshBCCM0EX7/PpIVHqetsSe92LrRuKGPPROmiUBZiJ9jBgwdjZWXFokWLiiMmNX5+fpw7dy7fLvDU1FS++uortm/frho3UKFCBaZNm8aCBQvIzMwkICCg0Nfv378/ly9f5vz581p5ruzj40NISAj16tXj559/1uicsjZeJIeMKXtKxotkKwnjRWRMWbaS/Bnx+PFjtUeKbd/4hsepeugbGKPQexpD5YrGtHazpl0jO5xsK+Zq57/kM+Ip+YzI9uxnRM73t5ubGzt27NC4jYIoVE/ZuHHjeOeddzh37hxNmzbVdkwFYmxszOeff87kyZO5du0aCoWCunXrolQqmT59Oo0bNy5S+46OjgQHB5OQkICVlfb2ZNPX18/zH56m/vtFUFBGRkZFTjLzmnFbEAYGBkW6B0Cuf/QFpaenV+QYTE1N8xzXWBBFjcHY2DjXF0FB/ffLqKAMDQ2L/D7++6VcUEX9dwVF//tUKBRFjsHExCRXolZQ5ekzYvn/ehF6J4k9x64TeuPpbP1HCansOxXJvlOR1HaqTBcvJ9o3qUbFCpq/L/mMeEo+I4pfoZKy2NhYOnXqxFtvvUXv3r1p0KBBvn9Zffv2LUp8GqtYsaLaI9UDBw6gVCrp2LFjkdq9desWhoaGRf6AE0IIUTz09fVo28iRto0cuRbxiL3Hr3PkfCQZmU97da7decS1O4/4cXcILdzs6NzMiSZ1q6KvX6iNbYQoFoVKyqZOnYpCoUCpVLJz50527tyZq+tcqVRmb6HxkpKyZz18+JAFCxZQpUqVXLMmoqKiSE5OxtnZWfUoLC4ujsqVK+fqqt2zZw+XLl2ic+fOuR6bCSGEKHlqV6vM+75NGNHbnWOBERw6e4drdx6pjmdkZnHiYhQnLkZRxcIY36516daiuiRnokQoVFI2Z84cbcehZteuXapZk5GRkSiVSpYtW6Y6Pm7cONWf9+7dy86dO2nRogVVqlQhIiKCbdu28eTJE5YvX46lpfosnClTphAQEMDhw4epVq0aALt372b9+vV069aNatWqqWZf7t+/H2tra6ZNm1as71cIIYR2WZgZ8UpbF15p68Kt6MccPnuHv87d4VHC07F6cY9TWbb9Ir+duMGoPu40dq2qw4iFKGRS1q9fP23HoWb79u25BucvXLhQ9ednk7IaNWqQmZnJunXrePz4MZaWlrRr144xY8a8cH2xHB4eHri6unLgwAHi4uLIysrCwcEBPz8/Ro8ejY2NjXbemBBCiJeuur0FI3q78Vav+py/fI/DZ+5wOiSajMzsiRC37ibw2Q8nad7AjhGvueFoU7SxcEIUVqGSsuK2fv16jeu6u7uzbt26IrXdtGlTnU9YEEIIUbz09fVo1sCOZg3seBCfzPr9YRw+c0d1PCD0LucuxfBqWxd8u7piXoAJAUJogzxEF0IIUe5YVTLlfd8mfPd+exrUrKIqz8xS8uvRcEbPOcxvJ26QmanZEhBCaIMkZUIIIcqtOk6WzB3flilDvahq+XTZioSkNFbsuMiH3x/lWsQj3QUoyhVJyoQQQpRrCoWCto0cWT6lM0N71cfU+OkCtNej4pm08Cjr9oaQmq7ZQrhCFJYkZUIIIQRgZKjPgM6urJjahc7Nnm7GnZWlZPtf15g4/y/+Db+vwwhFWSdJmRBCCPGMKhYmvO/bhNljWmNn9XTXkKj7T/jfshMs2XqBJ8mabe8mREFIUiaEEELkoVEdGxZP7kS/jrXRe2Z99N9P3WLcN39yKjhad8GJMkmSMiGEECIfJkYGjOjtxvz32lPD/ul2e3GPU/hybQBzfzrDg3jNN24X4nkKlJQplUrOnDnD77//zp07T9d2CQsLY9SoUbRo0YJmzZrx7rvvcvPmTW3HKoQQQuhEHSdLFnzQAb+e9TF4ZkumExejGPv1YXYduaa216YQhaHx4rEpKSm8/fbbnD17FsjeaX369Ok0bdqUIUOG8OTJE1XdQ4cOERgYyK5du2Q1fCGEEGWCgb4eA7u40srDniVbLxB6Iw6A5NRMVu8O4fCZO4zxaYibi5WOIxWllcY9ZT/99BNnzpzB1taWrl27YmNjw9dff82yZcswNDTkiy++YPfu3WzYsIGuXbvy4MEDVq9eXZyxCyGEEC+dk21F5oxry4SBjalYwVBVfjP6MVOXHmehfyDxianPaUGIvGncU/b7779jY2PD3r17MTc3JyEhgVdeeYV9+/Yxb948Xn31VVXdJk2a8Morr3Ds2DGmTp1aLIELIYQQuqKnp6Bbi+q0cLPj531h/HH6lurYoTO3ORUczVuvNKBbi+roPTtLQIjn0Lin7ObNm3Tq1Alz8+yNWitWrEjHjh0BaN26tXqjenq0bNmSyMhI7UUqhBBClDCVzI2ZMLAx8ya0o6bD04kAicnpLN0WxMeLj3EvLkmHEYrSROOkLCkpKdf4MGtrawCqVKmSq76VlRWpqdJ9K4QQouyrV6MKC97vwNt93TE1fvoQ6vLth3y48Agh1x/oMDpRWhRo9qVCod4Fq6cnK2oIIYQQAPr6erzWrhbLp3jT3tNRVR6fmManK05wKOC2DqMTpYFkVUIIIYQWWVUy5aMhXnzwhqdq+YyMTCULNweyencwmVlKHUcoSiqNB/oDHD58WG2c2KVLlwCYNm1arrphYWFFDE0IIYQovby9nLG3MuerdQE8+v/ZmLuOhBNxL5HJg5tiZmr4ghZEeVOgpCwsLCzPZGvnzp151v/v404hhBCiPKlfswrfvt+e2WtOcyPqMQBnw2L4aPFRPhvREntrMx1HKEoSjZOyOXPmFGccQgghRJlU1bICX7/bjgW/nOfkv9n7Zd6JSWTSwiNMe6s5HrWtdRyhKCk0Tsr69etXnHEIIYQQZZapsQFThzZj0++X2HzoCgAJSel89sM/vN3Xg16ta8jTJVF8A/2VSiV///13cTUvhBBClCp6egqG9KzP5MFNMTTI/vrNzFKyYsdFvvcPJDU9U8cRCl0r0JgyTURHR7Nt2za2b99OTEyMDPgXQgghntGhSTXsrc34cu1p4h5nTwD48+wdbkY9ZtqwZthZyTiz8korPWVZWVkcOnSI0aNH06VLF5YtW0ZMTAzNmzfXRvNCCCFEmeLqbMn3H3RU27z8elQ8Hyw4wtmwGN0FJnSqSD1lERERbN26lR07dnD//n0AKleuzIABAxgwYABOTk5aCVIIIYQoaywtTJg9pjVr94Sw+9h1IHt7plmrT/FGt3oM6uIq+2aWMwVOyjIyMjh06BBbtmzh1KlTZGVlYWhoSNeuXfnjjz/o0qULH374YXHEKoQQQpQpBvp6vN3XA1dnSxZvvUBqWiZKJWz6/RJX7zzkwzebYi7rmZUbGidlN2/eZOvWrezatYu4uDiUSiUNGjTAx8eHV199lcqVK1OvXr3ijFUIIYQokzo0qUZ1ewu+WhtA9IMnAJwJjeHDBUeYNqwZNR0q6ThC8TJonJT16NEDhUJBlSpVeOutt/Dx8cHV1bU4YxNCCCHKjRr2Fnz3QQcWbDpPQOhdAKIfPOHD74/g260ur3eqg76+7I5YlhV4Q/LOnTvzyiuvSEImhBBCaJm5qSGfDG/OkB71yFm2LCNTyYb9l5i86Ci3oh/rNkBRrDROyt577z0cHBzYsmULAwcOpHfv3qxevZrY2NjijE8IIYQoV/T0FAzqWpfP326FdSUTVfm1iHjeX3CELYeukJmZpcMIRXHROCkbO3Yshw4dYtWqVXTt2pUbN24wb948OnXqxDvvvMP+/fuLM04hhBCiXPGsW5UlH3nTtbmzqiwjM4v1+8OYvPgYt+5Kr1lZU+CH0+3atWPRokUcOXKEDz/8EHt7e9WfFQoFYWFhBAcHF0esQgghRLliZmrIxEGezBjVEqtne83uPOL9746w9bD0mpUlhR4xaGVlxejRozl48CBr166le/fuGBgYEBwczIABA+jbty8bN24scLs3btxg0aJF+Pr60qpVKzw9Penduzfffvst8fHxueonJyczf/58vL29cXd3x9vbm/nz55OcnFyg6545c4ahQ4fSpEkTPD09GTp0KGfOnClw/EIIIYS2edW3ZclH3nRppt5r9vO+7F6z65G5vx9F6aOVaRytWrXi+++/58iRI3z00UfUqFGDS5cuMXv27AK3tX37dtauXYuDgwNjx47l448/platWqxcuZK+ffuqFqkFyMzMZPTo0axatQovLy9mzJiBt7c3a9asYfTo0WRmaraP2LFjxxg2bBgRERGMHz+eSZMm8fDhQ4YNG8axY8cK/B6EEEIIbTM3NeQ93+xesyoW6r1mH3x/hNW7g0lJzdBhhKKotLr3ZZUqVRg5ciQjR47k9OnTbN26tcBtdO/endGjR2NhYaEqe+ONN6hevTorVqxg9erVTJkyBYCdO3cSEBCAn58fn376qaq+k5MTX331Fbt27aJ///7PvV5mZiYzZ87EyMiIDRs24ODgAEDfvn3p3bs3M2fO5ODBg+jpyTRkIYQQuudV35alH3Vi1a/B/Hn2DgBZWUp2HQnnxMUoxvo0pFkDOx1HKQqj2DKNFi1aMH/+/AKf5+HhoZaQ5ejZsycAV65cUZX9+uuvAAwfPlytrq+vLxUqVGDXrl0vvN7Zs2eJiIigR48eqoQMwNzcnAEDBhAREcHZs2cL/D6EEEKI4mJewYgP3mjCrNGtsH9mA/PYh8nMWn2auT+d4UF8wYbxCN3Tak9ZcYqJyd6g1coqe/NWpVJJcHAwVatWxdHRUa2usbExDRo0IDg4GKVSiUKR/95hQUFBAHh6euY6llMWFBT03M3V/f392bJli0bvIzw8XKN6QgghxIt41q3K4o86seXQFbb/eZXMLCUAJy5GEXjlHkN7NaBHqxroyx6apUKpSMoyMzNZvnw5AP369QPg0aNHJCUlUbt27TzPsbOz4+zZs8THx1O5cuV8285J9mxtbfNs49k6+YmNjSUkJOSF70MIIYTQNmNDffx61qe9pyNLtwYRdjMOgKSUDFbsuMhfZ+8waXBT7K3NXtCS0LVSkZR9+eWXBAYGMmjQIFq1agVASkoKAEZGRnmek1OeUy8/ObM082rH2NhYrU5+bGxscHNze26dHOHh4S+MSQghhCio6nYWzB3floMBt1i7N5QnyekAXL79kA++P8KkN5vIWLMSrsQnZQsWLGDjxo1069aN6dOnq8pNTLJnnqSlpeV5Xmpqqlq9/JiamubbTk7ylFMnP76+vvj6+j63Tg4fHx/pVRNCCFEs9PQUdG9Zg+Zudqz+NYQjgREAPElOZ9bq0/h2rYtvt7ryOLOEKtFTChcvXsyKFSvo2rUr3333HQYGT3PIypUrY2pqyt27d/M8NyYmhgoVKlCpUqXnXiPnsWVejyif92hTCCGEKKksK5oweUhTPh7ihYmRvqrc/+BlZq0+RUJS3h0aQrdKbFK2ZMkSlixZQvfu3fn+++8xNDRUO65QKHB3d+fevXtERkaqHUtNTSU0NBR3d/fnDvIHaNiwIQCBgYG5juWU5dQRQgghSpN2no7Mf689jjZPx5Odv3SP9xcc4VrEI90FJvJUIpOyJUuWsHjxYnr27Jmrh+xZffr0AWDt2rVq5Zs3byYpKYnXXntNrTwqKorw8HDS09NVZc2aNcPR0ZEDBw4QHR2tKk9MTGTr1q04Ojri5eWlrbcmhBBCvFTV7Sz47v0OtPKwV5Xdi0tiyuJjHAq4pcPIxH+VuDFlGzduZPHixdjb29OhQwd+++03teNmZmZ06dIFyB6ftWvXLtavX09CQgJeXl5cvnyZTZs24eXlhY+Pj9q5U6ZMISAggMOHD1OtWjUA9PX1mTFjBmPHjmXw4MH4+flhaGjI5s2biYmJYfny5ejr6yOEEEKUVhVMDJn2VjN2/HWNn/eFkqWEtIwsFm6+wKVbD3mnnweGBvJdp2slLin7999/AYiOjmbq1Km5jjs6OqqSMn19fVauXMnSpUvZv38/v/32GzY2NgwbNozx48drnEx16NCBNWvWsHTpUhYtWgSAu7s7a9asoWXLllp6Z0IIIYTuKBQK+nvXobZTZb5Zf5bHT7LHlf1+6hYR9xL5dHhzzCvkvaKBeDkUSqVSqesgypOc2Zdubm7s2LFD1+EIIUSpEx8fT4MGDVSvQ0NDXzipS6iLfZjM3J8DuHL7karMybYiM99uSVXLCroLrAR7Gd/fJXJMmRBCCCGKj42lKXPHt6VzMydV2Z2YBD5efIyb0Y91GFn5JkmZEEIIUQ4ZGujz3iBPBnV1VZU9iE9hypJjXLwWq8PIyi9JyoQQQohySqFQMKRHfca93oic9WSTUjKYsfIUxwIjn3+y0DpJyoQQQohyrmerGvxvWHOMDLMnyGVkZvHNhrPsOnJNx5GVL5KUCSGEEIIW7vZ8OaY1FZ+Zgbl6dwg//hpMVpbMCXwZJCkTQgghBAD1alThmwltqVrl6QzMX4+GM3/jOdLSM3UYWfkgSZkQQgghVKpVrcj8Ce1wcXy6zMixC5F89sM/smdmMStxi8cKUCqVyPJxIi8KheKF+7kKIURRWVqYMGdcG+b+dIbAK9kzMUNvxPHRomPMfLsldlZmL2hBFIYkZSWIUqnk7t27PH78mKysLF2HI0oghUKBkZERDg4OmJiY6DocIUQZVsHEkOmjWrJ0axCHztwGIDI2kY8WHeOzkS1wdbbUcYRljzy+LEESEhJ49OiRJGQiX0qlktTUVG7fvk1KSoquwxFClHEG+npMHNSYwT3qqcoeJaYybdkJTgdH6zCyskl6ykqQe/fuAVClShVsbGx0HI0oiTIyMoiMjCQlJYWoqChcXFx0HZIQooxTKBT4dq2LTWVTFm+5QGaWkrT0TL5aF8Dovh680lY+h7RFkrISQqlUkp6eDoCVlRV6etKJKXIzMjLC0dGR8PBw0tLSUCqVMsZMCPFSdG7mjHUlU776KYCklAyylLBi57/cjUti+Ktu6OnJZ1FRyTd/CfHswH5JyMTzGBhk/y4lE0KEEC9bI1cbvn63HdaVTVVlu46E8836s6SkZugwsrJBvv2FEEIIobEa9hbMn9gOF4enS2acuBjFR4uPcffBEx1GVvpJUiaEEEKIArGqZMqc8W1oUq+qquxm9GM+WHCEc5didBhZ6SZJWVmjVMKJE/DFF/DRR9n//+ef7PISwNvbm3Xr1uk6DK0pa+9HCCE0VcHEkOkjWtC3Qy1VWWJyOp//eIoth67I8IpCkIH+ZcmOHfD553Dxonr59OnQqFH2/318iu3y0dHRLF68mKNHj/Lo0SNsbGzo3Lkz48ePx9JS1rMRQoiyRl9fj5GvuVPHqTILN18gLT0TpRLW7w/jWsQj3vf1pIKJoa7DLDWkp6ysmD8f+vfPnZDlCArKPv7tt8Vy+Tt37tC/f39u3rzJd999xx9//MHMmTM5deoUvr6+PHr0qFiu+yKZmZmy7psQQhSz9p7VmD+xHXZWT/fMPPlvNJMWHiXiXoIOIytdJCkrC3bsyH5UqYnJk7Pra9nnn3+OoaEha9asoXnz5jg4ONChQwfWrl1LTEwMCxYsUNV98uQJkyZNwtPTk7Zt27J+/Xq1thYvXkzHjh1xd3enbdu2zJ49W3UsLS2Nb775hnbt2tG4cWMGDBjA6dOnVcd37NiBl5cXf/31F7169cLDw4MtW7bg4eHB48eP1a4ze/ZshgwZonp9/vx5Bg8eTMOGDenQoQOzZ88mKSlJdfzBgweMGTOGhg0b4u3tze7du7V2/4QQorSr6VCJ797voDbOLOJeIh9+f5RTstCsRiQpK+2UyuxHlgUxa5ZWx5g9evSI48eP8+abb+ba+sfGxobevXuzf/9+1fiC1atXU7duXXbs2ME777zDnDlzOHHiBAAHDhxg3bp1fP755/zxxx8sW7YMV1dXVXvTpk3j/PnzLFiwgN27d9OjRw9GjRrFzZs3VXVSUlL44YcfmD17Nnv37uW1117DwsKC33//XVUnMzOT/fv307t3bwAuX77MyJEj6dq1K7t372bBggWcO3eOL774QnXO1KlTiYyM5KeffmLRokVs2rSJBw8eaO0+CiFEaVexghHTR7ZkYJenn9vJqRl8uTaAtXtCSM+QJxfPI0lZaffPP/k/ssxPUBCcPKm1EG7duoVSqaRWrVp5Hq9Vqxbx8fHExcUB0KRJE0aPHk3NmjXx8/Oje/fuqsHy0dHRWFtb07p1axwcHGjYsCEDBw4E4Pbt2/z2228sXLgQLy8vnJ2dGTlyJE2bNmXHM71/6enpzJw5kyZNmuDi4kKFChXo2bMne/fuVdU5efIk8fHx9OjRA8hOFHv37s2wYcOoUaMGTZo04ZNPPmHXrl2kpqZy48YNjh49yuzZs/H09MTd3Z0vv/xStjoSQoj/0NdT4NezPv8b1gxT46dD13f8fY0pS44RfV+WzciPDPQv7f78s3DnHT4MrVtrN5Z85PSQ5aw837hxY7XjjRs35qeffgKgR48e/PTTT3Tp0oV27drRoUMHOnXqhIGBASEhISiVSlUilSMtLY3KlSurXhsaGlK3bl21Oq+99hqDBg0iJiYGW1tb9uzZQ4cOHahUKXudnZCQEG7dusWePXvU4s7KyiIiIoIbN25gYGCAu7u76nitWrWwsLAo2s0RQogyqpWHA9WqVmTOTwHciUkE4OqdR7z33d+Me70RHZtU03GEJY8kZaXdf8ZJFft5eXB2dkahUHDt2jW6dOmS6/j169epVKnSc2dg5iRs9vb2HDhwgBMnTnDy5Ek+//xzVq9ezfr161Eqlejr67N9+3b09fXVzq9Q4engUhMTk1xbDzVs2BBnZ2f27dvHG2+8wcGDB5kzZ47qeFZWFr6+vvj5+eWKzd7enhs3bqjFKYQQ4sWcbCvy3fsd+PHXYH4/dQvIfpz57cZzXLhyj3f6NVTrTSvv5E6UdoXtqdFiD4+lpSVt2rRh06ZNDBs2TG1cWWxsLHv27KFPnz6qhCYoKEjt/KCgILWNtU1MTOjcuTOdO3fmzTffpGfPnly5coX69euTmZlJXFwcXl5eBY7z1VdfZc+ePdja2qKnp0fHjh1Vxxo0aMDVq1epXr16nue6uLiQkZFBcHAwDRs2BLKTzf9OHhBCCKHOxMiAdwc0prGrDUu2XOBJSvZ2TIfP3OHSzTg+GuJFrWqVdRtkCSFjyko7b+/Cnde5s1bD+Oyzz0hLS2PkyJGcOXOG6Ohojh49yogRI7C1teWDDz5Q1T1//jyrVq3ixo0bbNy4kQMHDjB06FAge/bk1q1buXLlCnfu3OHXX3/FxMQEBwcHatasSe/evfn444/5448/uHPnDhcvXmTlypUcOXLkhTH27t2bkJAQVqxYQffu3TE2NlYde/vtt7lw4QKff/45YWFh3Lx5k8OHD6sG+ru4uNCuXTs+/fRTgoKCCA4O5tNPP801sUEIIUTe2jZyZOGkTtSt/vSpSWTsEyYvOsbuo+Gy2CySlJV+rVvD//fcaKxRI2jVSqth1KhRg+3bt+Ps7MwHH3xA165dmT59Oi1atMDf319tzNfw4cMJCQmhX79+LFu2jClTptCuXTsALCws2Lp1K2+88QavvfYap06dYsWKFapHn3PmzKFv377MnTuXnj17Mm7cOC5evIidnZ1GMXp4eHD58mXVrMsc9erVY/369dy6dYs333yTfv36sXDhQmxsbFR15syZg729PUOGDGHChAkMHDgQKysrLdw9IYQoH2yrVGDu+LYM6FyHnNEgGZlZrPo1mOkrTxITl/T8Bso4hVJS05fKx8eHkJAQ3Nzc1GYMZmVlcfnyZQDq1q2Lnl4B8uUdO7IXhtXU9u3FurK/KF5F+lkRogyIj4+nQYMGqtehoaGqSTui9Ai6Esu3m87xMCFVVWZipM/QXg3o1aYm+nolawxvft/f2iSf5mWBjw/Mm6dZ3fnzJSETQgihc41cbVg8uRPNGtiqylLSMlm561+mLjnGnZjytxOAJGVlxeTJ2T1g+T3KbNQo+/ikSS83LiGEECIflcyN+WxECya92YSKFYxU5ZduPWTit3+z+eBlMjLLz4KzMvuyLPHxgX79sheGPXw4e9kLC4vsQf2tWoEs5yCEEKKEUSgUdGzqRGPXqqza9S9HL0QC2WPNNhy4xPGgKCYOakwdp/yXVSorSlxSduPGDfbs2cM///zDrVu3SElJoVq1anTs2JFRo0blGjeQnJzM0qVL2bdvH/fu3aNq1ar06tWL8ePHY2pqqtE1vb29iYyMzPPYnj171Lb5KfEUiuzB/y9pYVghhBBCGypXNOYjPy86NKnGsu1BPIjP3jHlZvRjJi88Sn/vOgzuXg99/bL7kK/EJWXbt29n48aNdOrUiV69emFoaMjp06dZuXIle/fuZevWrVhbWwPZ+xeOHj2agIAA+vTpQ7Nmzbh8+TJr1qwhKCiIdevW5VpkND8uLi6MGTMmV7m9vb1W358QQggh8tfczQ43FyvW/RbKgZM3AchSwtbDV7l6+xEf+XlhYWb0/EZKqRKXlHXv3p3Ro0erbV/zxhtvUL16dVasWMHq1auZMmUKADt37iQgIAA/Pz8+/fRTVX0nJye++uordu3aRX8NZyVaW1vTp08f7b4ZIYQQQhSYmakh419vRPvGjizeekG1X+aFq7F88P0RPh3enJoOZW/GbYnrA/Tw8MhzP8GePXsCcOXKFVXZr7/+CmSve/UsX19fKlSowK5duwp07YyMDBITE2UBOyGEEKIE8KhtzaIPO9K2kYOq7F5cEpMXHeNoYIQOIyseJa6nLD8xMTEAqsU6lUolwcHBVK1aFUdHR7W6xsbGNGjQgODgYJRKpUb7FQYFBdG4cWPS09MxMzOjffv2fPDBB/luu/Msf39/tmzZotH7CA8P16ieEEIIIcDE2ICP/byoVe0aP+8LRamEtPRM5m04R3hEPENfaVDi1jQrrFKRlGVmZrJ8+XIA+vXrB8CjR49ISkqidu3aeZ5jZ2fH2bNniY+PV1tNPi+1a9emf//+1KpVi6ysLM6fP4+/vz8nTpzA39+fWrVqPff82NhYQkJCCv7GhBBCCPFCCoWC173r4OJQiW82nOVJcjoAO/6+xvWoeD7281JbUqO0KhVJ2ZdffklgYCCDBg2i1f9vD5SSkj0rw8go77+EnPKces+zcuVKtde9evWiXbt2jB49mrlz57Jq1arnnm9jY4Obm9sLrwPZPWWaxFSa+Pn5Ua9ePT755BO8vb0ZOnQow4YNK3R7ixcv5tChQ6rH00IIIQRAk3pVWfB+B75ce5pbd7MXl71wJZYPFhzhkzIwzqzEJ2ULFixg48aNdOvWjenTp6vKczaCTktLy/O81NRUtXoF1aFDB9zd3Tl58iRpaWn5Jn+QPYbN19dXo3Zztmkoq7Zt26bxUiT5GTFiBEOGDFG9njp1Ko8fP2bZsmWFbjM1NZUZM2YQEhJCeHg4HTt2zLO9jRs3smHDBiIjI7G3t2fs2LH07dv3uW3XrVs3V9nMmTN54403VK8vX77MF198wcWLF6lUqRKDBg1i/PjxGj1aF0II8ZS9tRnzJrZnoX8gJy5GARATl8RHi48xY2RLPGpb6zjCwivRSdnixYtZsWIFXbt25bvvvsPA4Gm4lStXxtTUlLt37+Z5bkxMDBUqVCjSfmiOjo4EBweTkJAgG09rqEqVKkVuw8zMDDMzMy1E81RmZibGxsb4+fnx+++/51ln06ZNfPvtt8yePRsPDw8uXrzIp59+ioWFBd7e3s9tf86cOapN1QEqVqyo+nNiYiIjRoygRYsWbNu2jZs3bzJ16lQqVKjAiBEjtPMGhRCiHDE1NmDKUC+2/XmV9fvDUCohNS2TWatPMfPtVri5lM7v7BI3+zLHkiVLWLJkCd27d+f777/H0NBQ7bhCocDd3Z179+7lWvg1NTWV0NBQ3N3di9QTcevWLQwNDfOcDSry5u3tzbp161Sv69ati7+/P++88w6NGjWiZ8+eBAYGcuvWLfz8/GjcuDGDBg3i9u3bqnMWL16sWp5k8eLF7Ny5k8OHD1O3bl3q1q3L6dOnCxxXhQoV+Pzzzxk4cCA2NjZ51tm9ezeDBg2iV69eODk58corr/D666+/8PE1gIWFBTY2Nqr/nu2h3b17N6mpqcydOxdXV1e6devGmDFjWLt2rcz0FUKIQlIoFAzo7Mr0kS0xMsxekzQlLZPPfzzJpZtxOo6ucEpkUrZkyRIWL15Mz549c/WQPSvni3vt2rVq5Zs3byYpKYnXXntNrTwqKorw8HDS09NVZXFxcWRl5d5Xa8+ePVy6dIn27dvnSghftpSUFOLj4zX+L68v+sePH2t8vrbHvC1btow+ffqwa9cuXFxcmDRpEtOnT2f06NFs374dgFmzZuV57ogRI+jZsyft2rXj+PHjHD9+HE9PTwBeeeUVPD098/3vlVdeKVCcaWlpGBsbq5WZmJjw77//qv3M5GXWrFm0aNGC/v3788svv6j9TF24cIFmzZqpPQJv27Yt9+7dIyKi7E3pFkKIl8mrvi2fjWiOoUF2SpOcmsmMVSe5euehjiMruBL3+HLjxo0sXrwYe3t7OnTowG+//aZ23MzMjC5dugDZ47N27drF+vXrSUhIwMvLi8uXL7Np0ya8vLzw8fFRO3fKlCkEBARw+PBhqlWrBmT3Yqxfv55u3bpRrVo11ezL/fv3Y21tzbRp017OG3+OpUuX8t1332lcPzQ0NNdj2xYtWvD48WONzv/www+ZpMWNy318fOjVqxcAb7/9NoMGDWLcuHGqx31Dhw7N9z6bmZlhYmJCWlparh6ulStXkpGRke9180vm89O2bVu2bdtGly5dcHNzIzg4mO3bt5Oens7Dhw+pWrVqnue99957tGrVChMTE06ePMnXX3/Nw4cPGTduHAD379/PtWxLzuPw+/fv4+TkVKA4hRBCqGvsWpVPhjdn9poAMjKzSErJ4LMfTvLlmNbUqlZZ1+FprMQlZf/++y8A0dHRTJ06NddxR0dHVVKmr6/PypUrWbp0Kfv37+e3337DxsaGYcOGMX78eI22WPLw8MDV1ZUDBw6oes0cHBzw8/Nj9OjR+T7qEpp7diB8TjLy7H6iVlZWpKamkpiYiLm5ucbt/jfRKapx48YRGxvLoEGDUCqVWFlZ0a9fP3788cfn/izlJF8A9evXB7IT6WfL83uMLgP9hRBCO5rWs2XaW82Y81MAGZlKniSn89kPJ/lqXBtq2JeOYUglLimbO3cuc+fO1bi+mZkZH3/8MR9//PEL665fvz5XWdOmTWnatGmBYhQF8+zj35wkJK+yvB4jP88rr7xCVFRUvscdHBxy9bQ+j4mJCXPmzGHWrFk8ePAAGxsbNm/ejJmZGZaWlhq306hRIxITE7l//z7W1tZYW1sTGxurVufBgwcAMoFECCG0qLmbHR/7eTH357NkZSlJSErj0xUn+GpsG5ztSn5iVuKSMpHb+PHjGTVqlMb185qYcPr0aY0Hlf93XJWuGRoa5pmwafvx5bPXs7OzA2Dfvn106tQJPT3Nh1+GhYVhbGys+nto3LgxCxYsUFta5fjx41StWlX1GF0IIYR2tPJwYPLgpszfcJYsJcQnpvHJin+YM64N1apWfHEDOiRJWSlgYmJS6PXWcpTmGaSOjo4cP36c69evU7lyZSpWrIihoWGBH19eu3aN9PR0Hj16xJMnTwgLCwOePnK8ceMGFy9epFGjRjx+/Ji1a9dy9epVtZ7bgwcP8u2333LgwAEA/vzzT+7fv0/jxo0xMTHh9OnTLFiwgIEDB6oSsN69e7N06VKmTZvGO++8w61bt/jhhx9knTIhhCgm7Ro7kpmZxXe/nEephEcJqXyy/B/mjm+LvbV2l1zSJknKRIk3cOBAAgIC6N+/P0lJSfz888+0aNGiwO2MHj1abfmUnEVhL1++DGQ/Pl27di03btzAwMCAFi1a8Msvv6j1ZiUkJHDjxg3VawMDAzZt2sScOXNQKpU4OTkxceJEBg8erKpTsWJF1qxZw6xZs+jfvz+VKlVi+PDhDB8+vMDvQQghhGY6NnUiI1PJws2BAMQ9TmHW6lPMn9geM1PdrqqQH4VSFkp6qXJW9Hdzc2PHjh2q8qysLFVyULdu3QI9LhPli/ysiPIuPj6eBg0aqF7nNeNciBy/n7rJkq1BqtdN6lVl+siWBd7EPL/vb22ST3MhhBBClFndW9bAt+vTVQDOX7rHur0lc7tDScqEEEIIUaa90a0urRvaq17vOhLOwdO3dBhR3iQpE0IIIUSZpqen4APfJrg4PH3MvWx7ECHXH+gwqtwkKRNCCCFEmWdibMAnI5pTuWL2sk8ZmUrm/BRATFySjiN7SpIyIYQQQpQLVS0r8Mmw5hjoZ6c/8YlpzF5zmuTU/Ne8fJkkKRNCCCFEuVGvRhUmDGyken0z+jHfbjxHVpbuF6OQpEwIIYQQ5Yq3lzM+HWurXp8OucuGA2E6jCibJGVCCCGEKHeGvtIAr/q2qtdbD1/l7/MROoxIkjIhhBBClEP6ego+GtIUJ9un+2Eu9A/U6YxMScqEEEIIUS5VMDFk+sgWVKyQvVdxRmYWs9ecJuJegk7ikaRMiP8XFRXFmDFjaNy4MS1atGD27NmkpaU995zY2Fg++ugj2rRpQ+PGjenXr59qs3KAiIgI/ve//+Ht7U3Dhg3p0qULixYtUmv30qVLfPjhh3To0IGGDRvSs2dPfvrpp2J7n0IIIZ6yszLj0xHNMTTITokSk9OZueoUDxNSXnossiG5EEBmZibvvPMOlpaWbNq0iUePHjFlyhSUSiWfffZZvud9/PHHJCQksHz5ciwtLdmzZw8ffPABzs7ONGjQgOvXr6NUKpk1axbVq1fnypUrfPbZZyQnJzNlyhQAgoODqVKlCvPmzcPe3p7z588zffp09PX1GTJkyMu6BUIIUW41qGnFh2824eufzwIQE5fE7DWn+XJsG0yMXl6qJD1losgiIiKoW7durv/8/PzYsWMHXl5e/PXXX3Tv3p1GjRoxceJEkpKS2LlzJ97e3jRr1owvvviCzMxMVZu//vorPj4+eHp60qZNGyZNmsSDB0+f8y9ZsoS2bdvy8OFDVdmYMWMYPHgwWVlZBX4Px48f59q1a8ybN48GDRrQunVrpk6dypYtW0hMTMz3vAsXLjBkyBAaNmyIk5MT48aNw8LCgpCQ7H3V2rdvz5w5c2jbti1OTk507tyZESNG8Mcff6jaeP311/n0009p3rw5Tk5O9OnTBx8fH7U6QgghilfbRo4Mf9VN9frK7UfM33COzJe4VIb0lJUCycnJL3yMpk1GRkaYmppqXN/e3p7jx4+rXt+/f59hw4bh5eUFQEpKCuvXr2fBggU8efKEd999lwkTJlCxYkVWrlzJnTt3mDBhAk2bNqVXr14ApKen89577+Hi4sKDBw+YM2cOU6dOZdWqVQCMHTuW48eP8+mnn7J06VJ++eUXzp49y6+//oqeXvbvGqNGjeLcuXPPjT0wMBDITq7q1KmDre3TmTht27YlLS2N4OBgWrZsmef5TZo0Yf/+/XTs2BELCwv2799PWloaLVq0yPeaCQkJVKpUKd/jOXUqV6783DpCCCG0q1/HWsTEPWHfPzeB7KUyVu8OZnRfj5dyfUnKSrjp06ezdu3aQvX+FJaenh7Dhw9n1qxZGtXX19fHxsYGgNTUVMaPH4+npycTJkxg165dpKenM3PmTJydnQHo3r07u3fv5sSJE5iZmVG7dm1atGjBqVOnVEnZ66+/rmrfycmJTz75hAEDBvDkyRPMzMzQ19dn3rx59OnTh/nz57NhwwZmzZqFo6Oj6rwvv/ySlBTNxgTcv38fa2trtbJKlSphaGjI/fv38z3v+++/5/3336dFixYYGBhgYmLCkiVLVO/1v27fvs2GDRuYOnVqvm0GBgZy4MABfvjhB41iF0IIoR0KhYLRfT24/yiFgNC7AOw5dh3bKhVeyvUlKSvh1q1b91ITMoCsrCzWrVuncVL2rP/97388efKENWvWqHqsTE1N1ZIUa2trHB0dMTMzUyuLi4tTvQ4NDWXx4sVcunSJR48eoVRmdx9HR0dTu3b2gn9OTk5MmTKF6dOn06tXL1577TW1WJ7t9dKEQqEoUDlkJ2WPHz9m3bp1WFpacujQId577z02btxI3bp11erGxMQwatQoevTowYABA/Js7+rVq4wbN45x48bRpk2bAsUvhBCi6PT19fhoSFOmLT/BtTuPAFi9O5iUpOJ/YiVJWQk3bNiwl95Tpq+vz7Bhwwp83rJlyzh+/Dhbt27F3NxcVW5goP5jplAo8izLeY9JSUmMGDGCNm3aMG/ePCwtLYmOjmbkyJGkp6ernXfmzBn09fWJjIwkIyNDrd2CPL60trYmKChI7Vh8fDzp6elYWVnleW5Or9fevXupU6cOAPXq1ePs2bNs3LhRLamNiYlh6NChNG7cmC+++CLP9q5du8Zbb73FwIEDGTdu3HPjFkIIUXxMjA2YPqIFkxcd5d7DZJRKXsrG5ZKUlXCzZs1i2rRpJXpMGcDvv//OsmXLWLVqVb6P7jR1/fp1Hj58yOTJk7G3tweyZyj+1759+zh48CA///wzH3zwAcuWLWPixImq4wV5fNm4cWNWrFjBvXv3qFq1KgAnTpzAyMgId3f3PM9JTk4GUPUI5tDX11f17MHThMzNzY05c+bkqg/ZPWRvvfUWffv25YMPPtAoZiGEEMXH0sKEmW+34qPFx3iSnM7LGO4vSVkpYGpqWuAk6WW6cuUKU6ZMYdSoUdSuXZvY2FgADA0NC9Weg4MDhoaGrF+/njfeeIMrV66wbNkytTp3795l5syZTJ48GS8vL+bOncs777xD+/btady4MVCwx5dt27aldu3afPzxx3z88cfEx8fz9ddfM3DgQFWvX0xMDG+99RbffPMNDRs2xMXFherVqzN9+nSmTJlC5cqVOXToECdOnFCNB4uJicHPzw97e3umTJmi9og2Zxze1atXGTp0KG3atGH48OGq+6evr0+VKlUKdQ+FEEIUnZNtRT4Z3pzpP5x8KdeTpEwUWXBwMMnJySxfvpzly5eryps3b06/fv0K3F6VKlWYO3cu3333HevXr8fNzY0pU6YwduxYAJRKJVOnTsXDw0O1jlebNm0YPHgwH330Ebt27VIbr6YJfX19fvjhBz7//HPeeOMNTExMePXVV1VriUH2jNAbN26oesgMDQ1ZuXIl3377LWPGjCEpKQlnZ2fmzp1Lhw4dgOzetlu3bnHr1i3at2+vds3Lly8DcODAAeLi4tizZw979uxRHXd0dOTPP/8s4N0TQgihTR61rPl0RHPG/WNAajFfS6F89jmLKHY+Pj6EhITg5ubGjh07VOVZWVmqL+m6devm+YhLCJCfFSHi4+Np0KCB6nVoaOgLl5kRoqjy+/7WJvk0F0IIIYQoASQpE0IIIYQoASQpE0IIIYQoASQpE0IIIYQoASQpKyGeXTX+Za/gL0qXjIwMIPtn5nm7DQghhChdStySGDdu3GDPnj38888/3Lp1i5SUFKpVq0bHjh0ZNWqU2gyb69evs3XrVsLCwggLC+PRo0e8/vrrfPnllwW+7pkzZ1i8eDHBwcEolUo8PDyYMGECzZo10+bby5dCocDQ0JD09HQePHigWsNKiGdlZGQQGRkJZC/yK0mZEEKUHSUuKdu+fTsbN26kU6dO9OrVC0NDQ06fPs3KlSvZu3cvW7duVW0cfeHCBdasWUO1atVwd3fn+PHjhbrmsWPHGDNmDLa2towfPx5jY2M2b97MsGHDWLFiBe3atdPmW8xX1apViYyMJC4uTm2RUSH+S19fHwcHB12HIYQQQotKXFLWvXt3Ro8ejYWFharsjTfeoHr16qxYsYLVq1erFvTs1KkTAQEBVKpUiYiICDp37lzg62VmZjJz5kyMjIzYsGGD6ouub9++9O7dm5kzZ3Lw4MGXshZUxYoVqVy5Mo8fP5ZHmCJPCoUCIyMjHBwcMDEx0XU4QgghtKjEJWUeHh55lvfs2ZMVK1Zw5coVVZmlpWWRr3f27FkiIiLw8fFR63kwNzdnwIABLFy4kLNnz9K8efMiX+tFFAoF9vb22NnZIWv6irzIODIhhCi7SlxSlp+YmBgArKystNpuUFAQAJ6enrmO5ZQFBQU9Nynz9/dny5YtGl0vPDz8hXXki1cIIYQof0pFUpaZmanaU7Eweyk+T06yl9fm1XZ2dmp18hMbG0tISIhW4xJCCCFE+VIqkrIvv/ySwMBABg0aRKtWrbTads7m0kZGRrmOGRsbq9XJj42NDW5ubhpdLzw8nJSUlAJGKYQQQoiyrsQnZQsWLGDjxo1069aN6dOna719U1NTANLS0nIdy0mecurkx9fXF19fX42ul7OhqRBCCCHEs0p0UrZ48WJWrFhB165d+e677zAw0H64OY8t83pE+bxHm4UVEREBZPeY+fj4aK1dIYQoLzIzM9V+WR46dCj6+vo6jEiUBzljwnO+x4tDiU3KlixZwpIlS+jevXuxJWQADRs2BCAwMJCBAweqHQsMDFSrow1PnjwBsnvhpMdMCCEK59kk7NKlSzqMRJQ3Od/jxaFEJmVLlixh8eLF9OzZk/nz52stIYuKiiI5ORlnZ2cMDQ0BaNasGY6Ojhw4cICJEydib28PQGJiIlu3bsXR0REvLy+tXB+ebqekp6dH/fr1tdZueZMzNs/ExIRatWrpOpxSTe6l9si91A65j9oj91J7wsLCyMrKKtbVEUpcUrZx40YWL16Mvb09HTp04LffflM7bmZmRpcuXQBISEhg/fr1qj9D9k1btmwZAPXq1cPb21t17pQpUwgICODw4cNUq1YNyP5ta8aMGYwdO5bBgwfj5+eHoaEhmzdvJiYmhuXLl2u1W9zV1ZWQkBDq16/Pjh07tNZueZMzNq9WrVpyH4tI7qX2yL3UDrmP2iP3Unty7qWrq2uxXaPEJWX//vsvANHR0UydOjXXcUdHR1VSFh8fz8KFC9WOh4SEqB4L9uvXTy0py0+HDh1Ys2YNS5cuZdGiRQC4u7uzZs0aWrZsWaT3I4QQQgihiRKXlM2dO5e5c+dqVLdatWpcvnxZ47ZzetXy0rJlS0nAhBBCCKEzxb+hoxBCCCGEeCFJyoQQQgghSgBJyoQQQgghSgBJyoQQQgghSgBJyoQQQgghSgBJyoQQQgghSgBJyoQQQgghSgBJyoQQQgghSoASt3hsWTdw4EBiY2OxsbHRdSilmtxH7ZF7qT1yL7VD7qP2yL3UnpdxLxVKpVJZbK0LIYQQQgiNyONLIYQQQogSQJIyIYQQQogSQJIyIYQQQogSQJIyIYQQQogSQGZfasEff/zBjz/+yJUrVzA0NKRp06a8//771KtXT6PzHz58yPfff8/hw4d59OgRjo6O9O/fnxEjRmBgUL7+igp7L5VKJXv27OHvv/8mODiYmJgYKlWqRJ06dRgxYgRt2rR5Se+g5Cjqz+WzNm7cyKxZswA4cuQIdnZ22g63xNLGfTx58iRr164lKCiIpKQkrK2tadiwIV9++SXm5ubFGH3JUtR7GRgYyA8//EBYWBgPHz7E2tqapk2b8vbbb+Pq6lrM0ZcMK1euJDQ0lNDQUG7fvo2enh6hoaEFbke+d4p+L4vje0dmXxbR1q1b+fTTT3F1dWXQoEGkpaWxYcMGHj58yC+//PLCD5vExEQGDRrEjRs3ePPNN6lbty5nz55l165dvPbaa8ybN+8lvRPdK8q9TE1NpWHDhtStW5dOnTpRrVo1YmNj8ff3JyYmhkmTJjF69OiX+G50q6g/l8+6e/cuvXr1QqlUkpSUVK6SMm3cxx9//JF58+bRvHlzvL29MTc3JzY2lsDAQL766qtys1RBUe/l4cOHeffdd3F2dsbHx4cqVapw48YNtmzZQnp6Ops3by7ULxylTd26dbGwsKB+/fpcv36duLi4Aidl8r2Traj3sli+d5Si0OLj45VNmjRRtm/fXpmQkKAqj46OVnp6eioHDx78wja+//57paurq3LNmjVq5V9++aXS1dVVefLkSa3HXRIV9V6mp6fnea/u3bunbN68udLNzU356NEjrcddEmnj5/JZ77zzjrJfv37KyZMnK11dXZXR0dHaDrlE0sZ9PH36tLJu3brKefPmFWeoJZ427qWvr6/S3d1dGRcXp1Z+6NAhpaurq/LLL7/Uetwl0a1bt1R/HjJkiLJ+/foFbkO+d7IV9V4Wx/eOjCkrgkOHDpGYmMiAAQPUHkHY2dnRs2dPzpw5Q0RExHPb+PXXXzExMeGNN95QKx8xYoTqeHlQ1HtpYGBAy5Ytc5Xb2NjQrFkz0tPTuXHjRrHEXtJo4+cyx759+zhy5Aiff/45+vr6xRVyiaSN+7h8+XIqV67MxIkTAXjy5AkZGRnFGndJpI17mZCQgImJCZUqVVIrz+m1NTU11X7gJZCzs3OR25DvnWxFvZfF8b0jSVkRBAUFAeDp6ZnrWE7ZxYsX8z3//v37REZGUr9+fUxMTNSO2dnZYW9vr7pGWVfUe/k8MTExAFhZWRUyutJFW/cyPj6eL7/8kiFDhuDh4aHdIEuBot7H5ORkAgICaNy4Mb/99hudO3emSZMmNGrUiOHDh3Pp0qXiCbwE0sbPZJs2bXj8+DFTpkwhLCyMmJgYTp48yWeffYatrS1vvvmm9gMvg+R75+Uo7PdO+RjNV0xybnpe42tyynLq5OXu3bv5np9TfuXKlaKGWSoU9V7m58iRI1y8eBEvLy+cnJyKFmQpoa17OXfuXAwMDHjvvfe0G2ApUdT7eOvWLTIyMrh48SLHjx9n5MiRuLu7ExoayqpVq3jjjTfYvn07Li4uxfMGShBt/Ey+//77PH78mD179rB7925VeZMmTdi+fXu5GZtXVPK9U/yK8r0jSVkRJCcnA2BkZJTrmLGxsVqdvKSkpOR7fk55Tp2yrqj3Mi/Xr1/n448/xszMjNmzZxc9yFJCG/fy5MmT7Nixg6VLl5ar2YHPKup9TExMBODBgwfMmjWLQYMGAdC1a1ccHBz49NNPWbp0Kd9++622Qy9xtPEzaWhoSPXq1WnUqBG9evXCzs6OS5cusWbNGt555x3WrFlD5cqVtR57WSPfO8WrqN87kpQVQc4YhrS0tFzHcn6onzfOIafrOK/zIXtmx3+7l8uqot7L/7pz5w4jRowgLS2NlStXUrNmTe0EWgoU9V4mJyfz2Wef0blzZ7p06VI8QZYC2vr3raenR79+/dSO9e3blxkzZnDq1ClthVuiaePf95QpUzhy5Aj79+9X9Yp17twZT09Phg8fzvLly5k2bZqWIy975Hun+Gjje0fGlBWBra0t8LQ7+Fk5XfE5dfKS032c1/k5bZSXpQeKei+fFRERwVtvvUV8fDw//PADzZo1016gpUBR7+WPP/7I3bt3GTFiBBEREar/kpKSVO1qOlGgNCvqfbS3twfAwsIiV6+EoaEhlpaWxMfHayvcEq2o9zI6Opq9e/fi5eWV6zFl69atsbCw4PTp01qMuOyS753ioa3vHUnKiqBhw4ZA9oKG/5VT9rwB0tbW1jg4OBAWFparu/ju3btER0errlHWFfVe5oiMjGTo0KE8fPiQVatW0bx5c+0GWgoU9V5GRkaSnp7O4MH/197dx1RVBnAc/yKSdUMyZGJcKo0tzCwaJMYcCy9mK00GVLgpUv4RjZCtFxpS5j+KLdusCS03L5JwuySQtv6QjFgvLOPlUhgF1Qqk0NaSYBIj3m5/ME7dLjrzIl7g99nY7n3O2/M8O9zz2znPOWcj8fHxxt8HH3wAQEpKCvHx8dP+LkJP+3H+/PmEhobS09NjBNoxf/31F11dXTPm5hNP+3IsQAwPD7tNczqdDA8PjztN3Om4M/Em8rijUOaB1atXc+2111JWVmaMH4HRHfvYsWNERUUZg/zOnTvHjz/+SFdXl8s61q9fT39/P3a73aX84MGDACQkJFzmVniHiejLzs5OUlNT6e7u5sCBA9x9992T2gZv4WlfpqamUlBQ4Pa3YsUKAHbu3ElBQcG0f0TGROyTiYmJOJ1ObDabS7nNZmNkZIS4uLjL3g5v4GlfLl68GF9fXxoaGvj5559d1n3s2DH+/PNPBYlx6LgzcSbruKMn+nvonXfe4aWXXjKeUj04OEhxcTF//PEHNpuNpUuXAvDuu++ybds2MjMz2bp1q7F8b28vDz/8MB0dHcaTlR0OB0eOHGHdunUzYhDwGE/6sre3l4SEBH755Rc2btxIRESE2/ojIyNnzB2Ynu6X48nJyeHIkSMz6on+nvZjX18fGzZs4Pvvvyc5Odm4+7K8vJzg4GDKy8sJCgq6Us2bVJ725SuvvILVaiUwMJANGzawcOFCWlpaKC8vNwLfRDzDy9sdPXqU06dPA1BeXs6ZM2dc+ikjI8P4rOPOhXnal5fjuKOB/h5KSUnhuuuuw2q1smfPHuN9bk8//fRFvfLD39+ft99+m9dee43KykpKS0sxm80888wzxoP8ZgpP+rK7u9sY52Sz2dzOTADs3r17xoQyT/dLGeVpP5pMJkpKSsjPz+f48eO89957zJs3j+TkZLKysmZMIAPP+zI7O5tbbrmF8vJyioqKGBgYIDAwkLVr15KZmTlj/rcrKiqoq6tzKXv99deNz/8OEuej484oT/vychx3dKZMRERExAtoTJmIiIiIF1AoExEREfECCmUiIiIiXkChTERERMQLKJSJiIiIeAGFMhEREREvoFAmIiIi4gUUykRERES8gEKZiIiIiBdQKBMR+Z/27dtHeHg4tbW1l7R8Tk4O4eHhxitaLobFYsFisbiV9/b2kpeXh8Vi4fbbbyc8PJyWlpZLqpeIXFl696WITDnh4eEu32fNmkVAQAC33norycnJJCQk4OPjc4VqN7leffVV7HY7q1atYv369fj6+hIUFGS8QP6jjz4iNDT0SldTRC6CQpmITFmZmZkADA0NcerUKaqqqqirq6O5uZkXX3zxCtduYhUVFY1bXl1dzaJFi3jzzTcnt0IiMuEUykRkytq6davLd4fDwaZNmygpKeGxxx6bVmeIbrrppnHLf/vtN5YvXz7JtRGRy0GhTESmjaioKMLCwvjhhx9obm52C2VNTU1YrVYcDgc9PT3Mnz+fe++9l6eeeorg4GC39TU3N7N3714aGxvx8fHhzjvvJCsr67zbr62tpbCwkJaWFrq6uvD398dsNhMXF+cWIMeUlpZis9lob29n7ty5WCwWnn/+eQICAlzmGxtPVl1dDUBqaip1dXUA1NXVGZd0o6OjjXKA+Ph447PZbDaWFxHvo1AmItPKyMgIALNnu/68VVRUsH37dubMmYPFYiE4OJhTp05RVlZGdXU1hw8fJiQkxJi/sbGRxx9/nMHBQe677z5uvvlmWlpa2Lx5M/fcc4/bdj/55BPS09ONYBUcHEx3dzc//fQTdrt93FC2Z88eampqWLVqFStXrqS2tpaysjLa29spKSm5YDsTExOJjo4mPz8fs9lMYmIiMBq8oqOjqaqqorW1lc2bNxsBb+7cuf+vM0VkUimUici00dDQQFtbG35+ftxxxx1GeVtbGzt27ODGG2+kuLiYBQsWGNNOnDjBli1b2LlzJ2+88QYATqeT3Nxc+vv7KSgoYPXq1cb8b731Fnl5eW7bLisrw+l0cujQIW677TaXaV1dXePW9+TJk7z//vtGGBwaGiItLY36+nqampqIiIg4b1uTkpIAjFD239DX2dlJa2sraWlp0+oyrsh0plAmIlPWvn37gNEw09HRwYcffojT6SQ7O9vlcqTdbmdwcJDc3FyXQAYQExODxWKhurqa3t5e/P39aWxspK2tjeXLl7sEMsAYs9bR0eFSPna359VXX+1Wz8DAwHHrn5GR4XJ2bvbs2SQlJdHQ0MDXX399wVAmItOPQpmITFn5+fku3318fMjLyzPOIo356quvgNExXydPnnRbz9mzZxkZGaG9vZ1ly5bx7bffAow7gN7X15eoqCi3UPbQQw9x/PhxHn30UR588EFWrFhBZGQkCxcuPG/9/302b8wNN9wAQE9Pz3mXE5HpSaFMRKas7777DoC+vj6+/PJLcnNz2bFjB6GhoURHRxvzdXd3A2C1Wi+4vr6+PgDOnTsHQFBQ0LjzjVe+Zs0a9u/fT2FhIRUVFZSWlgKwbNkynnvuOWJiYtyW8ff3dyvz9fUF/hkbJyIzh0KZiEx5JpOJlStXsn//fpKSksjOzqayspJrrrkG+Cf8OByOcYPQf40NiP/999/HnX6+8ri4OOLi4ujr66OpqYmPP/4Yu93OE088wdGjRwkLC7uU5onIDKHXLInItLFkyRIeeeQRfv31V5eHrd51113A6I0AF2Pp0qUA1NfXu00bHh7G4XBccHmTyURMTAzbtm0jPT2dgYEBPv3004trxASZNWv0511n3ESmDoUyEZlWMjIymDNnDoWFhca4rI0bN+Ln58fu3btpa2tzW2ZgYMAlsEVGRrJ48WLq6+upqqpymXe8Qf4wehdnf3+/W/nZs2cBuOqqqzxq1/81b948AM6cOTOp2xWRS6fLlyIyrQQHB5OSksKhQ4c4cOAAzz77LGFhYezatYsXXniBdevWERsby6JFixgaGuL06dM4HA6uv/56KisrgdEbBnbt2sWWLVvIysoynlPW2trK559/TmxsLJ999pnLdl9++WU6OzuJjo7GbDbj5+fHN998wxdffEFISAhr166d1H6IiYnBarWyfft21qxZg8lkIiAggE2bNk1qPUTk4imUici0k56eTllZGcXFxaSlpREUFERCQgJLlizh4MGD1NbWUlNTg8lkYsGCBdx///088MADLuuIiorCZrOxd+9e49JjREQExcXF1NTUuIWy9PR0qqqqaG5u5sSJE/j4+BASEsKTTz5JWlqaceZqssTGxpKTk8Phw4cpKipicHAQs9msUCbixXycTqfzSldCREREZKbTmDIRERERL6BQJiIiIuIFFMpEREREvIBCmYiIiIgXUCgTERER8QIKZSIiIiJeQKFMRERExAsolImIiIh4AYUyERERES+gUCYiIiLiBRTKRERERLyAQpmIiIiIF/gb9hlPmI+/zK0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(zgrid, mag_zgrid)\n", + "ax.scatter(redshift, -2.5 * np.log10(obsmaggies_select), marker='o', s=75, \n", + " color='red', label='Observed', zorder=2)\n", + "ax.axhline(y=mag_faint, color='k', ls='--', label=f'limit={mag_faint:.2f}')\n", + "ax.axvline(x=zmax, color='k', ls='-', label=f'zmax={zmax:.3f}')\n", + "ax.invert_yaxis()\n", + "ax.margins(x=0)\n", + "ax.set_xlabel('Redshift')\n", + "ax.set_ylabel(f'AB mag in {select_filter.name}');\n", + "ax.legend(fontsize=10, loc='lower left')" + ] + }, + { + "cell_type": "markdown", + "id": "5773395a-06a7-4278-9c0d-f4ce3d52037b", + "metadata": {}, + "source": [ + "#### Compute Vmax (normalized to 14,000 deg2 survey area)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "64e732cd-ec20-4011-8e17-7299ab698c86", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Vmax = 11.00 (Gpc / h)^3\n" + ] + } + ], + "source": [ + "#h = 0.6766\n", + "h = 1.\n", + "omega_survey = 14000. # angular survey area [deg^2]\n", + "omega_sky = (4. * np.pi) * (180. / np.pi)**2 # [deg^2]\n", + "Vmax = (4. * np.pi / 3) * (omega_survey / omega_sky) * (cosmo.comoving_radial_distance(zmax)**3 - # [ (Mpc/h)^3 ]\n", + " cosmo.comoving_radial_distance(zmin)**3)\n", + "print(f'Vmax = {(Vmax * 1. / (1e3 * h)**3):,.2f} (Gpc / h)^3')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27c4e2a9-4c81-4275-b681-8444532c56b3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "FastSpecFit", + "language": "python", + "name": "fastspecfit" + }, + "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.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}