From e6a58ae2ee34f5a89573fa4ca08854a5708ab72e Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 5 Dec 2024 16:51:10 -0500 Subject: [PATCH 01/17] always mask strong lines; lower-order smooth-continuum fitting --- py/fastspecfit/continuum.py | 5 +++-- py/fastspecfit/linemasker.py | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index 79c17f2b..1d46b728 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -218,9 +218,10 @@ def _smooth_percamera(camwave, camflux, camivar, camlinemask): # We supply estimates local inverse stddev in each window # (i.e., how noisy the data is there) so that variation is - # down-weighted in noisier regions. + # down-weighted in noisier regions. Note: ext=3 means constant + # extrapolation. if len(swave) > 3: - spl_flux = UnivariateSpline(swave, sflux, w=sisig, ext=3, k=3) + spl_flux = UnivariateSpline(swave, sflux, w=sisig, ext=3, k=2) smoothflux = spl_flux(camwave) else: smoothflux = np.zeros_like(camflux) diff --git a/py/fastspecfit/linemasker.py b/py/fastspecfit/linemasker.py index cb9fef1a..22d66530 100644 --- a/py/fastspecfit/linemasker.py +++ b/py/fastspecfit/linemasker.py @@ -838,10 +838,12 @@ def fit_patches(continuum_patches, patchMap, linemodel, snrpix = pix['snr'] - # remove low signal-to-noise ratio lines from the mask + # remove low signal-to-noise ratio lines from the mask, but always keep + # the "expected" strong lines (see, e.g., CIV 1549 in + # sv3-dark-25960-39627770216580342). linenames = snrpix.keys() - for linename in linenames: - if snrpix[linename] < minsnr_linemask: + for linename, isstrong in zip(linenames, EMFit.line_table[EMFit.line_in_range]['isstrong'].value): + if not isstrong and snrpix[linename] < minsnr_linemask: log.debug(f'Removing {linename} from linepix: S/N={snrpix[linename]:.1f}<{minsnr_linemask:.1f}.') linepix.pop(linename) From 0567d00e9ed207054e5c8e544ba7caee83b0b798 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Fri, 6 Dec 2024 16:58:58 -0800 Subject: [PATCH 02/17] deprecate --ntest option; change default specprod to loa --- bin/mpi-fastspecfit | 88 +++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 56 deletions(-) diff --git a/bin/mpi-fastspecfit b/bin/mpi-fastspecfit index 514e8682..27ad6ccc 100755 --- a/bin/mpi-fastspecfit +++ b/bin/mpi-fastspecfit @@ -6,13 +6,11 @@ MPI wrapper for fastphot and fastspec. import os, time import numpy as np -from fastspecfit.logger import log - def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, makeqa=False, samplefile=None, input_redshifts=False, outdir_data='.', templates=None, templateversion=None, - fphotodir=None, fphotofile=None): + fphotodir=None, fphotofile=None, log=None): import sys from desispec.parallel import stdouterr_redirected @@ -41,7 +39,7 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, errmsg = f'Sample file {args.samplefile} with --input-redshifts set missing required columns {SURVEY,PROGRAM,HEALPIX,TARGETID,Z}' else: errmsg = f'Sample file {args.samplefile} missing required columns {SURVEY,PROGRAM,HEALPIX,TARGETID}' - self.log.critical(errmsg) + log.critical(errmsg) raise ValueError(errmsg) _, zbestfiles, outfiles, groups, ntargets = plan( @@ -144,7 +142,7 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, if logfile == outfiles[ii]: errmsg = f'Log file {logfile} cannot be the same as outfile!' - self.log.critical(errmsg) + log.critical(errmsg) raise ValueError(errmsg) if args.makeqa and args.plan: @@ -200,11 +198,14 @@ def main(): import argparse from fastspecfit.mpi import plan + from fastspecfit.logger import getFastspecLogger + log = getFastspecLogger() + + parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('--coadd-type', type=str, default='healpix', choices=['healpix', 'cumulative', 'pernight', 'perexp'], help='Specify which type of spectra/zbest files to process.') - parser.add_argument('--specprod', type=str, default='iron', #choices=['fuji', 'guadalupe', 'iron'], - help='Spectroscopic production to process.') + parser.add_argument('--specprod', type=str, default='loa', help='Spectroscopic production to process.') parser.add_argument('--healpix', type=str, default=None, help='Comma-separated list of healpixels to process.') parser.add_argument('--survey', type=str, default='main,special,cmx,sv1,sv2,sv3', help='Survey to process.') @@ -235,7 +236,6 @@ def main(): parser.add_argument('--mergeall-sv', action='store_true', help='Merge all the SV catalogs.') parser.add_argument('--mergeall-special', action='store_true', help='Merge all the special catalogs.') parser.add_argument('--makeqa', action='store_true', help='Build QA in parallel.') - parser.add_argument('--ntest', type=int, default=None, help='Select ntest healpixels as a test sample drawn randomly from the full specprod (only for coadd-type==healpix).') parser.add_argument('--ignore-quasarnet', default=False, action='store_true', help='Do not use QuasarNet to improve QSO redshifts.') parser.add_argument('--ignore-photometry', default=False, action='store_true', help='Ignore the broadband photometry during model fitting.') @@ -249,20 +249,16 @@ def main(): parser.add_argument('--outdir-data', default='$PSCRATCH/fastspecfit/data', type=str, help='Base output data directory.') - specprod_dir = None - args = parser.parse_args() + specprod_dir = None outdir_data = os.path.expandvars(args.outdir_data) - if args.merge or args.mergeall or args.nompi: + try: + from mpi4py import MPI + comm = MPI.COMM_WORLD + except ImportError: comm = None - else: - try: - from mpi4py import MPI - comm = MPI.COMM_WORLD - except ImportError: - comm = None if comm is None: rank = 0 @@ -274,47 +270,27 @@ def main(): # import multiprocessing # multiprocessing.set_start_method('spawn') - # check the input samplefile - if rank == 0 and args.samplefile is not None: - import fitsio - from astropy.table import Table - if not os.path.isfile(args.samplefile): - log.warning(f'{args.samplefile} does not exist.') - return - try: - sample = Table(fitsio.read(args.samplefile, columns=['SURVEY', 'PROGRAM', 'HEALPIX', 'TARGETID'])) - except: - errmsg = f'Sample file {args.samplefile} missing required columns {SURVEY,PROGRAM,HEALPIX,TARGETID}' - self.log.critical(errmsg) - raise ValueError(errmsg) - - if args.samplefile is None and args.coadd_type == 'healpix': - args.survey = args.survey.split(',') - args.program = args.program.split(',') - if args.healpix is not None: - args.healpix = args.healpix.split(',') - - # For a test sample, use a range of tiles - if args.ntest: + # Main rank is responsible for merging, etc. + if rank == 0: + # check the input samplefile + if args.samplefile is not None: + import fitsio from astropy.table import Table - rand = np.random.RandomState(seed=1) - tilepix = Table.read(f'$DESI_SPECTRO_REDUX/{args.specprod}/healpix/tilepix.fits') - - # trim to survey/program - tilepix = tilepix[np.unique(np.hstack([np.where(tilepix['SURVEY'] == survey)[0] for survey in args.survey]))] - if len(tilepix) == 0: - log.warning('No matching surveys; nothing to do.') - return - tilepix = tilepix[np.unique(np.hstack([np.where(tilepix['PROGRAM'] == program)[0] for program in args.program]))] - if len(tilepix) == 0: - log.warning('No matching programs; nothing to do.') + if not os.path.isfile(args.samplefile): + log.warning(f'{args.samplefile} does not exist.') return + try: + sample = Table(fitsio.read(args.samplefile, columns=['SURVEY', 'PROGRAM', 'HEALPIX', 'TARGETID'])) + except: + errmsg = f'Sample file {args.samplefile} missing required columns {SURVEY,PROGRAM,HEALPIX,TARGETID}' + log.critical(errmsg) + raise ValueError(errmsg) - survprog = np.array([ss+pp for ss, pp in zip(tilepix['SURVEY'], tilepix['PROGRAM'])]) - I = rand.choice(len(tilepix), args.ntest, replace=False) - args.healpix = ','.join(tilepix['HEALPIX'][I].astype(str)) - log.info(f'Selecting {len(I)} test healpixels: {args.healpix}') - print(tilepix[I]) + if args.samplefile is None and args.coadd_type == 'healpix': + args.survey = args.survey.split(',') + args.program = args.program.split(',') + if args.healpix is not None: + args.healpix = args.healpix.split(',') if args.mergeall_main or args.mergeall_sv or args.mergeall_special: args.mergeall = True @@ -384,7 +360,7 @@ def main(): outdir_data=outdir_data, overwrite=args.overwrite) else: run_fastspecfit(args, comm=comm, fastphot=args.fastphot, specprod_dir=specprod_dir, - makeqa=args.makeqa, outdir_data=outdir_data, + makeqa=args.makeqa, outdir_data=outdir_data, log=log, samplefile=args.samplefile, input_redshifts=args.input_redshifts, templates=args.templates, templateversion=args.templateversion, fphotodir=args.fphotodir, fphotofile=args.fphotofile) From 3e800a5a9066affa659eee3b20abe7d09bfd4e15 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sun, 8 Dec 2024 08:38:34 -0800 Subject: [PATCH 03/17] switch back to desiutil logger, which works with MPI --- bin/mpi-fastspecfit | 147 +++++++++++++++++++++------------------ py/fastspecfit/logger.py | 22 +++--- py/fastspecfit/mpi.py | 41 +++++------ 3 files changed, 109 insertions(+), 101 deletions(-) diff --git a/bin/mpi-fastspecfit b/bin/mpi-fastspecfit index 27ad6ccc..31c9ea3a 100755 --- a/bin/mpi-fastspecfit +++ b/bin/mpi-fastspecfit @@ -6,11 +6,13 @@ MPI wrapper for fastphot and fastspec. import os, time import numpy as np +from fastspecfit.logger import log + def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, makeqa=False, samplefile=None, input_redshifts=False, outdir_data='.', templates=None, templateversion=None, - fphotodir=None, fphotofile=None, log=None): + fphotodir=None, fphotofile=None): import sys from desispec.parallel import stdouterr_redirected @@ -43,14 +45,14 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, raise ValueError(errmsg) _, zbestfiles, outfiles, groups, ntargets = plan( - comm=comm, specprod=args.specprod, specprod_dir=specprod_dir, + size=size, specprod=args.specprod, specprod_dir=specprod_dir, sample=sample, coadd_type='healpix', makeqa=args.makeqa, - mp=args.mp, fastphot=args.fastphot, + mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) else: sample = None _, zbestfiles, outfiles, groups, ntargets = plan( - comm=comm, specprod=args.specprod, specprod_dir=specprod_dir, + size=size, specprod=args.specprod, specprod_dir=specprod_dir, coadd_type=args.coadd_type, survey=args.survey, program=args.program, healpix=args.healpix, tile=args.tile, night=args.night, makeqa=args.makeqa, mp=args.mp, fastphot=fastphot, outdir_data=outdir_data, @@ -163,8 +165,10 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, if args.nolog: fast(args=cmdargs.split()) else: + cmdargs += ' --verbose' with stdouterr_redirected(to=logfile, overwrite=args.overwrite): fast(args=cmdargs.split()) + dt1 = time.time() - t1 log.info(f' rank {rank} done in {dt1:.2f} sec') if not os.path.exists(outfiles[ii]): @@ -198,10 +202,6 @@ def main(): import argparse from fastspecfit.mpi import plan - from fastspecfit.logger import getFastspecLogger - log = getFastspecLogger() - - parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('--coadd-type', type=str, default='healpix', choices=['healpix', 'cumulative', 'pernight', 'perexp'], help='Specify which type of spectra/zbest files to process.') @@ -241,6 +241,7 @@ def main(): parser.add_argument('--ignore-photometry', default=False, action='store_true', help='Ignore the broadband photometry during model fitting.') parser.add_argument('--no-smooth-continuum', default=False, action='store_true', help='Do not fit the smooth continuum.') + parser.add_argument('--verbose', action='store_true', help='More verbose output.') parser.add_argument('--overwrite', action='store_true', help='Overwrite any existing output files.') parser.add_argument('--plan', action='store_true', help='Plan how many nodes to use and how to distribute the targets.') parser.add_argument('--nompi', action='store_true', help='Do not use MPI parallelism.') @@ -254,24 +255,29 @@ def main(): specprod_dir = None outdir_data = os.path.expandvars(args.outdir_data) - try: - from mpi4py import MPI - comm = MPI.COMM_WORLD - except ImportError: + if args.nompi: comm = None + else: + try: + from mpi4py import MPI + comm = MPI.COMM_WORLD + except ImportError: + comm = None if comm is None: - rank = 0 - else: - rank = comm.rank + rank, size = 0, 1 - ## 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') + # 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') + else: + rank, size = comm.rank, comm.size - # Main rank is responsible for merging, etc. + # Main rank is responsible for planning and merging. if rank == 0: + #from fastspecfit.logger import log + # check the input samplefile if args.samplefile is not None: import fitsio @@ -292,75 +298,78 @@ def main(): if args.healpix is not None: args.healpix = args.healpix.split(',') - if args.mergeall_main or args.mergeall_sv or args.mergeall_special: - args.mergeall = True + # merge + if args.mergeall_main or args.mergeall_sv or args.mergeall_special: + args.mergeall = True - if args.merge or args.mergeall: - from fastspecfit.mpi import merge_fastspecfit + if args.merge or args.mergeall: + from fastspecfit.mpi import merge_fastspecfit - # convenience code to make the super-merge catalogs, e.g., fastspec-iron-{main,special,sv}.fits - if args.fastphot: - fastprefix = 'fastphot' - else: - fastprefix = 'fastspec' - - if args.mergeall_main or args.mergeall_sv or args.mergeall_special: - from glob import glob - if args.mergedir is None: - mergedir = os.path.join(outdir_data, args.specprod, 'catalogs') + # convenience code to make the super-merge catalogs, e.g., fastspec-iron-{main,special,sv}.fits + if args.fastphot: + fastprefix = 'fastphot' else: - mergedir = args.mergedir - - if args.mergeall_main: - args.merge_suffix = f'{args.specprod}-main' - fastfiles_to_merge = sorted(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main-*.fits'))) - elif args.mergeall_special: - args.merge_suffix = f'{args.specprod}-special' - fastfiles_to_merge = sorted(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special-*.fits'))) - elif args.mergeall_sv: - args.merge_suffix = f'{args.specprod}-sv' - fastfiles_to_merge = sorted(list(set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-*.fits'))) - - set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main.fits'))) - - set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special.fits'))) - - set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special-*.fits'))) - - set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main-*.fits'))) - - set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-sv.fits'))))) + fastprefix = 'fastspec' + + if args.mergeall_main or args.mergeall_sv or args.mergeall_special: + from glob import glob + if args.mergedir is None: + mergedir = os.path.join(outdir_data, args.specprod, 'catalogs') + else: + mergedir = args.mergedir + + if args.mergeall_main: + args.merge_suffix = f'{args.specprod}-main' + fastfiles_to_merge = sorted(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main-*.fits'))) + elif args.mergeall_special: + args.merge_suffix = f'{args.specprod}-special' + fastfiles_to_merge = sorted(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special-*.fits'))) + elif args.mergeall_sv: + args.merge_suffix = f'{args.specprod}-sv' + fastfiles_to_merge = sorted(list(set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-*.fits'))) - + set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main.fits'))) - + set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special.fits'))) - + set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-special-*.fits'))) - + set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-main-*.fits'))) - + set(glob(os.path.join(mergedir, f'{fastprefix}-{args.specprod}-sv.fits'))))) + else: + fastfiles_to_merge = None else: fastfiles_to_merge = None - else: - fastfiles_to_merge = None - if args.samplefile is not None: - merge_fastspecfit(specprod=args.specprod, specprod_dir=specprod_dir, coadd_type='healpix', - sample=sample, merge_suffix=args.merge_suffix, - outdir_data=outdir_data, fastfiles_to_merge=fastfiles_to_merge, - outsuffix=args.merge_suffix, mergedir=args.mergedir, overwrite=args.overwrite, - fastphot=args.fastphot, supermerge=args.mergeall, mp=args.mp) - else: - merge_fastspecfit(specprod=args.specprod, specprod_dir=specprod_dir, coadd_type=args.coadd_type, - survey=args.survey, program=args.program, healpix=args.healpix, - tile=args.tile, night=args.night, outdir_data=outdir_data, - fastfiles_to_merge=fastfiles_to_merge, - outsuffix=args.merge_suffix, mergedir=args.mergedir, overwrite=args.overwrite, - fastphot=args.fastphot, supermerge=args.mergeall, mp=args.mp) - return + if args.samplefile is not None: + merge_fastspecfit(specprod=args.specprod, specprod_dir=specprod_dir, coadd_type='healpix', + sample=sample, merge_suffix=args.merge_suffix, + outdir_data=outdir_data, fastfiles_to_merge=fastfiles_to_merge, + outsuffix=args.merge_suffix, mergedir=args.mergedir, overwrite=args.overwrite, + verbose=args.verbose, fastphot=args.fastphot, supermerge=args.mergeall, mp=args.mp) + else: + merge_fastspecfit(specprod=args.specprod, specprod_dir=specprod_dir, coadd_type=args.coadd_type, + survey=args.survey, program=args.program, healpix=args.healpix, + tile=args.tile, night=args.night, outdir_data=outdir_data, + fastfiles_to_merge=fastfiles_to_merge, verbose=args.verbose, + outsuffix=args.merge_suffix, mergedir=args.mergedir, overwrite=args.overwrite, + fastphot=args.fastphot, supermerge=args.mergeall, mp=args.mp) + if args.plan and args.makeqa is False: if rank == 0: if args.samplefile is not None: - plan(comm=comm, specprod=args.specprod, specprod_dir=specprod_dir, + plan(size=size, specprod=args.specprod, specprod_dir=specprod_dir, sample=sample, coadd_type='healpix', makeqa=args.makeqa, mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) else: - plan(comm=comm, specprod=args.specprod, specprod_dir=specprod_dir, + print(f'I am rank {rank}') + plan(size=size, specprod=args.specprod, specprod_dir=specprod_dir, coadd_type=args.coadd_type, survey=args.survey, program=args.program, healpix=args.healpix, tile=args.tile, night=args.night, makeqa=args.makeqa, mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) + print(f'I am rank {rank}') else: run_fastspecfit(args, comm=comm, fastphot=args.fastphot, specprod_dir=specprod_dir, - makeqa=args.makeqa, outdir_data=outdir_data, log=log, + makeqa=args.makeqa, outdir_data=outdir_data, samplefile=args.samplefile, input_redshifts=args.input_redshifts, templates=args.templates, templateversion=args.templateversion, fphotodir=args.fphotodir, fphotofile=args.fphotofile) diff --git a/py/fastspecfit/logger.py b/py/fastspecfit/logger.py index 69574398..879c076a 100644 --- a/py/fastspecfit/logger.py +++ b/py/fastspecfit/logger.py @@ -14,6 +14,7 @@ """ from logging import DEBUG +from desiutil.log import get_logger def getFastspecLogger(): """ @@ -34,19 +35,22 @@ def getFastspecLogger(): import logging root_name = 'fastspec' + log = logging.getLogger(root_name) - ch = logging.StreamHandler(sys.stdout) - fmtfields = ['%(levelname)s', '%(filename)s', '%(lineno)s', '%(funcName)s'] - fmtfields.append(' %(message)s') - formatter = logging.Formatter(':'.join(fmtfields), - datefmt='%Y-%m-%dT%H:%M:%S') - ch.setFormatter(formatter) + if not log.handlers: + ch = logging.StreamHandler(sys.stdout) + fmtfields = ['%(levelname)s', '%(filename)s', '%(lineno)s', '%(funcName)s'] + fmtfields.append(' %(message)s') + formatter = logging.Formatter(':'.join(fmtfields), + datefmt='%Y-%m-%dT%H:%M:%S') + ch.setFormatter(formatter) + log.addHandler(ch) - log = logging.getLogger(root_name) - log.addHandler(ch) log.setLevel(logging.INFO) return log -log = getFastspecLogger() +#log = getFastspecLogger() +log = get_logger() + diff --git a/py/fastspecfit/mpi.py b/py/fastspecfit/mpi.py index 72a3d4e4..cb198050 100644 --- a/py/fastspecfit/mpi.py +++ b/py/fastspecfit/mpi.py @@ -12,8 +12,8 @@ import fitsio from astropy.table import Table -from fastspecfit.logger import log from fastspecfit.io import get_qa_filename +from fastspecfit.logger import log def _get_ntargets_one(args): @@ -43,9 +43,9 @@ def get_ntargets_one(specfile, htmldir_root, outdir_root, coadd_type='healpix', return ntargets -def _findfiles(filedir, prefix='redrock', coadd_type=None, survey=None, - program=None, healpix=None, tile=None, night=None, - gzip=False, sample=None): +def findfiles(filedir, prefix='redrock', coadd_type=None, survey=None, + program=None, healpix=None, tile=None, night=None, + gzip=False, sample=None): if gzip: fitssuffix = 'fits.gz' else: @@ -132,21 +132,16 @@ def _findfiles(filedir, prefix='redrock', coadd_type=None, survey=None, return thesefiles -def plan(comm=None, specprod=None, specprod_dir=None, coadd_type='healpix', +def plan(size=1, specprod=None, specprod_dir=None, coadd_type='healpix', survey=None, program=None, healpix=None, tile=None, night=None, - sample=None, outdir_data='.', mp=1, merge=False, makeqa=False, - fastphot=False, overwrite=False): + sample=None, outdir_data='.', mp=1, merge=False, + makeqa=False, fastphot=False, overwrite=False): import fitsio from astropy.table import Table, vstack from desispec.parallel import weighted_partition t0 = time.time() - if comm is None: - rank, size = 0, 1 - else: - rank, size = comm.rank, comm.size - if fastphot: outprefix = 'fastphot' gzip = False @@ -187,26 +182,26 @@ def plan(comm=None, specprod=None, specprod_dir=None, coadd_type='healpix', if merge: redrockfiles = None if sample is not None: # special case of an input catalog - outfiles, _ = _findfiles(outdir, prefix=outprefix, sample=sample) + outfiles, _ = findfiles(outdir, prefix=outprefix, sample=sample) else: - outfiles = _findfiles(outdir, prefix=outprefix, coadd_type=coadd_type, - survey=survey, program=program, healpix=healpix, - tile=tile, night=night, gzip=gzip) + outfiles = findfiles(outdir, prefix=outprefix, coadd_type=coadd_type, + survey=survey, program=program, healpix=healpix, + tile=tile, night=night, gzip=gzip) log.info(f'Found {len(outfiles)} {outprefix} files to be merged.') elif makeqa: redrockfiles = None - outfiles = _findfiles(outdir, prefix=outprefix, coadd_type=coadd_type, - survey=survey, program=program, healpix=healpix, - tile=tile, night=night, gzip=gzip) + outfiles = findfiles(outdir, prefix=outprefix, coadd_type=coadd_type, + survey=survey, program=program, healpix=healpix, + tile=tile, night=night, gzip=gzip) log.info(f'Found {len(outfiles)} {outprefix} files for QA.') ntargs = [(outfile, htmldir, outdir, coadd_type, True, overwrite, fastphot) for outfile in outfiles] else: if sample is not None: # special case of an input catalog - redrockfiles, ntargets = _findfiles(specprod_dir, prefix='redrock', sample=sample) + redrockfiles, ntargets = findfiles(specprod_dir, prefix='redrock', sample=sample) else: - redrockfiles = _findfiles(specprod_dir, prefix='redrock', coadd_type=coadd_type, - survey=survey, program=program, - healpix=healpix, tile=tile, night=night) + redrockfiles = findfiles(specprod_dir, prefix='redrock', coadd_type=coadd_type, + survey=survey, program=program, + healpix=healpix, tile=tile, night=night) nfile = len(redrockfiles) outfiles = [] for redrockfile in redrockfiles: From 889951db53824fcc988647d6924b864bf914f436 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Sun, 8 Dec 2024 12:56:58 -0800 Subject: [PATCH 04/17] begin a pure-MPI implementation --- bin/mpi-fastspecfit | 19 +++++++++++++------ py/fastspecfit/fastspecfit.py | 13 +++++++------ py/fastspecfit/util.py | 11 +++++------ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/bin/mpi-fastspecfit b/bin/mpi-fastspecfit index 31c9ea3a..3bfa4b08 100755 --- a/bin/mpi-fastspecfit +++ b/bin/mpi-fastspecfit @@ -47,7 +47,7 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, _, zbestfiles, outfiles, groups, ntargets = plan( size=size, specprod=args.specprod, specprod_dir=specprod_dir, sample=sample, coadd_type='healpix', makeqa=args.makeqa, - mp=args.mp, fastphot=args.fastphot, + mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) else: sample = None @@ -117,6 +117,9 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, if args.fphotofile: cmdargs += f' --fphotofile={args.fphotofile}' + if args.verbose: + cmdargs += ' --verbose' + if args.ntargets is not None: cmdargs += f' --ntargets={args.ntargets}' @@ -162,12 +165,18 @@ def run_fastspecfit(args, comm=None, fastphot=False, specprod_dir=None, outdir = os.path.dirname(logfile) if not os.path.isdir(outdir): os.makedirs(outdir, exist_ok=True) + + ## pure-MPI + #if comm is not None: + # subcomm = comm.Split(color=rank) + #else: + # subcomm = None + if args.nolog: - fast(args=cmdargs.split()) + fast(args=cmdargs.split())#, comm=subcomm) else: - cmdargs += ' --verbose' with stdouterr_redirected(to=logfile, overwrite=args.overwrite): - fast(args=cmdargs.split()) + fast(args=cmdargs.split())#, comm=subcomm) dt1 = time.time() - t1 log.info(f' rank {rank} done in {dt1:.2f} sec') @@ -360,13 +369,11 @@ def main(): mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) else: - print(f'I am rank {rank}') plan(size=size, specprod=args.specprod, specprod_dir=specprod_dir, coadd_type=args.coadd_type, survey=args.survey, program=args.program, healpix=args.healpix, tile=args.tile, night=args.night, makeqa=args.makeqa, mp=args.mp, fastphot=args.fastphot, outdir_data=outdir_data, overwrite=args.overwrite) - print(f'I am rank {rank}') else: run_fastspecfit(args, comm=comm, fastphot=args.fastphot, specprod_dir=specprod_dir, makeqa=args.makeqa, outdir_data=outdir_data, diff --git a/py/fastspecfit/fastspecfit.py b/py/fastspecfit/fastspecfit.py index 637e4c15..93c93f27 100644 --- a/py/fastspecfit/fastspecfit.py +++ b/py/fastspecfit/fastspecfit.py @@ -159,15 +159,16 @@ def fastspec(fastphot=False, fitstack=False, args=None, comm=None, verbose=False sc_data.initialize(**init_sc_args) - # If multiprocessing, create a pool of worker processes and initialize - # single-copy objects in each worker. - if args.mp > 1 and not 'NERSC_HOST' in os.environ: - import multiprocessing - multiprocessing.set_start_method('fork') + ## If multiprocessing, create a pool of worker processes and initialize + ## single-copy objects in each worker. + #if args.mp > 1 and not 'NERSC_HOST' in os.environ: + # import multiprocessing + # multiprocessing.set_start_method('fork') t0 = time.time() mp_pool = MPPool(args.mp, initializer=sc_data.initialize, - init_argdict=init_sc_args) + init_argdict=init_sc_args, comm=comm) + log.debug(f'Caching took {time.time()-t0:.5f} seconds.') log.info(f'Cached stellar templates {sc_data.templates.file}') diff --git a/py/fastspecfit/util.py b/py/fastspecfit/util.py index d5a6ce4c..35249ea4 100644 --- a/py/fastspecfit/util.py +++ b/py/fastspecfit/util.py @@ -53,7 +53,7 @@ class MPPool(object): rather than a list of positional arguments. """ - def __init__(self, nworkers, initializer=None, init_argdict=None): + def __init__(self, nworkers, initializer=None, init_argdict=None, comm=None): """ create a pool with nworkers workers, using the current process if nworkers is 1. If initiializer is not None, @@ -65,11 +65,10 @@ def __init__(self, nworkers, initializer=None, init_argdict=None): initfunc = None if initializer is None else self.apply_to_dict if nworkers > 1: - #try: - # from mpi4py.futures import MPIPoolExecutor as Pool - #except: - # from multiprocessing import Pool - from multiprocessing import Pool + if comm is not None: + from mpi4py.futures import MPIPoolExecutor as Pool + else: + from multiprocessing import Pool self.pool = Pool(nworkers, initializer=initfunc, initargs=(initializer, init_argdict,)) From edd5bde5541d9d9940bfcc92535f9c9280279ec6 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 10 Dec 2024 13:18:34 -0800 Subject: [PATCH 05/17] protect against divide-by-zero when computing ew --- py/fastspecfit/emlines.py | 8 ++++++-- py/fastspecfit/util.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 8c78afbe..0e90fddc 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -1008,6 +1008,8 @@ def get_fluxes(values, obsamps, emlineflux_s, specflux_nolines_s, zip(values_monte, obsamps_monte, emlineflux_monte_s, specflux_nolines_monte_s)] boxflux_monte, flux_monte, cont_monte = tuple(zip(*res)) + flux_monte = np.array(flux_monte) + cont_monte = np.array(cont_monte) # Compute the variance on the line-fitting results. @@ -1058,8 +1060,10 @@ def get_fluxes(values, obsamps, emlineflux_s, specflux_nolines_s, fastfit[f'{linename}_EW'] = ew if results_monte is not None: - ew_monte = np.array(flux_monte) / np.array(cont_monte) / (1. + redshift) # rest frame [A] - fastfit[f'{linename}_EW_IVAR'] = var2ivar(np.var(ew_monte)) + I = cont_monte != 0. + if np.sum(I) > 2: + ew_monte = flux_monte[I] / cont_monte[I] / (1. + redshift) # rest frame [A] + fastfit[f'{linename}_EW_IVAR'] = var2ivar(np.var(ew_monte)) # Measure moments for the set of lines in self.moment_lines. We need a diff --git a/py/fastspecfit/util.py b/py/fastspecfit/util.py index 35249ea4..07066a4a 100644 --- a/py/fastspecfit/util.py +++ b/py/fastspecfit/util.py @@ -66,7 +66,7 @@ def __init__(self, nworkers, initializer=None, init_argdict=None, comm=None): if nworkers > 1: if comm is not None: - from mpi4py.futures import MPIPoolExecutor as Pool + from mpi4py.futures import MPICommExecutor as Pool else: from multiprocessing import Pool self.pool = Pool(nworkers, From 44577c79cb13168315e7c9d54f60c0df844babbf Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 10 Dec 2024 13:18:54 -0800 Subject: [PATCH 06/17] remove github dependencies from pyproject.toml --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5369a003..76d11ab3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,9 +27,6 @@ dependencies = [ "matplotlib", "fitsio", "speclite>=0.20", - "desimodel @ git+https://github.com/desihub/desimodel.git@0.19.2", - "desitarget @ git+https://github.com/desihub/desitarget.git@2.8.0", - "desispec @ git+https://github.com/desihub/desispec.git@0.67.0" ] requires-python = ">=3.9" From 308383fd430be8090992a43b790cdd9057d730ed Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 10 Dec 2024 18:24:59 -0800 Subject: [PATCH 07/17] small bug fix in emlines with --debug-plots --- py/fastspecfit/emlines.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/fastspecfit/emlines.py b/py/fastspecfit/emlines.py index 0e90fddc..01e6aafb 100644 --- a/py/fastspecfit/emlines.py +++ b/py/fastspecfit/emlines.py @@ -1627,10 +1627,10 @@ def get_results(emlineflux): else: dn4000_model_sigma = 0. - restwave = modelwave / (1. + redshift) # [Angstrom] + restwave = wave_out / (1. + redshift) # [Angstrom] flam2fnu = (1 + redshift) * restwave**2 / (C_LIGHT * 1e5) * 1e-3 * 1e23 / FLUXNORM # [erg/s/cm2/A-->mJy, rest] fnu_obs = data['coadd_flux'] * flam2fnu # [mJy] - fnu = fluxnolines * flam2fnu # [mJy] + fnu = flux_out_nolines * flam2fnu # [mJy] fnu_model = continuum_out * flam2fnu #fnu_fullmodel = modelflux * flam2fnu From 50f4293aeb94370c3d765b2239750c83c39387a7 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Tue, 10 Dec 2024 18:52:33 -0800 Subject: [PATCH 08/17] add bin to pyproject.toml --- MANIFEST.in | 3 ++- pyproject.toml | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index eb460013..5ba2d5ce 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,5 +10,6 @@ graft etc graft doc prune build +prune dist +prune htmlcov prune doc/_build -prune boneyard diff --git a/pyproject.toml b/pyproject.toml index a3d0d0be..e28a156f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,8 +53,10 @@ requires = ["setuptools", build-backend = 'setuptools.build_meta' [tool.setuptools] +scripts-dir = "bin" package-dir = {"" = "py"} include-package-data = true +zip-safe = true [tool.setuptools.package-data] fastspecfit = [ From b01140349c5c1e450ce1b5ab527ffb202dd2b0b5 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Wed, 11 Dec 2024 09:36:00 -0800 Subject: [PATCH 09/17] new debug / corner plot on sps properties --- docker/Containerfile | 3 +- py/fastspecfit/continuum.py | 100 ++++++++++++++++++++++++++++++------ 2 files changed, 86 insertions(+), 17 deletions(-) diff --git a/docker/Containerfile b/docker/Containerfile index c683a542..de2f499c 100644 --- a/docker/Containerfile +++ b/docker/Containerfile @@ -80,7 +80,8 @@ RUN pip3 install --break-system-packages git+https://github.com/desihub/desimode RUN pip3 install --break-system-packages git+https://github.com/desihub/desitarget.git@${DESITARGET_VERSION}#egg=desitarget RUN pip3 install --break-system-packages git+https://github.com/desihub/desispec.git@${DESISPEC_VERSION}#egg=desispec RUN pip3 install --break-system-packages git+https://github.com/desihub/speclite.git@${SPECLITE_VERSION}#egg=speclite -RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git@${FASTSPECFIT_VERSION}#egg=fastspecfit && echo 1 +#RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git@${FASTSPECFIT_VERSION}#egg=fastspecfit && echo 1 +RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git#egg=fastspecfit && echo 1 RUN mkdir /homedir && chmod 777 /homedir ENV HOME /homedir diff --git a/py/fastspecfit/continuum.py b/py/fastspecfit/continuum.py index 1d46b728..9fc982f3 100644 --- a/py/fastspecfit/continuum.py +++ b/py/fastspecfit/continuum.py @@ -1024,6 +1024,7 @@ def continuum_fastphot(redshift, objflam, objflamivar, CTools, uniqueid=0, dn4000_model = 0. coeff_monte = None + tauv_monte = None sedmodel_monte = None sedmodel_nolines_monte = None @@ -1096,9 +1097,9 @@ def do_fit(objflam): msg.append(f'vdisp={vdisp:.0f} km/s') log.info(' '.join(msg)) - return (coeff, coeff_monte, rchi2_phot, tauv, tauv_ivar, vdisp, dn4000_model, - dn4000_model_ivar, sedmodel, sedmodel_monte, sedmodel_nolines, - sedmodel_nolines_monte) + return (coeff, coeff_monte, rchi2_phot, tauv, tauv_monte, tauv_ivar, vdisp, + dn4000_model, dn4000_model_ivar, sedmodel, sedmodel_monte, + sedmodel_nolines, sedmodel_nolines_monte) def vdisp_by_chi2scan(CTools, templates, uniqueid, specflux, specwave, @@ -1162,7 +1163,7 @@ def vdisp_by_chi2scan(CTools, templates, uniqueid, specflux, specwave, import seaborn as sns sns.set(context='talk', style='ticks', font_scale=0.8) - pngfile = f'qa-vdisp-{uniqueid}.png' + pngfile = f'qa-vdisp-chi2scan-{uniqueid}.png' fig, ax = plt.subplots(figsize=(8, 6)) ax.scatter(CTools.vdisp_grid, chi2grid-chi2min, marker='s', s=50, color='gray', edgecolor='k') @@ -1345,13 +1346,14 @@ def do_fit_vdisp(specflux): import corner as cn import seaborn as sns - pngfile = f'qa-vdisp-corner-{uniqueid}.png' + pngfile = f'qa-vdisp-{uniqueid}.png' sns.set(context='talk', style='ticks', font_scale=0.6) colors = sns.color_palette() dkw = {'color': colors[1], 'ms': 10, 'alpha': 0.75, 'mec': 'k'} - hkw = {'fill': True, 'alpha': 0.75, 'color': 'gray'} + hkw = {'fill': True, 'alpha': 0.75, 'color': 'gray', + 'align': 'left', 'edgecolor': 'k'} ndim = 3 tauv_sigma = np.std(tauv_monte) @@ -1493,6 +1495,7 @@ def do_fit_full(objflam, specflux): dn4000_model_ivar = var2ivar(np.var(dn4000_model_monte)) else: coeff_monte = None + tauv_monte = None sedmodel_monte = None sedmodel_nolines_monte = None desimodel_nolines_monte = None @@ -1532,10 +1535,10 @@ def do_fit_full(objflam, specflux): log.debug(f'Deriving the smooth continuum took {time.time()-t0:.2f} seconds.') return (coeff, coeff_monte, rchi2_cont, rchi2_phot, median_apercorr, apercorrs, - tauv, tauv_ivar, vdisp, vdisp_ivar, dn4000, dn4000_ivar, dn4000_model, - dn4000_model_ivar, sedmodel, sedmodel_nolines, desimodel_nolines, - smoothcontinuum, smoothstats, specflux_monte, sedmodel_monte, - sedmodel_nolines_monte, continuummodel_monte) + tauv, tauv_monte, tauv_ivar, vdisp, vdisp_ivar, dn4000, dn4000_ivar, + dn4000_model, dn4000_model_ivar, sedmodel, sedmodel_nolines, + desimodel_nolines, smoothcontinuum, smoothstats, specflux_monte, + sedmodel_monte, sedmodel_nolines_monte, continuummodel_monte) def continuum_specfit(data, fastfit, specphot, templates, igm, phot, @@ -1598,15 +1601,15 @@ def continuum_specfit(data, fastfit, specphot, templates, igm, phot, if fastphot: # Photometry-only fitting. - (coeff, coeff_monte, rchi2_phot, tauv, tauv_ivar, vdisp, dn4000_model, dn4000_model_ivar, - sedmodel, sedmodel_monte, sedmodel_nolines, sedmodel_nolines_monte) = \ + (coeff, coeff_monte, rchi2_phot, tauv, tauv_monte, tauv_ivar, vdisp, dn4000_model, + dn4000_model_ivar, sedmodel, sedmodel_monte, sedmodel_nolines, sedmodel_nolines_monte) = \ continuum_fastphot(redshift, objflam, objflamivar, CTools, uniqueid=data['uniqueid'], debug_plots=debug_plots, nmonte=nmonte, rng=rng) else: (coeff, coeff_monte, rchi2_cont, rchi2_phot, median_apercorr, apercorrs, - tauv, tauv_ivar, vdisp, vdisp_ivar, dn4000, dn4000_ivar, dn4000_model, - dn4000_model_ivar, sedmodel, sedmodel_nolines, continuummodel, + tauv, tauv_monte, tauv_ivar, vdisp, vdisp_ivar, dn4000, dn4000_ivar, + dn4000_model, dn4000_model_ivar, sedmodel, sedmodel_nolines, continuummodel, smoothcontinuum, smoothstats, specflux_monte, sedmodel_monte, sedmodel_nolines_monte, continuummodel_monte) = \ continuum_fastspec(redshift, objflam, objflamivar, CTools, @@ -1747,8 +1750,73 @@ def _get_sps_properties(coeff): ['AGE_IVAR', 'ZZSUN_IVAR', 'LOGMSTAR_IVAR', 'SFR_IVAR']): specphot[col] = var2ivar(np.var(val_monte)) - #rindx = np.argmin(np.abs(phot.absmag_filters.effective_wavelengths.value / (1.+phot.band_shift) - 5600.)) - #msg = [f'M{phot.absmag_bands[rindx]}={absmag[rindx]:.2f} mag'] + # optional debugging plot + if debug_plots: + import matplotlib.pyplot as plt + import corner as cn + import seaborn as sns + + pngfile = f'qa-sps-properties-{data["uniqueid"]}.png' + + sns.set(context='talk', style='ticks', font_scale=0.6) + colors = sns.color_palette() + + dkw = {'color': colors[1], 'ms': 10, 'alpha': 0.75, 'mec': 'k'} + hkw = {'fill': True, 'alpha': 0.75, 'color': 'gray', + 'align': 'left', 'edgecolor': 'k'} + ndim = 5 + + zzsun_sigma = np.std(zzsun_monte) + tauv_sigma = np.std(tauv_monte) + sfr_sigma = np.std(sfr_monte) + logmstar_sigma = np.std(logmstar_monte) + age_sigma = np.std(age_monte) + + plotdata = np.vstack((zzsun_monte, tauv_monte, sfr_monte, logmstar_monte, age_monte)).T + truths = [zzsun, tauv, sfr, logmstar, age] + labels = [r'$Z/Z_{\odot}$', r'$\tau_{V}$', r'SFR ($M_{\odot}/\mathrm{yr}$)', + '\n'+r'$\log_{10}(M/M_{\odot})$', 'Age (Gyr)'] + titles = [r'$Z/Z_{\odot}$='+f'{zzsun:.1f}'+r'$\pm$'+f'{zzsun_sigma:.1f}', + r'$\tau_{V}$='+f'{tauv:.2f}'+r'$\pm$'+f'{tauv_sigma:.2f}', + r'SFR='+f'{sfr:.1f}'+r'$\pm$'+f'{sfr_sigma:.1f}'+r' $M_{\odot}/\mathrm{yr}$', + r'$\log_{10}(M/M_{\odot})$='+f'{logmstar:.2f}'+r'$\pm$'+f'{logmstar_sigma:.2f}', + f'Age={age:.2f}'+r'$\pm$'+f'{age_sigma:.2f} Gyr'] + sig = [max(5.*zzsun_sigma, 0.1), max(5.*tauv_sigma, 0.005), max(5.*sfr_sigma, 3), + max(5.*logmstar_sigma, 0.1), max(5.*age_sigma, 0.005)] + ranges = [(prop-sig1, prop+sig1) for prop, sig1 in zip([zzsun, tauv, sfr, logmstar, age], sig)] + + bins = nmonte // 3 + if bins < 10: + bins = 10 + fig = cn.corner(plotdata, bins=bins, smooth=None, plot_density=False, + plot_contours=False, range=ranges, + data_kwargs=dkw, hist_kwargs=hkw, labels=labels) + ax = np.array(fig.axes).reshape((ndim, ndim)) + for ii, mlval, sig in zip(range(ndim), (zzsun, tauv, sfr, logmstar, age), + (zzsun_sigma, tauv_sigma, sfr_sigma, logmstar_sigma, age_sigma)): + ax[ii, ii].axvline(mlval, color=colors[0], lw=2, ls='-') + ax[ii, ii].axvline(mlval+sig, color=colors[0], lw=1, ls='--') + ax[ii, ii].axvline(mlval-sig, color=colors[0], lw=1, ls='--') + ax[ii, ii].set_title(titles[ii]) + if ii == 0: + ax[ii, ii].set_ylabel('Number of\nRealizations') + else: + xx = ax[ii, ii].twinx() + xx.set_yticklabels([]) + xx.set_ylabel('Number of\nRealizations') + xx.tick_params(right=False) + for yi in range(ndim): + for xi in range(yi): + ax[yi, xi].axvline(truths[xi], color=colors[0], lw=1, ls='-', alpha=0.75) + ax[yi, xi].axhline(truths[yi], color=colors[0], lw=1, ls='-', alpha=0.75) + fig.suptitle(f'SPS Properties: {data["uniqueid"]}') + + fig.subplots_adjust(left=0.1, right=0.92, bottom=0.1, top=0.95, wspace=0.14, hspace=0.14) + fig.savefig(pngfile)#, bbox_inches='tight') + plt.close() + log.info(f'Wrote {pngfile}') + + msg = [] for label, units, val, col in zip(['vdisp', 'log(M/Msun)', 'tau(V)', 'Age', 'SFR', 'Z/Zsun'], [' km/s', '', '', ' Gyr', ' Msun/yr', ''], From 6489292aa9e531bbad5415883e5c4413b1bc99a3 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Wed, 11 Dec 2024 09:45:09 -0800 Subject: [PATCH 10/17] add scripts in bin to pyproject.toml --- pyproject.toml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e28a156f..378c30d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,10 +53,20 @@ requires = ["setuptools", build-backend = 'setuptools.build_meta' [tool.setuptools] -scripts-dir = "bin" -package-dir = {"" = "py"} include-package-data = true zip-safe = true +package-dir = {"" = "py"} +scripts = [ + "bin/build-templates", + "bin/get-cutouts", + "bin/mpi-fastspecfit" +] + +[tool.setuptools.entry-points.console_scripts] +fastspec = "fastspecfit.fastspecfit:fastspec" +fastphot = "fastspecfit.fastspecfit:fastphot" +stackfit = "fastspecfit.fastspecfit:stackfit" +fastqa = "fastspecfit.qa:fastqa" [tool.setuptools.package-data] fastspecfit = [ From 81eb96b12f23820c019bc1951ca642190f914b06 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Wed, 11 Dec 2024 16:40:16 -0500 Subject: [PATCH 11/17] different format --- pyproject.toml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 378c30d1..77a89618 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "fastspecfit" -version = "3.1.1" +version = "3.1.2" authors = [ {name="John Moustakas", email="jmoustakas@siena.edu"}, ] @@ -52,22 +52,22 @@ requires = ["setuptools", ] build-backend = 'setuptools.build_meta' +[project.scripts] +fastspec = "fastspecfit.fastspecfit:fastspec" +fastphot = "fastspecfit.fastspecfit:fastphot" +stackfit = "fastspecfit.fastspecfit:stackfit" +fastqa = "fastspecfit.qa:fastqa" + [tool.setuptools] include-package-data = true zip-safe = true package-dir = {"" = "py"} -scripts = [ +script-files = [ "bin/build-templates", "bin/get-cutouts", "bin/mpi-fastspecfit" ] -[tool.setuptools.entry-points.console_scripts] -fastspec = "fastspecfit.fastspecfit:fastspec" -fastphot = "fastspecfit.fastspecfit:fastphot" -stackfit = "fastspecfit.fastspecfit:stackfit" -fastqa = "fastspecfit.qa:fastqa" - [tool.setuptools.package-data] fastspecfit = [ "data/*", From 82de4959535710f95127d6f70054495eecb34e37 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 13:21:02 -0800 Subject: [PATCH 12/17] updated podman instructions and readme --- docker/Containerfile | 26 ++++++++++---------------- docker/README.md | 35 ++++++++++++++++++++++++----------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/docker/Containerfile b/docker/Containerfile index de2f499c..d3ec8b1b 100644 --- a/docker/Containerfile +++ b/docker/Containerfile @@ -3,7 +3,7 @@ FROM ubuntu:24.04 RUN mkdir -p /src WORKDIR /src -RUN apt-get -y clean && apt -y update && apt install -y apt-utils && apt -y upgrade && echo 1 +RUN apt-get -y clean && apt -y update && apt install -y apt-utils && apt -y upgrade RUN DEBIAN_FRONTEND=noninteractive \ apt install -y --no-install-recommends \ @@ -23,11 +23,10 @@ RUN DEBIAN_FRONTEND=noninteractive \ python3.12 \ python3.12-dev \ python3-pip \ - # python3-mpi4py \ && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # python = python3 -RUN ln -s "$(which python3)" /usr/bin/python +# RUN ln -s "$(which python3)" /usr/bin/python ARG mpich=4.1.1 ARG mpich_prefix=mpich-$mpich @@ -43,10 +42,13 @@ RUN wget --no-check-certificate -nv https://www.mpich.org/static/downloads/$mpic && make install \ && make clean \ && cd .. \ - && rm -rf $mpich_prefix + && rm -rf $mpich_prefix \ + && rm -f $mpich_prefix.tar.gz RUN /sbin/ldconfig +ENV PIP_ROOT_USER_ACTION=ignore + RUN for x in \ wheel \ setuptools \ @@ -65,23 +67,22 @@ RUN for x in \ ipykernel \ h5py \ ; do pip3 install --break-system-packages $x; done \ - && rm -Rf /root/.cache/pip \ - && echo 1 + && rm -Rf /root/.cache/pip ENV DESIUTIL_VERSION 3.4.3 ENV DESIMODEL_VERSION 0.19.2 ENV DESITARGET_VERSION 2.8.0 ENV DESISPEC_VERSION 0.68.1 ENV SPECLITE_VERSION v0.20 -ENV FASTSPECFIT_VERSION 3.1.0 +ENV FASTSPECFIT_VERSION mpi-and-logging +#ENV FASTSPECFIT_VERSION 3.1.1 RUN pip3 install --break-system-packages git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil RUN pip3 install --break-system-packages git+https://github.com/desihub/desimodel.git@${DESIMODEL_VERSION}#egg=desimodel RUN pip3 install --break-system-packages git+https://github.com/desihub/desitarget.git@${DESITARGET_VERSION}#egg=desitarget RUN pip3 install --break-system-packages git+https://github.com/desihub/desispec.git@${DESISPEC_VERSION}#egg=desispec RUN pip3 install --break-system-packages git+https://github.com/desihub/speclite.git@${SPECLITE_VERSION}#egg=speclite -#RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git@${FASTSPECFIT_VERSION}#egg=fastspecfit && echo 1 -RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git#egg=fastspecfit && echo 1 +RUN pip3 install --break-system-packages git+https://github.com/desihub/fastspecfit.git@${FASTSPECFIT_VERSION}#egg=fastspecfit RUN mkdir /homedir && chmod 777 /homedir ENV HOME /homedir @@ -94,11 +95,4 @@ SHELL ["/bin/bash", "-c"] ENTRYPOINT ["/bin/bash", "-c"] CMD ["/bin/bash"] -#RUN echo "export PS1='[container] \\u@\\h:\\w$ '" >> $HOME/.bashrc \ -# # Create config files in $HOME -# && python -c "import astropy" \ -# && python -c "import matplotlib.font_manager as fm; f = fm.FontManager()" \ -# && ipython -c "print('hello')" \ -# && echo 1 - LABEL Maintainer="John Moustakas jmoustakas@siena.edu" diff --git a/docker/README.md b/docker/README.md index 10d7fe1b..9cc9c48a 100644 --- a/docker/README.md +++ b/docker/README.md @@ -4,23 +4,36 @@ Build a Docker container for fastspecfit. Using podman-hpc at NERSC ------------------------- -podman-hpc pull ubuntu:22.04 - First, build the container: ``` -podman-hpc build -t desihub/fastspecfit:latest . +time podman-hpc build --tag fastspecfit:3.1.1 --file ./Containerfile ./ +``` +then 'migrate' the image so it can be used for jobs: +``` +podman-hpc migrate fastspecfit:3.1.1 ``` -podman-hpc migrate desihub/fastspecfit:latest +List the available images: +``` +podman-hpc images +``` +``` podman-hpc login docker.io -podman-hpc push docker.io/desihub/fastspecfit:latest -podman-hpc pull docker.io/desihub/fastspecfit:latest - -podman-hpc run --rm -it localhost/desihub/fastspecfit:latest /bin/bash +podman-hpc push fastspecfit:3.1.1 +podman-hpc pull desihub/fastspecfit:3.1.1 +``` +Enter the container: +``` +podman-hpc run --rm -it fastspecfit:3.1.1 /bin/bash +``` +To delete a container: +``` +podman-hpc rmi desihub/fastspecfit:3.1.1 +``` Legacy Instructions ------------------- @@ -41,7 +54,7 @@ Then, subsequently, to create a new (or the latest) version or tag, do: export DOCKER_BUILDKIT=0 export COMPOSE_DOCKER_CLI_BUILD=0 -docker buildx build --platform linux/amd64,linux/arm64/v8 --push -t desihub/fastspecfit:3.1.2 . +docker buildx build --platform linux/amd64,linux/arm64/v8 --push -t desihub/fastspecfit:3.1.1 . docker buildx build --platform linux/amd64,linux/arm64/v8 --push -t desihub/fastspecfit:latest . ``` @@ -52,8 +65,8 @@ docker run -it desihub/fastspecfit:latest ``` or ``` -docker pull desihub/fastspecfit:3.1.2 -docker run -it desihub/fastspecfit:3.1.2 +docker pull desihub/fastspecfit:3.1.1 +docker run -it desihub/fastspecfit:3.1.1 ``` Or at NERSC: From 5ddd556761d4ea0b928d03911722502bb8fe051c Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 13:21:35 -0800 Subject: [PATCH 13/17] use MPIPoolExecutor not MPICommExecutor --- py/fastspecfit/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/fastspecfit/util.py b/py/fastspecfit/util.py index 07066a4a..35249ea4 100644 --- a/py/fastspecfit/util.py +++ b/py/fastspecfit/util.py @@ -66,7 +66,7 @@ def __init__(self, nworkers, initializer=None, init_argdict=None, comm=None): if nworkers > 1: if comm is not None: - from mpi4py.futures import MPICommExecutor as Pool + from mpi4py.futures import MPIPoolExecutor as Pool else: from multiprocessing import Pool self.pool = Pool(nworkers, From e50f1df0e4f1f666ce026a917c801d363ecc5889 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 16:23:22 -0500 Subject: [PATCH 14/17] remove old nb --- doc/nb/everest.ipynb | 330 ------------------------------------------- 1 file changed, 330 deletions(-) delete mode 100644 doc/nb/everest.ipynb diff --git a/doc/nb/everest.ipynb b/doc/nb/everest.ipynb deleted file mode 100644 index 05fd52ed..00000000 --- a/doc/nb/everest.ipynb +++ /dev/null @@ -1,330 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "99f8f62d-af32-4432-bfc2-e7f91c63d6b8", - "metadata": {}, - "source": [ - "## Everest" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "5cc12072-1d08-4c14-a8e5-cf7d76e1ee29", - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import numpy as np\n", - "import fitsio\n", - "from astropy.table import Table" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a0476602-ff5e-49e3-8ab8-c5d7af8ddf1f", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "\n", - "sns.set(context='talk', style='ticks', palette='deep', font_scale=1.3)#, rc=rc)\n", - "colors = sns.color_palette()\n", - "\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "eaee1043-0602-4ed6-863e-bed95ba0060f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/global/cfs/cdirs/desi/spectro/fastspecfit/everest/catalogs\n", - "/global/cfs/cdirs/desi/users/ioannis/fastspecfit/everest\n" - ] - } - ], - "source": [ - "specprod = 'everest'\n", - "rootdir = os.path.join(os.getenv('DESI_ROOT'), 'spectro', 'fastspecfit')\n", - "catdir = os.path.join(rootdir, specprod, 'catalogs')\n", - "figdir = os.path.join(os.getenv('DESI_ROOT'), 'users', 'ioannis', 'fastspecfit', specprod)\n", - "print(catdir)\n", - "print(figdir)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "83ca2a65-0411-4de0-bc18-015b3b7886b6", - "metadata": {}, - "outputs": [], - "source": [ - "def read_results(prefix='fastspec', survey='main', program='bright'):\n", - " catfile = os.path.join(catdir, '{}-{}-{}-{}.fits'.format(prefix, specprod, survey, program))\n", - " fast = Table(fitsio.read(catfile, prefix.upper()))\n", - " meta = Table(fitsio.read(catfile, 'METADATA'))\n", - " I = meta['ZWARN'] == 0\n", - " return fast[I], meta[I]" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "bba4ce75-e623-4739-ae77-ee439ea58a57", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Table length=260358\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
TARGETIDCONTINUUM_ZCONTINUUM_COEFF [11]CONTINUUM_CHI2CONTINUUM_AGECONTINUUM_AVCONTINUUM_AV_IVARCONTINUUM_VDISPCONTINUUM_VDISP_IVARCONTINUUM_SNR_BCONTINUUM_SNR_RCONTINUUM_SNR_ZCONTINUUM_SMOOTHCORR_BCONTINUUM_SMOOTHCORR_RCONTINUUM_SMOOTHCORR_ZDN4000DN4000_IVARDN4000_MODELFLUX_SYNTH_GFLUX_SYNTH_RFLUX_SYNTH_ZFLUX_SYNTH_MODEL_GFLUX_SYNTH_MODEL_RFLUX_SYNTH_MODEL_ZBALMER_ZFORBIDDEN_ZBROAD_ZBALMER_SIGMAFORBIDDEN_SIGMABROAD_SIGMAOI_1304_AMPOI_1304_AMP_IVAROI_1304_FLUXOI_1304_FLUX_IVAROI_1304_BOXFLUXOI_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_AMPSILIV_1396_AMP_IVARSILIV_1396_FLUXSILIV_1396_FLUX_IVARSILIV_1396_BOXFLUXSILIV_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_AMPCIV_1549_AMP_IVARCIV_1549_FLUXCIV_1549_FLUX_IVARCIV_1549_BOXFLUXCIV_1549_VSHIFTCIV_1549_SIGMACIV_1549_CONTCIV_1549_CONT_IVARCIV_1549_EWCIV_1549_EW_IVARCIV_1549_FLUX_LIMITCIV_1549_EW_LIMITCIV_1549_CHI2CIV_1549_NPIXSILIII_1892_AMPSILIII_1892_AMP_IVARSILIII_1892_FLUXSILIII_1892_FLUX_IVARSILIII_1892_BOXFLUXSILIII_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_AMPCIII_1908_AMP_IVARCIII_1908_FLUXCIII_1908_FLUX_IVARCIII_1908_BOXFLUXCIII_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_AMPMGII_2796_AMP_IVARMGII_2796_FLUXMGII_2796_FLUX_IVARMGII_2796_BOXFLUXMGII_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_AMPMGII_2803_AMP_IVARMGII_2803_FLUXMGII_2803_FLUX_IVARMGII_2803_BOXFLUXMGII_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_AMPNEV_3346_AMP_IVARNEV_3346_FLUXNEV_3346_FLUX_IVARNEV_3346_BOXFLUXNEV_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_AMPNEV_3426_AMP_IVARNEV_3426_FLUXNEV_3426_FLUX_IVARNEV_3426_BOXFLUXNEV_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_AMPOII_3726_AMP_IVAROII_3726_FLUXOII_3726_FLUX_IVAROII_3726_BOXFLUXOII_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_AMPOII_3729_AMP_IVAROII_3729_FLUXOII_3729_FLUX_IVAROII_3729_BOXFLUXOII_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_AMPNEIII_3869_AMP_IVARNEIII_3869_FLUXNEIII_3869_FLUX_IVARNEIII_3869_BOXFLUXNEIII_3869_VSHIFTNEIII_3869_SIGMANEIII_3869_CONTNEIII_3869_CONT_IVARNEIII_3869_EWNEIII_3869_EW_IVARNEIII_3869_FLUX_LIMITNEIII_3869_EW_LIMITNEIII_3869_CHI2NEIII_3869_NPIXHEI_3889_AMPHEI_3889_AMP_IVARHEI_3889_FLUXHEI_3889_FLUX_IVARHEI_3889_BOXFLUXHEI_3889_VSHIFTHEI_3889_SIGMAHEI_3889_CONTHEI_3889_CONT_IVARHEI_3889_EWHEI_3889_EW_IVARHEI_3889_FLUX_LIMITHEI_3889_EW_LIMITHEI_3889_CHI2HEI_3889_NPIXH6_AMPH6_AMP_IVARH6_FLUXH6_FLUX_IVARH6_BOXFLUXH6_VSHIFTH6_SIGMAH6_CONTH6_CONT_IVARH6_EWH6_EW_IVARH6_FLUX_LIMITH6_EW_LIMITH6_CHI2H6_NPIXHEPSILON_AMPHEPSILON_AMP_IVARHEPSILON_FLUXHEPSILON_FLUX_IVARHEPSILON_BOXFLUXHEPSILON_VSHIFTHEPSILON_SIGMAHEPSILON_CONTHEPSILON_CONT_IVARHEPSILON_EWHEPSILON_EW_IVARHEPSILON_FLUX_LIMITHEPSILON_EW_LIMITHEPSILON_CHI2HEPSILON_NPIXHDELTA_AMPHDELTA_AMP_IVARHDELTA_FLUXHDELTA_FLUX_IVARHDELTA_BOXFLUXHDELTA_VSHIFTHDELTA_SIGMAHDELTA_CONTHDELTA_CONT_IVARHDELTA_EWHDELTA_EW_IVARHDELTA_FLUX_LIMITHDELTA_EW_LIMITHDELTA_CHI2HDELTA_NPIXHGAMMA_AMPHGAMMA_AMP_IVARHGAMMA_FLUXHGAMMA_FLUX_IVARHGAMMA_BOXFLUXHGAMMA_VSHIFTHGAMMA_SIGMAHGAMMA_CONTHGAMMA_CONT_IVARHGAMMA_EWHGAMMA_EW_IVARHGAMMA_FLUX_LIMITHGAMMA_EW_LIMITHGAMMA_CHI2HGAMMA_NPIXOIII_4363_AMPOIII_4363_AMP_IVAROIII_4363_FLUXOIII_4363_FLUX_IVAROIII_4363_BOXFLUXOIII_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_AMPHEI_4471_AMP_IVARHEI_4471_FLUXHEI_4471_FLUX_IVARHEI_4471_BOXFLUXHEI_4471_VSHIFTHEI_4471_SIGMAHEI_4471_CONTHEI_4471_CONT_IVARHEI_4471_EWHEI_4471_EW_IVARHEI_4471_FLUX_LIMITHEI_4471_EW_LIMITHEI_4471_CHI2HEI_4471_NPIXHEII_4686_AMPHEII_4686_AMP_IVARHEII_4686_FLUXHEII_4686_FLUX_IVARHEII_4686_BOXFLUXHEII_4686_VSHIFTHEII_4686_SIGMAHEII_4686_CONTHEII_4686_CONT_IVARHEII_4686_EWHEII_4686_EW_IVARHEII_4686_FLUX_LIMITHEII_4686_EW_LIMITHEII_4686_CHI2HEII_4686_NPIXHBETA_AMPHBETA_AMP_IVARHBETA_FLUXHBETA_FLUX_IVARHBETA_BOXFLUXHBETA_VSHIFTHBETA_SIGMAHBETA_CONTHBETA_CONT_IVARHBETA_EWHBETA_EW_IVARHBETA_FLUX_LIMITHBETA_EW_LIMITHBETA_CHI2HBETA_NPIXOIII_4959_AMPOIII_4959_AMP_IVAROIII_4959_FLUXOIII_4959_FLUX_IVAROIII_4959_BOXFLUXOIII_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_AMPOIII_5007_AMP_IVAROIII_5007_FLUXOIII_5007_FLUX_IVAROIII_5007_BOXFLUXOIII_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_AMPNII_5755_AMP_IVARNII_5755_FLUXNII_5755_FLUX_IVARNII_5755_BOXFLUXNII_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_AMPHEI_5876_AMP_IVARHEI_5876_FLUXHEI_5876_FLUX_IVARHEI_5876_BOXFLUXHEI_5876_VSHIFTHEI_5876_SIGMAHEI_5876_CONTHEI_5876_CONT_IVARHEI_5876_EWHEI_5876_EW_IVARHEI_5876_FLUX_LIMITHEI_5876_EW_LIMITHEI_5876_CHI2HEI_5876_NPIXOI_6300_AMPOI_6300_AMP_IVAROI_6300_FLUXOI_6300_FLUX_IVAROI_6300_BOXFLUXOI_6300_VSHIFTOI_6300_SIGMAOI_6300_CONTOI_6300_CONT_IVAROI_6300_EWOI_6300_EW_IVAROI_6300_FLUX_LIMITOI_6300_EW_LIMITOI_6300_CHI2OI_6300_NPIXNII_6548_AMPNII_6548_AMP_IVARNII_6548_FLUXNII_6548_FLUX_IVARNII_6548_BOXFLUXNII_6548_VSHIFTNII_6548_SIGMANII_6548_CONTNII_6548_CONT_IVARNII_6548_EWNII_6548_EW_IVARNII_6548_FLUX_LIMITNII_6548_EW_LIMITNII_6548_CHI2NII_6548_NPIXHALPHA_AMPHALPHA_AMP_IVARHALPHA_FLUXHALPHA_FLUX_IVARHALPHA_BOXFLUXHALPHA_VSHIFTHALPHA_SIGMAHALPHA_CONTHALPHA_CONT_IVARHALPHA_EWHALPHA_EW_IVARHALPHA_FLUX_LIMITHALPHA_EW_LIMITHALPHA_CHI2HALPHA_NPIXNII_6584_AMPNII_6584_AMP_IVARNII_6584_FLUXNII_6584_FLUX_IVARNII_6584_BOXFLUXNII_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_AMPSII_6716_AMP_IVARSII_6716_FLUXSII_6716_FLUX_IVARSII_6716_BOXFLUXSII_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_AMPSII_6731_AMP_IVARSII_6731_FLUXSII_6731_FLUX_IVARSII_6731_BOXFLUXSII_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_AMPOII_7320_AMP_IVAROII_7320_FLUXOII_7320_FLUX_IVAROII_7320_BOXFLUXOII_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_AMPOII_7330_AMP_IVAROII_7330_FLUXOII_7330_FLUX_IVAROII_7330_BOXFLUXOII_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_AMPSIII_9069_AMP_IVARSIII_9069_FLUXSIII_9069_FLUX_IVARSIII_9069_BOXFLUXSIII_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_AMPSIII_9532_AMP_IVARSIII_9532_FLUXSIII_9532_FLUX_IVARSIII_9532_BOXFLUXSIII_9532_VSHIFTSIII_9532_SIGMASIII_9532_CONTSIII_9532_CONT_IVARSIII_9532_EWSIII_9532_EW_IVARSIII_9532_FLUX_LIMITSIII_9532_EW_LIMITSIII_9532_CHI2SIII_9532_NPIX
int64float64float64float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float64float64float64float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32float32float32float32float32float32float32float32float32float32float32float32float32float32float32int32
396331669855960950.200391850161254050.0008592673625431462 .. 0.01.03388019.7208920.74021560.0058625494150.00.00.99963362.70817354.02803331.38660170.21610042-0.41733816-118.234260.00146290331.61521123.04243618.89612618.5700043.13196928.80981318.6441040.199391157875659590.200391850161254050.200391850161254051106.6550.00.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.00-3.72685650.12813658-20.6304660.009952158-25.506361-69.66111164.827880.420322362.6775062-58.918220.00122021433.38299359.6614371.1007037112.36185620.209936213.3871810.01173668116.70834-69.66111164.827880.897772975.199391417.8996960.0065649622.48576143.32365540.8390009411-1.16774110.4166721-7.19872430.022080278-20.22377-69.66111164.827881.559889310.88542-5.53968140.037286021.86847111.43785680.9109953612-1.57528270.23660591-9.71832750.022132032-12.778382-69.66111164.827881.439750411.323981-8.1026550.0318382831.83329961.52851341.657567120.000928958350.2787570.00594607650.029010601-2.4352982-69.66111164.827881.26502511.90130.0056422770.032218761.85539781.76060121.728699112-12.1865640.30562207-526.072270.0040576453-5.9930077-300.01106.6551.164124477.04128-542.46170.00381616184.9181575.07137871.14361568612.020660.31708503518.96470.0040749027-8.959946-300.01106.6551.160790277.48961536.66980.00381047054.90442135.0717411.1081772860.418652950.288125918.4509070.004422871417.030512-300.01106.6551.3575704117.4299416.3146740.00565695764.0673.59612561.3098446880.225065540.670198110.24805450.007605660213.659937-300.01106.6551.6911819152.950097.2740140.0150963343.68177752.61330581.1075445910.040486190.65165731.95077620.0084996678.033491-300.01106.6551.9291735277.698431.21383380.0219532272.89143781.79914271.1947697960.82911580.752012975.9852470.0552667577.31151-69.66111164.827881.453720132.2091834.94224550.081054941.27197051.05031431.3320884140.34120010.8435762516.9365160.00801227410.949428-300.01106.6552.1483123251.562559.4634540.0256628323.12962221.7487090.938626299-0.56402530.70322424-29.337520.007406996-40.465305-300.01106.6552.6818612216.31183-13.1313730.036971633.53658991.58296551.2017341104-2.3683290.5601413-127.808680.0040124543-8.400264-300.01106.6552.3938224302.33218-64.090170.0159568773.1036741.55634982.34514431190.25790971.52522042.1159920.051885041.4484656-69.66111164.827882.437354860.0844461.04212140.213911221.05843780.52127830.6793622160.76957670.972739766.3749360.0652471110.068638-69.66111164.827882.259886787.042173.38619690.231253610.88788980.47162351.351754916-0.387159175.6389995-3.68606880.07163356-4.263811-69.66111164.827882.6125815112.47286-1.69362270.33932050.89773880.412480320.543784219-0.204532093.0598023-13.3407230.013085594-21.538853-300.01106.6552.5937905967.38293-6.17401270.0610966162.09709790.970525260.69068931300.0315809960.86287650.329189570.01816302-3.5293996-69.66111164.827882.604484353.3073960.151721580.085503811.42766570.65800291.1280202420.207485361.72559332.24780080.06695111-3.9964693-69.66111164.827882.418346132.275741.11573860.271736830.94195520.467557341.004050121-0.0816378441.729167-5.9476170.0118662745.041441-300.01106.6552.46681211086.0171-2.89420960.050111852.2107171.07577171.16082421450.61044272.14540826.64902260.128181937.415568-69.66111164.827882.524457150.985383.16164350.56691330.88643210.42150291.5579494220.24243863.16409132.69401260.12847991.9682888-69.66111164.827882.3806894236.718521.35837590.50535260.72224030.364168231.021796722-0.236006952.8247194-2.62815620.15898055-3.2643979-69.66111164.827882.410027205.00214-1.30903820.64082830.777762830.387389931.4522183220.0189050981.97019030.228953670.0785747542.9442546-69.66111164.827882.4781544228.264020.110902750.334883420.801585730.388279681.0610058240.0099057363.73392130.120141360.137333872.6267807-69.66111164.827882.5561013209.034620.0564205760.62271270.838873860.39395050.93760735240.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855954630.58713321162721910.0 .. 0.01.03877973.41049980.00.0150.00.00.246580851.13726572.2888661.8695787-1.7077239-0.6297878620.2235220.07844071.58869340.890083973.15437759.6160440.767153563.32084189.438110.58713321162721910.58713321162721910.58713321162721910.00.00.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.00-2.16945720.6714767-17.2135580.017383594-24.280287-742.3969214.152560.02151154711.539176-1270.02533.193421e-062.335781172.335140.5208083150.202890830.39318091.61396960.016642056-2.9430325-742.3969214.152560.3651569510.2291687.01502370.000880925862.487211710.8105190.815217416-0.72836551.0561895-6.2983430.051319927-7.661281654.035072194.678280.4425068244.691097-22.5901810.00398932351.29350014.6393791.068460718-0.219212620.7749717-1.94093870.055078845-2.792174654.035072194.678280.726910855.066776-4.23783540.011553681.19316762.60515571.5882319180.823089361.76062897.92622760.0507761918.98594354.035072194.678280.5846492674.33819621.5171380.00689007951.11689813.0320160.6281806191.11034751.8217710.7004610.0486241820.99069654.035072194.678280.654341366.18249525.9544330.0082648361.18460082.87330060.6100427520-0.16174992.1411078-1.61729350.06509278-6.43260754.035072194.678280.52926457129.10149-4.84986160.0072385530.879992962.63888050.79411656200.89310822.13789585.66533370.11623396-7.0897865-39.576046122.900360.4728051459.9776419.0176430.0103150340.81908082.74952670.9258801313-1.86653861.952722-11.8414210.115279436-6.492474-39.576046122.900360.501897560.166565-37.4457170.0115280320.81787932.58635161.0031762130.65837932.80246354.2638020.051271375.9756-39.576046122.900360.813279984.112068.3209010.0134625810.70614151.37805020.2633289413-0.0580465983.5578816-0.388388630.12484155-1.7478495-39.576046122.900360.986209964.646286-0.625043870.0482026750.83218131.33925090.61240184130.3093884.47736362.1905910.1238888651.877095-39.576046122.900360.9920593185.401153.50458880.048403950.519997950.8319120.5839284140.263115853.41240842.96704750.08155514.44363554.035072194.678280.9043692239.17855.2070540.0264798720.72914921.27962891.293029122-0.0527145155.6927505-0.38450540.14990218-0.97822577-39.576046122.900361.1662698179.47987-0.52325910.080942990.5444580.740932640.50936955150.205870841.79785511.5735370.117585470.6440353-39.576046122.900361.132361115.096792.20549150.0598544960.712443650.998571041.2305913160.749102951.88523915.9404190.065818579.3073225-39.576046122.900361.1708989166.51348.0521350.035822880.614541230.8330.7931694160.11948922.2211681.53138920.102358093.200609254.035072194.678281.2114156215.962542.00634570.0596323270.87210291.14258351.4369059250.35654382.92415744.6136790.147301123.840283454.035072194.678281.1179159209.22466.55015560.073079830.894598361.27008371.4742799250.257641553.72955683.83177830.194079975.674937754.035072194.678281.2276347445.33434.953870.1161160540.704760250.91114111.5356408290.444353222.08864864.258960.03812599.078684-39.576046122.900361.267395695.228075.33340640.0243118370.98218371.22996821.0292697190.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855958310.114606270332821240.0 .. 0.01.233499.5952510.284531980.09175506150.00.03.96507029.94058312.7956640.50205976-0.865876560.6622160.00.01.92728217.84962348.40749791.48479518.28028149.0803692.488170.114361329381404320.114606270332821240.1146062703328212473.30410.00.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.425852540.0235913790.489352730.004872520520.15507-40.16423836.8465420.00.00.00.00.00.06.2773614-3.49914720.039946157-4.11712740.0082895834.471699-40.16423836.8465420.00.00.00.00.00.04.132861643.524420.131715244.5101710.03129682712.008866-40.16423836.8465420.00.00.00.00.00.05.07546944.75444270.341029736.08876230.032872614-4.494741-40.16423836.8465420.00.00.00.00.00.06.1250544.23353430.211580045.6251450.0393127355.2170587-40.16423836.8465420.00.00.00.00.00.02.8351707422.638240.2179045860.1434060.013769798-3.212056-73.4314573.30413.69415620.5195548518.1465570.151256873.6857821.11207960.7870065-25.2281780.23118162-67.031140.011154722-12.861285-73.4314573.30413.98717710.5237736-18.7384030.142740383.6712921.02630140.6530285550.419344870.26577081.13740740.028447576-0.16579232-73.4314573.30413.9850933.47913360.318125930.363646361.454150.406716881.416391560.83964770.379936932.35293940.0417859224.7488365-73.4314573.30417.64709764.61699870.342953771.96689091.30416860.19008971.48828775-2.04322460.64825-6.05895660.055485345-6.9895225-73.4314573.30419.7318178.367724-0.69394554.2298331.02512790.117410130.974912946-0.0845515360.17469053-0.126702380.0854013561.320149-40.16423836.8465420.00.00.00.00.00.08.29795940.845436750.266135452.58271960.060586598-0.34134224-73.4314573.304110.4988024.5406790.274194665.37542871.43362550.152200973.36631066-2.38940220.63741606-7.64883470.06378489-7.299422-73.4314573.304110.7848799.195127-0.79049935.97180181.05566750.109102171.3365556-1.84386440.43452-6.12390570.07057447-7.948492-73.4314573.304111.757868.4667635-0.5805267.85346361.14140760.108201672.164818560.27548370.413152720.46917910.091579266-2.226848-40.16423836.84654212.4450253.06873420.042020811.4168360.97221680.087074064.604454540.82201580.164990751.41351520.047598978.366361-40.16423836.84654211.0788730.868652640.142208784.7026831.84500360.185619313.1134464-2.08824441.4740075-4.1271630.13499625-5.301864-40.16423836.84654213.86049611.999989-0.3318901420.8754710.57053180.045879911.5033194-0.71806260.47474635-2.88244750.071144246-2.4297214-73.4314573.304113.44318417.74373-0.2389905610.3490650.95296430.079012531.69779568-0.77723072.475536-1.681770.18445331-2.5291717-40.16423836.84654213.36297313.357843-0.140276526.5124420.59203650.0493817931.261699240.098776430.163047920.222136570.16250232.2810626-40.16423836.84654213.90814111.55246450.01780214925.3019960.66165170.05302513815.299594-0.629778740.4531311-2.82371380.06076717-3.6867409-73.4314573.304112.80957622.243876-0.245701288.0259330.95066480.082720692.120299690.290610133.77714630.657082740.15334061-1.2675688-40.16423836.84654213.5983026.79293540.05385882422.8235680.86752210.071107820.863166250.161385270.660757840.372270080.116623020.8088526-40.16423836.84654212.5981534.7940580.0329361414.89893151.05351960.0932088642.35711350.41590130.502177240.961419760.082824144.1387806-40.16423836.84654212.74359810.8348540.0840896410.8267490.702281530.0614243672.29639350.155054033.64697670.389805670.243813340.8339504-40.16423836.84654212.43293415.8980450.03494588330.3362390.63051180.056525070.8339026650.0812439252.64455990.204546970.22464652-0.4930443-40.16423836.84654212.23291617.0748710.01863736727.0593090.609289170.055515591.284010250.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855943931.17841565999271470.0 .. 0.01.4858972.41061430.00.0150.00.01.36972282.11921642.250494-28.74133321.198503-13.85265331.0710.124071171.15913772.2889883.62270474.03638172.37079723.70005684.12905841.17841565999271471.17841565999271471.178415659992714775.00.00.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.001.55686190.67046631.9449520.01450368712.044845.28284594.637631.16517576.1268459.724410.00414934152.35170724.39676140.9310441-0.866238650.79052585-38.625770.006885227-3.7355373-3000.01288.49820.9797159163.837-85.885090.0013926343.48364267.74594160.8684484890.279230658.0488543.20549960.184390933.6717453-897.98315225.698351.1065629364.695956.31045150.0475784350.60112831.18340080.604437423-0.463270873.7191017-5.33188770.18945341-4.8138347-897.98315225.698351.039097534.32263-11.1780410.043105530.49790241.0438281.350590723-0.2157476813.572237-0.98638150.6395486-0.967451750.075.00.8566225260.72394-2.50839660.098894240.283144620.72004490.684823939-0.2420337213.132208-1.13303660.66125506-1.37758840.075.00.83081764179.43616-2.9708380.096183130.349472580.91632210.7503957100.00510525119.4914510.0259931221.7904499-0.821168540.075.00.8056978727.732360.070279230.244920420.188736330.510298251.637563110.006886983819.6912770.0350908971.91057880.716171150.075.00.76705015536.211850.099657840.236881390.220037740.62490531.51122100.084662745.59057660.447567940.404460581.9828240.075.00.5615379684.930541.73628350.026875270.201996270.78361911.9423268100.4758046611.4226542.528261.96837773.8928480.075.00.68962437379.111247.98637870.197265920.27290390.86206082.619376711-0.07114950614.227568-0.378103172.10675333.5578180.075.00.67735016386.47577-1.2160120.20368480.270319460.86937042.3543813110.4189265416.2564952.27263830.617684843.22604630.075.00.4799581156.9446110.3149660.0299841670.433031261.96542610.5270613110.26908258127.100481.50815822.12369081.87782720.075.00.45332178252.069967.24738070.091965070.35302121.69642630.21133110.710597041.27711694.21456580.171801845.28332230.075.00.5613998236.7417616.35390.0114101350.385471281.49575531.2297897120.167870610.375881851.00086140.163479482.69262310.075.00.69195646302.104463.15090940.0164945050.3430211.07989793.4471014120.454297753.97804882.7757760.375820463.31721230.075.00.48158088239.6718812.5561330.0183669630.394671051.78528191.2525387120.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855955800.2646038033517470.0 .. 0.00.97385199.9675590.00.0150.00.00.81986512.42346243.81471377.681822-7.30181654.40405561.49611650.97037281.69773962.62776687.56754717.4283542.64945677.744917.3784470.264614213060239970.264618817818992160.264603803351747125.82166133.850650.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.353952560.155173761.67657090.01887388911.0805624.501224133.850650.8125576411.581382.60928940.0077922121.39186372.16619231.8979561100.0619643140.466844050.300530.0170760270.990074344.501224133.850650.905455474.467730.4197350.0087541112.29457743.204720.518177190.95204130.29398675.0219830.0358920327.37806654.501224133.850650.5997851513.54461210.588490.0080738471.43329693.02200341.8213916101.28430380.306424086.7797120.03373041413.96495154.501224133.850650.679516210.99198812.6172860.0097389541.59222852.9631941.6855593110.126601871.04390930.693401630.0591615361.1713564.501224133.850651.750623727.8209020.500894840.113374681.03838670.75010280.8971405115.18018151.190780526.807080.0685841-0.91006623.120752125.821661.401195432.97558624.1938690.084199950.90117320.813324870.824931810-5.4097270.8420281-27.9978870.0693164-0.54302393.120752125.821661.413397334.781555-25.0504470.086587560.877557160.785173541.1628077100.222034160.591293751.17306940.077482012.22034383.120752125.821661.444203530.868141.02718770.1010528650.950930360.832673671.891711410-0.280944351.6606157-1.53353290.07577679-2.38564833.120752125.821661.671023637.75631-1.16055310.132309910.888337550.67227960.6864888711-0.371946871.1818382-2.1484330.07854476-4.73938663.120752125.821661.916751534.57621-1.4174590.180442910.98231830.648098351.0470837110.27033330.975182351.66984780.066295993.07068514.501224133.850651.943550536.4628221.08651460.156592131.02294490.66559631.091387120.631661951.30980733.75872040.067178243.29020983.120752125.821661.922164733.5010072.47288510.155203241.02807870.676379260.8726526120.0628389940.92772890.391827050.068342691.77625683.120752125.821661.963135753.0427250.252405380.164696260.85615480.55151391.2874001131.94861611.334076912.6062220.09096701414.0442263.120752125.821661.756687872.592769.0749640.175535160.75929760.54660291.1841062130.272891280.976159931.91578390.09094610.145530794.501224133.850652.105943764.99531.15041420.252213660.87079490.5229061.6688329140.814280331.37773515.7717610.090125856.87197164.501224133.850651.982073778.628293.68250250.221401170.799364750.51001121.1285051140.235902341.40235471.92183730.042638323.9658424.501224133.850652.224355288.975151.09261450.131916580.863674340.491021341.2956178160.484354471.50655833.78722930.109979792.31124073.120752125.821662.111402391.5240552.26832410.306581470.817317250.48952421.5727451160.43748581.39166443.9020670.105895834.6788254.501224133.850652.020213233.895422.44259860.270249040.58320320.365070941.5887237171.45696931.100527913.5061390.06218324224.0258264.501224133.850652.2061064173.179697.74210830.189241920.70442110.40379451.779411198.5393681.169511474.579170.0771295490.980263.120752125.821662.386753399.446439.5152320.27474310.87578460.46402811.8833286174.2865491.79667339.9513240.1583840547.455384.501224133.850652.140500381.1147423.6031720.453767121.03484070.611382071.9497396191.48551321.304320114.1248840.145875114.5518874.501224133.850652.268621267.766337.8736740.46945730.581072570.323908932.5780635190.987370853.85370069.408430.146562912.9192974.501224133.850652.2698243150.574075.24178740.47217130.776536350.432637361.053081419-0.057499833.1336908-0.59586210.20991932-0.996740644.501224133.850652.2804885299.40906-0.330424580.682651760.59888950.33210341.653188620-0.0301282834.9900055-0.312673180.22208722.08466864.501224133.850652.3758903341.92624-0.166425060.7839120.561241870.298729541.1615925200.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855948910.345947821278724870.0 .. 0.01.03767161.24204310.819564340.0035771818150.00.00.79063743.0903514.5802790.22539274.09468-0.790792429.8273470.106315321.43145371.30645314.9565269.9055581.36087514.97390110.1224320.34602238827732010.345932125591585650.35595474413466943114.32328148.999341.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.0080372.480.139687182548.08330.059930835-7.41674573000.01.00.00.00.00.00.00.011.33360740.00.161540690.00.00346160424.6924340.01000.0-0.00923466647.19237-0.01.6295334e-074.592686-669.38171.3957436630.23315221.50966061.30840980.08857848-0.040691786-4.7054486148.999340.3810632830.655244.62141470.0071001241.01356583.58000040.9346148110.56521381.0276023.2477780.096662045.5871906-4.7054486148.999340.313333356.3261913.9510850.0052385690.7656293.28881931.5650471120.792310062.65466624.951560.1884397111.678456-4.7054486148.999340.531415107.1706512.5411240.0293753840.6036831.52898551.1861843121.06882631.83458446.68464040.1779872211.915867-4.7054486148.999340.5983412109.0183115.0368680.035174680.59899221.34741231.7077409130.08771151.57739570.569152530.19991754-0.1634303-4.7054486148.999340.807382698.8654250.94880630.071937140.65260431.08792462.2290416132.1996151.355241211.0084110.252365171.09427622.354624114.323281.195984285.2477712.3887490.19926170.54204640.610013252.74343510-2.0223551.5019286-10.1223370.255229441.422087922.354624114.323281.157177981.37434-11.773590.188657730.554855170.645368462.507385100.62907933.226553.21427320.270648664.834720622.354624114.323280.8881970685.8754964.87081580.117860450.551369550.835529271.124479910-0.055916945.8572383-0.295181870.2944441-1.105139122.354624114.323280.99318784110.56897-0.400024440.160327940.502029960.68034070.79685915111.09415897.12525376.1121610.31495088.05886922.354624114.323281.2351763144.526646.66030450.26524310.46466550.506337050.678654511-0.0759910352.495886-0.556118250.220529440.38754344-4.7054486148.999341.3116066224.15082-0.570678830.20941960.488803860.5016021.591300115-0.131557232.9597862-0.7570830.335474-0.0910339822.354624114.323281.3745192105.989265-0.741345940.349867880.5589820.547362741.929890612-0.246715353.697277-1.48776670.35610035-2.135621822.354624114.323281.465575230.60022-1.36632820.422213380.397108170.364694331.3356687121.0193535.45406686.37759260.483063977.77899822.354624114.323281.3359789262.84436.42518140.47593470.385907170.388786761.4394548120.333075053.29935262.7702970.379703043.6965275-4.7054486148.999341.308477387.40132.84962990.358855720.42257490.434676172.4132402170.99386263.54007778.3461880.40029678.763544-4.7054486148.999341.1885918401.772679.4511280.31216990.418959050.474424452.3996136170.0609221835.34428550.58801340.325973781.9757328-4.7054486148.999341.2316635494.8360.64257440.272967070.433891480.47415171.7346277190.214680945.4708091.62339890.38406693.662500922.354624114.323281.1848667463.60531.8440980.297638680.35120250.398948041.5287237150.2485341928.5234532.62629960.944245933.199824-4.7054486148.999341.25897261667.27342.80773570.82615440.25879430.276672930.84405273210.7453514313.0103748.1859540.888660138.451658-4.7054486148.999341.2769781617.14578.6280780.79991920.442093760.465971321.7726493223.99488191.968590933.741880.2088380547.41546222.354624114.323281.2584554754.4159536.0877380.182569740.307510470.328889734.3536067172.192898510.32693724.2141550.547144629.748362-4.7054486148.999341.2608553481.2384625.8483180.480149120.50335070.53732081.6780128220.6870687613.7769117.73991060.64929648.683698-4.7054486148.999341.2912111346.8298.068020.59755920.30695840.319970971.3425605230.4986507314.7816715.6293820.76172727.0824585-4.7054486148.999341.27581541099.55595.9388330.68441360.340451780.359166651.4892193230.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331712637832060.200700606080193740.0 .. 0.01.045958310.00.00.0150.00.00.349705281.88528982.865971-32.15926-1.61273531.12637080.00.02.24171161.02930724.862704810.5620831.06786265.013325711.112990.200700606080193740.20107921433264220.200700606080193740.044.279670.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.522474940.53736380.77756780.04201776-0.32539245113.503944.27967-1.57116764.056713-0.594224450.07194630.73889995-0.56467411.344226740.95343660.339904841.4528940.0513091572.9213643113.503944.279670.00.00.00.00.00.02.479943841.28010340.652540742.12158510.094932195.3648534113.503944.27967-0.26497785.841752-9.6135920.00462341630.68571526-3.1071993.06665841.72685960.54494512.86415460.08966822.0294166113.503944.279670.683632735.8278955.03046750.0290679670.68704241.20668922.6809374-0.100019280.92850566-0.172117250.132808731.423311113.503944.279670.103199814.308893-2.00253560.00098110360.82900629.6452532.56308774-0.00182124340.7215365-0.0073534350.06717182-0.802014122.692198103.387760.4070564815.0733795-0.0216905380.0077201721.03996073.06758791.16452468-0.221344130.81145847-0.89379030.059632815-0.7885880522.692198103.387760.3501903715.734672-3.06454630.00507252571.01797893.49035260.970622369-0.126801120.6049516-0.522690650.07997794-2.61382422.692198103.38776-0.126572562.372524.9583830.00088874970.5219453-4.95131251.73956978-0.6134521.6886079-2.61258910.12199919-1.484274722.692198103.387761.111553127.376884-2.82212110.104555740.81395150.879231150.98991848-0.550731241.1682057-2.48198060.13053374-3.304220422.692198103.387760.5686351748.308384-5.24082230.0292766040.648406571.36914181.455019890.304735483.19825150.59142040.27947363-0.22616297113.503944.279671.164991426.1730480.609548570.263097550.37935530.390983281.614341740.62758822.11742952.913720.115758794.103497522.692198103.387761.023729327.8758283.41741230.0841501360.87934471.03135630.7849776100.483382252.94703872.35165520.1160996263.22439922.692198103.387761.150704736.4957542.45383020.106632390.805307570.84029660.5653041610-0.62751347.1941648-3.16737460.12649852-3.045669622.692198103.387761.131926833.086376-3.35981870.112422340.87750950.93082540.25599074100.302064754.4421230.66627390.224229220.92026615113.503944.279671.29288228.1163420.618769050.25998040.774234650.71903230.6270153550.9013311.45355652.00731090.277015182.0936432113.503944.279671.599326881.808041.50699620.4914830.24622510.184854422.275622850.41825084.7287161.07057490.362738731.4073732113.503944.279671.471192839.907650.873739960.54458250.405183940.33068721.205689250.20737664.22988561.26513180.252893480.331796422.692198103.387761.368362491.4055561.11011860.328450860.63810140.559916560.9814148512-0.73810170.6950657-2.06843970.096104085-3.6920571113.503944.279671.242258340.606506-1.99924350.102871770.43977330.42506141.8686602120.349840423.7866841.01893560.650887252.1855822113.503944.279671.176623734.9458851.03978570.62504520.492695660.50277760.4583963561.52409321.344641710.3853490.1027543312.55419222.692198103.387761.1532049159.4066510.8130790.094785880.53970490.56193311.1060563141.029265412.6927323.01402380.588571974.014102113.503944.279671.326593548.044112.7279950.71846530.422473280.382380840.5777768560.5925599320.1986471.7702580.91129111.9667367113.503944.279671.32463457.975761.60463191.10912220.392356660.355647620.608786056-0.223545915.707395-0.66926720.7916956-1.0507745113.503944.279671.335590262.434544-0.60167370.979569440.378896270.340629161.44666976-0.502244062.5088825-1.63527170.30731288-1.9236388113.503944.279671.28418272.94936-1.52896690.351531620.381210060.35642861.91163177-0.263161665.2934136-0.858093861.0346106-0.3783122113.503944.279671.4873008124.742226-0.692740741.58746840.291947960.235690122.579234170.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855953710.2653016465934290.0 .. 0.01.22022029.9978890.00.0150.00.00.917104072.73890784.810218317.187628-10.8526572.308475723.9545730.0833420462.09092042.8113557.782014420.2032032.85850057.90333920.400030.26560031655351460.265592185801449550.265301646593429206.17694219.401780.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.526091640.258649384.0878230.0136944399.47492387.10146219.401780.632809515.2347718.1735950.00342532741.99073173.9804651.0608906160.82637950.175523976.5747540.010024290513.33469587.10146219.401781.89779265.75870234.3835390.022550853.31541322.21046191.2347436161.4603520.688380112.6366170.02575302730.7092687.10146219.401780.701665327.95238922.7874070.0079195421.63668012.9513990.76565236171.97001470.756925617.0595190.02423328331.0634687.10146219.401780.75784429.06597728.4826950.008693281.60621942.68175550.69605374180.92921171.05242238.3485910.04214929412.02963887.10146219.401781.614442849.35256.54311560.068619491.27892171.00234070.89566845184.5794740.9469363738.8636250.046728745-10.13881689.539206.176941.846244144.22249626.634730.0994887951.27616270.874603151.02677317-5.49451540.94693637-46.633980.046728745-10.13881689.539206.176941.839408839.337048-32.0788150.098753491.35323190.93086791.026773170.140327070.613358261.21581790.0480905185.542692789.539206.176941.862547973.0931240.825952770.104204421.01341860.68845491.505472918-1.04835050.89494604-9.3843130.05185484-12.70811389.539206.176941.908178675.372475-6.2226810.1179340261.03107350.68369861.243266218-0.87626460.90098387-8.3004060.05445336-14.5293789.539206.176942.173961495.07454-4.8310510.160746010.971475840.5654241.500092718-0.129133691.2560194-1.3084910.04633866-3.691776887.10146219.401781.850333158.731155-0.894777240.099095761.32219930.90415130.83620596200.014630760.75508210.142772760.04800538-3.948695789.539206.176942.423967153.4319460.074526850.17617941.33498990.69685971.4808849190.20152461.20827962.0607080.0432324453.099378889.539206.176942.015325569.8411941.29379460.109676111.22358060.76821270.9011206200.565460561.37989565.99907350.062973957.37363589.539206.176942.10229481.661673.61064530.173843981.17401250.70659961.1266737210.258781971.01191342.9801950.06458013-0.487380987.10146219.401781.9111747110.7684861.97305140.147336871.09421470.72442971.68982230.772179541.80910038.9785560.0632541412.23219587.10146219.401781.8442601120.620616.1599670.134383251.0587110.726355730.9704758230.32070721.9892644.2859480.0425502552.708239687.10146219.401782.2644467172.854862.39485290.136281921.01647660.56797520.9776165270.343141731.7204634.40002350.074554533.285779789.539206.176942.1334655144.478962.6095370.211961571.06679060.63268510.962144250.57224511.38826978.3727220.0659590146.84031687.10146219.401782.3968568270.683934.4199630.23668470.88931030.469467251.7270076291.47429311.490179422.4191170.04459736550.24709787.10146219.401782.4531937236.604911.5632720.16764270.988604960.509900031.7612936305.2630110.5854928575.3788150.06056080499.28319589.539206.176942.5001862224.6480638.1479380.236454780.95557260.483599074.641781294.33751771.292170366.3160250.0758234382.469287.10146219.401782.4968662167.7829733.6060370.295260851.18032940.598138872.2259755311.15102124.45009917.953350.085944527.60797987.10146219.401782.4707599538.437569.1940970.3277110.67219380.344237421.1409833310.726970265.84942111.3633750.167775818.81244387.10146219.401782.483523457.121775.7893960.646364450.731096570.372478040.9574771531-0.060096456.086871-1.02160220.17140052-0.0892975387.10146219.401782.5854795504.94592-0.499959470.7156590.75650280.37022311.066520934-0.031488847.1476774-0.53607640.15470771-3.855469587.10146219.401782.6302497390.56516-0.257883670.66852510.86143660.414400670.9566248340.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669855960170.115292170180799830.0 .. 0.02.119420310.00.00.0150.00.04.20673511.94332416.714201-12.351577-9.3158425.12552450.00.02.244717411.38289734.080375.3788811.70910834.59813376.178120.11629286246639430.115372199663008210.115292170180799831287.6586171.290480.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.00-0.71010710.040276226-3.79641490.0052790972-16.53942523.992235171.290481.13675033.830755-3.7247510.00548419032.73154022.67997772.0021558113.7976080.11785252420.7887920.00970603222.75302323.992235171.290481.09857818.08078621.105080.0094172961.92571641.95501481.3011708111.55782180.786837169.27491950.02991786222.0011223.992235171.290482.36953415.9375174.3655190.135045191.49135850.70195260.6245894122.10150150.3535951712.5212050.02975483624.2980223.992235171.290482.332126414.5468715.98801230.130102131.56218210.747081941.3728712-0.0609947260.8522347-0.377059550.039071295.03076223.992235171.290481.958694917.344267-0.21469990.120507481.48436140.8452040.70844641248.6320460.272937542273.48680.0030039444-32.678654300.01287.65863.150049285.96844804.94050.0239634445.04197171.78513781.071954393-49.269950.27293754-2303.54880.0030039444-32.678654300.01287.65863.15341185.90007-814.714660.0240146185.04450461.78413061.0719543930.287605230.2992191613.7266980.005176515314.456326300.01287.65863.653858480.9394764.1898940.055560175.30504561.61929541.120434895-0.636458750.71095353-31.3840120.0062921336-36.670883300.01287.65864.3081503138.54988-8.12468050.093886314.1892391.08450850.937588299-0.20884950.5762837-10.8978230.009295381-8.818527300.01287.65865.9249134138.88574-2.05138160.262333544.4276930.833458841.0803946104-0.205561122.7556055-1.43314870.07594269-0.810600923.992235171.290485.771567338.35933-0.27694032.03374361.12567970.217525270.584425313-0.0653983350.8507181-3.51550220.0096813580.8904494300.01287.65866.734277136.92426-0.58221730.35297254.59388880.76081341.0264487107-0.809495330.8611473-45.597910.010032561-56.56052300.01287.65867.9404273319.96707-6.40456630.508536643.14903830.44230591.30399271130.101520870.7544045.9330690.0101728319.970829300.01287.65868.167973398.876980.81012830.54562352.92620370.399557171.45555681170.420538280.9513393.33223270.07511983-7.037589623.992235171.290488.36678550.1498070.444186544.22760531.118910.149150672.234507161.25484410.6306563610.0391530.02820588310.55137523.992235171.290487.970742761.41661.40471091.44065491.02085590.142841471.243668160.317917141.0958562.92328550.086671853.56749323.992235171.290489.881833157.876070.329930426.804180.731811340.082594341.678427818-0.43877950.65864956-30.9934560.0116036255-39.822063300.01287.65869.722028741.1789-3.55550930.881718752.59455060.29764181.33996951410.412006262.93140034.14770130.1083267554.839634423.992235171.290489.43872196.612340.490098157.75862170.71795680.084834770.8462687200.906119352.1625359.4806730.07935759412.4631823.992235171.290489.770457109.5834051.08221346.09033160.99949670.1140919850.93870556210.174033881.409893913.7306480.00929517747.399452300.01287.65869.667579802.822941.58402480.69841852.78450080.321231631.31856831572.66589381.621404828.043950.047712433.26700223.992235171.290489.78602991.38013.19610713.67338921.10045050.125415920.8179529210.9789781.029691310.5064070.05267894616.09191923.992235171.290489.28071181.6144261.26258793.64772631.18794910.142759581.2904166212.27040840.7623997324.4182070.04224386832.4444123.992235171.290489.36953493.821022.90659482.98141381.11034950.132169251.3444707210.223159342.72888682.61016040.141076682.875023423.992235171.290489.894531185.464360.2942121611.1037160.8588590.096808911.3905387240.116929183.6105491.36965790.140235193.804937123.992235171.290489.946997179.115780.1535708511.1548460.875230130.098133880.992542240.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331712595911190.370092394993317360.0 .. 0.01.10507774.5401430.479589670.013239315150.00.00.71399193.7316415.88062-12.3744960.45765640.3984053443.1520920.035920121.77092331.82603149.48895322.6220571.91265259.84348523.8216250.370092394993317360.370092394993317360.370092394993317360.00.00.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.079857510.00.001053317642.3194160.01000.0-0.2402005616.530357-0.03.2374846e-057.8789763-44.94130.922001640.00.104270830.00.001101753631.005020.01000.0-0.295706716.798605-0.05.132241e-057.8358784-36.3058320.844195964-0.54980130.53828084-2.34907050.052319504-5.0030823-70.486664111.4597850.266185910.819056-12.0909610.00197484971.29895956.6859081.276445290.51520520.94317782.2539270.0609994273.7377446-70.486664111.4597850.8267293612.7644733.73530750.0222102141.22449822.02929260.855204690.290661071.34149651.38299210.120568793.3336694-70.486664111.4597851.297981138.170081.45982620.1082111450.77014290.81292931.210369390.39210182.17033341.86704910.110937143.2436576-70.486664111.4597851.190603345.56142.14851570.083774410.705437240.81178530.729335410-0.0359666532.7077641-0.177688030.117097855-1.3895804-70.486664111.4597850.948831168.22471-0.256577820.056159990.59811860.86367090.6082828101.67102072.441434.9293570.236892372.288165385.9329766.187611.54466239.9302834.3722670.301105230.466828350.414069861.40633755-0.73005642.0547788-2.1538240.19769163.039268785.9329766.187611.479705139.669342-1.99427440.230589170.468410160.433711561.15914656-0.183993031.6039287-0.554126860.19134898-0.956090485.9329766.187611.145282618.367146-0.662897470.133706290.702727560.84066731.3376361.01916842.81280263.17119260.180311194.085786385.9329766.187611.411652924.8216463.07782940.191416260.624541640.60615450.8096016661.04507451.09453063.44105860.1170406043.89770385.9329766.187612.296921327.0436272.05255990.328949360.63315840.377673151.25806867-0.5739341.0292747-3.1978110.103384346-2.3386927-70.486664111.4597852.109083239.151497-2.07734660.244986680.89046450.578459261.541047811-0.74845377.6884184-2.53877450.21402176-2.841359985.9329766.187612.502533738.148838-1.38993350.71403270.549184860.300668870.296614177-0.705718762.7128282-2.50842290.2316153-3.723562785.9329766.187612.9372346144.05907-1.17007031.0644980.296141180.1381371.153028880.25321372.87814520.93379120.290003961.97556885.9329766.187612.4761128104.538050.516688940.947207450.360682760.199574381.28142658-0.0557201175.7411876-0.352843640.2207877-4.595433-70.486664111.4597853.0583944133.13086-0.158066061.1001760.54882120.245859641.047633912-0.166263251.5261925-1.06302640.14544737-0.56112486-70.486664111.4597852.8774254105.49357-0.506162350.64152610.62249350.296401651.4262836130.0455674941.05336020.3348520.148091752.9900312-70.486664111.4597853.404207127.482380.134768010.914245960.650837660.261942862.117414714-0.444858345.410509-1.98282290.32388833-2.085330785.9329766.187612.774881182.16827-0.97901511.32856980.491711230.24278150.88656649-0.36662381.9076148-2.94961140.10708417-4.698817-70.486664111.4597853.0759008140.04945-1.31383960.539722140.67983490.302817521.0896987160.284281647.15930132.3770760.31084542.3789928-70.486664111.4597853.2137141129.20791.01341121.71024850.73561350.313611750.7628314516-0.075489113.3535767-0.375820160.4410268-0.5579471685.9329766.187613.2680984182.43758-0.157555952.5093170.36858580.154523071.204595690.8363855.36469757.031420.319202187.993433-70.486664111.4597853.2240214135.326872.9880991.76751040.72267790.307111951.293843717-0.0224468918.995254-0.192520930.3807462-1.2907792-70.486664111.4597853.1965094363.6023-0.082518592.0724680.44978860.192789020.964514317-0.180223913.3004408-1.54904020.24436843-4.7308464-70.486664111.4597853.104415373.21545-0.683648351.2545990.444908260.196354361.8256896180.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
396331626990170500.17622796382648540.0 .. 0.01.17636168.1257280.00.0150.00.01.7969394.5601765.730378-0.32016927-1.61370351.4045047202.862270.00135245471.61956783.89387259.96165319.1333734.06027110.16640519.3683530.17620763604924830.176149577301157350.1762279638264854111.56187483.4589540.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.002.99855640.240904638.2365330.04432165610.027653-23.4996983.4589540.26252184.96098336.9037550.00220782081.23324235.5255372.180226661.65318790.155234624.64968730.074362788.275743-23.4996983.4589540.645254253.39667758.4758710.0223786761.52606982.78185826.210368652.43093350.298481377.43614630.0630230166.4132814-23.4996983.4589540.71476344.98352212.2370610.023272381.37027162.25494433.13723363.27932930.4065295210.0388490.0621396119.895733-23.4996983.4589540.0280532137.540181420.913423.5346857e-051.114828346.743032.491765760.779212530.99667282.47489070.126544482.0251274-23.4996983.4589541.978582910.6756771.4712730.358070640.97208080.57788261.54029256-2.4309660.8869461-10.374560.0928471460.11131758-6.0941143111.5618741.578519830.293995-7.7305630.167219030.77537640.57776871.415418192.35161350.8303485510.036960.10460090.9317325-6.0941143111.5618741.547063531.1813767.63107160.180954230.764343560.58112821.634309380.0928576960.812795040.404583480.106614030.80345654-6.0941143111.5618741.582948723.901970.300630330.193092350.89119630.66221351.62477929-0.266308132.8700988-1.19879110.123157516-3.6420991-6.0941143111.5618742.165424650.150257-0.65116640.417411150.635656540.345279630.698102069-0.219823092.5195675-1.04712990.13780886-0.99230736-6.0941143111.5618742.086660144.35831-0.59025590.433708130.715220150.403161940.7696605100.624695660.944582162.2376970.16806910.18669198-23.4996983.4589542.094282646.1820371.25677480.53281380.52710390.29604142.444554680.304526482.24614521.49439930.151808651.5509224-6.0941143111.5618742.258577850.3642540.77825710.559736550.691481230.360111360.86455739-0.57977441.6355891-2.98133330.12649548-6.745875-6.0941143111.5618742.667206539.04847-1.31475660.65043710.822904650.36289781.3029352112.46615081.786963913.1572340.1283759616.912664-6.0941143111.5618742.504121567.659556.1801740.581850650.64860520.304660771.0450289100.171208260.457447770.69700670.06336425-1.0349158-23.4996983.4589543.381811413.6084310.242425920.52379351.10359110.383840051.776084480.51086830.63620842.09990050.07248271-0.09811178-23.4996983.4589542.39719143.7995571.03035660.301062550.621090530.304750031.25171559-0.072355683.7969902-0.341831740.46028343-1.4431844-23.4996983.4589542.8233955125.418755-0.142407272.65207480.421850440.17574311.8156306100.165729366.33823161.06867110.26551561.2142383-6.0941143111.5618742.648442792.781710.474618851.34613380.66944270.29731330.6629065130.170503964.4231630.88190250.49953961.423682-23.4996983.4589542.489166227.983950.41673332.2371480.34255790.161871951.5919453100.96235244.12181145.17333170.478933486.8251495-23.4996983.4589542.5524797101.161282.38396292.25536510.534477060.24629651.3431993106.34841870.693541645.723950.10574040655.312233-6.0941143111.5618742.557318298.0745521.0305440.499835880.417172520.19187682.6468027142.8313376.165485415.302780.56272417.562872-23.4996983.4589542.466488667.3259357.29764462.47440430.658699870.314123151.3743191101.26152063.19502476.9559760.56041637.616441-23.4996983.4589542.632179795.079783.10837942.806460.565483150.25269442.6478353110.80700673.79579524.45932770.151682455.3597827-23.4996983.4589542.529389192.902272.07369690.70142870.397853850.185011820.7704448110.270445534.51889321.62522830.563996851.9723982-23.4996983.4589542.6785176132.65490.713692842.92470930.521762550.229123642.004658120.14170582.47150350.85282370.18369213.155915-23.4996983.4589542.658524109.940320.37732030.938401460.57397520.253947561.2619162120.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627074028300.167855770875802780.0 .. 0.01.190059110.00.00.0150.00.00.960539762.80662044.1975503-1.8094805-7.3140224.514448618.5955030.0713169952.24350792.1015326.1423114.3846592.1796666.294943314.3702840.167900442903027030.1678756837465590.1678557708758027893.08908112.801230.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.001.50488110.912306375.54765460.0243590087.7776045.9697285112.801230.602032073.528765410.7616530.0064732211.96243753.8068470.3519145370.743421440.149629792.80615470.035159192.98810825.9697285112.80123-0.405014254.011806-8.0915270.00422864361.8845452-5.4340733.023517882.44916650.776555710.0546770.0424894924.4084665.9697285112.801231.28151777.85327969.1628950.051162571.4649551.33502330.7973094693.30392580.8134178513.5738840.0374118722.9250095.9697285112.801231.55778987.69535910.1761720.066565431.48101481.11029850.6322450690.0294468810.374030770.125520420.08469059-2.2169455.9697285112.801230.63568239.7364740.230602220.0250920991.3660742.50970862.9680838-2.7341730.4691609-9.66766550.095363782.023585613.39233793.089080.959923746.933537-11.7618080.0644285751.34282111.63369372.46515673.40793540.469160912.0512570.095363782.023585613.39233793.089080.946239056.21388514.8737560.062604691.41859821.75084512.46515671.91834821.11302026.92504260.10049549.4186413.39233793.089080.980439368.1101628.2488030.070828691.26759421.50990191.174560180.139686722.63474270.520977560.125877650.929112413.39233793.089081.533987524.8993130.396630760.217177020.747429430.569033150.609025980.845559542.57440883.33715370.156617864.2573513.39233793.089080.939337731.8571854.1490020.1013226060.69924330.86935230.756154368-0.029769391.9503713-0.143112540.122550222.41040285.9697285112.801231.166976844.87069-0.143220320.1223658250.71767260.718213141.0365839100.182127913.68708090.74049630.152080062.071568513.39233793.089081.128138430.8617550.76656630.141911850.73187360.757639940.59452898-0.1154375751.592058-0.491816940.14519858-2.4922913.39233793.089081.417516168.70115-0.405195560.213914380.514013230.423482541.301328892.01552221.1967158.9091720.1289685512.58279413.39233793.089081.192130635.6043478.7277580.13438570.74079530.72571081.526288790.58947480.224310593.2207160.005402164519.3471955.9697285112.801232.240785110.9101541.67857770.0198879411.6541380.862106141.2307172221.75893380.949664659.7031830.0599463111.3598395.9697285112.801231.796267720.3701466.3085910.14181631.22227140.794668140.98293311-0.159239418.849123-1.0096370.33469093-1.08393015.9697285112.801231.7439206150.03899-0.67612620.746309460.51762190.346637160.6383284313-0.13518621.3742796-0.722240270.21191362-1.567991113.39233793.089081.5734389101.64075-0.53606940.384662840.529926240.39332792.1208913110.27710415.2294681.92355250.229315621.90653785.9697285112.801231.684157172.607221.33386140.47689240.528362040.366385460.99135536131.0400813.47171667.503750.161229166.34619955.9697285112.801231.819101266.965024.81737760.391182040.88163170.566004041.1214247147.29535061.067881843.534050.2246448553.78632413.39233793.089081.7336473168.2974229.3263170.49503920.459985550.30986513.2912548123.06002243.842545722.1961840.2674107826.8457095.9697285112.801231.9324023113.2287313.4143610.732142450.68167190.411971421.2946798141.84016311.95770213.6174250.258074416.3950825.9697285112.801231.9378663152.545018.2065450.710581960.599155660.361081330.42863628151.33304692.78716649.88581850.2254650412.8248395.9697285112.801231.8481659157.898216.2468470.564654470.5901720.372929571.414794315-0.063427487.565063-0.51154870.32563886-0.55321625.9697285112.801231.8050175430.2122-0.330974670.77789450.388837520.251579880.998596217-0.0332342055.4176116-0.268430530.5917163-0.659101675.9697285112.801231.8284483437.89517-0.171450381.45044240.38597710.246529032.1622488160.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627074045040.227694920441935930.0009915192641117695 .. 0.01.16420150.65021451.42405010.0012459339150.00.00.98551332.47955922.8595462-4.92701051.32129131.08725852.19598530.80409891.35069532.1657085.1395338.1610522.20792275.25775588.4488190.227700916855042120.227674276797465020.2276949204419359364.6302959.3501740.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.001.35200680.68785312.75664450.106590112.5496073-6.18880959.350171.17955393.40310572.8691510.098394681.10525931.15036812.681008640.0084237670.38733130.0175864230.14305617-0.36618266-6.18880959.350170.083717714.2292630.25789960.00066521230.5534528.1162075.90331948.5588792.926481519.4339620.2053960125.035252-6.18880959.350170.74972827.105645731.82350.076598240.85180991.39485571.9768227411.5459280.3277537526.2359850.1612263832.21078-6.18880959.350171.070578910.06541330.0863250.122600590.716230330.82134286.152960351.00302580.78595652.36473160.226279811.948314-6.18880959.350171.076793812.39125252.69612310.174072440.66974910.76360723.640266452.41056924.5073316.22070070.256112845.6234541.797679464.630290.3155852617.86042224.1998710.0169232540.610623962.37545920.713950165-0.654034856.0298815-1.68797490.259048284.9526541.797679464.630290.2248574218.213005-9.2161430.0086898910.60474783.3018510.545907650.27228570.79148990.71737120.272784740.706920561.797679464.630290.921809820.2496280.95541720.153787780.5854780.779757744.27697450.99670625.36252362.71303340.244684493.8588691.797679464.630291.396281539.4266432.38546250.316498370.433503960.381162820.555343664.11414436.172242611.85047150.256095414.4626811.797679464.630290.873588226.14952916.6540280.129668490.56327980.79160380.4859390660.55309614.08177041.47062860.25070562.5354319-6.18880959.350171.426749723.3574281.26545190.33859360.55016110.473404680.794072660.442796086.59742451.31393610.32072161.03842541.797679464.630291.242118235.1874051.29867880.32830180.500238240.49442950.6292391450.31172131.77381590.969274640.222430322.35589151.797679464.630291.67157942.9894560.71188570.412351071.79839181.32083251.642926865.14011961.991206416.5823880.2972561420.7950531.797679464.630291.08201946.86299518.8149320.230897750.47125810.53470521.930605962.98136356.8954789.0094190.384510376.914927-6.18880959.350171.355642192.7862558.1590990.468832050.313718440.28410932.374883468.89609052.8206527.1430470.3660404433.26439-6.18880959.350171.642538342.1232420.2877350.6552080.470108930.35137711.626541560.125438596.40682550.43988640.77993920.7059478-6.18880959.350171.2451155243.906540.433731850.80223040.224542040.221400421.508951770.713084166.65109832.78044460.79938263.74925781.797679464.630291.2762777221.25832.67460420.86390140.26213420.252155781.559432680.966347739.5477183.71013050.83818814.600533-6.18880959.350171.2496567147.170943.64492770.86844440.316478880.3109170.2863086271.202880916.5677624.79985861.02222886.2274485-6.18880959.350171.334633112.219384.41526751.20806690.376679420.34649780.8590285817.4342210.5993182775.929330.296452991.883891.797679464.630291.1513573227.5454480.9636150.26073240.28871740.307860025.87632293.53899572.365027414.1980420.988702917.204073-6.18880959.350171.2159947283.2225614.3346540.969947640.238388050.240681785.1218782.818558525.3267711.5361371.054679913.22784-6.18880959.350171.1898845264.8318811.9027140.99071670.25150590.259497880.5576746581.97517686.21664248.1015451.10957129.166096-6.18880959.350171.2170765170.866358.1722271.09046080.313786030.316523642.409422290.409729872.46564671.82768690.29554670.82700413-6.18880959.350171.057007194.469312.1228260.219079080.319873780.371527731.416476690.214686861.29634520.95906210.195362783.4828923-6.18880959.350171.053957277.33981.11715720.14398150.268247160.312465942.810590390.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627032125070.155040643921522640.0005192989655463348 .. 0.01.13705541.23062680.00.0150.00.02.2230373.59090883.76359582.0835655-1.26535371.066695515.953660.196732451.21706635.1944588.00339511.4145645.43701178.20449211.3622840.155037779179250240.155049605696963720.1550406439215226446.42935652.9889560.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.00-2.94321440.44244355-5.040860.048621587-7.5531032.686672752.9889561.22407691.8800713-4.75656270.0546074661.24909541.17864811.91706844.92290830.350310628.633240.0633230910.1371422.686672752.9889563.2522223.56182863.06613230.5020280.92921360.33001422.9571004421.1455550.1411333740.3315050.1198124347.4523352.686672752.9889562.056950310.69130922.6473770.379974930.58332410.3275543514.61568428.5253520.834770554.447810.0945334273.788042.686672752.9889560.904139948.00820169.557190.057924480.67449990.8616758.22718143.1108140.437894146.16062360.170348978.5491732.686672752.9889562.65313278.0955332.6820260.89879980.69602990.303016426.599525543.5365912.8703746.16828970.17088251.2964264-0.858828146.429362.04953155.8477973.47622130.53803720.72124660.406468060.975364744-3.4282582.7161598-5.9799670.171102020.27228233-0.858828146.429362.16769394.8905945-3.1863840.6026380.78875930.42028491.017814643.328218724.442495.9264030.19752396.980564-0.858828146.429361.828775620.1076343.74307040.495160580.397099050.25080470.1574879443.59983831.98028986.62264060.245077958.035196-0.858828146.429362.119485123.6786633.6090930.825221360.378067730.206032861.971673546.6956481.016057413.0349380.3289217715.664637-0.858828146.429361.991676630.7511837.55940150.9779930.351063280.203593485.224166440.514879640.80963741.14997660.32424160.999805572.686672752.9889562.210285414.159520.60094941.18732870.59355230.310175786.497844740.85914786.48595051.72305270.328183682.147503-0.858828146.429362.747790816.7957210.72428951.85733310.489363250.205705050.7652148640.474958152.36472320.99815030.356787862.1346612-0.858828146.429362.799559823.398110.41181622.09601830.43446040.179249392.7898855414.4599811.738055231.5283890.2396430137.176712-0.858828146.429362.22703426.76407616.3520490.89088980.421461520.218589011.868025346.9908591.386218817.7457070.2412027618.372652.686672752.9889562.166110513.8574269.4625880.84829890.68190120.363611942.9777777520.8600230.1089104353.4632150.009485206107.08892.686672752.9889562.47587045.640690324.9416070.043582091.0791310.503435131.898670410-0.53773037.782794-1.58399840.60426307-2.34043222.686672752.9889562.150569287.26137-0.85074342.09477970.315340130.169364780.930865361.61899274.26138544.26656680.78359274.873758-0.858828146.429362.0728045164.714452.37748342.52355340.20533730.114421282.119820460.126765132.69175740.408824060.194156210.76248312.686672752.9889561.6809665119.980530.28091480.41122060.294429450.202310981.017942472.15097052.22363427.2097660.1550945615.0391112.686672752.9889561.953538103.7745064.2628160.443655430.329034450.194543531.3506771436.709250.3925583108.054480.04880208243.28342-0.858828146.429362.051071672.25162560.849810.153888260.346292760.195011332.2713885106.328370.10624587521.3265760.01124028452.3859942.686672752.9889561.521239516.99729516.1927570.0194974580.81740890.620638971.7499297146.15856746.16962321.1735630.4296629725.1288932.686672752.9889561.757720693.3269113.913660.995022830.355885920.233861240.7042873574.542124713.79299115.6495490.617713118.6341762.686672752.9889561.8337903133.56269.8571051.55701080.29812630.187779380.5155677-0.00242032654.859671-0.0090689920.51878850.26991342.686672752.9889561.5123259253.60075-0.0069264530.88937850.235293430.179705631.49450988-0.00126818250.542652-0.00475887070.268249841.97488752.686672752.9889561.5299298233.05324-0.0035927720.470639050.245807190.185575374.43277970.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627032113640.116681003129801880.0 .. 0.01.232313810.00.00.0150.00.02.1975075.98115977.9127092.5075576-5.1681752.63446640.00.02.24341965.261316314.07733229.24465.612527414.43814829.7133050.116702430173174550.116671723436898340.1166810031298018896.53474103.012890.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.00-2.4000920.06671276-7.7257690.011993902-15.088388-2.781982103.01289-1.13767581.03931257.5831970.0124491363.1574814-3.09921312.26653656-0.864630760.32522088-2.84979650.021455446-4.796496-2.781982103.012890.69408911.5244706-4.58487750.0082891462.66946154.29474640.7920700362.57762810.46333789.2401010.0568382516.964567-2.781982103.012891.212770110.9066438.50799750.067040841.08545270.99945111.595759473.47722030.4427647312.47420.05341734422.913805-2.781982103.012891.541839410.8990519.0344710.1018362341.08664120.787002561.549865272.44483070.338581479.09977150.06175323214.34215-2.781982103.012891.12964276.14772278.9953590.063195141.50115171.48392712.458464484.972340.5145029417.4330330.0765303755.7834566.42366696.534741.343660211.05474614.4881390.110803761.05447850.87634961.90592057-3.71049210.51450294-13.0103510.0765303755.7834566.42366696.534741.378091110.3178625-10.5424180.116555141.09159780.884532631.90592057-0.254890920.47295427-0.912359240.0823834240.67643866.42366696.534741.789888112.54366-0.56920550.211657351.01064670.63052542.08033947-0.68901921.2714565-2.5480720.09910482-3.18250066.42366696.534742.344845510.945932-1.21346310.43698351.1177740.53231520.9710263671.00386690.90940813.9284810.117313674.16183046.42366696.534743.15874538.3024941.38879850.93868420.63231720.223537061.66001288-1.48251350.7454979-6.223190.10718484-7.9654484-2.781982103.012893.386592644.564938-2.05200890.98582780.628807540.207340391.94913389-0.931671260.871806-3.7560.13578953-6.14252476.42366696.534743.215887818.678747-1.30422891.12618520.9328010.32390471.88738198-0.62506480.88334024-2.64057090.1509068-4.52543646.42366696.534743.463332431.067503-0.85139831.45157310.75791350.244373752.349084181.51052861.79018186.62056730.1297557.9849976.42366696.534743.313351428.4586962.23129421.14235440.821596860.276898380.9528940390.197328331.82479050.94141970.12936151-1.5624177-2.781982103.012893.375532933.4554140.31143691.18203820.82482270.272864731.129745290.5888083.11296182.8362540.1122404265.328793-2.781982103.012893.136555731.190641.0097670.885517360.86250030.30706860.5900822100.112791412.20189950.62444960.205077561.6907451-2.781982103.012893.928652887.469870.177493682.53832460.591959660.168258731.440223110.325988323.8523031.7269030.173984812.08545686.42366696.534743.638522648.286910.529995261.84715450.76234430.233967320.6873659110.0851509410.7423950.51612770.32506111.8108133-2.781982103.012893.8646393162.595280.149134223.89336160.47535030.137351660.50154555121.41020934.18481168.8838540.169409599.533943-2.781982103.012893.938931561.530412.5185592.10783480.803106070.227679341.0041902129.9134470.668371158.657580.1777145370.891446.42366696.534743.951613494.89757516.5759662.2254280.607395950.171643185.0184903124.1489773.156208326.278550.2495246131.492598-2.781982103.012893.770438446.5312927.782852.84471560.92851270.27499521.349407131.80329232.081320311.6522950.2617800213.433622-2.781982103.012893.770899877.368683.45060782.98516440.734620.217543872.081997131.98578061.897731512.8589380.0696756318.020483-2.781982103.012893.964927489.3752753.62158750.878401760.684959950.192911911.1476737180.419405645.62797452.95359160.398481974.6895056-2.781982103.012893.9501376286.599460.83496324.98625950.415985760.117596761.3015313140.219756717.0379261.54987040.380505950.14801793-2.781982103.012893.9058886271.595520.443102964.6552490.427948920.122349220.59394765140.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331669981763530.149374980894740630.0 .. 0.01.366245310.00.00.0150.00.02.3719016.3818278.6534012.8181045-5.96353052.09847931.2751160.0459197352.24162725.60916214.99455831.7753265.91376715.21387332.4611050.14939143653437280.14935976788296790.14937498089474063100.9811995.6342850.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.25459260.084657180.783090830.0238774144.526648-4.56074695.634285-0.283314052.3918056-3.17691640.00145077481.9888564-8.068583.48628836-0.319070940.19401304-1.00490010.034745716-5.4032598-4.56074695.6342851.52044812.5828464-0.75964910.0608024371.95968541.48141422.333402264.1743050.4252765514.2985870.06348090627.592909-4.56074695.6342851.71371089.2724729.5899720.1411221.1248930.754458551.871863875.63113740.4525889519.3031920.0632841829.414057-4.56074695.6342851.6467669.47917313.4728350.129907881.11339120.77710131.720390870.95389311.33760133.392610.083710665.7303734-4.56074695.6342852.81123047.81463241.38707270.500783741.27227190.52016990.807556457-5.092720.6976004-19.2242450.07578688-0.90549794.9332767100.981192.217288715.420472-9.9652630.282042830.961281660.498299151.403233984.7100520.6967743617.781590.08626288-1.81852144.9332767100.981192.19073415.402439.3291640.313386080.961945060.50468731.46767877-0.874382850.3020566-3.36977220.08650208-5.22933774.9332767100.981191.9001179.662969-2.03836460.23640891.23977710.74993733.49380668-1.02413480.5420141-4.07779030.10344573-7.5036664.9332767100.981192.740786819.794233-1.71006010.58821970.89494930.37530552.62970548-0.91720612.6182559-3.86458470.11914836-6.6818434.9332767100.981192.631966634.386665-1.6876570.624777440.71852330.313777830.76537499-0.281537772.2804754-1.1292850.13270478-1.7725774-4.56074695.6342853.116767420.832888-0.416448120.97582490.87880420.324077930.733657880.179137241.3097270.777564050.1185493541.4877664.9332767100.981193.411072530.661720.262003421.04413740.78388440.264133071.39034189-0.372018221.9550471-1.69209360.122969165-2.6435134.9332767100.981193.526627825.291922-0.55147581.15768930.90441810.29476190.890608593.02075980.875113414.2550860.1013226519.1178344.9332767100.981193.237610816.799045.06065750.803956151.15136080.40874131.688034100.65393842.04643272.98114560.1029650053.6584764-4.56074695.6342853.970838321.2556460.86290451.22893970.988801660.28621260.7363682101.95128680.50273358.981420.1102527211.433511-4.56074695.6342853.68073842.86924272.80460521.13066982.71731660.848529642.870833690.49597132.2910082.62379810.209910082.993856-4.56074695.6342854.408026783.8078460.68414463.0874380.57787180.150677711.4363561110.132783493.7812690.75735120.293378440.254319824.9332767100.981194.05599379.359740.214615883.65341620.64025520.181433571.1990138111.43343130.753873658.3022750.092203899.861208-4.56074695.6342854.072869107.21352.3429251.15778170.55936530.157854441.6592283113.32579610.5345887520.0200860.02540498240.219448-4.56074695.6342854.124803535.825995.57858940.327191471.00570640.280239731.44439912418.9425450.3072028120.677180.039259713286.112274.9332767100.981194.179919279.2004633.1832540.519229650.715851550.196841553.729224249.7848250.6526392759.2196660.044947464140.46716-4.56074695.6342854.40314459.44585815.4584080.659640850.784968260.204904231.644503244.16360571.363161825.7079490.1125202729.953089-4.56074695.6342854.261054188.613466.93445161.54646940.449584660.121270781.0678242123.09191443.311715419.1317120.2882107822.676542-4.56074695.6342854.27547746.7850535.14317133.98800680.904633760.243192371.4292226130.039580780.98613150.26635020.234489632.2093885-4.56074695.6342854.3516726153.249280.0703491053.36134120.54358750.143573732.625065140.0207392090.336918680.139764850.151635693.4540565-4.56074695.6342854.2652044291.573520.0376634262.0881310.394667830.1063539464.187242130.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331626990166050.221250740042024550.0 .. 0.01.20870212.77498770.683759150.002482013150.00.01.33716183.81447864.9138132.11218050.182204780.2406509417.0494210.215094641.51850552.90527758.34578115.4920193.0578928.54640215.615910.221259628178627380.221239734536916640.2212507400420245539.24257748.4839170.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.001.96395313.15183193.25406720.093961414.5871334-3.299367448.483917-0.0332785472.2510502-119.417236.976997e-051.10434-40.526890.536604944-0.93478462.155044-1.58590160.11866391-3.7657187-3.299367448.4839170.545297154.1632676-3.5517950.0236578530.83147181.86216941.29034743.29513360.8290946.0801040.184000726.6222205-3.299367448.4839171.795724510.4211484.1350060.39782240.571584170.388727553.520961544.4451351.06610578.2081820.1705152210.110896-3.299367448.4839171.63203828.1394926.1421650.304518820.6472370.484326062.591514-0.5941192513.764744-1.1382480.2378787-0.92476827-3.299367448.4839171.215409614.273593-1.14371820.235608610.507103440.509540560.336845140.156581461.1943980.244060160.2622677-1.59961582.664596339.2425770.00.00.00.00.00.04.27272654-0.079143125.8892612-0.123371580.26009735-0.466872.664596339.2425771.42831975.7202835-0.105485930.355776370.65176820.55727890.79936744-0.02694673524.827606-0.0428807250.286010920.46379032.664596339.2425770.748123614.814703-0.069999290.107329620.413437130.674902440.267486140.79477753.1136431.30668350.325862471.01152632.664596339.2425771.492753631.9369831.06902330.48685640.290922880.238009681.7675841.23565133.19199012.14975450.3270033.82678772.664596339.2425771.599607621.6642421.64127090.561007860.373784420.285372822.0764914-0.369468184.133794-0.798312540.3476958-1.1107607-3.299367448.4839171.8015338.56965-0.54117320.756611170.34791490.235850271.3604124-0.0095864920.46793455-0.0171817350.285958021.28741672.664596339.2425772.09384124.274734-0.0100213940.84058190.36377270.2121735411.0751844-1.08395977.00063-2.03577780.30915508-3.18026762.664596339.2425772.482389524.845892-1.00153321.27733990.376781820.185363780.895903144.9159946140.415799.5790420.383218711.2378022.664596339.2425772.258436418.9654565.17987251.31054740.44743410.241950240.05627940240.577201372.77007341.41743360.4116468-0.17169465-3.299367448.4839172.425805842.5582350.71359461.62415370.37642940.18951012.586193351.72231114.39421134.27036050.432954675.0154533-3.299367448.4839172.05691235.119512.5354421.22818590.418387470.248409291.2082865-0.193942045.063152-0.55268141.0454967-0.7268591-3.299367448.4839172.083969693.964165-0.323883153.04435780.293982680.172280152.49462565-0.53655411.531487-1.26364110.8763344-1.13865642.664596339.2425772.2472672128.49945-0.68671082.9673560.207758920.112904120.99606450.5006609621.140731.5620430.940664651.4851446-3.299367448.4839172.3532443179.858060.810645163.49268320.232639950.120731930.5763889661.14092164.65325363.6996030.50242894.2554984-3.299367448.4839172.0724897230.495712.18005591.4469370.21358360.125857872.196138669.6469363.161962725.376590.47670329.3054242.664596339.2425772.1986141106.0559414.095781.54502740.255432640.141883612.185900253.35670546.734623410.9434721.016709712.753426-3.299367448.4839172.3634672293.394535.6547113.8079080.190333780.098349271.919509272.16966726.59172777.216391.13707898.504767-3.299367448.4839172.0972397118.219694.20220043.3533360.305901770.178130692.113963871.33041826.187314.4344881.20522865.9437943-3.299367448.4839172.059464164.634312.62962683.42742630.259773730.154044370.6788925570.147202331.7753980.533595740.7194253-1.1228946-3.299367448.4839172.0611403274.049560.3161622.0492320.218969260.129741952.338802880.07712985610.4023370.279999521.2384565-0.5418978-3.299367448.4839172.15939433.5938870.158354453.87199540.626332040.354223671.622124970.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627032121430.240687037783609420.0 .. 0.01.23389579.85065650.79975340.044240516150.00.01.56402566.5205599.400558-5.05347631.55092170.304501229.3134290.076210761.89597433.326706615.33865334.982983.454466315.79116635.5216450.240959144923592770.24043677457213320.24068703778360942689.001659.72197150.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.0010.0992870.936512053.40813230.1150318763.5167994-75.027029.72197150.00.00.00.00.00.02.045298341.17641340.368778530.406494830.13758153-0.5408683-75.027029.72197150.00.00.00.00.00.06.0780474-1.24961691.9299387-0.46961850.22929992-0.85258895-75.027029.72197150.00.00.00.00.00.01.8256114-1.68573322.6701376-0.633988260.23566236-2.364243-75.027029.72197150.00.00.00.00.00.01.983144240.714371743.01490190.27875190.302344080.35676825-75.027029.72197150.00.00.00.00.00.01.59273844-16.2785781.4326386-452.673680.020929093-0.02000680481.57567689.001651.1945952219.53777-470.139470.0194029361.87678341.94919650.81394135516.3552781.4538492454.85410.0205590180.0913267681.57567689.001651.1855792221.84613475.99650.0187732341.86718881.9539790.7987925560.0987541451.48842052.80364820.0223564563.35910781.57567689.001651.8902433169.816861.84021280.0518936142.17860151.42995490.803766557-0.0834792550.9612932-2.44858740.022406043-7.96786681.57567689.001652.4129705244.14569-1.25900020.0847509951.87720860.965212051.4523258580.32505150.910124510.0892140.02084319111.24561181.57567689.001652.754209208.395394.5448830.102714922.15011240.96855991.477897462-4.68039271.3698301-2.05972170.33118612-5.41353-75.027029.72197150.00.00.00.00.00.06.9983524-0.314293350.763777-10.0497390.019179802-15.49791581.57567689.001653.455015193.22984-3.60883570.148737162.30028940.826028051.5347631630.383766470.353913312.8586840.002722984922.04334881.57567689.001653.839088225.756744.1555710.0260721542.23002170.72068130.767705481-0.130405781.5966082-4.53335570.024904624-2.509198281.57567689.001654.162725394.41803-1.35115230.280356731.75042920.521709861.0660652691.29855267.10647630.64947920.4607383-1.2823288-75.027029.72197150.00.00.00.00.00.03.086259843.87475132.3993411.95671280.50701032.781726-75.027029.72197150.00.00.00.00.00.03.4483774-1.19364337.1720157-0.692799870.94545627-0.8740617-75.027029.72197150.00.00.00.00.00.02.20465834-0.54146211.7773184-22.7504830.029682958-30.28066381.57567689.001654.714446822.74493-5.98717830.428591971.46483910.385497420.991437884-0.310023513.501324-0.197003621.1251836-0.966098-75.027029.72197150.00.00.00.00.00.02.006985740.065933026.5002270.0435444341.39388381.276369-75.027029.72197150.00.00.00.00.00.04.27683540.201748794.0763449.4681920.05784824514.02320881.57567689.001654.7070921115.4952.49560930.832666461.40514870.370366631.2109208930.1939815330.525960.128804971.4139335-0.00028214479-75.027029.72197150.00.00.00.00.00.01.06045424-0.959205824.62619-0.6497841.5601877-0.65821964-75.027029.72197150.00.00.00.00.00.01.053934-1.12266292.8179514-0.762140631.190621-1.8851722-75.027029.72197150.00.00.00.00.00.07.03216554-1.066344613.521222-0.787273471.4144521-0.8730481-75.027029.72197150.00.00.00.00.00.01.69372464-0.55873444.917514-0.41311460.77036345-1.2942556-75.027029.72197150.00.00.00.00.00.03.918232240.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
396331627032126350.229871647077556670.0012674759205551546 .. 0.01.18759523.04632350.965023160.0027176621150.00.01.02841752.79617573.60726025.719289-0.31085783-0.2614751810.0657630.445443031.46422532.13623835.77063911.0703482.21404465.87421411.2836730.229890063949407060.22991040984627580.22987164707755667119.92291106.9062350.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.538550440.489965561.98152540.0580824544.504745511.620786106.9062350.761822110.14623453.19893840.022286021.15510331.86477771.501754271.41779050.32052095.34139440.0625107664.636780311.620786106.9062350.836515811.676417.85308460.028919021.10252371.62096462.51158680.82381760.586748243.37556860.0893722556.15543811.620786106.9062350.707372426.1912775.86892560.0295651030.80064041.39203182.09097891.11132990.34265374.55704070.099442938.70040411.620786106.9062350.7622590738.9932377.3525860.0381996630.65666711.05950373.768783881.24724780.73718895.30632540.137912026.69931511.620786106.9062351.215928824.0878455.36717220.134802760.86684640.87678642.40391878-2.10810142.7122514-10.1123240.132834730.547556045.5212393119.922911.136762741.9803-10.9405950.113483250.74034940.80098920.658590192.39973662.259236311.5124690.1201110261.7058425.5212393119.922911.175146741.37579712.048590.10965980.7458160.78054760.7256087100.189883381.07788990.92992060.123685791.93699625.5212393119.922910.849108631.259611.34692190.0589558220.87592541.2687141.647745310-0.060707741.2670891-0.30716510.14126272-1.20731665.5212393119.922911.145546961.051796-0.329775780.122555770.647557850.69522521.605520510-0.801110151.0855463-4.2893170.13481244-3.9794015.5212393119.922911.511404655.59409-3.49033550.203597260.718094470.584333241.8832204110.178254751.06497930.8552930.162417-0.3463232811.620786106.9062351.433975657.069270.733555440.220798150.63514460.54474172.1122679-0.174039961.8200217-0.95997350.13434662-1.2513245.5212393119.922911.450018257.28334-0.814227160.186747180.728779440.61813371.119614811-0.52857940.098987244-3.05513530.0015645378-23.9279945.5212393119.922911.240174230.450193-3.0297550.00159085961.04743041.03872910.8388072240.652214941.80392853.91114930.144956596.01885375.5212393119.922911.328393971.016913.6210730.169111120.71159480.658818361.2394253120.47907787.34967852.61251780.20043571-4.22990511.620786106.9062351.5313892102.795432.09813520.310761150.53785640.431957041.7803174111.42952023.08358347.870840.2118500610.60494211.620786106.9062351.541135102.438836.28116460.332652180.54399950.43412781.060107110.224397697.38475371.42003540.4158315-0.10526144511.620786106.9062351.6538426170.502851.05600210.7519450.484635170.36039651.034815712-0.15491377.132858-1.12280180.3773883-2.38044935.5212393119.922911.5179433218.21274-0.90971910.574883640.490651580.39753691.004197714-0.126463434.600875-0.87617750.15643491-0.814733311.620786106.9062351.6455604342.89142-0.65484430.2800540.374152660.27963710.78282917140.52045146.0167863.74763630.42581955.32028211.620786106.9062351.3675067211.842583.3704490.526459460.494732680.444939461.5056373142.5888513.591082620.9581950.4737296424.206785.5212393119.922911.5353216228.9041716.7885930.738260570.535081570.428627882.6081047161.53122025.781778311.0855550.3953676813.57467911.620786106.9062351.4796343352.60749.2143110.572255970.385544120.32046421.3488165150.902177168.764356.66341070.65140038.94812911.620786106.9062351.4972631255.49665.4734130.96543860.46207470.379554241.3707371140.75662411.14682015.60032750.18882977.3406311.620786106.9062351.3596067352.857885.0659380.230768950.394033670.356434552.061163150.0312420048.89084150.251486360.164430922.758097211.620786106.9062351.4686353307.576970.210600910.234472450.458985180.38436560.82855225160.0163699268.9933710.131965190.60296650.8120482611.620786106.9062351.4727784330.32390.110200040.86466610.443550080.370394921.2954158160.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
10710865821040670.0306179198229742970.0 .. 0.01.05269062.27291040.00.0150.00.00.982580071.99132872.0067577-9.3254968.312729-1.32423150.00.01.2083043.212094.97647435.7130423.22711975.1165135.90635970.0306204655206754220.030663412981897160.03061791982297429730.12326640.6841240.00.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.01000.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.000.00.00.00.00.00.075.00.00.00.00.00.00.01000000.006.86214070.1182087668.9668680.02857007813.68333313.63850640.6841240.00.00.00.00.00.04.58472149.2570280.05569600312.1053340.02480439115.12795613.63850640.6841240.00.00.00.00.00.06.84327641.25846340.232574611.70744620.036592312-0.219295613.63850640.6841240.00.00.00.00.00.02.85202749.8451390.096554979.9406250.03441504-7.53386350.76318130.1232660.00.00.00.00.00.06.1800944-14.3838550.3656262-14.5248790.033639424-0.171666490.76318130.1232660.00.00.00.00.00.02.45043754-0.8234040.13344058-0.84879780.0403425-3.5626620.76318130.1232660.00.00.00.00.00.05.4122464-3.52699970.8728791-3.75634570.07500124-7.50733380.76318130.1232660.00.00.00.00.00.02.150694644.060950.584935374.57673650.070558754.619130.76318130.1232660.00.00.00.00.00.02.070506843.54417040.268698455.4231760.0753336255.226076613.63850640.6841240.00.00.00.00.00.04.727977844.4955055.1294985.2194060.091625537.76924130.76318130.1232660.00.00.00.00.00.00.441447024-0.390066740.20618205-0.474560380.13229147-2.31379750.76318130.1232660.00.00.00.00.00.010.57965942.149930.86599142.7137530.169955313.25361560.76318130.1232660.00.00.00.00.00.03.154615240.386222721.1331150.67167070.178935380.5939162413.63850640.6841240.9244689.0950250.74879370.143974160.576655750.642868942.482749241.152452.14319832.02356980.18355613.662620813.63850640.6841241.430652913.4384311.45774530.353705590.47898490.345052571.606239140.453939082.53710770.916101630.359121862.019239713.63850640.6841242.016629730.2965350.46818251.37498760.366648230.187379092.476444540.165122145.42208240.25191320.449256870.917886260.76318130.1232661.460678245.4946060.177743630.90241940.226185980.159591151.494791641.1678929.2080742.58044820.514617153.106192613.63850640.6841241.213242732.34152.19202330.71315540.38851910.330036850.778723550.46807616.0354941.07487760.86639450.6561892613.63850640.6841241.160806744.996270.954326151.09910730.342337340.303942952.85663248.47673590.3451314.4446750.69501617.17650.76318130.1232660.9835409570.7868515.1360660.63297170.202536310.212230670.12302367441.37712683.68287443.17950150.74092813.434639713.63850640.6841241.0986389105.544332.98264650.841958340.224733430.210819322.518604551.26797631.9060992.98662850.336532652.422687313.63850640.6841241.330694649.9123342.31313250.56103320.33340040.258217362.317002541.048624511.2382752.47524710.725344063.204363613.63850640.6841241.314383474.720771.940861.17975760.273072450.214118170.8336608450.0522973653.9331380.134251980.23716852-0.140623913.63850640.6841240.96858877113.721140.142849580.209478990.24072450.256140680.74852425100.0274023415.15692420.070447510.230794973.04754713.63850640.6841240.8733493799.837440.083133360.165732230.257294950.303627371.0066822100.2111792418.4624650.67161810.61669750.6083090313.63850640.6841240.7181018664.047310.96390460.299397980.397393470.57033810.6118750660.00.00.00.00.00.075.00.00.00.00.00.00.01000000.00
" - ], - "text/plain": [ - "\n", - " TARGETID CONTINUUM_Z ... SIII_9532_CHI2 SIII_9532_NPIX\n", - " int64 float64 ... float32 int32 \n", - "----------------- -------------------- ... -------------- --------------\n", - "39633166985596095 0.20039185016125405 ... 1000000.0 0\n", - "39633166985595463 0.5871332116272191 ... 1000000.0 0\n", - "39633166985595831 0.11460627033282124 ... 1000000.0 0\n", - "39633166985594393 1.1784156599927147 ... 1000000.0 0\n", - "39633166985595580 0.264603803351747 ... 1000000.0 0\n", - "39633166985594891 0.34594782127872487 ... 1000000.0 0\n", - "39633171263783206 0.20070060608019374 ... 1000000.0 0\n", - "39633166985595371 0.265301646593429 ... 1000000.0 0\n", - "39633166985596017 0.11529217018079983 ... 1000000.0 0\n", - "39633171259591119 0.37009239499331736 ... 1000000.0 0\n", - " ... ... ... ... ...\n", - "39633162699017050 0.1762279638264854 ... 1000000.0 0\n", - "39633162707402830 0.16785577087580278 ... 1000000.0 0\n", - "39633162707404504 0.22769492044193593 ... 1000000.0 0\n", - "39633162703212507 0.15504064392152264 ... 1000000.0 0\n", - "39633162703211364 0.11668100312980188 ... 1000000.0 0\n", - "39633166998176353 0.14937498089474063 ... 1000000.0 0\n", - "39633162699016605 0.22125074004202455 ... 1000000.0 0\n", - "39633162703212143 0.24068703778360942 ... 1000000.0 0\n", - "39633162703212635 0.22987164707755667 ... 1000000.0 0\n", - " 1071086582104067 0.030617919822974297 ... 1000000.0 0" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fastspec, metaspec = read_results('fastspec', 'sv3', 'bright')\n", - "fastspec" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "b41397d2-1b84-4abf-b7a1-a4de2cef1951", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Table length=260358\n", - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
TARGETIDRADECSURVEYFAPRGRMHPXPIXELDESI_TARGETBGS_TARGETMWS_TARGETSV1_DESI_TARGETSV1_BGS_TARGETSV1_MWS_TARGETSV2_DESI_TARGETSV2_BGS_TARGETSV2_MWS_TARGETSV3_DESI_TARGETSV3_BGS_TARGETSV3_MWS_TARGETSCND_TARGETSV1_SCND_TARGETSV2_SCND_TARGETSV3_SCND_TARGETZZWARNDELTACHI2SPECTYPEPHOTSYSMW_TRANSMISSION_GMW_TRANSMISSION_RMW_TRANSMISSION_ZMW_TRANSMISSION_W1MW_TRANSMISSION_W2FIBERFLUX_GFIBERFLUX_RFIBERFLUX_ZFIBERTOTFLUX_GFIBERTOTFLUX_RFIBERTOTFLUX_ZFLUX_GFLUX_RFLUX_ZFLUX_W1FLUX_W2FLUX_IVAR_GFLUX_IVAR_RFLUX_IVAR_ZFLUX_IVAR_W1FLUX_IVAR_W2
int64float64float64str3str6int32int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64float64int64float64str6str1float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32
39633166985596095246.1086589336679345.0907368173874sv3bright100160000000001152921504606846976514000000.200391850161254050114.55421031452715GALAXYN0.974023160.982574460.990360440.998514650.99908752.58364157.10472113.1637472.65254647.2307213.2918746.600966517.99393333.07735426.67905218.141243104.2853760.78458829.7920862.31487150.8971721
39633166985595463246.0583654687562845.04464464528466sv3bright100160000000001152921504606855433257000000.5871332116272191029.775998942553997GALAXYN0.973386760.982145670.99012230.998477760.999064860.831168652.6668847.30440140.85389352.7153657.3772722.51418027.995043821.7214371.65974440.576416165.9872979.3477637.0285032.86999371.1946384
39633166985595831246.0887086264115245.113868221329604sv3bright1001600000000057646075230342348805140000791648371998720.1146062703328212401512.1874466608278GALAXYN0.97547070.983549540.99090190.99859840.99913914.22259436.20734868.0182914.58023736.8129468.6428152.089085131.51723245.23203193.1143122.4305524.23680713.74955611.0514531.07886470.5325098
39633166985594393245.9742543399894445.056749061168716sv3bright100160000000001152921504606846976514000001.1784156599927147012.899243049323559GALAXYN0.977344040.98481070.991601770.99870660.999205470.435418431.16059970.695584650.445511941.17850030.70147589.58750125.3615515.09589328.8384599.31993714.3182775.72032642.9017010.72921530.3267889
39633166985595580246.0680696766745345.06877356658734sv3bright100160000000001152921504606846976514000000.2646038033517470733.3899426758289GALAXYN0.97332130.982101560.990097760.9984740.999062542.5326076.688924313.4247882.60202576.810827713.5590537.70713920.17351240.161665.2754760.83731181.5620782.3999333.6814543.06137281.058136
39633166985594891246.0109753022578345.06306510188722sv3bright100160000000001152921504606846976257000000.3459478212787248701268.3135205507278GALAXYN0.975149150.9833330.990781660.99857980.999127571.25714623.96076588.2079061.28918364.0278998.2842732.55360037.978416416.40939333.2163729.218954208.1399100.33436643.5038874.3132471.4165941
39633171263783206246.1549248101193845.13219259361848sv3bright100160000000001152921504606846976265000000.20070060608019374057.22082219924778GALAXYN0.97708060.98463340.99150340.99869140.99919611.18688233.8080668.8339121.2147233.86749638.9096143.07426339.78799322.5487633.60111626.972706242.7628673.2163635.4339523.97517011.3195741
39633166985595371246.0509054523962245.08877347100553sv3bright100160000000001152921504606855433514000000.26530164659342901085.6870298683643QSON0.974175930.982677460.990417660.99852350.999092942.13217236.02041913.5753052.18869336.126546413.7066477.665235521.45637748.003384167.96878160.76186119.96178456.73545522.3213581.92815880.6716456
39633166985596017246.103540929065445.1155537254706sv3bright1001600000000057646075230342348805140000791648371998720.1152921701807998302914.145336690359GALAXYN0.97563920.9836630.99096490.99860810.9991458.90344424.86863750.544419.12575525.28166451.0052554.980892152.3171307.29666259.53635163.3110419.5254848.8543224.73335740.903961360.42938998
39633171259591119245.9972356406832145.1695841818247sv3bright100160000000001152921504606847233514000000.370092394993317360281.95626231096685GALAXYN0.97743090.98486910.99163420.99871160.999208571.4015547.684084418.108461.43391627.802137418.2612294.194368422.82214253.4161889.1178557.767902107.6291543.60021223.5398482.32375550.94610053
................................................................................................................................................
39633162699017050246.5498457706104644.74323133129912sv3bright99940000000001152921504606846976514000000.17622796382648540767.4151602834463GALAXYN0.97026930.98004370.98895410.99829690.998953763.0032676.41889610.8900773.0952926.54960211.01171110.41842822.0452737.06426249.66900325.50198669.0648128.97545421.1228183.37189321.1892775
39633162707402830247.0233690970235344.857835825961644sv3bright99940000000001152921504606846976514000000.167855770875802780710.7806382030249GALAXYN0.969476940.979509060.98865680.998250840.998925451.67141264.11440478.6496461.72403544.2004768.7488867.51821118.31752838.15233290.6227279.384186104.8317938.60371419.2700022.38850450.86358845
39633162707404504247.1653830646628544.7806227071367sv3bright99940000000001152921504606846976257000000.2276949204419359302223.226959705353GALAXYN0.97195610.98118130.98958650.998394850.99901391.75851063.9511475.94607161.8092494.02692846.00864273.45543157.690912211.4757310.6612878.89268338.19653123.2839372.3594065.82414441.684172
39633162703212507246.9800751402648644.801514404031074sv3bright99940000000001152921504606846976257000000.1550406439215226404389.07368350029GALAXYN0.97128180.98072660.989333750.99835570.99898993.71338035.4248327.24789333.8231755.5314417.32603457.305883410.5702913.99966111.5842497.5704217196.5498884.9466555.5074965.32231331.6682901
39633162703211364246.893560152703244.8018144356833sv3bright99940000000001152921504606846976514000000.1166810031298018801388.8553102761507GALAXYN0.97030280.98006630.988966640.99829880.998954953.66079338.64546417.2312933.7728368.82130517.42353215.61983736.52089372.1347877.69095652.69877691.3580134.6288225.5704822.62954621.033337
39633166998176353246.9800269548453644.907849659968505sv3bright99940000000001152921504606846976514000000.1493749808947406302523.0557672977448GALAXYN0.96711140.97791210.987768350.99811310.99884084.45700710.77754721.8595054.60857711.02097722.13019414.45363334.564569.40574111.3887197.116875113.2672943.37861325.0322252.22967860.84594935
39633162699016605246.5094379752094444.75338456663628sv3bright99940000000001152921504606846976257000000.221250740042024550922.7836276292801GALAXYN0.96927120.97937020.98857960.998238860.998918062.18728575.624999510.0337252.25662925.743486410.1496385.65486914.39255825.43389929.5653520.343351105.9809441.9534825.4164243.66258551.1420909
39633162703212143246.954194421296544.85536037344885sv3bright99940000000001152921504606846976514000000.240687037783609420556.3713598046452GALAXYN0.97011040.97993650.98889450.99828770.998948042.683205610.88983523.7010082.765876511.11279723.9671757.155791328.75068762.00713777.85100657.59883143.8628743.45260227.3196332.67533231.0454096
39633162703212635246.9879276154652544.8398657830197sv3bright99940000000001152921504606846976265000000.229871647077556670297.3998100608587GALAXYN0.97041150.98013960.98900740.998305140.99895881.4337584.1002438.0814981.47747434.1833268.1713222.87727888.14673715.91308420.87870416.913553255.5345387.5615453.758724.84290271.518858
1071086582104067246.7202529831595344.51243339068513sv3bright999400000000046116860184273879040000087960930222080.0306179198229742970230.3393868310377GALAXY1.01.01.01.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0
" - ], - "text/plain": [ - "\n", - " TARGETID RA ... FLUX_IVAR_W1 FLUX_IVAR_W2\n", - " int64 float64 ... float32 float32 \n", - "----------------- ------------------ ... ------------ ------------\n", - "39633166985596095 246.10865893366793 ... 2.3148715 0.8971721\n", - "39633166985595463 246.05836546875628 ... 2.8699937 1.1946384\n", - "39633166985595831 246.08870862641152 ... 1.0788647 0.5325098\n", - "39633166985594393 245.97425433998944 ... 0.7292153 0.3267889\n", - "39633166985595580 246.06806967667453 ... 3.0613728 1.058136\n", - "39633166985594891 246.01097530225783 ... 4.313247 1.4165941\n", - "39633171263783206 246.15492481011938 ... 3.9751701 1.3195741\n", - "39633166985595371 246.05090545239622 ... 1.9281588 0.6716456\n", - "39633166985596017 246.1035409290654 ... 0.90396136 0.42938998\n", - "39633171259591119 245.99723564068321 ... 2.3237555 0.94610053\n", - " ... ... ... ... ...\n", - "39633162699017050 246.54984577061046 ... 3.3718932 1.1892775\n", - "39633162707402830 247.02336909702353 ... 2.3885045 0.86358845\n", - "39633162707404504 247.16538306466285 ... 5.8241444 1.684172\n", - "39633162703212507 246.98007514026486 ... 5.3223133 1.6682901\n", - "39633162703211364 246.8935601527032 ... 2.6295462 1.033337\n", - "39633166998176353 246.98002695484536 ... 2.2296786 0.84594935\n", - "39633162699016605 246.50943797520944 ... 3.6625855 1.1420909\n", - "39633162703212143 246.9541944212965 ... 2.6753323 1.0454096\n", - "39633162703212635 246.98792761546525 ... 4.8429027 1.518858\n", - " 1071086582104067 246.72025298315953 ... 0.0 0.0" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "metaspec" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "d8bb0673-3464-4616-9228-c8498cbbc681", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Table length=497940\n", - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
TARGETIDRADECSURVEYFAPRGRMHPXPIXELDESI_TARGETBGS_TARGETMWS_TARGETSV1_DESI_TARGETSV1_BGS_TARGETSV1_MWS_TARGETSV2_DESI_TARGETSV2_BGS_TARGETSV2_MWS_TARGETSV3_DESI_TARGETSV3_BGS_TARGETSV3_MWS_TARGETSCND_TARGETSV1_SCND_TARGETSV2_SCND_TARGETSV3_SCND_TARGETZZWARNDELTACHI2SPECTYPEPHOTSYSMW_TRANSMISSION_GMW_TRANSMISSION_RMW_TRANSMISSION_ZMW_TRANSMISSION_W1MW_TRANSMISSION_W2FIBERFLUX_GFIBERFLUX_RFIBERFLUX_ZFIBERTOTFLUX_GFIBERTOTFLUX_RFIBERTOTFLUX_ZFLUX_GFLUX_RFLUX_ZFLUX_W1FLUX_W2FLUX_IVAR_GFLUX_IVAR_RFLUX_IVAR_ZFLUX_IVAR_W1FLUX_IVAR_W2
int64float64float64str3str4int32int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64int64float64int64float64str6str1float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32float32
39633166985596423246.1335797807282745.096615692108sv3dark1001600000000046740000001.05626873871090870218.676706969738GALAXYN0.9748930.983160440.99068590.998564960.999118450.237217590.241024970.55758940.24332680.245153250.56283170.427040870.43024630.9877750.5883441.0856032280.54486191.3729489.129786.17615371.7279983
39633166985595227246.0383893199967845.03201944289077sv3dark1001600000000010280000000.51448152414214270395.1192951798439GALAXYN0.97391070.98249870.990318360.99850810.99908350.46547711.01711731.14483380.47794641.03523521.1560260.61478741.33163391.48700824.09280976.230288405.20343224.33617110.931836.6604741.7770952
39633166985595749246.0813142241706545.100071138960196sv3dark10016000000000461168601842738893200000343597383681.549051631410019601855.343806348741QSON0.974699140.98302990.990613340.998553750.99911163.28061444.52292735.33458763.36577134.6010075.3851364.3301895.91936546.928176413.90349730.545452238.76451178.14198124.4349445.4816941.380112
39633166985594692245.9967676281738445.07340018578964sv3dark10016000000000461168601842738893200000343597383681.12534335334839470479.2496824115515QSON0.97604560.983936670.991116760.99863160.99915943.171424.4341154.4770683.2492544.50650454.5171954.1770645.79331645.807060216.5398126.703203262.50238166.2987452.7566035.1245171.3982909
39633166985595701246.0783369341602645.06734848064391sv3dark1001600000000046740000005.182457240567659054.30606400966644QSON0.97317710.98200440.99004380.998465660.99905740.22411090.268137570.59925140.23028790.27305130.605277660.345992540.410241720.909390151.63855811.8393191503.91302230.74118108.206916.7328381.8558621
39633166985595264246.0418227573135345.10728706429148sv3dark100160000000002570000000.15116342595057120108.56304032565095QSON0.975023030.983248050.99073450.998572470.99912310.0089658130.369552522.08520840.0091954880.37584872.10470960.0140778440.575406133.22220813.2128936.535925354.15097196.32972.36385.199381.653202
39633166985594762246.0016525775220445.05862321831356sv3dark100160000000002570000000.58910645386009160404.7810401134193GALAXYN0.97543860.98352790.990889850.998596550.99913790.38263032.33938037.9573230.392264872.378568.0304820.6485263.932439613.27668240.11078624.794683313.68625149.050859.764173.95942881.4478878
39633166985595463246.0583654687562845.04464464528466sv3dark100160000000001152921504606855433257000000.58789308747356340297.9161113128066GALAXYN0.973386760.982145670.99012230.998477760.999064860.831168652.6668847.30440140.85389352.7153657.3772722.51418027.995043821.7214371.65974440.576416165.9872979.3477637.0285032.86999371.1946384
39633171263783140246.1486961148290845.135154697720075sv3dark100160000000002570000000.57386435155986290317.2057839408517GALAXYN0.977162240.984688340.99153390.99869610.999199030.342387861.81859926.0450150.350391.8468786.09662960.90426934.76633215.73388241.706923.274502192.25821112.1668648.2983473.7934171.3985121
39633166985595371246.0509054523962245.08877347100553sv3dark100160000000001152921504606855433514000000.265323055741164502538.6535840034485QSON0.974175930.982677460.990417660.99852350.999092942.13217236.02041913.5753052.18869336.126546413.7066477.665235521.45637748.003384167.96878160.76186119.96178456.73545522.3213581.92815880.6716456
................................................................................................................................................
39633158391465095246.5041301620424344.450175154017174sv3dark999400000000025940000001.4521286180860178059.34299099445343GALAXYN0.97403060.98257950.990363240.998515070.99908780.225453820.26543170.648156170.231464820.270137640.654463050.29771340.34745490.8417797711.95638115.5879345475.459688.0459685.910135.7521421.5739572
39633158391467785246.7252060958729844.54426316250892sv3dark999400000000025940000001.163220313665081036.46174583211541GALAXYN0.97047950.980185450.98903290.998309140.99896120.227209270.29193650.70275940.234120640.2978380.710552040.775163950.986129642.35260925.8006155.017497194.0779767.319523.9591585.5872651.5160209
39633158391467623246.709185997126944.524068555484426sv3dark999400000000046740000001.2382024912920164036.911918548867106GALAXYN0.96990840.97980020.98881870.998275940.99894080.288563250.35721130.68490220.2975160.364575650.692646860.382128480.468259720.88963331.90463720.9435979461.70175147.6809886.360896.69190261.7512449
39633158391466480246.6197551701238244.4885851727632sv3dark999400000000025940000001.5441880062096711037.13137704320252GALAXYN0.97103110.980557560.98923980.998341140.998980940.284243640.438532980.898383860.29272350.44722820.90815580.50570090.77261881.56890432.71902681.3538456475.49268145.2069737.8750574.87074851.4762954
39633158391466683246.6340717435898644.41240365343528sv3dark99940000000004611686018427387904000001310720.132902079040319701254.9617980122566GALAXY1.01.01.01.01.00.00.00.00.00.00.04.1872367.463867710.3244450.00.00.00.00.00.00.0
39633162703212806247.002269214424244.695149310050375sv3dark999400000000025940000000.9513577448408820174.34606560319662GALAXYN0.96920490.97932550.98855470.998235050.998915730.27208510.41442820.85572340.280730220.423177180.86563080.74735441.12657382.3044651.72931412.3247006243.1553679.1106424.2785786.0457371.6505418
39633158391463977246.4086369797677844.530602366315684sv3dark999400000000046740000001.2444337892307988043.9792720079422GALAXYN0.9713460.980769930.98935780.998359440.998992150.234480710.234216440.46200870.241397710.238808740.466978370.309969160.306644770.59962821.75272791.6378458453.1274133.0045685.772095.76791951.5642376
39633162703212831247.0045059608908744.65178599493612sv3dark999400000000046740000000.5945913126649682087.457658842206GALAXYN0.97024190.980025230.98894380.99829530.998952750.224665610.324495580.62799090.231556280.331109430.63501170.29780580.42584160.81669194.2788874.2401853448.6294128.965104.816516.59206721.7715948
39633158391466442246.61709538233144.45226339986003sv3dark99940000000004611686018427387904000001310720.2748787794460209603765.6741342544556GALAXY1.01.01.01.01.00.00.00.00.00.00.05.52354349.34281510.6307240.00.00.00.00.00.00.0
39633158391466631246.6296301408237444.486782568182974sv3dark999400000000025940000000.8931365803855869011.65706766396761GALAXYN0.97089140.98046330.98918740.998333040.998975930.232789960.332269250.69423110.239769310.338890050.70181960.38755390.54776891.13439432.69319991.7454821512.99615155.0489842.0016256.22100931.6806717
" - ], - "text/plain": [ - "\n", - " TARGETID RA ... FLUX_IVAR_W1 FLUX_IVAR_W2\n", - " int64 float64 ... float32 float32 \n", - "----------------- ------------------ ... ------------ ------------\n", - "39633166985596423 246.13357978072827 ... 6.1761537 1.7279983\n", - "39633166985595227 246.03838931999678 ... 6.660474 1.7770952\n", - "39633166985595749 246.08131422417065 ... 5.481694 1.380112\n", - "39633166985594692 245.99676762817384 ... 5.124517 1.3982909\n", - "39633166985595701 246.07833693416026 ... 6.732838 1.8558621\n", - "39633166985595264 246.04182275731353 ... 5.19938 1.653202\n", - "39633166985594762 246.00165257752204 ... 3.9594288 1.4478878\n", - "39633166985595463 246.05836546875628 ... 2.8699937 1.1946384\n", - "39633171263783140 246.14869611482908 ... 3.793417 1.3985121\n", - "39633166985595371 246.05090545239622 ... 1.9281588 0.6716456\n", - " ... ... ... ... ...\n", - "39633158391465095 246.50413016204243 ... 5.752142 1.5739572\n", - "39633158391467785 246.72520609587298 ... 5.587265 1.5160209\n", - "39633158391467623 246.7091859971269 ... 6.6919026 1.7512449\n", - "39633158391466480 246.61975517012382 ... 4.8707485 1.4762954\n", - "39633158391466683 246.63407174358986 ... 0.0 0.0\n", - "39633162703212806 247.0022692144242 ... 6.045737 1.6505418\n", - "39633158391463977 246.40863697976778 ... 5.7679195 1.5642376\n", - "39633162703212831 247.00450596089087 ... 6.5920672 1.7715948\n", - "39633158391466442 246.617095382331 ... 0.0 0.0\n", - "39633158391466631 246.62963014082374 ... 6.2210093 1.6806717" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "fastphot, metaphot = read_results('fastphot', 'sv3', 'dark')\n", - "metaphot" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "63ade89b-3c74-4643-8b37-bd43071626f3", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "DESI master", - "language": "python", - "name": "desi-master" - }, - "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.8.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 2c5f072a2b74a3e22b177bc450168d0a9044b599 Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 16:27:20 -0500 Subject: [PATCH 15/17] use full path to logo --- README.rst | 4 ++-- docker/Containerfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 1a0cebb4..e2026dc5 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,6 @@ -.. image:: doc/_static/fastspecfit-logo.png +.. image:: https://github.com/desihub/fastspecfit/raw/main/doc/_static/fastspecfit-logo.png :height: 180px - :target: doc/_static/fastspecfit-logo.png + :target: https://github.com/desihub/fastspecfit/raw/main/doc/_static/fastspecfit-logo.png :alt: FastSpecFit logo |Actions Status| |Coveralls Status| |Documentation Status| |ASCL Reference| diff --git a/docker/Containerfile b/docker/Containerfile index d3ec8b1b..fa0642ee 100644 --- a/docker/Containerfile +++ b/docker/Containerfile @@ -74,7 +74,7 @@ ENV DESIMODEL_VERSION 0.19.2 ENV DESITARGET_VERSION 2.8.0 ENV DESISPEC_VERSION 0.68.1 ENV SPECLITE_VERSION v0.20 -ENV FASTSPECFIT_VERSION mpi-and-logging +ENV FASTSPECFIT_VERSION main #ENV FASTSPECFIT_VERSION 3.1.1 RUN pip3 install --break-system-packages git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil From a4b08b5d5a86d4568427b34821a13aa828df00ec Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 16:30:06 -0500 Subject: [PATCH 16/17] update change log [ci skip] --- doc/changes.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/changes.rst b/doc/changes.rst index 3054b338..7099b33a 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -5,11 +5,13 @@ Change Log 3.1.1 (not released yet) ------------------------ +* Progress toward pure-MPI production code [`PR #200`_]. * Fix <1% bias in fluxes and EWs of tied and free doublet ratios [`PR #198`_]. * Backwards incompatible update to the data model; expanded unit tests [`PR #197`_]. .. _`PR #197`: https://github.com/desihub/fastspecfit/pull/197 .. _`PR #198`: https://github.com/desihub/fastspecfit/pull/198 +.. _`PR #200`: https://github.com/desihub/fastspecfit/pull/200 3.1.0 (2024-11-21) ------------------ From fc7edad74647193708ad595ccdfc959fb899b80b Mon Sep 17 00:00:00 2001 From: John Moustakas Date: Thu, 12 Dec 2024 16:37:18 -0500 Subject: [PATCH 17/17] pin at numpy<2 --- pyproject.toml | 4 ++-- requirements.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 77a89618..c123fec3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "fastspecfit" -version = "3.1.2" +version = "3.1.1" authors = [ {name="John Moustakas", email="jmoustakas@siena.edu"}, ] @@ -18,7 +18,7 @@ classifiers = [ "Topic :: System :: Software Distribution", ] dependencies = [ - "numpy", + "numpy<2", # desiutil pinned at <2 "astropy", "scipy", "healpy", diff --git a/requirements.txt b/requirements.txt index e624517a..58725d91 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy +numpy<2 astropy scipy healpy @@ -9,4 +9,4 @@ fitsio speclite git+https://github.com/desihub/desimodel.git@0.19.2 git+https://github.com/desihub/desitarget.git@2.8.0 -git+https://github.com/desihub/desispec.git@0.67.0 +git+https://github.com/desihub/desispec.git@0.68.1