From aa1780aabb6863359f05a7ce11b7fc87b2e4c449 Mon Sep 17 00:00:00 2001 From: Melissa DeLucchi <113376043+delucchi-cmu@users.noreply.github.com> Date: Thu, 17 Oct 2024 12:40:41 -0400 Subject: [PATCH] HATS renaming (#443) * Initial renaming hipscat -> hats (#418) * Initial renaming * Add the data back... * Rename test file. * Update notebooks. * Update requirement in branch * Fiiiine * Initial work toward properties file. (#422) * Initial work toward properties file. * Responses to code review comment. * Fix reference to partition info constant (#423) * Fix reference to partition info constant * Remove unused import (and unused typedef) * Fix tests for table properties, and add additional on creation. * catalog name in margin generation * Un-skip tests. Fix data so tests can pass. (#425) * Fix reference to partition info constant * Remove unused import (and unused typedef) * Fix tests for table properties, and add additional on creation. * catalog name in margin generation * Un-skip tests. Fix data so tests can pass. * change to spatial index * regen test data * fix unit tests * regenerate test files with point map files * unskip test * fix mypy * update index type * fix review * Update test data for dataset insertion (#440) * Update test data for dataset insertion * Update dependency. * Fix nan references for numpy 2 * Update repo links --------- Co-authored-by: Sean McGuire Co-authored-by: Sean McGuire <123987820+smcguire-cmu@users.noreply.github.com> --- .gitignore | 6 +- README.md | 10 +- benchmarks/benchmarks.py | 10 +- docs/_static/lazy_diagram.svg | 12 +- docs/conf.py | 4 +- docs/developer/contributing.rst | 2 +- docs/getting-started.rst | 23 +- docs/index.rst | 2 +- docs/requirements.txt | 3 +- docs/tutorials/exporting_results.ipynb | 6 +- docs/tutorials/filtering_large_catalogs.ipynb | 6 +- docs/tutorials/getting_data.ipynb | 14 +- docs/tutorials/import_catalogs.ipynb | 24 +- docs/tutorials/margins.ipynb | 12 +- docs/tutorials/performance.rst | 4 +- docs/tutorials/pre_executed/des-gaia.ipynb | 1924 +++++++++-------- docs/tutorials/pre_executed/ztf_bts-ngc.ipynb | 107 +- docs/tutorials/remote_data.ipynb | 13 +- pyproject.toml | 6 +- requirements.txt | 2 +- src/.pylintrc | 2 + src/lsdb/__init__.py | 2 +- src/lsdb/catalog/association_catalog.py | 6 +- src/lsdb/catalog/catalog.py | 36 +- src/lsdb/catalog/dataset/dataset.py | 6 +- src/lsdb/catalog/dataset/healpix_dataset.py | 54 +- src/lsdb/catalog/margin_catalog.py | 8 +- .../abstract_crossmatch_algorithm.py | 33 +- src/lsdb/core/crossmatch/kdtree_match.py | 2 +- src/lsdb/core/plotting/skymap.py | 12 +- src/lsdb/core/search/abstract_search.py | 6 +- src/lsdb/core/search/box_search.py | 12 +- src/lsdb/core/search/cone_search.py | 12 +- src/lsdb/core/search/index_search.py | 2 +- src/lsdb/core/search/pixel_search.py | 2 +- src/lsdb/core/search/polygon_search.py | 14 +- src/lsdb/dask/crossmatch_catalog_data.py | 6 +- src/lsdb/dask/divisions.py | 18 +- src/lsdb/dask/join_catalog_data.py | 74 +- src/lsdb/dask/merge_catalog_functions.py | 42 +- src/lsdb/io/__init__.py | 2 +- src/lsdb/io/{to_hipscat.py => to_hats.py} | 85 +- src/lsdb/loaders/__init__.py | 2 +- .../dataframe/dataframe_catalog_loader.py | 80 +- src/lsdb/loaders/dataframe/from_dataframe.py | 5 +- .../loaders/dataframe/from_dataframe_utils.py | 72 +- .../dataframe/margin_catalog_generator.py | 44 +- src/lsdb/loaders/hats/__init__.py | 1 + .../abstract_catalog_loader.py | 41 +- .../association_catalog_loader.py | 8 +- .../hats_catalog_loader.py} | 20 +- .../hats_loader_factory.py} | 16 +- .../hats_loading_config.py} | 8 +- .../margin_catalog_loader.py | 12 +- .../read_hipscat.py => hats/read_hats.py} | 28 +- .../read_hipscat.pyi => hats/read_hats.pyi} | 12 +- src/lsdb/loaders/hipscat/__init__.py | 1 - src/lsdb/types.py | 12 +- tests/conftest.py | 59 +- tests/data/generate_data.ipynb | 627 ++++-- .../data/raw/cone_search_expected/catalog.csv | 306 +-- .../data/raw/cone_search_expected/margin.csv | 208 +- .../small_sky/small_sky.csv} | 0 .../small_sky_no_metadata/catalog_info.json | 8 - .../data/raw/small_sky_no_metadata/properties | 6 + .../provenance_info.json | 53 - .../small_sky/Norder=0/Dir=0/Npix=11.parquet | Bin 5857 -> 0 bytes tests/data/small_sky/_common_metadata | Bin 995 -> 0 bytes tests/data/small_sky/_metadata | Bin 2107 -> 0 bytes tests/data/small_sky/catalog_info.json | 8 - .../dataset/Norder=0/Dir=0/Npix=11.parquet | Bin 0 -> 8913 bytes tests/data/small_sky/dataset/_common_metadata | Bin 0 -> 3983 bytes tests/data/small_sky/dataset/_metadata | Bin 0 -> 5103 bytes tests/data/small_sky/partition_info.csv | 4 +- tests/data/small_sky/point_map.fits | Bin 0 -> 57600 bytes tests/data/small_sky/properties | 14 + tests/data/small_sky/provenance_info.json | 53 - .../Norder=0/Dir=0/Npix=4.parquet | Bin 6381 -> 0 bytes .../Norder=1/Dir=0/Npix=44.parquet | Bin 7210 -> 0 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 6973 -> 0 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 7216 -> 0 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 6741 -> 0 bytes .../small_sky_left_xmatch/_common_metadata | Bin 4018 -> 0 bytes tests/data/small_sky_left_xmatch/_metadata | Bin 9514 -> 0 bytes .../small_sky_left_xmatch/catalog_info.json | 8 - .../dataset/Norder=0/Dir=0/Npix=4.parquet | Bin 0 -> 6400 bytes .../dataset/Norder=1/Dir=0/Npix=44.parquet | Bin 0 -> 7240 bytes .../dataset/Norder=1/Dir=0/Npix=45.parquet | Bin 0 -> 6993 bytes .../dataset/Norder=1/Dir=0/Npix=46.parquet | Bin 0 -> 7234 bytes .../dataset/Norder=1/Dir=0/Npix=47.parquet | Bin 0 -> 6761 bytes .../dataset/_common_metadata | Bin 0 -> 3983 bytes .../small_sky_left_xmatch/dataset/_metadata | Bin 0 -> 9519 bytes .../small_sky_left_xmatch/partition_info.csv | 12 +- .../data/small_sky_left_xmatch/point_map.fits | Bin 0 -> 57600 bytes tests/data/small_sky_left_xmatch/properties | 14 + .../provenance_info.json | 53 - .../Norder=1/Dir=0/Npix=44.parquet | Bin 7210 -> 0 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 6973 -> 0 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 7216 -> 0 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 6741 -> 0 bytes tests/data/small_sky_order1/_common_metadata | Bin 4018 -> 0 bytes tests/data/small_sky_order1/_metadata | Bin 8423 -> 0 bytes tests/data/small_sky_order1/catalog_info.json | 8 - .../dataset/Norder=1/Dir=0/Npix=44.parquet | Bin 0 -> 7240 bytes .../dataset/Norder=1/Dir=0/Npix=45.parquet | Bin 0 -> 6993 bytes .../dataset/Norder=1/Dir=0/Npix=46.parquet | Bin 0 -> 7234 bytes .../dataset/Norder=1/Dir=0/Npix=47.parquet | Bin 0 -> 6761 bytes .../small_sky_order1/dataset/_common_metadata | Bin 0 -> 3983 bytes tests/data/small_sky_order1/dataset/_metadata | Bin 0 -> 8420 bytes .../data/small_sky_order1/partition_info.csv | 10 +- tests/data/small_sky_order1/point_map.fits | Bin 0 -> 8640 bytes tests/data/small_sky_order1/properties | 14 + .../small_sky_order1/provenance_info.json | 53 - .../_common_metadata | Bin 2224 -> 0 bytes .../data/small_sky_order1_id_index/_metadata | Bin 2649 -> 0 bytes .../catalog_info.json | 8 - .../dataset/_common_metadata | Bin 0 -> 2224 bytes .../dataset/_metadata | Bin 0 -> 2645 bytes .../{ => dataset}/index/part.0.parquet | Bin 3917 -> 3917 bytes .../data/small_sky_order1_id_index/properties | 11 + .../provenance_info.json | 31 - .../Norder=1/Dir=0/Npix=16.parquet | Bin 11421 -> 0 bytes .../small_sky_order1_source/_common_metadata | Bin 5525 -> 0 bytes tests/data/small_sky_order1_source/_metadata | Bin 13836 -> 0 bytes .../small_sky_order1_source/catalog_info.json | 8 - .../dataset/Norder=1/Dir=0/Npix=16.parquet | Bin 0 -> 11523 bytes .../Norder=1/Dir=0/Npix=44.parquet | Bin 287796 -> 297666 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 214002 -> 220730 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 297169 -> 306633 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 133671 -> 137676 bytes .../dataset/_common_metadata | Bin 0 -> 5490 bytes .../small_sky_order1_source/dataset/_metadata | Bin 0 -> 13821 bytes .../partition_info.csv | 12 +- .../small_sky_order1_source/point_map.fits | Bin 0 -> 8640 bytes tests/data/small_sky_order1_source/properties | 14 + .../provenance_info.json | 53 - .../Norder=1/Dir=0/Npix=16.parquet | Bin 14934 -> 0 bytes .../_common_metadata | Bin 6691 -> 0 bytes .../small_sky_order1_source_margin/_metadata | Bin 16733 -> 0 bytes .../catalog_info.json | 10 - .../dataset/Norder=1/Dir=0/Npix=16.parquet | Bin 0 -> 15069 bytes .../Norder=1/Dir=0/Npix=44.parquet | Bin 72435 -> 74537 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 72061 -> 74193 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 50921 -> 52322 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 45949 -> 47079 bytes .../dataset/_common_metadata | Bin 0 -> 6641 bytes .../dataset/_metadata | Bin 0 -> 16688 bytes .../partition_info.csv | 12 +- .../small_sky_order1_source_margin/properties | 15 + .../provenance_info.json | 28 - .../Norder=3/Dir=0/Npix=264.parquet | Bin 11421 -> 0 bytes .../small_sky_order3_source/_common_metadata | Bin 5525 -> 0 bytes tests/data/small_sky_order3_source/_metadata | Bin 77056 -> 0 bytes .../small_sky_order3_source/catalog_info.json | 8 - .../dataset/Norder=3/Dir=0/Npix=264.parquet | Bin 0 -> 11523 bytes .../Norder=3/Dir=0/Npix=707.parquet | Bin 28346 -> 29117 bytes .../Norder=3/Dir=0/Npix=708.parquet | Bin 21963 -> 22466 bytes .../Norder=3/Dir=0/Npix=709.parquet | Bin 42432 -> 43666 bytes .../Norder=3/Dir=0/Npix=710.parquet | Bin 25648 -> 26280 bytes .../Norder=3/Dir=0/Npix=711.parquet | Bin 22194 -> 22687 bytes .../Norder=3/Dir=0/Npix=712.parquet | Bin 22169 -> 22682 bytes .../Norder=3/Dir=0/Npix=713.parquet | Bin 26894 -> 27582 bytes .../Norder=3/Dir=0/Npix=714.parquet | Bin 15538 -> 15794 bytes .../Norder=3/Dir=0/Npix=715.parquet | Bin 53743 -> 55403 bytes .../Norder=3/Dir=0/Npix=716.parquet | Bin 27629 -> 28342 bytes .../Norder=3/Dir=0/Npix=717.parquet | Bin 31668 -> 32509 bytes .../Norder=3/Dir=0/Npix=718.parquet | Bin 50196 -> 51680 bytes .../Norder=3/Dir=0/Npix=719.parquet | Bin 15805 -> 16057 bytes .../Norder=3/Dir=0/Npix=720.parquet | Bin 22192 -> 22684 bytes .../Norder=3/Dir=0/Npix=723.parquet | Bin 28749 -> 29453 bytes .../Norder=3/Dir=0/Npix=724.parquet | Bin 15560 -> 15800 bytes .../Norder=3/Dir=0/Npix=726.parquet | Bin 28082 -> 28731 bytes .../Norder=3/Dir=0/Npix=727.parquet | Bin 28769 -> 29453 bytes .../Norder=3/Dir=0/Npix=728.parquet | Bin 45849 -> 47106 bytes .../Norder=3/Dir=0/Npix=729.parquet | Bin 15553 -> 15793 bytes .../Norder=3/Dir=0/Npix=730.parquet | Bin 28504 -> 29174 bytes .../Norder=3/Dir=0/Npix=732.parquet | Bin 43000 -> 44136 bytes .../Norder=3/Dir=0/Npix=733.parquet | Bin 13054 -> 13204 bytes .../Norder=3/Dir=0/Npix=734.parquet | Bin 22227 -> 22674 bytes .../Norder=3/Dir=0/Npix=735.parquet | Bin 15569 -> 15795 bytes .../Norder=3/Dir=0/Npix=736.parquet | Bin 22197 -> 22682 bytes .../Norder=3/Dir=0/Npix=737.parquet | Bin 35613 -> 36558 bytes .../Norder=3/Dir=0/Npix=738.parquet | Bin 15546 -> 15792 bytes .../Norder=3/Dir=0/Npix=739.parquet | Bin 32745 -> 33586 bytes .../Norder=3/Dir=0/Npix=740.parquet | Bin 42384 -> 43548 bytes .../Norder=3/Dir=0/Npix=741.parquet | Bin 45774 -> 47039 bytes .../Norder=3/Dir=0/Npix=742.parquet | Bin 41645 -> 42754 bytes .../Norder=3/Dir=0/Npix=743.parquet | Bin 55614 -> 57212 bytes .../Norder=3/Dir=0/Npix=745.parquet | Bin 18150 -> 18467 bytes .../Norder=3/Dir=0/Npix=747.parquet | Bin 22652 -> 23116 bytes .../Norder=3/Dir=0/Npix=748.parquet | Bin 24175 -> 24696 bytes .../Norder=3/Dir=0/Npix=750.parquet | Bin 28231 -> 28908 bytes .../Norder=3/Dir=0/Npix=752.parquet | Bin 66257 -> 68140 bytes .../Norder=3/Dir=0/Npix=753.parquet | Bin 22845 -> 23312 bytes .../Norder=3/Dir=0/Npix=754.parquet | Bin 44628 -> 45802 bytes .../Norder=3/Dir=0/Npix=755.parquet | Bin 16206 -> 16459 bytes .../Norder=3/Dir=0/Npix=760.parquet | Bin 17241 -> 17529 bytes .../dataset/_common_metadata | Bin 0 -> 5490 bytes .../small_sky_order3_source/dataset/_metadata | Bin 0 -> 77195 bytes .../partition_info.csv | 88 +- .../small_sky_order3_source/point_map.fits | Bin 0 -> 11520 bytes tests/data/small_sky_order3_source/properties | 14 + .../provenance_info.json | 53 - .../Norder=2/Dir=0/Npix=189.parquet | Bin 11153 -> 0 bytes .../Norder=3/Dir=0/Npix=264.parquet | Bin 12068 -> 0 bytes .../Norder=3/Dir=0/Npix=707.parquet | Bin 13278 -> 0 bytes .../Norder=3/Dir=0/Npix=708.parquet | Bin 11056 -> 0 bytes .../Norder=3/Dir=0/Npix=709.parquet | Bin 11865 -> 0 bytes .../Norder=3/Dir=0/Npix=710.parquet | Bin 13745 -> 0 bytes .../Norder=3/Dir=0/Npix=713.parquet | Bin 13494 -> 0 bytes .../Norder=3/Dir=0/Npix=715.parquet | Bin 13678 -> 0 bytes .../Norder=3/Dir=0/Npix=716.parquet | Bin 12331 -> 0 bytes .../Norder=3/Dir=0/Npix=717.parquet | Bin 12070 -> 0 bytes .../Norder=3/Dir=0/Npix=718.parquet | Bin 13712 -> 0 bytes .../Norder=3/Dir=0/Npix=719.parquet | Bin 11778 -> 0 bytes .../Norder=3/Dir=0/Npix=726.parquet | Bin 13736 -> 0 bytes .../Norder=3/Dir=0/Npix=728.parquet | Bin 11817 -> 0 bytes .../Norder=3/Dir=0/Npix=729.parquet | Bin 10903 -> 0 bytes .../Norder=3/Dir=0/Npix=730.parquet | Bin 11056 -> 0 bytes .../Norder=3/Dir=0/Npix=732.parquet | Bin 12936 -> 0 bytes .../Norder=3/Dir=0/Npix=733.parquet | Bin 12072 -> 0 bytes .../Norder=3/Dir=0/Npix=734.parquet | Bin 11379 -> 0 bytes .../Norder=3/Dir=0/Npix=739.parquet | Bin 12187 -> 0 bytes .../Norder=3/Dir=0/Npix=740.parquet | Bin 11581 -> 0 bytes .../Norder=3/Dir=0/Npix=741.parquet | Bin 13190 -> 0 bytes .../Norder=3/Dir=0/Npix=742.parquet | Bin 12984 -> 0 bytes .../Norder=3/Dir=0/Npix=743.parquet | Bin 14882 -> 0 bytes .../Norder=3/Dir=0/Npix=745.parquet | Bin 12675 -> 0 bytes .../Norder=3/Dir=0/Npix=747.parquet | Bin 11601 -> 0 bytes .../Norder=3/Dir=0/Npix=748.parquet | Bin 12194 -> 0 bytes .../Norder=3/Dir=0/Npix=750.parquet | Bin 11221 -> 0 bytes .../Norder=3/Dir=0/Npix=752.parquet | Bin 12597 -> 0 bytes .../Norder=3/Dir=0/Npix=753.parquet | Bin 11378 -> 0 bytes .../Norder=3/Dir=0/Npix=754.parquet | Bin 14972 -> 0 bytes .../Norder=3/Dir=0/Npix=755.parquet | Bin 11470 -> 0 bytes .../Norder=3/Dir=0/Npix=760.parquet | Bin 11825 -> 0 bytes .../_common_metadata | Bin 6691 -> 0 bytes .../small_sky_order3_source_margin/_metadata | Bin 71600 -> 0 bytes .../catalog_info.json | 10 - .../dataset/Norder=2/Dir=0/Npix=189.parquet | Bin 0 -> 11164 bytes .../dataset/Norder=3/Dir=0/Npix=264.parquet | Bin 0 -> 12109 bytes .../dataset/Norder=3/Dir=0/Npix=707.parquet | Bin 0 -> 13357 bytes .../dataset/Norder=3/Dir=0/Npix=708.parquet | Bin 0 -> 11064 bytes .../dataset/Norder=3/Dir=0/Npix=709.parquet | Bin 0 -> 11902 bytes .../dataset/Norder=3/Dir=0/Npix=710.parquet | Bin 0 -> 13853 bytes .../dataset/Norder=3/Dir=0/Npix=713.parquet | Bin 0 -> 13584 bytes .../dataset/Norder=3/Dir=0/Npix=715.parquet | Bin 0 -> 13770 bytes .../dataset/Norder=3/Dir=0/Npix=716.parquet | Bin 0 -> 12371 bytes .../dataset/Norder=3/Dir=0/Npix=717.parquet | Bin 0 -> 12111 bytes .../dataset/Norder=3/Dir=0/Npix=718.parquet | Bin 0 -> 13805 bytes .../dataset/Norder=3/Dir=0/Npix=719.parquet | Bin 0 -> 11805 bytes .../dataset/Norder=3/Dir=0/Npix=726.parquet | Bin 0 -> 13834 bytes .../dataset/Norder=3/Dir=0/Npix=728.parquet | Bin 0 -> 11855 bytes .../dataset/Norder=3/Dir=0/Npix=729.parquet | Bin 0 -> 10907 bytes .../dataset/Norder=3/Dir=0/Npix=730.parquet | Bin 0 -> 11064 bytes .../dataset/Norder=3/Dir=0/Npix=732.parquet | Bin 0 -> 13006 bytes .../dataset/Norder=3/Dir=0/Npix=733.parquet | Bin 0 -> 12111 bytes .../dataset/Norder=3/Dir=0/Npix=734.parquet | Bin 0 -> 11396 bytes .../dataset/Norder=3/Dir=0/Npix=739.parquet | Bin 0 -> 12229 bytes .../dataset/Norder=3/Dir=0/Npix=740.parquet | Bin 0 -> 11607 bytes .../dataset/Norder=3/Dir=0/Npix=741.parquet | Bin 0 -> 13270 bytes .../dataset/Norder=3/Dir=0/Npix=742.parquet | Bin 0 -> 13059 bytes .../dataset/Norder=3/Dir=0/Npix=743.parquet | Bin 0 -> 15010 bytes .../dataset/Norder=3/Dir=0/Npix=745.parquet | Bin 0 -> 12737 bytes .../dataset/Norder=3/Dir=0/Npix=747.parquet | Bin 0 -> 11629 bytes .../dataset/Norder=3/Dir=0/Npix=748.parquet | Bin 0 -> 12240 bytes .../dataset/Norder=3/Dir=0/Npix=750.parquet | Bin 0 -> 11234 bytes .../dataset/Norder=3/Dir=0/Npix=752.parquet | Bin 0 -> 12648 bytes .../dataset/Norder=3/Dir=0/Npix=753.parquet | Bin 0 -> 11397 bytes .../dataset/Norder=3/Dir=0/Npix=754.parquet | Bin 0 -> 15100 bytes .../dataset/Norder=3/Dir=0/Npix=755.parquet | Bin 0 -> 11489 bytes .../dataset/Norder=3/Dir=0/Npix=760.parquet | Bin 0 -> 11854 bytes .../dataset/_common_metadata | Bin 0 -> 6641 bytes .../dataset/_metadata | Bin 0 -> 71583 bytes .../partition_info.csv | 68 +- .../small_sky_order3_source_margin/properties | 15 + .../provenance_info.json | 28 - .../Norder=0/Dir=0/Npix=4.parquet | Bin 11421 -> 0 bytes tests/data/small_sky_source/_common_metadata | Bin 5525 -> 0 bytes tests/data/small_sky_source/_metadata | Bin 28968 -> 0 bytes tests/data/small_sky_source/catalog_info.json | 8 - .../dataset/Norder=0/Dir=0/Npix=4.parquet | Bin 0 -> 11523 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 133671 -> 137676 bytes .../Norder=2/Dir=0/Npix=176.parquet | Bin 28346 -> 29117 bytes .../Norder=2/Dir=0/Npix=177.parquet | Bin 86262 -> 89086 bytes .../Norder=2/Dir=0/Npix=178.parquet | Bin 92634 -> 95714 bytes .../Norder=2/Dir=0/Npix=179.parquet | Bin 99874 -> 103119 bytes .../Norder=2/Dir=0/Npix=180.parquet | Bin 42177 -> 43359 bytes .../Norder=2/Dir=0/Npix=181.parquet | Bin 54742 -> 56287 bytes .../Norder=2/Dir=0/Npix=182.parquet | Bin 72960 -> 75097 bytes .../Norder=2/Dir=0/Npix=183.parquet | Bin 67771 -> 69687 bytes .../Norder=2/Dir=0/Npix=184.parquet | Bin 80265 -> 82739 bytes .../Norder=2/Dir=0/Npix=185.parquet | Bin 162064 -> 167156 bytes .../Norder=2/Dir=0/Npix=186.parquet | Bin 31761 -> 32523 bytes .../Norder=2/Dir=0/Npix=187.parquet | Bin 43705 -> 44887 bytes .../small_sky_source/dataset/_common_metadata | Bin 0 -> 5490 bytes tests/data/small_sky_source/dataset/_metadata | Bin 0 -> 28990 bytes .../data/small_sky_source/partition_info.csv | 30 +- tests/data/small_sky_source/point_map.fits | Bin 0 -> 8640 bytes tests/data/small_sky_source/properties | 14 + .../small_sky_source/provenance_info.json | 53 - .../Norder=0/Dir=0/Npix=4.parquet | Bin 11552 -> 0 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 11503 -> 0 bytes .../Norder=2/Dir=0/Npix=176.parquet | Bin 12317 -> 0 bytes .../Norder=2/Dir=0/Npix=177.parquet | Bin 12192 -> 0 bytes .../Norder=2/Dir=0/Npix=178.parquet | Bin 13706 -> 0 bytes .../Norder=2/Dir=0/Npix=179.parquet | Bin 14489 -> 0 bytes .../Norder=2/Dir=0/Npix=181.parquet | Bin 12763 -> 0 bytes .../Norder=2/Dir=0/Npix=182.parquet | Bin 11535 -> 0 bytes .../Norder=2/Dir=0/Npix=183.parquet | Bin 12687 -> 0 bytes .../Norder=2/Dir=0/Npix=184.parquet | Bin 11808 -> 0 bytes .../Norder=2/Dir=0/Npix=185.parquet | Bin 12328 -> 0 bytes .../Norder=2/Dir=0/Npix=186.parquet | Bin 12147 -> 0 bytes .../Norder=2/Dir=0/Npix=187.parquet | Bin 11993 -> 0 bytes .../small_sky_source_margin/_common_metadata | Bin 6691 -> 0 bytes tests/data/small_sky_source_margin/_metadata | Bin 32221 -> 0 bytes .../small_sky_source_margin/catalog_info.json | 10 - .../dataset/Norder=0/Dir=0/Npix=4.parquet | Bin 0 -> 11576 bytes .../dataset/Norder=1/Dir=0/Npix=47.parquet | Bin 0 -> 11522 bytes .../dataset/Norder=2/Dir=0/Npix=176.parquet | Bin 0 -> 12363 bytes .../dataset/Norder=2/Dir=0/Npix=177.parquet | Bin 0 -> 12240 bytes .../dataset/Norder=2/Dir=0/Npix=178.parquet | Bin 0 -> 13805 bytes .../dataset/Norder=2/Dir=0/Npix=179.parquet | Bin 0 -> 14599 bytes .../dataset/Norder=2/Dir=0/Npix=181.parquet | Bin 0 -> 12827 bytes .../dataset/Norder=2/Dir=0/Npix=182.parquet | Bin 0 -> 11561 bytes .../dataset/Norder=2/Dir=0/Npix=183.parquet | Bin 0 -> 12739 bytes .../dataset/Norder=2/Dir=0/Npix=184.parquet | Bin 0 -> 11838 bytes .../dataset/Norder=2/Dir=0/Npix=185.parquet | Bin 0 -> 12371 bytes .../dataset/Norder=2/Dir=0/Npix=186.parquet | Bin 0 -> 12186 bytes .../dataset/Norder=2/Dir=0/Npix=187.parquet | Bin 0 -> 12031 bytes .../dataset/_common_metadata | Bin 0 -> 6641 bytes .../small_sky_source_margin/dataset/_metadata | Bin 0 -> 32184 bytes .../partition_info.csv | 28 +- tests/data/small_sky_source_margin/properties | 15 + .../provenance_info.json | 28 - .../Norder=0/Dir=0/Npix=11.parquet | Bin 109638 -> 0 bytes tests/data/small_sky_to_o1source/_metadata | Bin 7355 -> 0 bytes .../small_sky_to_o1source/catalog_info.json | 12 - .../dataset/Norder=0/Dir=0/Npix=11.parquet | Bin 0 -> 111678 bytes .../{ => dataset}/_common_metadata | Bin 3460 -> 3460 bytes .../small_sky_to_o1source/dataset/_metadata | Bin 0 -> 8251 bytes .../small_sky_to_o1source/partition_info.csv | 4 +- tests/data/small_sky_to_o1source/properties | 18 + .../provenance_info.json | 37 - .../data/small_sky_to_o1source_soft/_metadata | Bin 2929 -> 0 bytes .../catalog_info.json | 12 - .../{ => dataset}/_common_metadata | Bin 556 -> 556 bytes .../dataset/_metadata | Bin 0 -> 3503 bytes .../partition_join_info.csv | 8 +- .../small_sky_to_o1source_soft/properties | 18 + .../provenance_info.json | 37 - tests/data/small_sky_to_xmatch/_metadata | Bin 6270 -> 0 bytes .../small_sky_to_xmatch/catalog_info.json | 12 - .../Norder=0/Dir=0/Npix=11.parquet | Bin 10428 -> 10428 bytes .../{ => dataset}/_common_metadata | Bin 3460 -> 3460 bytes .../small_sky_to_xmatch/dataset/_metadata | Bin 0 -> 6246 bytes .../small_sky_to_xmatch/partition_info.csv | 4 +- tests/data/small_sky_to_xmatch/properties | 18 + .../small_sky_to_xmatch/provenance_info.json | 37 - tests/data/small_sky_to_xmatch_soft/_metadata | Bin 2335 -> 0 bytes .../catalog_info.json | 12 - .../{ => dataset}/_common_metadata | Bin 556 -> 556 bytes .../dataset/_metadata | Bin 0 -> 2323 bytes .../data/small_sky_to_xmatch_soft/properties | 18 + .../provenance_info.json | 37 - .../Norder=1/Dir=0/Npix=44.parquet | Bin 8754 -> 0 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 8242 -> 0 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 8758 -> 0 bytes tests/data/small_sky_xmatch/_common_metadata | Bin 4438 -> 0 bytes tests/data/small_sky_xmatch/_metadata | Bin 8162 -> 0 bytes tests/data/small_sky_xmatch/catalog_info.json | 8 - .../dataset/Norder=1/Dir=0/Npix=44.parquet | Bin 0 -> 8770 bytes .../dataset/Norder=1/Dir=0/Npix=45.parquet | Bin 0 -> 8254 bytes .../dataset/Norder=1/Dir=0/Npix=46.parquet | Bin 0 -> 8770 bytes .../small_sky_xmatch/dataset/_common_metadata | Bin 0 -> 4395 bytes tests/data/small_sky_xmatch/dataset/_metadata | Bin 0 -> 8140 bytes .../data/small_sky_xmatch/partition_info.csv | 8 +- tests/data/small_sky_xmatch/point_map.fits | Bin 0 -> 20160 bytes tests/data/small_sky_xmatch/properties | 14 + .../small_sky_xmatch/provenance_info.json | 53 - .../Norder=0/Dir=0/Npix=4.parquet | Bin 8973 -> 0 bytes .../Norder=1/Dir=0/Npix=44.parquet | Bin 9266 -> 0 bytes .../Norder=1/Dir=0/Npix=45.parquet | Bin 9206 -> 0 bytes .../Norder=1/Dir=0/Npix=46.parquet | Bin 9171 -> 0 bytes .../Norder=1/Dir=0/Npix=47.parquet | Bin 9102 -> 0 bytes .../small_sky_xmatch_margin/_common_metadata | Bin 5602 -> 0 bytes tests/data/small_sky_xmatch_margin/_metadata | Bin 13490 -> 0 bytes .../small_sky_xmatch_margin/catalog_info.json | 10 - .../dataset/Norder=0/Dir=0/Npix=4.parquet | Bin 0 -> 8977 bytes .../dataset/Norder=1/Dir=0/Npix=44.parquet | Bin 0 -> 9270 bytes .../dataset/Norder=1/Dir=0/Npix=45.parquet | Bin 0 -> 9211 bytes .../dataset/Norder=1/Dir=0/Npix=46.parquet | Bin 0 -> 9175 bytes .../dataset/Norder=1/Dir=0/Npix=47.parquet | Bin 0 -> 9106 bytes .../dataset/_common_metadata | Bin 0 -> 5552 bytes .../small_sky_xmatch_margin/dataset/_metadata | Bin 0 -> 13460 bytes .../partition_info.csv | 12 +- tests/data/small_sky_xmatch_margin/properties | 15 + .../provenance_info.json | 28 - .../lsdb/catalog/test_association_catalog.py | 6 +- tests/lsdb/catalog/test_box_search.py | 2 +- tests/lsdb/catalog/test_catalog.py | 36 +- tests/lsdb/catalog/test_cone_search.py | 2 +- tests/lsdb/catalog/test_crossmatch.py | 16 +- tests/lsdb/catalog/test_index_search.py | 6 +- tests/lsdb/catalog/test_join.py | 12 +- tests/lsdb/catalog/test_margin_catalog.py | 12 +- tests/lsdb/catalog/test_nested.py | 5 +- tests/lsdb/catalog/test_pixel_search.py | 2 +- tests/lsdb/catalog/test_polygon_search.py | 2 +- tests/lsdb/core/test_kdtree_validation.py | 4 +- tests/lsdb/dask/test_divisions.py | 4 +- .../loaders/dataframe/test_from_dataframe.py | 66 +- .../test_read_hats.py} | 122 +- 413 files changed, 2801 insertions(+), 3106 deletions(-) rename src/lsdb/io/{to_hipscat.py => to_hats.py} (63%) create mode 100644 src/lsdb/loaders/hats/__init__.py rename src/lsdb/loaders/{hipscat => hats}/abstract_catalog_loader.py (72%) rename src/lsdb/loaders/{hipscat => hats}/association_catalog_loader.py (80%) rename src/lsdb/loaders/{hipscat/hipscat_catalog_loader.py => hats/hats_catalog_loader.py} (80%) rename src/lsdb/loaders/{hipscat/hipscat_loader_factory.py => hats/hats_loader_factory.py} (69%) rename src/lsdb/loaders/{hipscat/hipscat_loading_config.py => hats/hats_loading_config.py} (91%) rename src/lsdb/loaders/{hipscat => hats}/margin_catalog_loader.py (78%) rename src/lsdb/loaders/{hipscat/read_hipscat.py => hats/read_hats.py} (81%) rename src/lsdb/loaders/{hipscat/read_hipscat.pyi => hats/read_hats.pyi} (82%) delete mode 100644 src/lsdb/loaders/hipscat/__init__.py rename tests/data/{small_sky_order1/small_sky_order1.csv => raw/small_sky/small_sky.csv} (100%) delete mode 100644 tests/data/raw/small_sky_no_metadata/catalog_info.json create mode 100644 tests/data/raw/small_sky_no_metadata/properties delete mode 100644 tests/data/raw/small_sky_no_metadata/provenance_info.json delete mode 100644 tests/data/small_sky/Norder=0/Dir=0/Npix=11.parquet delete mode 100644 tests/data/small_sky/_common_metadata delete mode 100644 tests/data/small_sky/_metadata delete mode 100644 tests/data/small_sky/catalog_info.json create mode 100644 tests/data/small_sky/dataset/Norder=0/Dir=0/Npix=11.parquet create mode 100644 tests/data/small_sky/dataset/_common_metadata create mode 100644 tests/data/small_sky/dataset/_metadata create mode 100644 tests/data/small_sky/point_map.fits create mode 100644 tests/data/small_sky/properties delete mode 100644 tests/data/small_sky/provenance_info.json delete mode 100644 tests/data/small_sky_left_xmatch/Norder=0/Dir=0/Npix=4.parquet delete mode 100644 tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=44.parquet delete mode 100644 tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=45.parquet delete mode 100644 tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=46.parquet delete mode 100644 tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=47.parquet delete mode 100644 tests/data/small_sky_left_xmatch/_common_metadata delete mode 100644 tests/data/small_sky_left_xmatch/_metadata delete mode 100644 tests/data/small_sky_left_xmatch/catalog_info.json create mode 100644 tests/data/small_sky_left_xmatch/dataset/Norder=0/Dir=0/Npix=4.parquet create mode 100644 tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet create mode 100644 tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=45.parquet create mode 100644 tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=46.parquet create mode 100644 tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=47.parquet create mode 100644 tests/data/small_sky_left_xmatch/dataset/_common_metadata create mode 100644 tests/data/small_sky_left_xmatch/dataset/_metadata create mode 100644 tests/data/small_sky_left_xmatch/point_map.fits create mode 100644 tests/data/small_sky_left_xmatch/properties delete mode 100644 tests/data/small_sky_left_xmatch/provenance_info.json delete mode 100644 tests/data/small_sky_order1/Norder=1/Dir=0/Npix=44.parquet delete mode 100644 tests/data/small_sky_order1/Norder=1/Dir=0/Npix=45.parquet delete mode 100644 tests/data/small_sky_order1/Norder=1/Dir=0/Npix=46.parquet delete mode 100644 tests/data/small_sky_order1/Norder=1/Dir=0/Npix=47.parquet delete mode 100644 tests/data/small_sky_order1/_common_metadata delete mode 100644 tests/data/small_sky_order1/_metadata delete mode 100644 tests/data/small_sky_order1/catalog_info.json create mode 100644 tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=44.parquet create mode 100644 tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=45.parquet create mode 100644 tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=46.parquet create mode 100644 tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=47.parquet create mode 100644 tests/data/small_sky_order1/dataset/_common_metadata create mode 100644 tests/data/small_sky_order1/dataset/_metadata create mode 100644 tests/data/small_sky_order1/point_map.fits create mode 100644 tests/data/small_sky_order1/properties delete mode 100644 tests/data/small_sky_order1/provenance_info.json delete mode 100644 tests/data/small_sky_order1_id_index/_common_metadata delete mode 100644 tests/data/small_sky_order1_id_index/_metadata delete mode 100644 tests/data/small_sky_order1_id_index/catalog_info.json create mode 100644 tests/data/small_sky_order1_id_index/dataset/_common_metadata create mode 100644 tests/data/small_sky_order1_id_index/dataset/_metadata rename tests/data/small_sky_order1_id_index/{ => dataset}/index/part.0.parquet (70%) create mode 100644 tests/data/small_sky_order1_id_index/properties delete mode 100644 tests/data/small_sky_order1_id_index/provenance_info.json delete mode 100644 tests/data/small_sky_order1_source/Norder=1/Dir=0/Npix=16.parquet delete mode 100644 tests/data/small_sky_order1_source/_common_metadata delete mode 100644 tests/data/small_sky_order1_source/_metadata delete mode 100644 tests/data/small_sky_order1_source/catalog_info.json create mode 100644 tests/data/small_sky_order1_source/dataset/Norder=1/Dir=0/Npix=16.parquet rename tests/data/small_sky_order1_source/{ => dataset}/Norder=1/Dir=0/Npix=44.parquet (83%) rename tests/data/small_sky_order1_source/{ => dataset}/Norder=1/Dir=0/Npix=45.parquet (83%) rename tests/data/small_sky_order1_source/{ => dataset}/Norder=1/Dir=0/Npix=46.parquet (83%) rename tests/data/small_sky_order1_source/{ => dataset}/Norder=1/Dir=0/Npix=47.parquet (81%) create mode 100644 tests/data/small_sky_order1_source/dataset/_common_metadata create mode 100644 tests/data/small_sky_order1_source/dataset/_metadata create mode 100644 tests/data/small_sky_order1_source/point_map.fits create mode 100644 tests/data/small_sky_order1_source/properties delete mode 100644 tests/data/small_sky_order1_source/provenance_info.json delete mode 100644 tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=16.parquet delete mode 100644 tests/data/small_sky_order1_source_margin/_common_metadata delete mode 100644 tests/data/small_sky_order1_source_margin/_metadata delete mode 100644 tests/data/small_sky_order1_source_margin/catalog_info.json create mode 100644 tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=16.parquet rename tests/data/small_sky_order1_source_margin/{ => dataset}/Norder=1/Dir=0/Npix=44.parquet (77%) rename tests/data/small_sky_order1_source_margin/{ => dataset}/Norder=1/Dir=0/Npix=45.parquet (77%) rename tests/data/small_sky_order1_source_margin/{ => dataset}/Norder=1/Dir=0/Npix=46.parquet (73%) rename tests/data/small_sky_order1_source_margin/{ => dataset}/Norder=1/Dir=0/Npix=47.parquet (72%) create mode 100644 tests/data/small_sky_order1_source_margin/dataset/_common_metadata create mode 100644 tests/data/small_sky_order1_source_margin/dataset/_metadata create mode 100644 tests/data/small_sky_order1_source_margin/properties delete mode 100644 tests/data/small_sky_order1_source_margin/provenance_info.json delete mode 100644 tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=264.parquet delete mode 100644 tests/data/small_sky_order3_source/_common_metadata delete mode 100644 tests/data/small_sky_order3_source/_metadata delete mode 100644 tests/data/small_sky_order3_source/catalog_info.json create mode 100644 tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=264.parquet rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=707.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=708.parquet (63%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=709.parquet (74%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=710.parquet (66%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=711.parquet (63%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=712.parquet (63%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=713.parquet (67%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=714.parquet (55%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=715.parquet (76%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=716.parquet (67%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=717.parquet (70%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=718.parquet (76%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=719.parquet (56%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=720.parquet (64%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=723.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=724.parquet (55%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=726.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=727.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=728.parquet (75%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=729.parquet (55%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=730.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=732.parquet (74%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=733.parquet (50%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=734.parquet (63%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=735.parquet (55%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=736.parquet (63%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=737.parquet (72%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=738.parquet (55%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=739.parquet (70%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=740.parquet (74%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=741.parquet (75%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=742.parquet (74%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=743.parquet (77%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=745.parquet (60%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=747.parquet (64%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=748.parquet (65%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=750.parquet (68%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=752.parquet (78%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=753.parquet (64%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=754.parquet (75%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=755.parquet (57%) rename tests/data/small_sky_order3_source/{ => dataset}/Norder=3/Dir=0/Npix=760.parquet (59%) create mode 100644 tests/data/small_sky_order3_source/dataset/_common_metadata create mode 100644 tests/data/small_sky_order3_source/dataset/_metadata create mode 100644 tests/data/small_sky_order3_source/point_map.fits create mode 100644 tests/data/small_sky_order3_source/properties delete mode 100644 tests/data/small_sky_order3_source/provenance_info.json delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=2/Dir=0/Npix=189.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=264.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=707.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=708.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=709.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=710.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=713.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=715.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=716.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=717.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=718.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=719.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=726.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=728.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=729.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=730.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=732.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=733.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=734.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=739.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=740.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=741.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=742.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=743.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=745.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=747.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=748.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=750.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=752.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=753.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=754.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=755.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=760.parquet delete mode 100644 tests/data/small_sky_order3_source_margin/_common_metadata delete mode 100644 tests/data/small_sky_order3_source_margin/_metadata delete mode 100644 tests/data/small_sky_order3_source_margin/catalog_info.json create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=2/Dir=0/Npix=189.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=264.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=707.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=708.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=709.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=710.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=713.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=715.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=716.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=717.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=718.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=719.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=726.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=728.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=729.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=730.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=732.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=733.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=734.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=739.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=740.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=741.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=742.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=743.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=745.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=747.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=748.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=750.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=752.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=753.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=754.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=755.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=760.parquet create mode 100644 tests/data/small_sky_order3_source_margin/dataset/_common_metadata create mode 100644 tests/data/small_sky_order3_source_margin/dataset/_metadata create mode 100644 tests/data/small_sky_order3_source_margin/properties delete mode 100644 tests/data/small_sky_order3_source_margin/provenance_info.json delete mode 100644 tests/data/small_sky_source/Norder=0/Dir=0/Npix=4.parquet delete mode 100644 tests/data/small_sky_source/_common_metadata delete mode 100644 tests/data/small_sky_source/_metadata delete mode 100644 tests/data/small_sky_source/catalog_info.json create mode 100644 tests/data/small_sky_source/dataset/Norder=0/Dir=0/Npix=4.parquet rename tests/data/small_sky_source/{ => dataset}/Norder=1/Dir=0/Npix=47.parquet (81%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=176.parquet (68%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=177.parquet (79%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=178.parquet (80%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=179.parquet (80%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=180.parquet (74%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=181.parquet (76%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=182.parquet (78%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=183.parquet (78%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=184.parquet (79%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=185.parquet (82%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=186.parquet (70%) rename tests/data/small_sky_source/{ => dataset}/Norder=2/Dir=0/Npix=187.parquet (74%) create mode 100644 tests/data/small_sky_source/dataset/_common_metadata create mode 100644 tests/data/small_sky_source/dataset/_metadata create mode 100644 tests/data/small_sky_source/point_map.fits create mode 100644 tests/data/small_sky_source/properties delete mode 100644 tests/data/small_sky_source/provenance_info.json delete mode 100644 tests/data/small_sky_source_margin/Norder=0/Dir=0/Npix=4.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=1/Dir=0/Npix=47.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=176.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=177.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=178.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=179.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=181.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=182.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=183.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=184.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=185.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=186.parquet delete mode 100644 tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=187.parquet delete mode 100644 tests/data/small_sky_source_margin/_common_metadata delete mode 100644 tests/data/small_sky_source_margin/_metadata delete mode 100644 tests/data/small_sky_source_margin/catalog_info.json create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=0/Dir=0/Npix=4.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=1/Dir=0/Npix=47.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=176.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=177.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=178.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=179.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=181.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=182.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=183.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=184.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=185.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=186.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=187.parquet create mode 100644 tests/data/small_sky_source_margin/dataset/_common_metadata create mode 100644 tests/data/small_sky_source_margin/dataset/_metadata create mode 100644 tests/data/small_sky_source_margin/properties delete mode 100644 tests/data/small_sky_source_margin/provenance_info.json delete mode 100644 tests/data/small_sky_to_o1source/Norder=0/Dir=0/Npix=11.parquet delete mode 100644 tests/data/small_sky_to_o1source/_metadata delete mode 100644 tests/data/small_sky_to_o1source/catalog_info.json create mode 100644 tests/data/small_sky_to_o1source/dataset/Norder=0/Dir=0/Npix=11.parquet rename tests/data/small_sky_to_o1source/{ => dataset}/_common_metadata (51%) create mode 100644 tests/data/small_sky_to_o1source/dataset/_metadata create mode 100644 tests/data/small_sky_to_o1source/properties delete mode 100644 tests/data/small_sky_to_o1source/provenance_info.json delete mode 100644 tests/data/small_sky_to_o1source_soft/_metadata delete mode 100644 tests/data/small_sky_to_o1source_soft/catalog_info.json rename tests/data/small_sky_to_o1source_soft/{ => dataset}/_common_metadata (92%) create mode 100644 tests/data/small_sky_to_o1source_soft/dataset/_metadata create mode 100644 tests/data/small_sky_to_o1source_soft/properties delete mode 100644 tests/data/small_sky_to_o1source_soft/provenance_info.json delete mode 100644 tests/data/small_sky_to_xmatch/_metadata delete mode 100644 tests/data/small_sky_to_xmatch/catalog_info.json rename tests/data/small_sky_to_xmatch/{ => dataset}/Norder=0/Dir=0/Npix=11.parquet (84%) rename tests/data/small_sky_to_xmatch/{ => dataset}/_common_metadata (51%) create mode 100644 tests/data/small_sky_to_xmatch/dataset/_metadata create mode 100644 tests/data/small_sky_to_xmatch/properties delete mode 100644 tests/data/small_sky_to_xmatch/provenance_info.json delete mode 100644 tests/data/small_sky_to_xmatch_soft/_metadata delete mode 100644 tests/data/small_sky_to_xmatch_soft/catalog_info.json rename tests/data/small_sky_to_xmatch_soft/{ => dataset}/_common_metadata (92%) create mode 100644 tests/data/small_sky_to_xmatch_soft/dataset/_metadata create mode 100644 tests/data/small_sky_to_xmatch_soft/properties delete mode 100644 tests/data/small_sky_to_xmatch_soft/provenance_info.json delete mode 100644 tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=44.parquet delete mode 100644 tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=45.parquet delete mode 100644 tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=46.parquet delete mode 100644 tests/data/small_sky_xmatch/_common_metadata delete mode 100644 tests/data/small_sky_xmatch/_metadata delete mode 100644 tests/data/small_sky_xmatch/catalog_info.json create mode 100644 tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet create mode 100644 tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=45.parquet create mode 100644 tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=46.parquet create mode 100644 tests/data/small_sky_xmatch/dataset/_common_metadata create mode 100644 tests/data/small_sky_xmatch/dataset/_metadata create mode 100644 tests/data/small_sky_xmatch/point_map.fits create mode 100644 tests/data/small_sky_xmatch/properties delete mode 100644 tests/data/small_sky_xmatch/provenance_info.json delete mode 100644 tests/data/small_sky_xmatch_margin/Norder=0/Dir=0/Npix=4.parquet delete mode 100644 tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=44.parquet delete mode 100644 tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=45.parquet delete mode 100644 tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=46.parquet delete mode 100644 tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=47.parquet delete mode 100644 tests/data/small_sky_xmatch_margin/_common_metadata delete mode 100644 tests/data/small_sky_xmatch_margin/_metadata delete mode 100644 tests/data/small_sky_xmatch_margin/catalog_info.json create mode 100644 tests/data/small_sky_xmatch_margin/dataset/Norder=0/Dir=0/Npix=4.parquet create mode 100644 tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=44.parquet create mode 100644 tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=45.parquet create mode 100644 tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=46.parquet create mode 100644 tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=47.parquet create mode 100644 tests/data/small_sky_xmatch_margin/dataset/_common_metadata create mode 100644 tests/data/small_sky_xmatch_margin/dataset/_metadata create mode 100644 tests/data/small_sky_xmatch_margin/properties delete mode 100644 tests/data/small_sky_xmatch_margin/provenance_info.json rename tests/lsdb/loaders/{hipscat/test_read_hipscat.py => hats/test_read_hats.py} (67%) diff --git a/.gitignore b/.gitignore index 1bdc56e8..9ac14a0e 100644 --- a/.gitignore +++ b/.gitignore @@ -156,8 +156,6 @@ _html/ # Project initialization script .initialize_new_project.sh -# large, unused fits files -point_map.fits - # test notebook -dev/test.ipynb \ No newline at end of file +dev/test.ipynb +docs/tutorials/pre_executed/data \ No newline at end of file diff --git a/README.md b/README.md index 587fb597..fd47988a 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ A framework to facilitate and enable spatial analysis for extremely large astronomical databases (i.e. querying and crossmatching O(1B) sources). This package uses dask to parallelize operations across -multiple HiPSCat partitioned surveys. +multiple HATS partitioned surveys. Check out our [ReadTheDocs site](https://lsdb.readthedocs.io/en/stable/) for more information on partitioning, installation, and contributing. See related projects: -* HiPSCat ([on GitHub](https://github.com/astronomy-commons/hipscat)) - ([on ReadTheDocs](https://hipscat.readthedocs.io/en/stable/)) -* HiPSCat Import ([on GitHub](https://github.com/astronomy-commons/hipscat-import)) - ([on ReadTheDocs](https://hipscat-import.readthedocs.io/en/stable/)) +* HATS ([on GitHub](https://github.com/astronomy-commons/hats)) + ([on ReadTheDocs](https://hats.readthedocs.io/en/stable/)) +* HATS Import ([on GitHub](https://github.com/astronomy-commons/hats-import)) + ([on ReadTheDocs](https://hats-import.readthedocs.io/en/stable/)) ## Contributing diff --git a/benchmarks/benchmarks.py b/benchmarks/benchmarks.py index b056febb..1d3ac5a2 100644 --- a/benchmarks/benchmarks.py +++ b/benchmarks/benchmarks.py @@ -22,15 +22,15 @@ def load_small_sky(): - return lsdb.read_hipscat(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_DIR_NAME, catalog_type=lsdb.Catalog) + return lsdb.read_hats(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_DIR_NAME, catalog_type=lsdb.Catalog) def load_small_sky_order1(): - return lsdb.read_hipscat(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_ORDER1, catalog_type=lsdb.Catalog) + return lsdb.read_hats(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_ORDER1, catalog_type=lsdb.Catalog) def load_small_sky_xmatch(): - return lsdb.read_hipscat(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_XMATCH_NAME, catalog_type=lsdb.Catalog) + return lsdb.read_hats(TEST_DIR / DATA_DIR_NAME / SMALL_SKY_XMATCH_NAME, catalog_type=lsdb.Catalog) def time_kdtree_crossmatch(): @@ -63,8 +63,8 @@ def time_box_filter_on_partition(): def time_create_midsize_catalog(): - return lsdb.read_hipscat(BENCH_DATA_DIR / "midsize_catalog") + return lsdb.read_hats(BENCH_DATA_DIR / "midsize_catalog") def time_create_large_catalog(): - return lsdb.read_hipscat(BENCH_DATA_DIR / "large_catalog") + return lsdb.read_hats(BENCH_DATA_DIR / "large_catalog") diff --git a/docs/_static/lazy_diagram.svg b/docs/_static/lazy_diagram.svg index 524668de..673ce247 100644 --- a/docs/_static/lazy_diagram.svg +++ b/docs/_static/lazy_diagram.svg @@ -24,26 +24,26 @@ Read data / Do compute - + -read_hipscat -read_hipscat, from_dataframe, ... +read_hats +read_hats, from_dataframe, ... crossmatch crossmatch, cone_search, ... - + -read_hipscat->crossmatch +read_hats->crossmatch compute -compute, to_hipscat, ... +compute, to_hats, ... diff --git a/docs/conf.py b/docs/conf.py index 3991f0a6..0e410eb4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -74,8 +74,8 @@ pygments_style = "sphinx" -# Cross-link hipscat documentation from the API reference: +# Cross-link hats documentation from the API reference: # https://docs.readthedocs.io/en/stable/guides/intersphinx.html intersphinx_mapping = { - "hipscat": ("http://hipscat.readthedocs.io/en/stable/", None), + "hats": ("http://hats.readthedocs.io/en/stable/", None), } diff --git a/docs/developer/contributing.rst b/docs/developer/contributing.rst index 586904b3..161a66ba 100644 --- a/docs/developer/contributing.rst +++ b/docs/developer/contributing.rst @@ -55,7 +55,7 @@ the GitHub repository. The next steps assume the creation of branches and PRs ar If you are (or expect to be) a frequent contributor, you should consider requesting access to the `hipscat-friends `_ working group. Members of this GitHub group should be able to create branches and PRs directly - on LSDB, hipscat and hipscat-import, without the need of a fork. + on LSDB, hats and hats-import, without the need of a fork. Create a branch ------------------------------------------------------------------------------- diff --git a/docs/getting-started.rst b/docs/getting-started.rst index 2eb7fa41..fa5db7aa 100644 --- a/docs/getting-started.rst +++ b/docs/getting-started.rst @@ -62,14 +62,14 @@ for more information. Loading a Catalog ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Let's start by loading a HiPSCat formatted Catalog into LSDB. Use the :func:`lsdb.read_hipscat` function to +Let's start by loading a HATS formatted Catalog into LSDB. Use the :func:`lsdb.read_hats` function to lazy load a catalog object. We'll pass in the URL to load the Zwicky Transient Facility Data Release 14 Catalog, and specify which columns we want to use from it. .. code-block:: python import lsdb - ztf = lsdb.read_hipscat( + ztf = lsdb.read_hats( 'https://data.lsdb.io/unstable/ztf/ztf_dr14/', columns=["ra", "dec", "ps1_objid", "nobs_r", "mean_mag_r"], ) @@ -94,7 +94,7 @@ usually see values). Where to get Catalogs ~~~~~~~~~~~~~~~~~~~~~~~~~~ -LSDB can load any catalogs in the HiPSCat format, locally or from remote sources. There are a number of +LSDB can load any catalogs in the HATS format, locally or from remote sources. There are a number of catalogs available publicly to use from the cloud. You can see them with their URLs to load in LSDB at our website `data.lsdb.io `_ @@ -107,7 +107,7 @@ If you have your own data not in this format, you can import it by following the Performing Filters ~~~~~~~~~~~~~~~~~~~~~~~~~~ -LSDB can perform spatial filters fast, taking advantage of HiPSCat's spatial partitioning. These optimized +LSDB can perform spatial filters fast, taking advantage of HATS's spatial partitioning. These optimized filters have their own methods, such as :func:`cone_search `. For the list of these methods see the full docs for the :func:`Catalog ` class. @@ -132,7 +132,7 @@ get accurate results. This should be provided with the catalog by the catalog's .. code-block:: python - gaia = lsdb.read_hipscat( + gaia = lsdb.read_hats( 'https://data.lsdb.io/unstable/gaia_dr3/gaia/', columns=["ra", "dec", "phot_g_n_obs", "phot_g_mean_flux", "pm"], margin_cache="https://data.lsdb.io/unstable/gaia_dr3/gaia_10arcs/", @@ -166,13 +166,13 @@ Saving the Result ~~~~~~~~~~~~~~~~~~~~~~~~~~ For large results, it won't be possible to ``compute()`` since the full result won't be able to fit into memory. -So instead, we can run the computation and save the results directly to disk in hipscat format. +So instead, we can run the computation and save the results directly to disk in hats format. .. code-block:: python - ztf_x_gaia.to_hipscat("./ztf_x_gaia") + ztf_x_gaia.to_hats("./ztf_x_gaia") -This creates the following HiPSCat Catalog on disk: +This creates the following HATS Catalog on disk: .. code-block:: @@ -182,11 +182,10 @@ This creates the following HiPSCat Catalog on disk: │ │ ├── Npix=57.parquet │ │ └── ... │ └── ... - ├── _metadata ├── _common_metadata - ├── catalog_info.json - ├── partition_info.csv - └── provenance_info.json + ├── _metadata + ├── properties + └── partition_info.csv Creation of Jupyter Kernel -------------------------- diff --git a/docs/index.rst b/docs/index.rst index 063a14bd..629a5e09 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,7 +11,7 @@ large astronomical catalogs (e.g. querying and crossmatching O(1B) sources). It data processing challenges, in particular those brought up by `LSST `_. Built on top of Dask to efficiently scale and parallelize operations across multiple distributed workers, it -uses the `HiPSCat `_ data format to efficiently perform spatial +uses the `HATS `_ data format to efficiently perform spatial operations. .. figure:: _static/gaia.png diff --git a/docs/requirements.txt b/docs/requirements.txt index 260d801a..6a734805 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -10,4 +10,5 @@ sphinx-autoapi sphinx-copybutton sphinx-book-theme sphinx-design -git+https://github.com/astronomy-commons/hipscat.git@main +git+https://github.com/astronomy-commons/hats.git@main +git+https://github.com/astronomy-commons/hats-import.git@main diff --git a/docs/tutorials/exporting_results.ipynb b/docs/tutorials/exporting_results.ipynb index dfadf34f..c8ea142c 100644 --- a/docs/tutorials/exporting_results.ipynb +++ b/docs/tutorials/exporting_results.ipynb @@ -6,16 +6,16 @@ "source": [ "# Exporting results\n", "\n", - "You can save the catalogs that result from running your workflow to disk, in parquet format, using the `to_hipscat` call. \n", + "You can save the catalogs that result from running your workflow to disk, in parquet format, using the `to_hats` call. \n", "\n", "You must provide a `base_catalog_path`, which is the output path for your catalog directory, and (optionally) a name for your catalog, `catalog_name`. The `catalog_name` is the catalog's internal name and therefore may differ from the catalog's base directory name. If the directory already exists and you want to overwrite its content set the `overwrite` flag to True. Do not forget to provide the necessary credentials, as `storage_options` to the UPath construction, when trying to export the catalog to protected remote storage.\n", "\n", "For example, to save a catalog that contains the results of crossmatching Gaia with ZTF to `\"./my_catalogs/gaia_x_ztf\"` one could run:\n", "```python\n", - "gaia_x_ztf_catalog.to_hipscat(base_catalog_path=\"./my_catalogs/gaia_x_ztf\", catalog_name=\"gaia_x_ztf\")\n", + "gaia_x_ztf_catalog.to_hats(base_catalog_path=\"./my_catalogs/gaia_x_ztf\", catalog_name=\"gaia_x_ztf\")\n", "```\n", "\n", - "The HiPSCat catalogs on disk follow a well-defined directory structure:\n", + "The HATS catalogs on disk follow a well-defined directory structure:\n", "\n", "```\n", "gaia_x_ztf/\n", diff --git a/docs/tutorials/filtering_large_catalogs.ipynb b/docs/tutorials/filtering_large_catalogs.ipynb index 705cfb5f..bb8845fe 100644 --- a/docs/tutorials/filtering_large_catalogs.ipynb +++ b/docs/tutorials/filtering_large_catalogs.ipynb @@ -9,7 +9,7 @@ "source": [ "# Filtering large catalogs\n", "\n", - "Large astronomical surveys contain a massive volume of data. Billion object, multi-terabyte sized catalogs are challenging to store and manipulate because they demand state-of-the-art hardware. Processing them is expensive, both in terms of runtime and memory consumption, and performing it in a single machine has become impractical. LSDB is a solution that enables scalable algorithm execution. It handles loading, querying, filtering and crossmatching astronomical data (of HiPSCat format) in a distributed environment. \n", + "Large astronomical surveys contain a massive volume of data. Billion object, multi-terabyte sized catalogs are challenging to store and manipulate because they demand state-of-the-art hardware. Processing them is expensive, both in terms of runtime and memory consumption, and performing it in a single machine has become impractical. LSDB is a solution that enables scalable algorithm execution. It handles loading, querying, filtering and crossmatching astronomical data (of HATS format) in a distributed environment. \n", "\n", "In this tutorial, we will demonstrate how to:\n", "\n", @@ -93,7 +93,7 @@ "outputs": [], "source": [ "ztf_object_path = f\"{surveys_path}/ztf/ztf_dr14\"\n", - "ztf_object = lsdb.read_hipscat(ztf_object_path, columns=[\"ps1_objid\", \"ra\", \"dec\"])\n", + "ztf_object = lsdb.read_hats(ztf_object_path, columns=[\"ps1_objid\", \"ra\", \"dec\"])\n", "ztf_object" ] }, @@ -318,7 +318,7 @@ "id": "9a887b31", "metadata": {}, "source": [ - "We can stack a several number of filters, which are applied in sequence. For example, `catalog.box_search().polygon_search()` should result in a perfectly valid HiPSCat catalog containing the objects that match both filters." + "We can stack a several number of filters, which are applied in sequence. For example, `catalog.box_search().polygon_search()` should result in a perfectly valid HATS catalog containing the objects that match both filters." ] }, { diff --git a/docs/tutorials/getting_data.ipynb b/docs/tutorials/getting_data.ipynb index cca12f8b..eb471a57 100644 --- a/docs/tutorials/getting_data.ipynb +++ b/docs/tutorials/getting_data.ipynb @@ -6,7 +6,7 @@ "source": [ "# Getting data into LSDB\n", "\n", - "The most practical way to load data into LSDB is from catalogs in HiPSCat format, hosted locally or on a remote source. We recommend you to visit our own cloud repository, [data.lsdb.io](https://data.lsdb.io), where you are able to find large surveys publicly available to use." + "The most practical way to load data into LSDB is from catalogs in HATS format, hosted locally or on a remote source. We recommend you to visit our own cloud repository, [data.lsdb.io](https://data.lsdb.io), where you are able to find large surveys publicly available to use." ] }, { @@ -24,7 +24,7 @@ "source": [ "### Example: Loading Gaia DR3\n", "\n", - "Let's get Gaia DR3 into our workflow, as an example. It is as simple as invoking `read_hipscat` with the respective catalog URL, which you can copy directly from our website." + "Let's get Gaia DR3 into our workflow, as an example. It is as simple as invoking `read_hats` with the respective catalog URL, which you can copy directly from our website." ] }, { @@ -33,7 +33,7 @@ "metadata": {}, "outputs": [], "source": [ - "gaia_dr3 = lsdb.read_hipscat(\"https://data.lsdb.io/unstable/gaia_dr3/gaia/\")\n", + "gaia_dr3 = lsdb.read_hats(\"https://data.lsdb.io/unstable/gaia_dr3/gaia/\")\n", "gaia_dr3" ] }, @@ -59,11 +59,11 @@ "source": [ "Note that it's important (and highly recommended) to:\n", "\n", - "- **Pre-select a small subset of columns** that satisfies your scientific needs. Loading an unnecessarily large amount of data leads to computationally expensive and inefficient workflows. To see which columns are available before even having to invoke `read_hipscat`, please refer to the column descriptions in each catalog's section on [data.lsdb.io](https://data.lsdb.io).\n", + "- **Pre-select a small subset of columns** that satisfies your scientific needs. Loading an unnecessarily large amount of data leads to computationally expensive and inefficient workflows. To see which columns are available before even having to invoke `read_hats`, please refer to the column descriptions in each catalog's section on [data.lsdb.io](https://data.lsdb.io).\n", "\n", "- **Load catalogs with their respective margin caches**, when available. These margins are necessary to obtain accurate results in several operations such as joining and crossmatching. For more information about margins please visit our [Margins](margins.ipynb) topic notebook.\n", "\n", - "Let's define the set of columns we need and add the margin catalog's path to our `read_hipscat` call." + "Let's define the set of columns we need and add the margin catalog's path to our `read_hats` call." ] }, { @@ -72,7 +72,7 @@ "metadata": {}, "outputs": [], "source": [ - "gaia_dr3 = lsdb.read_hipscat(\n", + "gaia_dr3 = lsdb.read_hats(\n", " \"https://data.lsdb.io/unstable/gaia_dr3/gaia/\",\n", " margin_cache=\"https://data.lsdb.io/unstable/gaia_dr3/gaia_10arcs/\",\n", " columns=[\n", @@ -99,7 +99,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "When invoking `read_hipscat` only metadata information about that catalog (e.g. sky coverage, number of total rows and column schema) is loaded into memory! Notice that the ellipses in the previous catalog representation are just placeholders.\n", + "When invoking `read_hats` only metadata information about that catalog (e.g. sky coverage, number of total rows and column schema) is loaded into memory! Notice that the ellipses in the previous catalog representation are just placeholders.\n", "\n", "You will find that most use cases start with **LAZY** loading and planning operations, followed by more expensive **COMPUTE** operations. The data is only loaded into memory when we trigger the workflow computations, usually with a `compute` call.\n", "\n", diff --git a/docs/tutorials/import_catalogs.ipynb b/docs/tutorials/import_catalogs.ipynb index 4fe5b377..e7f26d8f 100644 --- a/docs/tutorials/import_catalogs.ipynb +++ b/docs/tutorials/import_catalogs.ipynb @@ -7,12 +7,12 @@ "collapsed": false }, "source": [ - "# Importing catalogs to HiPSCat format\n", + "# Importing catalogs to HATS format\n", "\n", - "This notebook presents two modes of importing catalogs to HiPSCat format:\n", + "This notebook presents two modes of importing catalogs to HATS format:\n", "\n", "1. `lsdb.from_dataframe()` method: helpful to load smaller catalogs from a single dataframe. data should have fewer than 1-2 million rows and the pandas dataframe should be less than 1-2G in-memory. if your data is larger, the format is complicated, you need more flexibility, or you notice any performance issues when importing with this mode, use the next mode.\n", - "2. `hipscat-import` package: for large datasets (1G - 100s of TB). this is a purpose-built map-reduce pipeline for creating hipscat catalogs from various datasets. in this notebook, we use a very basic dataset and basic import options. please see [the full package documentation](https://hipscat-import.readthedocs.io/) if you need to do anything more complicated." + "2. `hats-import` package: for large datasets (1G - 100s of TB). this is a purpose-built map-reduce pipeline for creating HATS catalogs from various datasets. in this notebook, we use a very basic dataset and basic import options. please see [the full package documentation](https://hats-import.readthedocs.io/) if you need to do anything more complicated." ] }, { @@ -119,8 +119,8 @@ " threshold=100,\n", ")\n", "\n", - "# Save it to disk in HiPSCat format\n", - "catalog.to_hipscat(f\"{tmp_dir.name}/from_dataframe\")" + "# Save it to disk in HATS format\n", + "catalog.to_hats(f\"{tmp_dir.name}/from_dataframe\")" ] }, { @@ -130,7 +130,7 @@ "collapsed": false }, "source": [ - "## HiPSCat import pipeline" + "## HATS import pipeline" ] }, { @@ -138,7 +138,7 @@ "id": "3842520c", "metadata": {}, "source": [ - "Let's install the latest release of hipscat-import:" + "Let's install the latest release of hats-import:" ] }, { @@ -153,7 +153,7 @@ }, "outputs": [], "source": [ - "!pip install git+https://github.com/astronomy-commons/hipscat-import.git@main --quiet" + "!pip install git+https://github.com/astronomy-commons/hats-import.git@main --quiet" ] }, { @@ -169,8 +169,8 @@ "outputs": [], "source": [ "from dask.distributed import Client\n", - "from hipscat_import.catalog.arguments import ImportArguments\n", - "from hipscat_import.pipeline import pipeline_with_client" + "from hats_import.catalog.arguments import ImportArguments\n", + "from hats_import.pipeline import pipeline_with_client" ] }, { @@ -226,7 +226,7 @@ }, "outputs": [], "source": [ - "from_dataframe_catalog = lsdb.read_hipscat(f\"{tmp_dir.name}/from_dataframe\")\n", + "from_dataframe_catalog = lsdb.read_hats(f\"{tmp_dir.name}/from_dataframe\")\n", "from_dataframe_catalog" ] }, @@ -242,7 +242,7 @@ }, "outputs": [], "source": [ - "from_import_pipeline_catalog = lsdb.read_hipscat(f\"{tmp_dir.name}/from_import_pipeline\")\n", + "from_import_pipeline_catalog = lsdb.read_hats(f\"{tmp_dir.name}/from_import_pipeline\")\n", "from_import_pipeline_catalog" ] }, diff --git a/docs/tutorials/margins.ipynb b/docs/tutorials/margins.ipynb index 71cc3d9a..98ca1d4c 100644 --- a/docs/tutorials/margins.ipynb +++ b/docs/tutorials/margins.ipynb @@ -6,7 +6,7 @@ "source": [ "# Margins\n", "\n", - "LSDB can handle datasets larger than memory by breaking them down into smaller spatially-connected parts and working on each part one at a time. One of the main tasks enabled by LSDB are spatial queries such as cross-matching; To ensure accurate comparisons, all nearby data points need to be loaded simultaneously. LSDB uses HiPSCat's method of organizing data spatially to achieve this. However, there's a limitation: at the boundaries of each divided section, some data points are going to be missed. This means that for operations requiring comparisons with neighboring points, such as cross-matching, the process might miss some matches for points near these boundaries because not all nearby points are included when analyzing one section at a time.\n", + "LSDB can handle datasets larger than memory by breaking them down into smaller spatially-connected parts and working on each part one at a time. One of the main tasks enabled by LSDB are spatial queries such as cross-matching; To ensure accurate comparisons, all nearby data points need to be loaded simultaneously. LSDB uses HATS' method of organizing data spatially to achieve this. However, there's a limitation: at the boundaries of each divided section, some data points are going to be missed. This means that for operations requiring comparisons with neighboring points, such as cross-matching, the process might miss some matches for points near these boundaries because not all nearby points are included when analyzing one section at a time.\n", "\n", "![Margin Boundary Example](_static/pixel-boundary-example.png)\n", "*Here we see an example of a boundary between HEALPix pixels, where the green points are in one partition and the red points in another. Working with one partition at a time, we would miss potential matches with points close to the boundary*\n", @@ -25,9 +25,9 @@ "source": [ "## Loading a Margin Catalog\n", "\n", - "The margin cache is stored as a separate HiPSCat catalog with the same partitioning as the main catalog.\n", + "The margin cache is stored as a separate HATS catalog with the same partitioning as the main catalog.\n", "\n", - "To load a margin cache, we first load the margin catalog the same as other HiPSCat catalogs with a `lsdb.read_hipscat` call." + "To load a margin cache, we first load the margin catalog the same as other HATS catalogs with a `lsdb.read_hats` call." ] }, { @@ -58,7 +58,7 @@ "outputs": [], "source": [ "ztf_margin_path = f\"{surveys_path}/ztf/ztf_object_margin\"\n", - "ztf_margin = lsdb.read_hipscat(ztf_margin_path)\n", + "ztf_margin = lsdb.read_hats(ztf_margin_path)\n", "print(f\"Margin size: {ztf_margin.hc_structure.catalog_info.margin_threshold} arcsec\")\n", "ztf_margin" ] @@ -93,7 +93,7 @@ "outputs": [], "source": [ "ztf_object_path = f\"{surveys_path}/ztf/ztf_object\"\n", - "ztf_object = lsdb.read_hipscat(ztf_object_path, margin_cache=ztf_margin)\n", + "ztf_object = lsdb.read_hats(ztf_object_path, margin_cache=ztf_margin)\n", "ztf_object" ] }, @@ -224,7 +224,7 @@ }, "outputs": [], "source": [ - "gaia = lsdb.read_hipscat(f\"{surveys_path}/gaia\")\n", + "gaia = lsdb.read_hats(f\"{surveys_path}/gaia\")\n", "gaia" ] }, diff --git a/docs/tutorials/performance.rst b/docs/tutorials/performance.rst index 5be43d29..3c94a8f1 100644 --- a/docs/tutorials/performance.rst +++ b/docs/tutorials/performance.rst @@ -4,7 +4,7 @@ Performance LSDB is a high-performance package built to support the analysis of large-scale astronomical datasets. One of the performance goals of LSDB is to add as little overhead over the input-output operations as possible. We achieve this aim for catalog cross-matching, spatial and data filtering operations by using -the `HiPSCat `_ data format, +the `HATS `_ data format, efficient algorithms, and `Dask `_ framework for parallel computing. @@ -44,7 +44,7 @@ increasing the radius from 1 arcminute to 25 degrees. The analysis has the following steps: -* Load the data from the HiPSCat format, selecting the subset of the data with ``lsdb.read_hipscat(PATH, columns=[RA_COL, DEC_COL]).cone_search(ra, dec, radius).compute()``. +* Load the data from the HATS format, selecting the subset of the data with ``lsdb.read_hats(PATH, columns=[RA_COL, DEC_COL]).cone_search(ra, dec, radius).compute()``. * Perform the cross-matching with the selected algorithm * LSDB: ``ztf.crossmatch(gaia, radius_arcsec=1, n_neighbors=1).compute()`` diff --git a/docs/tutorials/pre_executed/des-gaia.ipynb b/docs/tutorials/pre_executed/des-gaia.ipynb index 9c9c693b..0a255926 100644 --- a/docs/tutorials/pre_executed/des-gaia.ipynb +++ b/docs/tutorials/pre_executed/des-gaia.ipynb @@ -12,8 +12,8 @@ "In this tutorial we cross-match nain tables of Dark Energy Survey (DES) DR2 and Gaia DR3 catalogs. The outline of the tutorial is as follows:\n", "\n", "1. Get original data files\n", - "2. Convert the data to HiPSCat format using [hipscat-import](https://github.com/astronomy-commons/hipscat-import/)\n", - "3. Cross-match the catalogs using LSDB and save to a new HiPSCat catalog" + "2. Convert the data to HATS format using [hats-import](https://github.com/astronomy-commons/hats-import/)\n", + "3. Cross-match the catalogs using LSDB and save to a new HATS catalog" ] }, { @@ -28,21 +28,13 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "dbf9a727fa9682a1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], + "outputs": [], "source": [ - "# Comment to skip hipscat-import installation\n", - "%pip install --quiet hipscat-import\n", + "# Comment to skip hats-import installation\n", + "%pip install --quiet hats-import\n", "\n", "# Uncomment to install lsdb\n", "# %pip install --quiet lsdb" @@ -50,19 +42,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "a37c4b45dede404c", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/delucchi/git/smoke/lsdb/src/lsdb/__init__.py:8: UserWarning: This version of lsdb does not support dataframe query-planning, which has been disabled.\n", - " warnings.warn(\"This version of lsdb does not support dataframe query-planning, which has been disabled.\")\n" - ] - } - ], + "outputs": [], "source": [ "# For files and directories manipulation\n", "from pathlib import Path\n", @@ -84,17 +67,17 @@ "# Numpy is always useful!\n", "import numpy as np\n", "\n", - "# Explore the HiPSCat catalogs and plot sky maps\n", - "from hipscat.catalog import Catalog\n", - "from hipscat.inspection import plot_pixels\n", + "# Explore the HATS catalogs and plot sky maps\n", + "from hats.catalog import Catalog\n", + "from hats.inspection import plot_pixels\n", "\n", - "# For reading the HiPSCat catalogs and performing the cross-match\n", + "# For reading the HATS catalogs and performing the cross-match\n", "import lsdb\n", "\n", - "# For converting the data to HiPSCat format and generate margin caches\n", - "from hipscat_import.catalog.file_readers import CsvReader\n", - "from hipscat_import.margin_cache.margin_cache_arguments import MarginCacheArguments\n", - "from hipscat_import.pipeline import ImportArguments, pipeline_with_client" + "# For converting the data to HATS format and generate margin caches\n", + "from hats_import.catalog.file_readers import CsvReader\n", + "from hats_import.margin_cache.margin_cache_arguments import MarginCacheArguments\n", + "from hats_import.pipeline import ImportArguments, pipeline_with_client" ] }, { @@ -111,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "2828441463c81505", "metadata": {}, "outputs": [], @@ -122,17 +105,17 @@ "\n", "GAIA_SCHEMA_FILE = GAIA_DIR / \"schema.parquet\"\n", "\n", - "DES_HIPSCAT_NAME = \"des_dr2\"\n", - "GAIA_HIPSCAT_NAME = \"gaia_dr3\"\n", + "DES_HATS_NAME = \"des_dr2\"\n", + "GAIA_HATS_NAME = \"gaia_dr3\"\n", "GAIA_MARGIN_CACHE_NAME = \"gaia_dr3_1arcsec\"\n", "XMATCH_NAME = \"des_dr2_x_gaia_dr3\"\n", "\n", - "HIPSCAT_DIR = Path(\"hipscat\")\n", - "DES_HIPSCAT_DIR = HIPSCAT_DIR / DES_HIPSCAT_NAME\n", - "GAIA_HIPSCAT_DIR = HIPSCAT_DIR / GAIA_HIPSCAT_NAME\n", - "GAIA_MARGIN_CACHE_DIR = HIPSCAT_DIR / GAIA_MARGIN_CACHE_NAME\n", + "HATS_DIR = Path(\"catalogs\")\n", + "DES_HATS_DIR = HATS_DIR / DES_HATS_NAME\n", + "GAIA_HATS_DIR = HATS_DIR / GAIA_HATS_NAME\n", + "GAIA_MARGIN_CACHE_DIR = HATS_DIR / GAIA_MARGIN_CACHE_NAME\n", "\n", - "OUTPUT_HIPSCAT_DIR = HIPSCAT_DIR / XMATCH_NAME" + "XMATCH_DIR = HATS_DIR / XMATCH_NAME" ] }, { @@ -153,7 +136,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "3678ae0f1ab1e8e1", "metadata": {}, "outputs": [], @@ -197,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "1b5f72a701f38dbb", "metadata": {}, "outputs": [], @@ -230,15 +213,26 @@ "source": [ "## Create Dask client\n", "\n", - "Both `hipscat-import` and `lsdb` use [Dask](https://dask.org) for parallel processing. We create a Dask client here to be used in all the following pipelines steps. We destroy the client at the end of the notebook." + "Both `hats-import` and `lsdb` use [Dask](https://dask.org) for parallel processing. We create a Dask client here to be used in all the following pipelines steps. We destroy the client at the end of the notebook." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "id": "c1ae24c75a169106", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/delucchi/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", + "Perhaps you already have a cluster running?\n", + "Hosting the HTTP server on port 33731 instead\n", + " warnings.warn(\n" + ] + } + ], "source": [ "# See Dask documentation for the options, e.g. https://distributed.dask.org/en/latest/local-cluster.html\n", "# You would likely want to change `n_workers` to have an optimal performance while not going out of memory.\n", @@ -252,9 +246,9 @@ "collapsed": false }, "source": [ - "## Convert the data to HiPSCat format\n", + "## Convert the data to HATS format\n", "\n", - "We use the [hipscat-import](https://github.com/astronomy-commons/hipscat-import/) tool to create HiPSCat catalogs from the original data files." + "We use the [hats-import](https://github.com/astronomy-commons/hats-import/) tool to create HATS catalogs from the original data files." ] }, { @@ -264,7 +258,7 @@ "collapsed": false }, "source": [ - "### Convert DES DR2 to HiPSCat\n", + "### Convert DES DR2 to HATS\n", "\n", "- Plan the pipeline specifying all parameters of the conversion\n", "- Run the pipeline with [Dask](https://dask.org)" @@ -272,19 +266,19 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "id": "6c4a751793a5b9d5", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4afc15e216754f92b2b06b819edb74fb", + "model_id": "ea0a7843fcd5423db4e741b375db16a5", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Planning : 0%| | 0/5 [00:00" + "
" ] }, "metadata": {}, @@ -405,12 +397,9 @@ } ], "source": [ - "# Read the HiPSCat catalog metadata, it does not load any data, just healpix pixels and other metadata\n", - "des_hipscat_catalog = Catalog.read_from_hipscat(DES_HIPSCAT_DIR)\n", - "plot_pixels(des_hipscat_catalog)\n", - "\n", - "# TODO: add DES footprint to this plot\n", - "# https://des.ncsa.illinois.edu/static/images/dr2/dr2_footprint.png" + "# Read the HATS catalog metadata, it does not load any data, just healpix pixels and other metadata\n", + "des_catalog = Catalog.read_hats(DES_HATS_DIR)\n", + "plot_pixels(des_catalog)" ] }, { @@ -420,7 +409,7 @@ "collapsed": false }, "source": [ - "This is what you would get for the full catalog, it would have many healpix tiles instead of just a single one. The reason is that `hipscat-import` splits the data into multiple files to have no more than a million rows per healpix tile / HiPSCat parquet file.\n", + "This is what you would get for the full catalog, it would have many healpix tiles instead of just a single one. The reason is that `hats-import` splits the data into multiple files to have no more than a million rows per healpix tile / HATS parquet file.\n", "\n", "![DES Full Catalog Tile map](data:image/png;base64,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)" ] @@ -443,19 +432,34 @@ "collapsed": false }, "source": [ - "### Convert Gaia DR3 to HiPSCat\n", + "### Convert Gaia DR3 to HATS\n", "\n", - "For Gaia we need to specify schema of the input data, because currently `hipscat-import` cannot infer column data types properly from this dataset.\n", + "For Gaia we need to specify schema of the input data, because currently `hats-import` cannot infer column data types properly from this dataset.\n", "\n", - "See this GitHub issue for more details: " + "See this GitHub issue for more details: " ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "id": "87db92f82a8f046f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "OSError", + "evalue": "File data/Gaia_DR3/schema.parquet already exists. If you mean to replace it then use the argument \"overwrite=True\".", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[6], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m gaia_file \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mnext\u001b[39m(GAIA_DIR\u001b[38;5;241m.\u001b[39mglob(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m*.csv.gz\u001b[39m\u001b[38;5;124m\"\u001b[39m))\n\u001b[1;32m 2\u001b[0m empty_astropy_table \u001b[38;5;241m=\u001b[39m ascii\u001b[38;5;241m.\u001b[39mread(gaia_file, \u001b[38;5;28mformat\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mecsv\u001b[39m\u001b[38;5;124m\"\u001b[39m, data_end\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mempty_astropy_table\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwrite\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mGAIA_SCHEMA_FILE\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# Uncomment to overwrite existing schema file\u001b[39;49;00m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;66;43;03m# overwrite=True,\u001b[39;49;00m\n\u001b[1;32m 7\u001b[0m \u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/astropy/table/connect.py:130\u001b[0m, in \u001b[0;36mTableWrite.__call__\u001b[0;34m(self, serialize_method, *args, **kwargs)\u001b[0m\n\u001b[1;32m 128\u001b[0m instance \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_instance\n\u001b[1;32m 129\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m serialize_method_as(instance, serialize_method):\n\u001b[0;32m--> 130\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mregistry\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwrite\u001b[49m\u001b[43m(\u001b[49m\u001b[43minstance\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/astropy/io/registry/core.py:386\u001b[0m, in \u001b[0;36mUnifiedOutputRegistry.write\u001b[0;34m(self, data, format, *args, **kwargs)\u001b[0m\n\u001b[1;32m 381\u001b[0m \u001b[38;5;28mformat\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_valid_format(\n\u001b[1;32m 382\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwrite\u001b[39m\u001b[38;5;124m\"\u001b[39m, data\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m, path, fileobj, args, kwargs\n\u001b[1;32m 383\u001b[0m )\n\u001b[1;32m 385\u001b[0m writer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_writer(\u001b[38;5;28mformat\u001b[39m, data\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m)\n\u001b[0;32m--> 386\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mwriter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/astropy/io/misc/parquet.py:435\u001b[0m, in \u001b[0;36mwrite_table_parquet\u001b[0;34m(table, output, overwrite)\u001b[0m\n\u001b[1;32m 433\u001b[0m os\u001b[38;5;241m.\u001b[39mremove(output)\n\u001b[1;32m 434\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 435\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m(NOT_OVERWRITING_MSG\u001b[38;5;241m.\u001b[39mformat(output))\n\u001b[1;32m 437\u001b[0m \u001b[38;5;66;03m# We use version='2.0' for full support of datatypes including uint32.\u001b[39;00m\n\u001b[1;32m 438\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m parquet\u001b[38;5;241m.\u001b[39mParquetWriter(output, schema, version\u001b[38;5;241m=\u001b[39mwriter_version) \u001b[38;5;28;01mas\u001b[39;00m writer:\n\u001b[1;32m 439\u001b[0m \u001b[38;5;66;03m# Convert each Table column to a pyarrow array\u001b[39;00m\n", + "\u001b[0;31mOSError\u001b[0m: File data/Gaia_DR3/schema.parquet already exists. If you mean to replace it then use the argument \"overwrite=True\"." + ] + } + ], "source": [ "gaia_file = next(GAIA_DIR.glob(\"*.csv.gz\"))\n", "empty_astropy_table = ascii.read(gaia_file, format=\"ecsv\", data_end=1)\n", @@ -468,28 +472,35 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "id": "54857141a690eb58", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "841ee1dce38a4a85b433f68301ac3fa6", + "model_id": "99ab154793884704bbbe42775432c8ea", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Planning : 0%| | 0/5 [00:00" + "
" ] }, "metadata": {}, @@ -609,8 +635,8 @@ ], "source": [ "# It should be full sky for the whole catalog\n", - "gaia_hipscat_catalog = Catalog.read_from_hipscat(GAIA_HIPSCAT_DIR)\n", - "plot_pixels(gaia_hipscat_catalog)" + "gaia_catalog = Catalog.read_hats(GAIA_HATS_DIR)\n", + "plot_pixels(gaia_catalog)" ] }, { @@ -621,7 +647,7 @@ }, "source": [ "And this is how it would look like for the entire Gaia catalog.\n", - "Notice how Milky Way region is denser and thus has higher healpix order (smaller tiles), since `hipscat-import` limits the maximum number of objects per pixel to be 1 million.\n", + "Notice how Milky Way region is denser and thus has higher healpix order (smaller tiles), since `hats-import` limits the maximum number of objects per pixel to be 1 million.\n", "\n", "![Entire Gaia Sky map](data:image/png;base64,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\n", ")" @@ -634,7 +660,7 @@ "collapsed": false }, "source": [ - "#### Generate margin cache for the Gaia HiPSCat catalog\n", + "#### Generate margin cache for the Gaia HATS catalog\n", "\n", "LSDB requires right-catalog margin cache to generate the complete cross-match result.\n", "Without the margin cache, the objects located near the edges of Healpix tiles may be missed in the cross-match." @@ -649,54 +675,60 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9267ca50fcdf4bc9b49bb5bd31728b09", + "model_id": "b81c66ea9b3848189d273e6d5251cb2a", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Mapping : 0%| | 0/1 [00:00 8\u001b[0m \u001b[43mpipeline_with_client\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmargin_cache_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/git/hats/hipscat-import/src/hats_import/pipeline.py:60\u001b[0m, in \u001b[0;36mpipeline_with_client\u001b[0;34m(args, client)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m args\u001b[38;5;241m.\u001b[39mcompletion_email_address:\n\u001b[1;32m 59\u001b[0m _send_failure_email(args, exception)\n\u001b[0;32m---> 60\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception\n", + "File \u001b[0;32m~/git/hats/hipscat-import/src/hats_import/pipeline.py:48\u001b[0m, in \u001b[0;36mpipeline_with_client\u001b[0;34m(args, client)\u001b[0m\n\u001b[1;32m 46\u001b[0m index_runner\u001b[38;5;241m.\u001b[39mrun(args, client)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(args, MarginCacheArguments):\n\u001b[0;32m---> 48\u001b[0m \u001b[43mmargin_runner\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_margin_cache\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclient\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(args, SoapArguments):\n\u001b[1;32m 50\u001b[0m soap_runner\u001b[38;5;241m.\u001b[39mrun(args, client)\n", + "File \u001b[0;32m~/git/hats/hipscat-import/src/hats_import/margin_cache/margin_cache.py:57\u001b[0m, in \u001b[0;36mgenerate_margin_cache\u001b[0;34m(args, client)\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m reducing_key, pix \u001b[38;5;129;01min\u001b[39;00m resume_plan\u001b[38;5;241m.\u001b[39mget_remaining_reduce_keys():\n\u001b[1;32m 45\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(\n\u001b[1;32m 46\u001b[0m client\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 47\u001b[0m mcmr\u001b[38;5;241m.\u001b[39mreduce_margin_shards,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 55\u001b[0m )\n\u001b[1;32m 56\u001b[0m )\n\u001b[0;32m---> 57\u001b[0m \u001b[43mresume_plan\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwait_for_reducing\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfutures\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m resume_plan\u001b[38;5;241m.\u001b[39mprint_progress(total\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m4\u001b[39m, stage_name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFinishing\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m step_progress:\n\u001b[1;32m 60\u001b[0m total_rows \u001b[38;5;241m=\u001b[39m parquet_metadata\u001b[38;5;241m.\u001b[39mwrite_parquet_metadata(args\u001b[38;5;241m.\u001b[39mcatalog_path)\n", + "File \u001b[0;32m~/git/hats/hipscat-import/src/hats_import/margin_cache/margin_cache_resume_plan.py:136\u001b[0m, in \u001b[0;36mMarginCachePlan.wait_for_reducing\u001b[0;34m(self, futures)\u001b[0m\n\u001b[1;32m 134\u001b[0m remaining_sources_to_reduce \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_remaining_reduce_keys()\n\u001b[1;32m 135\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(remaining_sources_to_reduce) \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 136\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\n\u001b[1;32m 137\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(remaining_sources_to_reduce)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m reducing stages did not complete successfully.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 138\u001b[0m )\n\u001b[1;32m 139\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtouch_stage_done_file(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mREDUCING_STAGE)\n", + "\u001b[0;31mRuntimeError\u001b[0m: 12 reducing stages did not complete successfully." + ] } ], "source": [ "margin_cache_args = MarginCacheArguments(\n", - " input_catalog_path=GAIA_HIPSCAT_DIR,\n", - " output_path=HIPSCAT_DIR,\n", - " margin_threshold=1.0, # arcsec\n", + " input_catalog_path=GAIA_HATS_DIR,\n", + " output_path=HATS_DIR,\n", + " margin_threshold=5.0, # arcsec\n", " output_artifact_name=GAIA_MARGIN_CACHE_NAME,\n", - " # Uncomment to overwrite existing margin cache\n", - " # overwrite=True,\n", ")\n", "\n", "pipeline_with_client(margin_cache_args, client)" @@ -721,10 +753,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "5bb07cbf3c1b00c8", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/delucchi/git/hats/lsdb/src/lsdb/dask/crossmatch_catalog_data.py:108: RuntimeWarning: Right catalog does not have a margin cache. Results may be incomplete and/or inaccurate.\n", + " warnings.warn(\n" + ] + }, { "data": { "text/html": [ @@ -1190,224 +1230,224 @@ " \n", " \n", " 4611686018427387904\n", - " int64\n", - " string\n", - " int64\n", - " int64\n", - " int64\n", - " int64\n", - " int64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int16\n", - " int16\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " uint8\n", - " uint64\n", - " uint64\n", + " int64[pyarrow]\n", + " string[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " uint8[pyarrow]\n", + " uint64[pyarrow]\n", + " uint64[pyarrow]\n", " \n", " \n", " 18446744073709551615\n", @@ -1635,12 +1675,13 @@ "" ], "text/plain": [ - "Dask DataFrame Structure:\n", - " COADD_OBJECT_ID TILENAME HPIX_32 HPIX_64 HPIX_1024 HPIX_4096 HPIX_16384 RA DEC ALPHAWIN_J2000 DELTAWIN_J2000 GALACTIC_L GALACTIC_B XWIN_IMAGE YWIN_IMAGE A_IMAGE ERRA_IMAGE B_IMAGE ERRB_IMAGE THETA_J2000 ERRTHETA_IMAGE KRON_RADIUS EBV_SFD98 MAG_AUTO_G_DERED MAG_AUTO_R_DERED MAG_AUTO_I_DERED MAG_AUTO_Z_DERED MAG_AUTO_Y_DERED WAVG_MAG_PSF_G_DERED WAVG_MAG_PSF_R_DERED WAVG_MAG_PSF_I_DERED WAVG_MAG_PSF_Z_DERED WAVG_MAG_PSF_Y_DERED EXTENDED_CLASS_COADD EXTENDED_CLASS_WAVG FLAGS_G IMAFLAGS_ISO_G NEPOCHS_G FLAGS_R IMAFLAGS_ISO_R NEPOCHS_R FLAGS_I IMAFLAGS_ISO_I NEPOCHS_I FLAGS_Z IMAFLAGS_ISO_Z NEPOCHS_Z FLAGS_Y IMAFLAGS_ISO_Y NEPOCHS_Y XWIN_IMAGE_G XWIN_IMAGE_R XWIN_IMAGE_I XWIN_IMAGE_Z XWIN_IMAGE_Y YWIN_IMAGE_G YWIN_IMAGE_R YWIN_IMAGE_I YWIN_IMAGE_Z YWIN_IMAGE_Y X2WIN_IMAGE_G X2WIN_IMAGE_R X2WIN_IMAGE_I X2WIN_IMAGE_Z X2WIN_IMAGE_Y Y2WIN_IMAGE_G Y2WIN_IMAGE_R Y2WIN_IMAGE_I Y2WIN_IMAGE_Z Y2WIN_IMAGE_Y XYWIN_IMAGE_G XYWIN_IMAGE_R XYWIN_IMAGE_I XYWIN_IMAGE_Z XYWIN_IMAGE_Y ERRX2WIN_IMAGE_G ERRX2WIN_IMAGE_R ERRX2WIN_IMAGE_I ERRX2WIN_IMAGE_Z ERRX2WIN_IMAGE_Y ERRY2WIN_IMAGE_G ERRY2WIN_IMAGE_R ERRY2WIN_IMAGE_I ERRY2WIN_IMAGE_Z ERRY2WIN_IMAGE_Y ERRXYWIN_IMAGE_G ERRXYWIN_IMAGE_R ERRXYWIN_IMAGE_I ERRXYWIN_IMAGE_Z ERRXYWIN_IMAGE_Y AWIN_IMAGE_G AWIN_IMAGE_R AWIN_IMAGE_I AWIN_IMAGE_Z AWIN_IMAGE_Y BWIN_IMAGE_G BWIN_IMAGE_R BWIN_IMAGE_I BWIN_IMAGE_Z BWIN_IMAGE_Y THETAWIN_IMAGE_G THETAWIN_IMAGE_R THETAWIN_IMAGE_I THETAWIN_IMAGE_Z THETAWIN_IMAGE_Y ERRAWIN_IMAGE_G ERRAWIN_IMAGE_R ERRAWIN_IMAGE_I ERRAWIN_IMAGE_Z ERRAWIN_IMAGE_Y ERRBWIN_IMAGE_G ERRBWIN_IMAGE_R ERRBWIN_IMAGE_I ERRBWIN_IMAGE_Z ERRBWIN_IMAGE_Y ERRTHETAWIN_IMAGE_G ERRTHETAWIN_IMAGE_R ERRTHETAWIN_IMAGE_I ERRTHETAWIN_IMAGE_Z ERRTHETAWIN_IMAGE_Y FLUX_RADIUS_G FLUX_RADIUS_R FLUX_RADIUS_I FLUX_RADIUS_Z FLUX_RADIUS_Y FWHM_IMAGE_G FWHM_IMAGE_R FWHM_IMAGE_I FWHM_IMAGE_Z FWHM_IMAGE_Y ISOAREA_IMAGE_G ISOAREA_IMAGE_R ISOAREA_IMAGE_I ISOAREA_IMAGE_Z ISOAREA_IMAGE_Y BACKGROUND_G BACKGROUND_R BACKGROUND_I BACKGROUND_Z BACKGROUND_Y NITER_MODEL_G NITER_MODEL_R NITER_MODEL_I NITER_MODEL_Z NITER_MODEL_Y KRON_RADIUS_G KRON_RADIUS_R KRON_RADIUS_I KRON_RADIUS_Z KRON_RADIUS_Y MAG_AUTO_G MAG_AUTO_R MAG_AUTO_I MAG_AUTO_Z MAG_AUTO_Y MAGERR_AUTO_G MAGERR_AUTO_R MAGERR_AUTO_I MAGERR_AUTO_Z MAGERR_AUTO_Y WAVG_MAG_PSF_G WAVG_MAG_PSF_R WAVG_MAG_PSF_I WAVG_MAG_PSF_Z WAVG_MAG_PSF_Y WAVG_MAGERR_PSF_G WAVG_MAGERR_PSF_R WAVG_MAGERR_PSF_I WAVG_MAGERR_PSF_Z WAVG_MAGERR_PSF_Y FLUX_AUTO_G FLUX_AUTO_R FLUX_AUTO_I FLUX_AUTO_Z FLUX_AUTO_Y FLUXERR_AUTO_G FLUXERR_AUTO_R FLUXERR_AUTO_I FLUXERR_AUTO_Z FLUXERR_AUTO_Y WAVG_FLUX_PSF_G WAVG_FLUX_PSF_R WAVG_FLUX_PSF_I WAVG_FLUX_PSF_Z WAVG_FLUX_PSF_Y WAVG_FLUXERR_PSF_G WAVG_FLUXERR_PSF_R WAVG_FLUXERR_PSF_I WAVG_FLUXERR_PSF_Z WAVG_FLUXERR_PSF_Y CLASS_STAR_G CLASS_STAR_R CLASS_STAR_I CLASS_STAR_Z CLASS_STAR_Y SPREAD_MODEL_G SPREAD_MODEL_R SPREAD_MODEL_I SPREAD_MODEL_Z SPREAD_MODEL_Y WAVG_SPREAD_MODEL_G WAVG_SPREAD_MODEL_R WAVG_SPREAD_MODEL_I WAVG_SPREAD_MODEL_Z WAVG_SPREAD_MODEL_Y SPREADERR_MODEL_G SPREADERR_MODEL_R SPREADERR_MODEL_I SPREADERR_MODEL_Z SPREADERR_MODEL_Y WAVG_SPREADERR_MODEL_G WAVG_SPREADERR_MODEL_R WAVG_SPREADERR_MODEL_I WAVG_SPREADERR_MODEL_Z WAVG_SPREADERR_MODEL_Y Norder Dir Npix\n", - "npartitions=1 \n", - "4611686018427387904 int64 string int64 int64 int64 int64 int64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 int16 int16 int16 int32 int32 int16 int32 int32 int16 int32 int32 int16 int32 int32 int16 int32 int32 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 int32 int32 int32 int32 int32 float64 float64 float64 float64 float64 int32 int32 int32 int32 int32 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 uint8 uint64 uint64\n", - "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", - "Dask Name: to_pyarrow_string, 2 graph layers" + "Dask NestedFrame Structure:\n", + " COADD_OBJECT_ID TILENAME HPIX_32 HPIX_64 HPIX_1024 HPIX_4096 HPIX_16384 RA DEC ALPHAWIN_J2000 DELTAWIN_J2000 GALACTIC_L GALACTIC_B XWIN_IMAGE YWIN_IMAGE A_IMAGE ERRA_IMAGE B_IMAGE ERRB_IMAGE THETA_J2000 ERRTHETA_IMAGE KRON_RADIUS EBV_SFD98 MAG_AUTO_G_DERED MAG_AUTO_R_DERED MAG_AUTO_I_DERED MAG_AUTO_Z_DERED MAG_AUTO_Y_DERED WAVG_MAG_PSF_G_DERED WAVG_MAG_PSF_R_DERED WAVG_MAG_PSF_I_DERED WAVG_MAG_PSF_Z_DERED WAVG_MAG_PSF_Y_DERED EXTENDED_CLASS_COADD EXTENDED_CLASS_WAVG FLAGS_G IMAFLAGS_ISO_G NEPOCHS_G FLAGS_R IMAFLAGS_ISO_R NEPOCHS_R FLAGS_I IMAFLAGS_ISO_I NEPOCHS_I FLAGS_Z IMAFLAGS_ISO_Z NEPOCHS_Z FLAGS_Y IMAFLAGS_ISO_Y NEPOCHS_Y XWIN_IMAGE_G XWIN_IMAGE_R XWIN_IMAGE_I XWIN_IMAGE_Z XWIN_IMAGE_Y YWIN_IMAGE_G YWIN_IMAGE_R YWIN_IMAGE_I YWIN_IMAGE_Z YWIN_IMAGE_Y X2WIN_IMAGE_G X2WIN_IMAGE_R X2WIN_IMAGE_I X2WIN_IMAGE_Z X2WIN_IMAGE_Y Y2WIN_IMAGE_G Y2WIN_IMAGE_R Y2WIN_IMAGE_I Y2WIN_IMAGE_Z Y2WIN_IMAGE_Y XYWIN_IMAGE_G XYWIN_IMAGE_R XYWIN_IMAGE_I XYWIN_IMAGE_Z XYWIN_IMAGE_Y ERRX2WIN_IMAGE_G ERRX2WIN_IMAGE_R ERRX2WIN_IMAGE_I ERRX2WIN_IMAGE_Z ERRX2WIN_IMAGE_Y ERRY2WIN_IMAGE_G ERRY2WIN_IMAGE_R ERRY2WIN_IMAGE_I ERRY2WIN_IMAGE_Z ERRY2WIN_IMAGE_Y ERRXYWIN_IMAGE_G ERRXYWIN_IMAGE_R ERRXYWIN_IMAGE_I ERRXYWIN_IMAGE_Z ERRXYWIN_IMAGE_Y AWIN_IMAGE_G AWIN_IMAGE_R AWIN_IMAGE_I AWIN_IMAGE_Z AWIN_IMAGE_Y BWIN_IMAGE_G BWIN_IMAGE_R BWIN_IMAGE_I BWIN_IMAGE_Z BWIN_IMAGE_Y THETAWIN_IMAGE_G THETAWIN_IMAGE_R THETAWIN_IMAGE_I THETAWIN_IMAGE_Z THETAWIN_IMAGE_Y ERRAWIN_IMAGE_G ERRAWIN_IMAGE_R ERRAWIN_IMAGE_I ERRAWIN_IMAGE_Z ERRAWIN_IMAGE_Y ERRBWIN_IMAGE_G ERRBWIN_IMAGE_R ERRBWIN_IMAGE_I ERRBWIN_IMAGE_Z ERRBWIN_IMAGE_Y ERRTHETAWIN_IMAGE_G ERRTHETAWIN_IMAGE_R ERRTHETAWIN_IMAGE_I ERRTHETAWIN_IMAGE_Z ERRTHETAWIN_IMAGE_Y FLUX_RADIUS_G FLUX_RADIUS_R FLUX_RADIUS_I FLUX_RADIUS_Z FLUX_RADIUS_Y FWHM_IMAGE_G FWHM_IMAGE_R FWHM_IMAGE_I FWHM_IMAGE_Z FWHM_IMAGE_Y ISOAREA_IMAGE_G ISOAREA_IMAGE_R ISOAREA_IMAGE_I ISOAREA_IMAGE_Z ISOAREA_IMAGE_Y BACKGROUND_G BACKGROUND_R BACKGROUND_I BACKGROUND_Z BACKGROUND_Y NITER_MODEL_G NITER_MODEL_R NITER_MODEL_I NITER_MODEL_Z NITER_MODEL_Y KRON_RADIUS_G KRON_RADIUS_R KRON_RADIUS_I KRON_RADIUS_Z KRON_RADIUS_Y MAG_AUTO_G MAG_AUTO_R MAG_AUTO_I MAG_AUTO_Z MAG_AUTO_Y MAGERR_AUTO_G MAGERR_AUTO_R MAGERR_AUTO_I MAGERR_AUTO_Z MAGERR_AUTO_Y WAVG_MAG_PSF_G WAVG_MAG_PSF_R WAVG_MAG_PSF_I WAVG_MAG_PSF_Z WAVG_MAG_PSF_Y WAVG_MAGERR_PSF_G WAVG_MAGERR_PSF_R WAVG_MAGERR_PSF_I WAVG_MAGERR_PSF_Z WAVG_MAGERR_PSF_Y FLUX_AUTO_G FLUX_AUTO_R FLUX_AUTO_I FLUX_AUTO_Z FLUX_AUTO_Y FLUXERR_AUTO_G FLUXERR_AUTO_R FLUXERR_AUTO_I FLUXERR_AUTO_Z FLUXERR_AUTO_Y WAVG_FLUX_PSF_G WAVG_FLUX_PSF_R WAVG_FLUX_PSF_I WAVG_FLUX_PSF_Z WAVG_FLUX_PSF_Y WAVG_FLUXERR_PSF_G WAVG_FLUXERR_PSF_R WAVG_FLUXERR_PSF_I WAVG_FLUXERR_PSF_Z WAVG_FLUXERR_PSF_Y CLASS_STAR_G CLASS_STAR_R CLASS_STAR_I CLASS_STAR_Z CLASS_STAR_Y SPREAD_MODEL_G SPREAD_MODEL_R SPREAD_MODEL_I SPREAD_MODEL_Z SPREAD_MODEL_Y WAVG_SPREAD_MODEL_G WAVG_SPREAD_MODEL_R WAVG_SPREAD_MODEL_I WAVG_SPREAD_MODEL_Z WAVG_SPREAD_MODEL_Y SPREADERR_MODEL_G SPREADERR_MODEL_R SPREADERR_MODEL_I SPREADERR_MODEL_Z SPREADERR_MODEL_Y WAVG_SPREADERR_MODEL_G WAVG_SPREADERR_MODEL_R WAVG_SPREADERR_MODEL_I WAVG_SPREADERR_MODEL_Z WAVG_SPREADERR_MODEL_Y Norder Dir Npix\n", + "npartitions=1 \n", + "4611686018427387904 int64[pyarrow] string[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow]\n", + "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "Dask Name: nestedframe, 3 expressions\n", + "Expr=MapPartitions(NestedFrame)" ] }, "metadata": {}, @@ -1985,161 +2026,161 @@ " \n", " \n", " 4611686018427387904\n", - " int64\n", - " string\n", - " int64\n", - " int64\n", - " float64\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int8\n", - " bool\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " int8\n", - " int8\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " bool\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " int16\n", - " int8\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int8\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " string\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " bool\n", - " bool\n", - " int16\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " string\n", - " uint8\n", - " uint64\n", - " uint64\n", + " int64[pyarrow]\n", + " string[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " bool[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " int8[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " bool[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int8[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " string[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " int16[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " string[pyarrow]\n", + " uint8[pyarrow]\n", + " uint64[pyarrow]\n", + " uint64[pyarrow]\n", " \n", " \n", " 18446744073709551615\n", @@ -2304,12 +2345,13 @@ "" ], "text/plain": [ - "Dask DataFrame Structure:\n", - " solution_id designation source_id random_index ref_epoch ra ra_error dec dec_error parallax parallax_error parallax_over_error pm pmra pmra_error pmdec pmdec_error ra_dec_corr ra_parallax_corr ra_pmra_corr ra_pmdec_corr dec_parallax_corr dec_pmra_corr dec_pmdec_corr parallax_pmra_corr parallax_pmdec_corr pmra_pmdec_corr astrometric_n_obs_al astrometric_n_obs_ac astrometric_n_good_obs_al astrometric_n_bad_obs_al astrometric_gof_al astrometric_chi2_al astrometric_excess_noise astrometric_excess_noise_sig astrometric_params_solved astrometric_primary_flag nu_eff_used_in_astrometry pseudocolour pseudocolour_error ra_pseudocolour_corr dec_pseudocolour_corr parallax_pseudocolour_corr pmra_pseudocolour_corr pmdec_pseudocolour_corr astrometric_matched_transits visibility_periods_used astrometric_sigma5d_max matched_transits new_matched_transits matched_transits_removed ipd_gof_harmonic_amplitude ipd_gof_harmonic_phase ipd_frac_multi_peak ipd_frac_odd_win ruwe scan_direction_strength_k1 scan_direction_strength_k2 scan_direction_strength_k3 scan_direction_strength_k4 scan_direction_mean_k1 scan_direction_mean_k2 scan_direction_mean_k3 scan_direction_mean_k4 duplicated_source phot_g_n_obs phot_g_mean_flux phot_g_mean_flux_error phot_g_mean_flux_over_error phot_g_mean_mag phot_bp_n_obs phot_bp_mean_flux phot_bp_mean_flux_error phot_bp_mean_flux_over_error phot_bp_mean_mag phot_rp_n_obs phot_rp_mean_flux phot_rp_mean_flux_error phot_rp_mean_flux_over_error phot_rp_mean_mag phot_bp_rp_excess_factor phot_bp_n_contaminated_transits phot_bp_n_blended_transits phot_rp_n_contaminated_transits phot_rp_n_blended_transits phot_proc_mode bp_rp bp_g g_rp radial_velocity radial_velocity_error rv_method_used rv_nb_transits rv_nb_deblended_transits rv_visibility_periods_used rv_expected_sig_to_noise rv_renormalised_gof rv_chisq_pvalue rv_time_duration rv_amplitude_robust rv_template_teff rv_template_logg rv_template_fe_h rv_atm_param_origin vbroad vbroad_error vbroad_nb_transits grvs_mag grvs_mag_error grvs_mag_nb_transits rvs_spec_sig_to_noise phot_variable_flag l b ecl_lon ecl_lat in_qso_candidates in_galaxy_candidates non_single_star has_xp_continuous has_xp_sampled has_rvs has_epoch_photometry has_epoch_rv has_mcmc_gspphot has_mcmc_msc in_andromeda_survey classprob_dsc_combmod_quasar classprob_dsc_combmod_galaxy classprob_dsc_combmod_star teff_gspphot teff_gspphot_lower teff_gspphot_upper logg_gspphot logg_gspphot_lower logg_gspphot_upper mh_gspphot mh_gspphot_lower mh_gspphot_upper distance_gspphot distance_gspphot_lower distance_gspphot_upper azero_gspphot azero_gspphot_lower azero_gspphot_upper ag_gspphot ag_gspphot_lower ag_gspphot_upper ebpminrp_gspphot ebpminrp_gspphot_lower ebpminrp_gspphot_upper libname_gspphot Norder Dir Npix\n", - "npartitions=1 \n", - "4611686018427387904 int64 string int64 int64 float64 float64 float32 float64 float32 float64 float32 float32 float32 float64 float32 float64 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 int16 int16 int16 int16 float32 float32 float32 float32 int8 bool float32 float32 float32 float32 float32 float32 float32 float32 int16 int16 float32 int16 int16 int16 float32 float32 int8 int8 float32 float32 float32 float32 float32 float32 float32 float32 float32 bool int16 float64 float32 float32 float32 int16 float64 float32 float32 float32 int16 float64 float32 float32 float32 float32 int16 int16 int16 int16 int8 float32 float32 float32 float32 float32 int8 int16 int16 int16 float32 float32 float32 float32 float32 float32 float32 float32 int16 float32 float32 int16 float32 float32 int16 float32 string float64 float64 float64 float64 bool bool int16 bool bool bool bool bool bool bool bool float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 string uint8 uint64 uint64\n", - "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", - "Dask Name: to_pyarrow_string, 2 graph layers" + "Dask NestedFrame Structure:\n", + " solution_id designation source_id random_index ref_epoch ra ra_error dec dec_error parallax parallax_error parallax_over_error pm pmra pmra_error pmdec pmdec_error ra_dec_corr ra_parallax_corr ra_pmra_corr ra_pmdec_corr dec_parallax_corr dec_pmra_corr dec_pmdec_corr parallax_pmra_corr parallax_pmdec_corr pmra_pmdec_corr astrometric_n_obs_al astrometric_n_obs_ac astrometric_n_good_obs_al astrometric_n_bad_obs_al astrometric_gof_al astrometric_chi2_al astrometric_excess_noise astrometric_excess_noise_sig astrometric_params_solved astrometric_primary_flag nu_eff_used_in_astrometry pseudocolour pseudocolour_error ra_pseudocolour_corr dec_pseudocolour_corr parallax_pseudocolour_corr pmra_pseudocolour_corr pmdec_pseudocolour_corr astrometric_matched_transits visibility_periods_used astrometric_sigma5d_max matched_transits new_matched_transits matched_transits_removed ipd_gof_harmonic_amplitude ipd_gof_harmonic_phase ipd_frac_multi_peak ipd_frac_odd_win ruwe scan_direction_strength_k1 scan_direction_strength_k2 scan_direction_strength_k3 scan_direction_strength_k4 scan_direction_mean_k1 scan_direction_mean_k2 scan_direction_mean_k3 scan_direction_mean_k4 duplicated_source phot_g_n_obs phot_g_mean_flux phot_g_mean_flux_error phot_g_mean_flux_over_error phot_g_mean_mag phot_bp_n_obs phot_bp_mean_flux phot_bp_mean_flux_error phot_bp_mean_flux_over_error phot_bp_mean_mag phot_rp_n_obs phot_rp_mean_flux phot_rp_mean_flux_error phot_rp_mean_flux_over_error phot_rp_mean_mag phot_bp_rp_excess_factor phot_bp_n_contaminated_transits phot_bp_n_blended_transits phot_rp_n_contaminated_transits phot_rp_n_blended_transits phot_proc_mode bp_rp bp_g g_rp radial_velocity radial_velocity_error rv_method_used rv_nb_transits rv_nb_deblended_transits rv_visibility_periods_used rv_expected_sig_to_noise rv_renormalised_gof rv_chisq_pvalue rv_time_duration rv_amplitude_robust rv_template_teff rv_template_logg rv_template_fe_h rv_atm_param_origin vbroad vbroad_error vbroad_nb_transits grvs_mag grvs_mag_error grvs_mag_nb_transits rvs_spec_sig_to_noise phot_variable_flag l b ecl_lon ecl_lat in_qso_candidates in_galaxy_candidates non_single_star has_xp_continuous has_xp_sampled has_rvs has_epoch_photometry has_epoch_rv has_mcmc_gspphot has_mcmc_msc in_andromeda_survey classprob_dsc_combmod_quasar classprob_dsc_combmod_galaxy classprob_dsc_combmod_star teff_gspphot teff_gspphot_lower teff_gspphot_upper logg_gspphot logg_gspphot_lower logg_gspphot_upper mh_gspphot mh_gspphot_lower mh_gspphot_upper distance_gspphot distance_gspphot_lower distance_gspphot_upper azero_gspphot azero_gspphot_lower azero_gspphot_upper ag_gspphot ag_gspphot_lower ag_gspphot_upper ebpminrp_gspphot ebpminrp_gspphot_lower ebpminrp_gspphot_upper libname_gspphot Norder Dir Npix\n", + "npartitions=1 \n", + "4611686018427387904 int64[pyarrow] string[pyarrow] int64[pyarrow] int64[pyarrow] double[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] bool[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] int8[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] bool[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int8[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] string[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] bool[pyarrow] bool[pyarrow] int16[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] string[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow]\n", + "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "Dask Name: nestedframe, 3 expressions\n", + "Expr=MapPartitions(NestedFrame)" ] }, "metadata": {}, @@ -3092,380 +3134,380 @@ " \n", " \n", " 4611686018427387904\n", - " int64\n", - " string\n", - " int64\n", - " int64\n", - " int64\n", - " int64\n", - " int64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int16\n", - " int16\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " int16\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " int32\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " uint8\n", - " uint64\n", - " uint64\n", - " int64\n", - " string\n", - " int64\n", - " int64\n", - " float64\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float64\n", - " float32\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int8\n", - " bool\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " int8\n", - " int8\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " bool\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float64\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " int16\n", - " int16\n", - " int16\n", - " int8\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int8\n", - " int16\n", - " int16\n", - " int16\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " float32\n", - " int16\n", - " float32\n", - " string\n", - " float64\n", - " float64\n", - " float64\n", - " float64\n", - " bool\n", - " bool\n", - " int16\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " bool\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " float32\n", - " string\n", - " uint8\n", - " uint64\n", - " uint64\n", - " float64\n", + " int64[pyarrow]\n", + " string[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int16[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " int32[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " uint8[pyarrow]\n", + " uint64[pyarrow]\n", + " uint64[pyarrow]\n", + " int64[pyarrow]\n", + " string[pyarrow]\n", + " int64[pyarrow]\n", + " int64[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " bool[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " int8[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " bool[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " double[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int8[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int8[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " int16[pyarrow]\n", + " float[pyarrow]\n", + " string[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " double[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " int16[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " bool[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " float[pyarrow]\n", + " string[pyarrow]\n", + " uint8[pyarrow]\n", + " uint64[pyarrow]\n", + " uint64[pyarrow]\n", + " double[pyarrow]\n", " \n", " \n", " 18446744073709551615\n", @@ -3849,12 +3891,13 @@ "" ], "text/plain": [ - "Dask DataFrame Structure:\n", - " COADD_OBJECT_ID_des TILENAME_des HPIX_32_des HPIX_64_des HPIX_1024_des HPIX_4096_des HPIX_16384_des RA_des DEC_des ALPHAWIN_J2000_des DELTAWIN_J2000_des GALACTIC_L_des GALACTIC_B_des XWIN_IMAGE_des YWIN_IMAGE_des A_IMAGE_des ERRA_IMAGE_des B_IMAGE_des ERRB_IMAGE_des THETA_J2000_des ERRTHETA_IMAGE_des KRON_RADIUS_des EBV_SFD98_des MAG_AUTO_G_DERED_des MAG_AUTO_R_DERED_des MAG_AUTO_I_DERED_des MAG_AUTO_Z_DERED_des MAG_AUTO_Y_DERED_des WAVG_MAG_PSF_G_DERED_des WAVG_MAG_PSF_R_DERED_des WAVG_MAG_PSF_I_DERED_des WAVG_MAG_PSF_Z_DERED_des WAVG_MAG_PSF_Y_DERED_des EXTENDED_CLASS_COADD_des EXTENDED_CLASS_WAVG_des FLAGS_G_des IMAFLAGS_ISO_G_des NEPOCHS_G_des FLAGS_R_des IMAFLAGS_ISO_R_des NEPOCHS_R_des FLAGS_I_des IMAFLAGS_ISO_I_des NEPOCHS_I_des FLAGS_Z_des IMAFLAGS_ISO_Z_des NEPOCHS_Z_des FLAGS_Y_des IMAFLAGS_ISO_Y_des NEPOCHS_Y_des XWIN_IMAGE_G_des XWIN_IMAGE_R_des XWIN_IMAGE_I_des XWIN_IMAGE_Z_des XWIN_IMAGE_Y_des YWIN_IMAGE_G_des YWIN_IMAGE_R_des YWIN_IMAGE_I_des YWIN_IMAGE_Z_des YWIN_IMAGE_Y_des X2WIN_IMAGE_G_des X2WIN_IMAGE_R_des X2WIN_IMAGE_I_des X2WIN_IMAGE_Z_des X2WIN_IMAGE_Y_des Y2WIN_IMAGE_G_des Y2WIN_IMAGE_R_des Y2WIN_IMAGE_I_des Y2WIN_IMAGE_Z_des Y2WIN_IMAGE_Y_des XYWIN_IMAGE_G_des XYWIN_IMAGE_R_des XYWIN_IMAGE_I_des XYWIN_IMAGE_Z_des XYWIN_IMAGE_Y_des ERRX2WIN_IMAGE_G_des ERRX2WIN_IMAGE_R_des ERRX2WIN_IMAGE_I_des ERRX2WIN_IMAGE_Z_des ERRX2WIN_IMAGE_Y_des ERRY2WIN_IMAGE_G_des ERRY2WIN_IMAGE_R_des ERRY2WIN_IMAGE_I_des ERRY2WIN_IMAGE_Z_des ERRY2WIN_IMAGE_Y_des ERRXYWIN_IMAGE_G_des ERRXYWIN_IMAGE_R_des ERRXYWIN_IMAGE_I_des ERRXYWIN_IMAGE_Z_des ERRXYWIN_IMAGE_Y_des AWIN_IMAGE_G_des AWIN_IMAGE_R_des AWIN_IMAGE_I_des AWIN_IMAGE_Z_des AWIN_IMAGE_Y_des BWIN_IMAGE_G_des BWIN_IMAGE_R_des BWIN_IMAGE_I_des BWIN_IMAGE_Z_des BWIN_IMAGE_Y_des THETAWIN_IMAGE_G_des THETAWIN_IMAGE_R_des THETAWIN_IMAGE_I_des THETAWIN_IMAGE_Z_des THETAWIN_IMAGE_Y_des ERRAWIN_IMAGE_G_des ERRAWIN_IMAGE_R_des ERRAWIN_IMAGE_I_des ERRAWIN_IMAGE_Z_des ERRAWIN_IMAGE_Y_des ERRBWIN_IMAGE_G_des ERRBWIN_IMAGE_R_des ERRBWIN_IMAGE_I_des ERRBWIN_IMAGE_Z_des ERRBWIN_IMAGE_Y_des ERRTHETAWIN_IMAGE_G_des ERRTHETAWIN_IMAGE_R_des ERRTHETAWIN_IMAGE_I_des ERRTHETAWIN_IMAGE_Z_des ERRTHETAWIN_IMAGE_Y_des FLUX_RADIUS_G_des FLUX_RADIUS_R_des FLUX_RADIUS_I_des FLUX_RADIUS_Z_des FLUX_RADIUS_Y_des FWHM_IMAGE_G_des FWHM_IMAGE_R_des FWHM_IMAGE_I_des FWHM_IMAGE_Z_des FWHM_IMAGE_Y_des ISOAREA_IMAGE_G_des ISOAREA_IMAGE_R_des ISOAREA_IMAGE_I_des ISOAREA_IMAGE_Z_des ISOAREA_IMAGE_Y_des BACKGROUND_G_des BACKGROUND_R_des BACKGROUND_I_des BACKGROUND_Z_des BACKGROUND_Y_des NITER_MODEL_G_des NITER_MODEL_R_des NITER_MODEL_I_des NITER_MODEL_Z_des NITER_MODEL_Y_des KRON_RADIUS_G_des KRON_RADIUS_R_des KRON_RADIUS_I_des KRON_RADIUS_Z_des KRON_RADIUS_Y_des MAG_AUTO_G_des MAG_AUTO_R_des MAG_AUTO_I_des MAG_AUTO_Z_des MAG_AUTO_Y_des MAGERR_AUTO_G_des MAGERR_AUTO_R_des MAGERR_AUTO_I_des MAGERR_AUTO_Z_des MAGERR_AUTO_Y_des WAVG_MAG_PSF_G_des WAVG_MAG_PSF_R_des WAVG_MAG_PSF_I_des WAVG_MAG_PSF_Z_des WAVG_MAG_PSF_Y_des WAVG_MAGERR_PSF_G_des WAVG_MAGERR_PSF_R_des WAVG_MAGERR_PSF_I_des WAVG_MAGERR_PSF_Z_des WAVG_MAGERR_PSF_Y_des FLUX_AUTO_G_des FLUX_AUTO_R_des FLUX_AUTO_I_des FLUX_AUTO_Z_des FLUX_AUTO_Y_des FLUXERR_AUTO_G_des FLUXERR_AUTO_R_des FLUXERR_AUTO_I_des FLUXERR_AUTO_Z_des FLUXERR_AUTO_Y_des WAVG_FLUX_PSF_G_des WAVG_FLUX_PSF_R_des WAVG_FLUX_PSF_I_des WAVG_FLUX_PSF_Z_des WAVG_FLUX_PSF_Y_des WAVG_FLUXERR_PSF_G_des WAVG_FLUXERR_PSF_R_des WAVG_FLUXERR_PSF_I_des WAVG_FLUXERR_PSF_Z_des WAVG_FLUXERR_PSF_Y_des CLASS_STAR_G_des CLASS_STAR_R_des CLASS_STAR_I_des CLASS_STAR_Z_des CLASS_STAR_Y_des SPREAD_MODEL_G_des SPREAD_MODEL_R_des SPREAD_MODEL_I_des SPREAD_MODEL_Z_des SPREAD_MODEL_Y_des WAVG_SPREAD_MODEL_G_des WAVG_SPREAD_MODEL_R_des WAVG_SPREAD_MODEL_I_des WAVG_SPREAD_MODEL_Z_des WAVG_SPREAD_MODEL_Y_des SPREADERR_MODEL_G_des SPREADERR_MODEL_R_des SPREADERR_MODEL_I_des SPREADERR_MODEL_Z_des SPREADERR_MODEL_Y_des WAVG_SPREADERR_MODEL_G_des WAVG_SPREADERR_MODEL_R_des WAVG_SPREADERR_MODEL_I_des WAVG_SPREADERR_MODEL_Z_des WAVG_SPREADERR_MODEL_Y_des Norder_des Dir_des Npix_des solution_id_gaia designation_gaia source_id_gaia random_index_gaia ref_epoch_gaia ra_gaia ra_error_gaia dec_gaia dec_error_gaia parallax_gaia parallax_error_gaia parallax_over_error_gaia pm_gaia pmra_gaia pmra_error_gaia pmdec_gaia pmdec_error_gaia ra_dec_corr_gaia ra_parallax_corr_gaia ra_pmra_corr_gaia ra_pmdec_corr_gaia dec_parallax_corr_gaia dec_pmra_corr_gaia dec_pmdec_corr_gaia parallax_pmra_corr_gaia parallax_pmdec_corr_gaia pmra_pmdec_corr_gaia astrometric_n_obs_al_gaia astrometric_n_obs_ac_gaia astrometric_n_good_obs_al_gaia astrometric_n_bad_obs_al_gaia astrometric_gof_al_gaia astrometric_chi2_al_gaia astrometric_excess_noise_gaia astrometric_excess_noise_sig_gaia astrometric_params_solved_gaia astrometric_primary_flag_gaia nu_eff_used_in_astrometry_gaia pseudocolour_gaia pseudocolour_error_gaia ra_pseudocolour_corr_gaia dec_pseudocolour_corr_gaia parallax_pseudocolour_corr_gaia pmra_pseudocolour_corr_gaia pmdec_pseudocolour_corr_gaia astrometric_matched_transits_gaia visibility_periods_used_gaia astrometric_sigma5d_max_gaia matched_transits_gaia new_matched_transits_gaia matched_transits_removed_gaia ipd_gof_harmonic_amplitude_gaia ipd_gof_harmonic_phase_gaia ipd_frac_multi_peak_gaia ipd_frac_odd_win_gaia ruwe_gaia scan_direction_strength_k1_gaia scan_direction_strength_k2_gaia scan_direction_strength_k3_gaia scan_direction_strength_k4_gaia scan_direction_mean_k1_gaia scan_direction_mean_k2_gaia scan_direction_mean_k3_gaia scan_direction_mean_k4_gaia duplicated_source_gaia phot_g_n_obs_gaia phot_g_mean_flux_gaia phot_g_mean_flux_error_gaia phot_g_mean_flux_over_error_gaia phot_g_mean_mag_gaia phot_bp_n_obs_gaia phot_bp_mean_flux_gaia phot_bp_mean_flux_error_gaia phot_bp_mean_flux_over_error_gaia phot_bp_mean_mag_gaia phot_rp_n_obs_gaia phot_rp_mean_flux_gaia phot_rp_mean_flux_error_gaia phot_rp_mean_flux_over_error_gaia phot_rp_mean_mag_gaia phot_bp_rp_excess_factor_gaia phot_bp_n_contaminated_transits_gaia phot_bp_n_blended_transits_gaia phot_rp_n_contaminated_transits_gaia phot_rp_n_blended_transits_gaia phot_proc_mode_gaia bp_rp_gaia bp_g_gaia g_rp_gaia radial_velocity_gaia radial_velocity_error_gaia rv_method_used_gaia rv_nb_transits_gaia rv_nb_deblended_transits_gaia rv_visibility_periods_used_gaia rv_expected_sig_to_noise_gaia rv_renormalised_gof_gaia rv_chisq_pvalue_gaia rv_time_duration_gaia rv_amplitude_robust_gaia rv_template_teff_gaia rv_template_logg_gaia rv_template_fe_h_gaia rv_atm_param_origin_gaia vbroad_gaia vbroad_error_gaia vbroad_nb_transits_gaia grvs_mag_gaia grvs_mag_error_gaia grvs_mag_nb_transits_gaia rvs_spec_sig_to_noise_gaia phot_variable_flag_gaia l_gaia b_gaia ecl_lon_gaia ecl_lat_gaia in_qso_candidates_gaia in_galaxy_candidates_gaia non_single_star_gaia has_xp_continuous_gaia has_xp_sampled_gaia has_rvs_gaia has_epoch_photometry_gaia has_epoch_rv_gaia has_mcmc_gspphot_gaia has_mcmc_msc_gaia in_andromeda_survey_gaia classprob_dsc_combmod_quasar_gaia classprob_dsc_combmod_galaxy_gaia classprob_dsc_combmod_star_gaia teff_gspphot_gaia teff_gspphot_lower_gaia teff_gspphot_upper_gaia logg_gspphot_gaia logg_gspphot_lower_gaia logg_gspphot_upper_gaia mh_gspphot_gaia mh_gspphot_lower_gaia mh_gspphot_upper_gaia distance_gspphot_gaia distance_gspphot_lower_gaia distance_gspphot_upper_gaia azero_gspphot_gaia azero_gspphot_lower_gaia azero_gspphot_upper_gaia ag_gspphot_gaia ag_gspphot_lower_gaia ag_gspphot_upper_gaia ebpminrp_gspphot_gaia ebpminrp_gspphot_lower_gaia ebpminrp_gspphot_upper_gaia libname_gspphot_gaia Norder_gaia Dir_gaia Npix_gaia _dist_arcsec\n", - "npartitions=1 \n", - "4611686018427387904 int64 string int64 int64 int64 int64 int64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 int16 int16 int16 int32 int32 int16 int32 int32 int16 int32 int32 int16 int32 int32 int16 int32 int32 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 int32 int32 int32 int32 int32 float64 float64 float64 float64 float64 int32 int32 int32 int32 int32 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 float64 uint8 uint64 uint64 int64 string int64 int64 float64 float64 float32 float64 float32 float64 float32 float32 float32 float64 float32 float64 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 int16 int16 int16 int16 float32 float32 float32 float32 int8 bool float32 float32 float32 float32 float32 float32 float32 float32 int16 int16 float32 int16 int16 int16 float32 float32 int8 int8 float32 float32 float32 float32 float32 float32 float32 float32 float32 bool int16 float64 float32 float32 float32 int16 float64 float32 float32 float32 int16 float64 float32 float32 float32 float32 int16 int16 int16 int16 int8 float32 float32 float32 float32 float32 int8 int16 int16 int16 float32 float32 float32 float32 float32 float32 float32 float32 int16 float32 float32 int16 float32 float32 int16 float32 string float64 float64 float64 float64 bool bool int16 bool bool bool bool bool bool bool bool float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 float32 string uint8 uint64 uint64 float64\n", - "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", - "Dask Name: from-delayed, 4 graph layers" + "Dask NestedFrame Structure:\n", + " COADD_OBJECT_ID_des TILENAME_des HPIX_32_des HPIX_64_des HPIX_1024_des HPIX_4096_des HPIX_16384_des RA_des DEC_des ALPHAWIN_J2000_des DELTAWIN_J2000_des GALACTIC_L_des GALACTIC_B_des XWIN_IMAGE_des YWIN_IMAGE_des A_IMAGE_des ERRA_IMAGE_des B_IMAGE_des ERRB_IMAGE_des THETA_J2000_des ERRTHETA_IMAGE_des KRON_RADIUS_des EBV_SFD98_des MAG_AUTO_G_DERED_des MAG_AUTO_R_DERED_des MAG_AUTO_I_DERED_des MAG_AUTO_Z_DERED_des MAG_AUTO_Y_DERED_des WAVG_MAG_PSF_G_DERED_des WAVG_MAG_PSF_R_DERED_des WAVG_MAG_PSF_I_DERED_des WAVG_MAG_PSF_Z_DERED_des WAVG_MAG_PSF_Y_DERED_des EXTENDED_CLASS_COADD_des EXTENDED_CLASS_WAVG_des FLAGS_G_des IMAFLAGS_ISO_G_des NEPOCHS_G_des FLAGS_R_des IMAFLAGS_ISO_R_des NEPOCHS_R_des FLAGS_I_des IMAFLAGS_ISO_I_des NEPOCHS_I_des FLAGS_Z_des IMAFLAGS_ISO_Z_des NEPOCHS_Z_des FLAGS_Y_des IMAFLAGS_ISO_Y_des NEPOCHS_Y_des XWIN_IMAGE_G_des XWIN_IMAGE_R_des XWIN_IMAGE_I_des XWIN_IMAGE_Z_des XWIN_IMAGE_Y_des YWIN_IMAGE_G_des YWIN_IMAGE_R_des YWIN_IMAGE_I_des YWIN_IMAGE_Z_des YWIN_IMAGE_Y_des X2WIN_IMAGE_G_des X2WIN_IMAGE_R_des X2WIN_IMAGE_I_des X2WIN_IMAGE_Z_des X2WIN_IMAGE_Y_des Y2WIN_IMAGE_G_des Y2WIN_IMAGE_R_des Y2WIN_IMAGE_I_des Y2WIN_IMAGE_Z_des Y2WIN_IMAGE_Y_des XYWIN_IMAGE_G_des XYWIN_IMAGE_R_des XYWIN_IMAGE_I_des XYWIN_IMAGE_Z_des XYWIN_IMAGE_Y_des ERRX2WIN_IMAGE_G_des ERRX2WIN_IMAGE_R_des ERRX2WIN_IMAGE_I_des ERRX2WIN_IMAGE_Z_des ERRX2WIN_IMAGE_Y_des ERRY2WIN_IMAGE_G_des ERRY2WIN_IMAGE_R_des ERRY2WIN_IMAGE_I_des ERRY2WIN_IMAGE_Z_des ERRY2WIN_IMAGE_Y_des ERRXYWIN_IMAGE_G_des ERRXYWIN_IMAGE_R_des ERRXYWIN_IMAGE_I_des ERRXYWIN_IMAGE_Z_des ERRXYWIN_IMAGE_Y_des AWIN_IMAGE_G_des AWIN_IMAGE_R_des AWIN_IMAGE_I_des AWIN_IMAGE_Z_des AWIN_IMAGE_Y_des BWIN_IMAGE_G_des BWIN_IMAGE_R_des BWIN_IMAGE_I_des BWIN_IMAGE_Z_des BWIN_IMAGE_Y_des THETAWIN_IMAGE_G_des THETAWIN_IMAGE_R_des THETAWIN_IMAGE_I_des THETAWIN_IMAGE_Z_des THETAWIN_IMAGE_Y_des ERRAWIN_IMAGE_G_des ERRAWIN_IMAGE_R_des ERRAWIN_IMAGE_I_des ERRAWIN_IMAGE_Z_des ERRAWIN_IMAGE_Y_des ERRBWIN_IMAGE_G_des ERRBWIN_IMAGE_R_des ERRBWIN_IMAGE_I_des ERRBWIN_IMAGE_Z_des ERRBWIN_IMAGE_Y_des ERRTHETAWIN_IMAGE_G_des ERRTHETAWIN_IMAGE_R_des ERRTHETAWIN_IMAGE_I_des ERRTHETAWIN_IMAGE_Z_des ERRTHETAWIN_IMAGE_Y_des FLUX_RADIUS_G_des FLUX_RADIUS_R_des FLUX_RADIUS_I_des FLUX_RADIUS_Z_des FLUX_RADIUS_Y_des FWHM_IMAGE_G_des FWHM_IMAGE_R_des FWHM_IMAGE_I_des FWHM_IMAGE_Z_des FWHM_IMAGE_Y_des ISOAREA_IMAGE_G_des ISOAREA_IMAGE_R_des ISOAREA_IMAGE_I_des ISOAREA_IMAGE_Z_des ISOAREA_IMAGE_Y_des BACKGROUND_G_des BACKGROUND_R_des BACKGROUND_I_des BACKGROUND_Z_des BACKGROUND_Y_des NITER_MODEL_G_des NITER_MODEL_R_des NITER_MODEL_I_des NITER_MODEL_Z_des NITER_MODEL_Y_des KRON_RADIUS_G_des KRON_RADIUS_R_des KRON_RADIUS_I_des KRON_RADIUS_Z_des KRON_RADIUS_Y_des MAG_AUTO_G_des MAG_AUTO_R_des MAG_AUTO_I_des MAG_AUTO_Z_des MAG_AUTO_Y_des MAGERR_AUTO_G_des MAGERR_AUTO_R_des MAGERR_AUTO_I_des MAGERR_AUTO_Z_des MAGERR_AUTO_Y_des WAVG_MAG_PSF_G_des WAVG_MAG_PSF_R_des WAVG_MAG_PSF_I_des WAVG_MAG_PSF_Z_des WAVG_MAG_PSF_Y_des WAVG_MAGERR_PSF_G_des WAVG_MAGERR_PSF_R_des WAVG_MAGERR_PSF_I_des WAVG_MAGERR_PSF_Z_des WAVG_MAGERR_PSF_Y_des FLUX_AUTO_G_des FLUX_AUTO_R_des FLUX_AUTO_I_des FLUX_AUTO_Z_des FLUX_AUTO_Y_des FLUXERR_AUTO_G_des FLUXERR_AUTO_R_des FLUXERR_AUTO_I_des FLUXERR_AUTO_Z_des FLUXERR_AUTO_Y_des WAVG_FLUX_PSF_G_des WAVG_FLUX_PSF_R_des WAVG_FLUX_PSF_I_des WAVG_FLUX_PSF_Z_des WAVG_FLUX_PSF_Y_des WAVG_FLUXERR_PSF_G_des WAVG_FLUXERR_PSF_R_des WAVG_FLUXERR_PSF_I_des WAVG_FLUXERR_PSF_Z_des WAVG_FLUXERR_PSF_Y_des CLASS_STAR_G_des CLASS_STAR_R_des CLASS_STAR_I_des CLASS_STAR_Z_des CLASS_STAR_Y_des SPREAD_MODEL_G_des SPREAD_MODEL_R_des SPREAD_MODEL_I_des SPREAD_MODEL_Z_des SPREAD_MODEL_Y_des WAVG_SPREAD_MODEL_G_des WAVG_SPREAD_MODEL_R_des WAVG_SPREAD_MODEL_I_des WAVG_SPREAD_MODEL_Z_des WAVG_SPREAD_MODEL_Y_des SPREADERR_MODEL_G_des SPREADERR_MODEL_R_des SPREADERR_MODEL_I_des SPREADERR_MODEL_Z_des SPREADERR_MODEL_Y_des WAVG_SPREADERR_MODEL_G_des WAVG_SPREADERR_MODEL_R_des WAVG_SPREADERR_MODEL_I_des WAVG_SPREADERR_MODEL_Z_des WAVG_SPREADERR_MODEL_Y_des Norder_des Dir_des Npix_des solution_id_gaia designation_gaia source_id_gaia random_index_gaia ref_epoch_gaia ra_gaia ra_error_gaia dec_gaia dec_error_gaia parallax_gaia parallax_error_gaia parallax_over_error_gaia pm_gaia pmra_gaia pmra_error_gaia pmdec_gaia pmdec_error_gaia ra_dec_corr_gaia ra_parallax_corr_gaia ra_pmra_corr_gaia ra_pmdec_corr_gaia dec_parallax_corr_gaia dec_pmra_corr_gaia dec_pmdec_corr_gaia parallax_pmra_corr_gaia parallax_pmdec_corr_gaia pmra_pmdec_corr_gaia astrometric_n_obs_al_gaia astrometric_n_obs_ac_gaia astrometric_n_good_obs_al_gaia astrometric_n_bad_obs_al_gaia astrometric_gof_al_gaia astrometric_chi2_al_gaia astrometric_excess_noise_gaia astrometric_excess_noise_sig_gaia astrometric_params_solved_gaia astrometric_primary_flag_gaia nu_eff_used_in_astrometry_gaia pseudocolour_gaia pseudocolour_error_gaia ra_pseudocolour_corr_gaia dec_pseudocolour_corr_gaia parallax_pseudocolour_corr_gaia pmra_pseudocolour_corr_gaia pmdec_pseudocolour_corr_gaia astrometric_matched_transits_gaia visibility_periods_used_gaia astrometric_sigma5d_max_gaia matched_transits_gaia new_matched_transits_gaia matched_transits_removed_gaia ipd_gof_harmonic_amplitude_gaia ipd_gof_harmonic_phase_gaia ipd_frac_multi_peak_gaia ipd_frac_odd_win_gaia ruwe_gaia scan_direction_strength_k1_gaia scan_direction_strength_k2_gaia scan_direction_strength_k3_gaia scan_direction_strength_k4_gaia scan_direction_mean_k1_gaia scan_direction_mean_k2_gaia scan_direction_mean_k3_gaia scan_direction_mean_k4_gaia duplicated_source_gaia phot_g_n_obs_gaia phot_g_mean_flux_gaia phot_g_mean_flux_error_gaia phot_g_mean_flux_over_error_gaia phot_g_mean_mag_gaia phot_bp_n_obs_gaia phot_bp_mean_flux_gaia phot_bp_mean_flux_error_gaia phot_bp_mean_flux_over_error_gaia phot_bp_mean_mag_gaia phot_rp_n_obs_gaia phot_rp_mean_flux_gaia phot_rp_mean_flux_error_gaia phot_rp_mean_flux_over_error_gaia phot_rp_mean_mag_gaia phot_bp_rp_excess_factor_gaia phot_bp_n_contaminated_transits_gaia phot_bp_n_blended_transits_gaia phot_rp_n_contaminated_transits_gaia phot_rp_n_blended_transits_gaia phot_proc_mode_gaia bp_rp_gaia bp_g_gaia g_rp_gaia radial_velocity_gaia radial_velocity_error_gaia rv_method_used_gaia rv_nb_transits_gaia rv_nb_deblended_transits_gaia rv_visibility_periods_used_gaia rv_expected_sig_to_noise_gaia rv_renormalised_gof_gaia rv_chisq_pvalue_gaia rv_time_duration_gaia rv_amplitude_robust_gaia rv_template_teff_gaia rv_template_logg_gaia rv_template_fe_h_gaia rv_atm_param_origin_gaia vbroad_gaia vbroad_error_gaia vbroad_nb_transits_gaia grvs_mag_gaia grvs_mag_error_gaia grvs_mag_nb_transits_gaia rvs_spec_sig_to_noise_gaia phot_variable_flag_gaia l_gaia b_gaia ecl_lon_gaia ecl_lat_gaia in_qso_candidates_gaia in_galaxy_candidates_gaia non_single_star_gaia has_xp_continuous_gaia has_xp_sampled_gaia has_rvs_gaia has_epoch_photometry_gaia has_epoch_rv_gaia has_mcmc_gspphot_gaia has_mcmc_msc_gaia in_andromeda_survey_gaia classprob_dsc_combmod_quasar_gaia classprob_dsc_combmod_galaxy_gaia classprob_dsc_combmod_star_gaia teff_gspphot_gaia teff_gspphot_lower_gaia teff_gspphot_upper_gaia logg_gspphot_gaia logg_gspphot_lower_gaia logg_gspphot_upper_gaia mh_gspphot_gaia mh_gspphot_lower_gaia mh_gspphot_upper_gaia distance_gspphot_gaia distance_gspphot_lower_gaia distance_gspphot_upper_gaia azero_gspphot_gaia azero_gspphot_lower_gaia azero_gspphot_upper_gaia ag_gspphot_gaia ag_gspphot_lower_gaia ag_gspphot_upper_gaia ebpminrp_gspphot_gaia ebpminrp_gspphot_lower_gaia ebpminrp_gspphot_upper_gaia libname_gspphot_gaia Norder_gaia Dir_gaia Npix_gaia _dist_arcsec\n", + "npartitions=1 \n", + "4611686018427387904 int64[pyarrow] string[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] int64[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] int16[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] int32[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow] int64[pyarrow] string[pyarrow] int64[pyarrow] int64[pyarrow] double[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] bool[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] int8[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] bool[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] double[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] int8[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int8[pyarrow] int16[pyarrow] int16[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] float[pyarrow] int16[pyarrow] float[pyarrow] string[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] bool[pyarrow] bool[pyarrow] int16[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] bool[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] float[pyarrow] string[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow] double[pyarrow]\n", + "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", + "Dask Name: nestedframe, 3 expressions\n", + "Expr=MapPartitions(NestedFrame)" ] }, "metadata": {}, @@ -3862,10 +3905,10 @@ } ], "source": [ - "des_catalog = lsdb.read_hipscat(DES_HIPSCAT_DIR)\n", + "des_catalog = lsdb.read_hats(DES_HATS_DIR)\n", "\n", - "gaia_margin_cache_catalog = lsdb.read_hipscat(GAIA_MARGIN_CACHE_DIR)\n", - "gaia_catalog = lsdb.read_hipscat(GAIA_HIPSCAT_DIR, margin_cache=gaia_margin_cache_catalog)\n", + "# gaia_margin_cache_catalog = lsdb.read_hats(GAIA_MARGIN_CACHE_DIR)\n", + "gaia_catalog = lsdb.read_hats(GAIA_HATS_DIR)\n", "\n", "xmatched = des_catalog.crossmatch(\n", " gaia_catalog,\n", @@ -3873,7 +3916,7 @@ " radius_arcsec=1.0,\n", " # Single closest object, it is the default\n", " n_neighbors=1,\n", - " # Default would be to use names of the HiPSCat catalogs\n", + " # Default would be to use names of the HATS catalogs\n", " suffixes=(\"_des\", \"_gaia\"),\n", ")\n", "\n", @@ -3884,18 +3927,18 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "6883784e9316b49", "metadata": {}, "outputs": [], "source": [ "# Run the pipeline with Dask client, it will take a while\n", - "xmatched.to_hipscat(OUTPUT_HIPSCAT_DIR)" + "xmatched.to_hats(XMATCH_DIR)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "2e1a3fab1c6dad5f", "metadata": {}, "outputs": [ @@ -3943,7 +3986,7 @@ " _dist_arcsec\n", " \n", " \n", - " _hipscat_index\n", + " _healpix_29\n", " \n", " \n", " \n", @@ -4029,11 +4072,11 @@ " 1.816329\n", " 0.310521\n", " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", " <NA>\n", " 0\n", " 0\n", @@ -4050,14 +4093,14 @@ " 79705703\n", " 1275291259\n", " 0.234549\n", - " 1.802340\n", + " 1.80234\n", " 0.234549\n", " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", " <NA>\n", " 0\n", " 0\n", @@ -4077,11 +4120,11 @@ " 1.805816\n", " 0.224895\n", " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", + " <NA>\n", " <NA>\n", " 0\n", " 0\n", @@ -4095,7 +4138,7 @@ ], "text/plain": [ " COADD_OBJECT_ID_des TILENAME_des HPIX_32_des \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 1033365960 DES0000+0209 4864 \n", "5477333571859382272 1033367823 DES0000+0209 4864 \n", "5477333673311207424 1033367955 DES0000+0209 4864 \n", @@ -4103,7 +4146,7 @@ "5477334650319798272 1033369151 DES0000+0209 4864 \n", "\n", " HPIX_64_des HPIX_1024_des HPIX_4096_des \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 19459 4981605 79705693 \n", "5477333571859382272 19459 4981605 79705693 \n", "5477333673311207424 19459 4981605 79705695 \n", @@ -4111,39 +4154,39 @@ "5477334650319798272 19459 4981606 79705709 \n", "\n", " HPIX_16384_des RA_des DEC_des ALPHAWIN_J2000_des \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 1275291097 0.315738 1.807978 0.315738 \n", "5477333571859382272 1275291101 0.321042 1.812476 0.321042 \n", "5477333673311207424 1275291124 0.310521 1.816329 0.310521 \n", - "5477334253035323392 1275291259 0.234549 1.802340 0.234549 \n", + "5477334253035323392 1275291259 0.234549 1.80234 0.234549 \n", "5477334650319798272 1275291352 0.224895 1.805816 0.224895 \n", "\n", " ... ag_gspphot_lower_gaia ag_gspphot_upper_gaia \\\n", - "_hipscat_index ... \n", + "_healpix_29 ... \n", "5477333554734039040 ... 0.1502 0.1595 \n", "5477333571859382272 ... 0.1019 0.1442 \n", - "5477333673311207424 ... NaN NaN \n", - "5477334253035323392 ... NaN NaN \n", - "5477334650319798272 ... NaN NaN \n", + "5477333673311207424 ... \n", + "5477334253035323392 ... \n", + "5477334650319798272 ... \n", "\n", " ebpminrp_gspphot_gaia ebpminrp_gspphot_lower_gaia \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 0.0839 0.0812 \n", "5477333571859382272 0.0686 0.0556 \n", - "5477333673311207424 NaN NaN \n", - "5477334253035323392 NaN NaN \n", - "5477334650319798272 NaN NaN \n", + "5477333673311207424 \n", + "5477334253035323392 \n", + "5477334650319798272 \n", "\n", " ebpminrp_gspphot_upper_gaia libname_gspphot_gaia \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 0.0863 MARCS \n", "5477333571859382272 0.0787 A \n", - "5477333673311207424 NaN \n", - "5477334253035323392 NaN \n", - "5477334650319798272 NaN \n", + "5477333673311207424 \n", + "5477334253035323392 \n", + "5477334650319798272 \n", "\n", " Norder_gaia Dir_gaia Npix_gaia _dist_arcsec \n", - "_hipscat_index \n", + "_healpix_29 \n", "5477333554734039040 0 0 4 0.217639 \n", "5477333571859382272 0 0 4 0.003322 \n", "5477333673311207424 0 0 4 0.007574 \n", @@ -4153,14 +4196,14 @@ "[5 rows x 374 columns]" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Look into the data\n", - "lsdb.read_hipscat(OUTPUT_HIPSCAT_DIR).head()" + "lsdb.read_hats(XMATCH_DIR).head()" ] }, { @@ -4180,17 +4223,17 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "1f82e600605a8a0b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, @@ -4240,17 +4283,27 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "a20f1614ec634a49", "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/delucchi/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/dask/dataframe/core.py:3930: UserWarning: Dask currently has limited support for converting pandas extension dtypes to arrays. Converting double[pyarrow] to object dtype.\n", + " warnings.warn(\n", + "/home/delucchi/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/dask/dataframe/core.py:3930: UserWarning: Dask currently has limited support for converting pandas extension dtypes to arrays. Converting double[pyarrow] to object dtype.\n", + " warnings.warn(\n" + ] + }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Absolute magnitude — color diagram')" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, @@ -4268,8 +4321,8 @@ "source": [ "# Read the cross-matched catalog, just like we did before for Gaia and DES,\n", "# but keeping few columns only.\n", - "xmatched_from_disk = lsdb.read_hipscat(\n", - " OUTPUT_HIPSCAT_DIR,\n", + "xmatched_from_disk = lsdb.read_hats(\n", + " XMATCH_DIR,\n", " columns=[\n", " \"parallax_gaia\",\n", " \"parallax_over_error_gaia\",\n", @@ -4342,9 +4395,6 @@ "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "nbsphinx": { - "execute": "never" - }, "pygments_lexer": "ipython3", "version": "3.10.14" } diff --git a/docs/tutorials/pre_executed/ztf_bts-ngc.ipynb b/docs/tutorials/pre_executed/ztf_bts-ngc.ipynb index 5d4735a0..3c9c3dae 100644 --- a/docs/tutorials/pre_executed/ztf_bts-ngc.ipynb +++ b/docs/tutorials/pre_executed/ztf_bts-ngc.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "cedde7185bbd9650", "metadata": { "ExecuteTime": { @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "533f35ae2822a422", "metadata": { "ExecuteTime": { @@ -80,8 +80,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 865 ms, sys: 8.06 ms, total: 873 ms\n", - "Wall time: 2.93 s\n" + "CPU times: user 1.36 s, sys: 13 ms, total: 1.37 s\n", + "Wall time: 3.77 s\n" ] }, { @@ -252,7 +252,7 @@ "4 0.305 345.657208 41.091833 " ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -281,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "f27f3c3054bb72e2", "metadata": { "ExecuteTime": { @@ -294,8 +294,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 1.29 s, sys: 6.98 ms, total: 1.29 s\n", - "Wall time: 1.31 s\n" + "CPU times: user 2.36 s, sys: 11.3 ms, total: 2.38 s\n", + "Wall time: 3.94 s\n" ] }, { @@ -435,7 +435,7 @@ "4 pB, S, R, stell N 0.100 32.783333 " ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -465,7 +465,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "6b1b2ebb1c023bca", "metadata": { "ExecuteTime": { @@ -478,8 +478,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 23.2 s, sys: 16.2 ms, total: 23.3 s\n", - "Wall time: 23.4 s\n" + "CPU times: user 36.3 s, sys: 14.1 ms, total: 36.3 s\n", + "Wall time: 36.3 s\n" ] }, { @@ -788,7 +788,7 @@ "" ], "text/plain": [ - "Dask DataFrame Structure:\n", + "Dask NestedFrame Structure:\n", " ZTFID_ztf IAUID_ztf RA_ztf Dec_ztf peakt_ztf peakfilt_ztf peakmag_ztf peakabs_ztf duration_ztf rise_ztf fade_ztf type_ztf redshift_ztf b_ztf A_V_ztf ra_deg_ztf dec_deg_ztf Norder_ztf Dir_ztf Npix_ztf Name_ngc Type_ngc RAB2000_ngc DEB2000_ngc Source_ngc Const_ngc l_size_ngc size_ngc mag_ngc n_mag_ngc Desc_ngc ra_deg_ngc dec_deg_ngc Norder_ngc Dir_ngc Npix_ngc _dist_arcsec\n", "npartitions=12 \n", "0 string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] double[pyarrow] string[pyarrow] double[pyarrow] double[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] double[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] string[pyarrow] float[pyarrow] float[pyarrow] string[pyarrow] string[pyarrow] double[pyarrow] double[pyarrow] uint8[pyarrow] uint64[pyarrow] uint64[pyarrow] double[pyarrow]\n", @@ -796,10 +796,11 @@ "... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", "12682136550675316736 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", "18446744073709551615 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", - "Dask Name: from-delayed, 16 graph layers" + "Dask Name: nestedframe, 14 expressions\n", + "Expr=MapPartitions(NestedFrame)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -826,7 +827,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "40085244f8f1c8b", "metadata": { "ExecuteTime": { @@ -835,12 +836,22 @@ } }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/delucchi/anaconda3/envs/hipscatenv/lib/python3.10/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", + "Perhaps you already have a cluster running?\n", + "Hosting the HTTP server on port 35493 instead\n", + " warnings.warn(\n" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 609 ms, sys: 140 ms, total: 748 ms\n", - "Wall time: 4.91 s\n" + "CPU times: user 876 ms, sys: 66.9 ms, total: 943 ms\n", + "Wall time: 5.83 s\n" ] }, { @@ -871,7 +882,7 @@ " Dec_ztf\n", " \n", " \n", - " _hipscat_index\n", + " _healpix_29\n", " \n", " \n", " \n", @@ -889,10 +900,18 @@ " +09:16:57.2\n", " \n", " \n", + " 7310464818845057024\n", + " SN2024jlf\n", + " 5690\n", + " 6.309787\n", + " 14:37:42.32\n", + " +02:17:04.1\n", + " \n", + " \n", " 7200132046067335168\n", " SN2020vg\n", " I 738\n", - " 8.931140\n", + " 8.93114\n", " 11:48:54.43\n", " -04:40:53.8\n", " \n", @@ -913,14 +932,6 @@ " +73:23:51.0\n", " \n", " \n", - " 5025854519720804352\n", - " AT2019udc\n", - " 718\n", - " 17.743683\n", - " 01:53:11.20\n", - " +04:11:46.9\n", - " \n", - " \n", " ...\n", " ...\n", " ...\n", @@ -932,7 +943,7 @@ " 738303264008699904\n", " AT2020tvc\n", " 221\n", - " 762.960030\n", + " 762.96003\n", " 00:41:35.40\n", " +40:50:14.6\n", " \n", @@ -956,7 +967,7 @@ " 762249159737606144\n", " AT2020aabh\n", " 206\n", - " 1081.998220\n", + " 1081.99822\n", " 00:39:30.06\n", " +40:31:00.8\n", " \n", @@ -970,31 +981,31 @@ " \n", " \n", "\n", - "

72 rows × 5 columns

\n", + "

75 rows × 5 columns

\n", "" ], "text/plain": [ " IAUID_ztf Name_ngc _dist_arcsec RA_ztf \\\n", - "_hipscat_index \n", + "_healpix_29 \n", "7828968065004994560 SN2022xxf 3705 2.985601 11:30:05.93 \n", - "7200132046067335168 SN2020vg I 738 8.931140 11:48:54.43 \n", + "7310464818845057024 SN2024jlf 5690 6.309787 14:37:42.32 \n", + "7200132046067335168 SN2020vg I 738 8.93114 11:48:54.43 \n", "3231460713012658176 SN2022pgf 5894 12.223285 15:11:41.90 \n", "2156065960006516736 SN2021do 3147 14.058304 10:16:56.52 \n", - "5025854519720804352 AT2019udc 718 17.743683 01:53:11.20 \n", "... ... ... ... ... \n", - "738303264008699904 AT2020tvc 221 762.960030 00:41:35.40 \n", + "738303264008699904 AT2020tvc 221 762.96003 00:41:35.40 \n", "7802041901716078592 SN2021hiz I 789 963.643556 12:25:41.67 \n", "3161730388984856576 SN2018hna 4362 964.142774 12:26:12.08 \n", - "762249159737606144 AT2020aabh 206 1081.998220 00:39:30.06 \n", + "762249159737606144 AT2020aabh 206 1081.99822 00:39:30.06 \n", "738559375127347200 AT2022qpg 224 1193.179125 00:44:20.78 \n", "\n", " Dec_ztf \n", - "_hipscat_index \n", + "_healpix_29 \n", "7828968065004994560 +09:16:57.2 \n", + "7310464818845057024 +02:17:04.1 \n", "7200132046067335168 -04:40:53.8 \n", "3231460713012658176 +59:49:12.2 \n", "2156065960006516736 +73:23:51.0 \n", - "5025854519720804352 +04:11:46.9 \n", "... ... \n", "738303264008699904 +40:50:14.6 \n", "7802041901716078592 +07:13:42.2 \n", @@ -1002,10 +1013,10 @@ "762249159737606144 +40:31:00.8 \n", "738559375127347200 +41:23:10.8 \n", "\n", - "[72 rows x 5 columns]" + "[75 rows x 5 columns]" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -1046,7 +1057,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "ab85642e-e0fb-4879-b69d-4d20536d5e68", "metadata": {}, "outputs": [], @@ -1085,13 +1096,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "c9bf1773-ea55-42e5-90e9-f69c59ab7963", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -1122,6 +1133,14 @@ " ax.set_title(oid)\n", " plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c4cff89", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1140,7 +1159,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.10.14" } }, "nbformat": 4, diff --git a/docs/tutorials/remote_data.ipynb b/docs/tutorials/remote_data.ipynb index eea88abd..f5f4ddb5 100644 --- a/docs/tutorials/remote_data.ipynb +++ b/docs/tutorials/remote_data.ipynb @@ -6,7 +6,7 @@ "source": [ "# Accessing Remote Data\n", "\n", - "If you're accessing hipscat catalogs on a local file system, a typical path string like `\"/path/to/catalogs\"` will be sufficient. This tutorial will help you get started if you need to access data over HTTP/S, cloud storage, or have some additional parameters for connecting to your data.\n", + "If you're accessing HATS catalogs on a local file system, a typical path string like `\"/path/to/catalogs\"` will be sufficient. This tutorial will help you get started if you need to access data over HTTP/S, cloud storage, or have some additional parameters for connecting to your data.\n", "\n", "We use [`fsspec`](https://github.com/fsspec/filesystem_spec) and [`universal_pathlib`](https://github.com/fsspec/universal_pathlib) to create connections to remote sources for data. Please refer to their documentation for a list of supported filesystems and any filesystem-specific parameters.\n", "\n", @@ -56,7 +56,7 @@ "source": [ "import lsdb\n", "\n", - "cat = lsdb.read_hipscat(\"https://data.lsdb.io/unstable/gaia_dr3/gaia/\")\n", + "cat = lsdb.read_hats(\"https://data.lsdb.io/unstable/gaia_dr3/gaia/\")\n", "cat" ] }, @@ -102,17 +102,22 @@ "metadata": {}, "outputs": [], "source": [ - "cat = lsdb.read_hipscat(panstarrs_path / \"otmo\")\n", + "cat = lsdb.read_hats(panstarrs_path / \"otmo\")\n", "cat" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "cat = lsdb.read_hipscat(panstarrs_path / \"detection\")\n", + "cat = lsdb.read_hats(panstarrs_path / \"detection\")\n", "cat" ] } diff --git a/pyproject.toml b/pyproject.toml index 5b073ac5..25d97e37 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ # dask diagnostics is required to spin up the dashboard for profiling. "dask[complete]", "deprecated", - "hipscat>=0.3.8", + "hats>=0.4", "lsst-sphgeom", # To handle spherical sky polygons "nested-dask", "nested-pandas", @@ -79,3 +79,7 @@ line_length = 110 [tool.coverage.run] omit=["src/lsdb/_version.py"] + +[tool.mypy] +plugins = "pydantic.mypy" +disable_error_code = ["operator"] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 124b2043..d405b240 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -git+https://github.com/astronomy-commons/hipscat.git@main \ No newline at end of file +git+https://github.com/astronomy-commons/hats.git@main \ No newline at end of file diff --git a/src/.pylintrc b/src/.pylintrc index deff53e4..76485c9a 100644 --- a/src/.pylintrc +++ b/src/.pylintrc @@ -280,6 +280,8 @@ ignored-parents= # Maximum number of arguments for function / method. max-args=10 +max-positional-arguments=15 + # Maximum number of attributes for a class (see R0902). max-attributes=20 diff --git a/src/lsdb/__init__.py b/src/lsdb/__init__.py index 2364508c..ea7166e9 100644 --- a/src/lsdb/__init__.py +++ b/src/lsdb/__init__.py @@ -1,4 +1,4 @@ from ._version import __version__ from .catalog import Catalog, MarginCatalog from .loaders.dataframe.from_dataframe import from_dataframe -from .loaders.hipscat.read_hipscat import read_hipscat +from .loaders.hats.read_hats import read_hats diff --git a/src/lsdb/catalog/association_catalog.py b/src/lsdb/catalog/association_catalog.py index 50d0d1fb..fed8cd4c 100644 --- a/src/lsdb/catalog/association_catalog.py +++ b/src/lsdb/catalog/association_catalog.py @@ -1,4 +1,4 @@ -import hipscat as hc +import hats as hc import nested_dask as nd from lsdb.catalog.dataset.healpix_dataset import HealpixDataset @@ -10,8 +10,8 @@ class AssociationCatalog(HealpixDataset): spatial operations. Attributes: - hc_structure: `hipscat.AssociationCatalog` object representing the structure - and metadata of the HiPSCat catalog + hc_structure: `hats.AssociationCatalog` object representing the structure + and metadata of the HATS catalog """ hc_structure: hc.catalog.AssociationCatalog diff --git a/src/lsdb/catalog/catalog.py b/src/lsdb/catalog/catalog.py index c318d340..9798f7b9 100644 --- a/src/lsdb/catalog/catalog.py +++ b/src/lsdb/catalog/catalog.py @@ -1,14 +1,13 @@ from __future__ import annotations -import dataclasses from typing import List, Tuple, Type -import hipscat as hc +import hats as hc import nested_dask as nd import nested_pandas as npd import pandas as pd -from hipscat.catalog.index.index_catalog import IndexCatalog as HCIndexCatalog -from hipscat.pixel_math.polygon_filter import SphericalCoordinates +from hats.catalog.index.index_catalog import IndexCatalog as HCIndexCatalog +from hats.pixel_math.polygon_filter import SphericalCoordinates from pandas._libs import lib from pandas._typing import AnyAll, Axis, IndexLabel from pandas.api.extensions import no_default @@ -39,8 +38,8 @@ class Catalog(HealpixDataset): spatial operations. Attributes: - hc_structure: `hipscat.Catalog` object representing the structure - and metadata of the HiPSCat catalog + hc_structure: `hats.Catalog` object representing the structure + and metadata of the HATS catalog """ hc_structure: hc.catalog.Catalog @@ -60,7 +59,7 @@ def __init__( Args: ddf: Dask DataFrame with the source data of the catalog ddf_pixel_map: Dictionary mapping HEALPix order and pixel to partition index of ddf - hc_structure: `hipscat.Catalog` object with hipscat metadata of the catalog + hc_structure: `hats.Catalog` object with hats metadata of the catalog """ super().__init__(ddf, ddf_pixel_map, hc_structure) self.margin = margin @@ -203,8 +202,7 @@ def crossmatch( ddf, ddf_map, alignment = crossmatch_catalog_data( self, other, suffixes, algorithm=algorithm, **kwargs ) - new_catalog_info = dataclasses.replace( - self.hc_structure.catalog_info, + new_catalog_info = self.hc_structure.catalog_info.copy_and_update( catalog_name=output_catalog_name, ra_column=self.hc_structure.catalog_info.ra_column + suffixes[0], dec_column=self.hc_structure.catalog_info.dec_column + suffixes[0], @@ -279,7 +277,7 @@ def index_search(self, ids, catalog_index: HCIndexCatalog, fine: bool = True) -> Args: ids: Values to search for. - catalog_index (HCIndexCatalog): A pre-computed hipscat index catalog. + catalog_index (HCIndexCatalog): A pre-computed hats index catalog. fine (bool): True if points are to be filtered, False if not. Defaults to True. Returns: @@ -420,12 +418,12 @@ def merge_asof( f"{other.hc_structure.catalog_info.catalog_name}" ) - new_catalog_info = dataclasses.replace( - self.hc_structure.catalog_info, + new_catalog_info = self.hc_structure.catalog_info.copy_and_update( catalog_name=output_catalog_name, ra_column=self.hc_structure.catalog_info.ra_column + suffixes[0], dec_column=self.hc_structure.catalog_info.dec_column + suffixes[0], ) + hc_catalog = hc.catalog.Catalog(new_catalog_info, alignment.pixel_tree, schema=get_arrow_schema(ddf)) return Catalog(ddf, ddf_map, hc_catalog) @@ -469,12 +467,12 @@ def join( if output_catalog_name is None: output_catalog_name = self.hc_structure.catalog_info.catalog_name - new_catalog_info = dataclasses.replace( - self.hc_structure.catalog_info, + new_catalog_info = self.hc_structure.catalog_info.copy_and_update( catalog_name=output_catalog_name, ra_column=self.hc_structure.catalog_info.ra_column + suffixes[0], dec_column=self.hc_structure.catalog_info.dec_column + suffixes[0], ) + hc_catalog = hc.catalog.Catalog( new_catalog_info, alignment.pixel_tree, schema=get_arrow_schema(ddf) ) @@ -492,12 +490,12 @@ def join( if output_catalog_name is None: output_catalog_name = self.hc_structure.catalog_info.catalog_name - new_catalog_info = dataclasses.replace( - self.hc_structure.catalog_info, + new_catalog_info = self.hc_structure.catalog_info.copy_and_update( catalog_name=output_catalog_name, ra_column=self.hc_structure.catalog_info.ra_column + suffixes[0], dec_column=self.hc_structure.catalog_info.dec_column + suffixes[0], ) + hc_catalog = hc.catalog.Catalog(new_catalog_info, alignment.pixel_tree, schema=get_arrow_schema(ddf)) return Catalog(ddf, ddf_map, hc_catalog) @@ -551,10 +549,8 @@ def join_nested( if output_catalog_name is None: output_catalog_name = self.hc_structure.catalog_info.catalog_name - new_catalog_info = dataclasses.replace( - self.hc_structure.catalog_info, - catalog_name=output_catalog_name, - ) + new_catalog_info = self.hc_structure.catalog_info.copy_and_update(catalog_name=output_catalog_name) + hc_catalog = hc.catalog.Catalog(new_catalog_info, alignment.pixel_tree) return Catalog(ddf, ddf_map, hc_catalog) diff --git a/src/lsdb/catalog/dataset/dataset.py b/src/lsdb/catalog/dataset/dataset.py index 70d9d91e..75530742 100644 --- a/src/lsdb/catalog/dataset/dataset.py +++ b/src/lsdb/catalog/dataset/dataset.py @@ -1,13 +1,13 @@ from typing import List -import hipscat as hc +import hats as hc import nested_dask as nd import nested_pandas as npd from dask.delayed import Delayed class Dataset: - """Base HiPSCat Dataset""" + """Base HATS Dataset""" def __init__( self, @@ -21,7 +21,7 @@ def __init__( Args: ddf: Dask DataFrame with the source data of the catalog - hc_structure: `hipscat.Catalog` object with hipscat metadata of the catalog + hc_structure: `hats.Catalog` object with hats metadata of the catalog """ self._ddf = ddf self.hc_structure = hc_structure diff --git a/src/lsdb/catalog/dataset/healpix_dataset.py b/src/lsdb/catalog/dataset/healpix_dataset.py index 552d2817..1c105a41 100644 --- a/src/lsdb/catalog/dataset/healpix_dataset.py +++ b/src/lsdb/catalog/dataset/healpix_dataset.py @@ -2,22 +2,23 @@ import warnings from pathlib import Path -from typing import Any, Callable, Dict, Iterable, List, Tuple +from typing import Any, Callable, Dict, Iterable, List, Tuple, cast import dask import dask.dataframe as dd -import hipscat as hc -import hipscat.pixel_math.healpix_shim as hp +import hats as hc +import hats.pixel_math.healpix_shim as hp import nested_dask as nd import nested_pandas as npd import numpy as np import pandas as pd from dask.delayed import Delayed, delayed -from hipscat.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset -from hipscat.inspection import plot_pixel_list -from hipscat.inspection.visualize_catalog import get_projection_method -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset +from hats.inspection import plot_pixel_list +from hats.inspection.visualize_catalog import get_projection_method +from hats.pixel_math import HealpixPixel +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN from pandas._libs import lib from pandas._typing import AnyAll, Axis, IndexLabel from pandas.api.extensions import no_default @@ -37,8 +38,8 @@ class HealpixDataset(Dataset): spatial operations. Attributes: - hc_structure: `hipscat.Dataset` object representing the structure - and metadata of the HiPSCat catalog + hc_structure: `hats.Dataset` object representing the structure + and metadata of the HATS catalog """ hc_structure: HCHealpixDataset @@ -57,7 +58,7 @@ def __init__( Args: ddf: Dask DataFrame with the source data of the catalog ddf_pixel_map: Dictionary mapping HEALPix order and pixel to partition index of ddf - hc_structure: `hipscat.Catalog` object with hipscat metadata of the catalog + hc_structure: `hats.Catalog` object with hats metadata of the catalog """ super().__init__(ddf, hc_structure) self._ddf_pixel_map = ddf_pixel_map @@ -143,7 +144,7 @@ def _perform_search( Args: metadata (hc.catalog.Catalog | hc.catalog.MarginCatalog): The metadata of - the hipscat catalog after the coarse filtering is applied. The partitions + the hats catalog after the coarse filtering is applied. The partitions it contains are only those that overlap with the spatial region. search (AbstractSearch): Instance of AbstractSearch. @@ -411,14 +412,14 @@ def plot_pixels(self, projection: str = "moll", **kwargs): """ plot_pixel_list(self.get_healpix_pixels(), projection, **kwargs) - def to_hipscat( + def to_hats( self, base_catalog_path: str | Path | UPath, catalog_name: str | None = None, overwrite: bool = False, **kwargs, ): - """Saves the catalog to disk in HiPSCat format + """Saves the catalog to disk in HATS format Args: base_catalog_path (str): Location where catalog is saved to @@ -426,7 +427,7 @@ def to_hipscat( overwrite (bool): If True existing catalog is overwritten **kwargs: Arguments to pass to the parquet write operations """ - io.to_hipscat(self, base_catalog_path, catalog_name, overwrite, **kwargs) + io.to_hats(self, base_catalog_path, catalog_name, overwrite, **kwargs) def dropna( self, @@ -491,7 +492,24 @@ def dropna( to a single layer, multi-layer operations are not supported at this time. """ - ndf = self._ddf.dropna( - axis=axis, how=how, thresh=thresh, on_nested=on_nested, subset=subset, ignore_index=ignore_index - ) + + def drop_na_part(df: npd.NestedFrame): + if df.index.name == SPATIAL_INDEX_COLUMN: + df = df.reset_index() + df = cast( + npd.NestedFrame, + df.dropna( + axis=axis, + how=how, + thresh=thresh, + on_nested=on_nested, + subset=subset, + ignore_index=ignore_index, + ), + ) + if SPATIAL_INDEX_COLUMN in df.columns: + df = df.set_index(SPATIAL_INDEX_COLUMN) + return df + + ndf = self._ddf.map_partitions(drop_na_part, meta=self._ddf._meta) return self.__class__(ndf, self._ddf_pixel_map, self.hc_structure) diff --git a/src/lsdb/catalog/margin_catalog.py b/src/lsdb/catalog/margin_catalog.py index 7c390c63..f7332a50 100644 --- a/src/lsdb/catalog/margin_catalog.py +++ b/src/lsdb/catalog/margin_catalog.py @@ -1,4 +1,4 @@ -import hipscat as hc +import hats as hc import nested_dask as nd from lsdb.catalog.dataset.healpix_dataset import HealpixDataset @@ -7,12 +7,12 @@ class MarginCatalog(HealpixDataset): - """LSDB Catalog DataFrame to contain the "margin" of another HiPSCat catalog. + """LSDB Catalog DataFrame to contain the "margin" of another HATS catalog. spatial operations. Attributes: - hc_structure: `hipscat.MarginCatalog` object representing the structure - and metadata of the HiPSCat catalog + hc_structure: `hats.MarginCatalog` object representing the structure + and metadata of the HATS catalog """ hc_structure: hc.catalog.MarginCatalog diff --git a/src/lsdb/core/crossmatch/abstract_crossmatch_algorithm.py b/src/lsdb/core/crossmatch/abstract_crossmatch_algorithm.py index 5d8a6d8e..5ae8f249 100644 --- a/src/lsdb/core/crossmatch/abstract_crossmatch_algorithm.py +++ b/src/lsdb/core/crossmatch/abstract_crossmatch_algorithm.py @@ -7,9 +7,8 @@ import numpy as np import numpy.typing as npt import pandas as pd -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.catalog.margin_cache import MarginCacheCatalogInfo -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN +from hats.catalog import TableProperties +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN if TYPE_CHECKING: from lsdb.catalog import Catalog @@ -63,9 +62,9 @@ def __init__( left_pixel: int, right_order: int, right_pixel: int, - left_catalog_info: CatalogInfo, - right_catalog_info: CatalogInfo, - right_margin_catalog_info: MarginCacheCatalogInfo | None, + left_catalog_info: TableProperties, + right_catalog_info: TableProperties, + right_margin_catalog_info: TableProperties | None, suffixes: Tuple[str, str], ): """Initializes a crossmatch algorithm @@ -77,11 +76,11 @@ def __init__( left_pixel (int): The HEALPix pixel number in NESTED ordering of the left pixel right_order (int): The HEALPix order of the right pixel right_pixel (int): The HEALPix pixel number in NESTED ordering of the right pixel - left_catalog_info (hipscat.CatalogInfo): The hipscat CatalogInfo object with the metadata of the - left catalog - right_catalog_info (hipscat.CatalogInfo): The hipscat CatalogInfo object with the metadata of the - right catalog - right_margin_catalog_info (hipscat.MarginCacheCatalogInfo): The hipscat MarginCacheCatalogInfo + left_catalog_info (hats.TableProperties): The hats TableProperties object with the + metadata of the left catalog + right_catalog_info (hats.TableProperties): The hats TableProperties object with the + metadata of the right catalog + right_margin_catalog_info (hats.TableProperties): The hats TableProperties objects with the metadata of the right **margin** catalog suffixes (Tuple[str,str]): A pair of suffixes to be appended to the end of each column name, with the first appended to the left columns and the second to the right @@ -138,10 +137,10 @@ def validate(cls, left: Catalog, right: Catalog): This must accept any additional arguments the `crossmatch` method accepts. """ # Check that we have the appropriate columns in our dataset. - if left._ddf.index.name != HIPSCAT_ID_COLUMN: - raise ValueError(f"index of left table must be {HIPSCAT_ID_COLUMN}") - if right._ddf.index.name != HIPSCAT_ID_COLUMN: - raise ValueError(f"index of right table must be {HIPSCAT_ID_COLUMN}") + if left._ddf.index.name != SPATIAL_INDEX_COLUMN: + raise ValueError(f"index of left table must be {SPATIAL_INDEX_COLUMN}") + if right._ddf.index.name != SPATIAL_INDEX_COLUMN: + raise ValueError(f"index of right table must be {SPATIAL_INDEX_COLUMN}") column_names = left._ddf.columns if left.hc_structure.catalog_info.ra_column not in column_names: raise ValueError(f"left table must have column {left.hc_structure.catalog_info.ra_column}") @@ -204,7 +203,7 @@ def _create_crossmatch_df( self._rename_columns_with_suffix(self.left, self.suffixes[0]) self._rename_columns_with_suffix(self.right, self.suffixes[1]) # concat dataframes together - self.left.index.name = HIPSCAT_ID_COLUMN + self.left.index.name = SPATIAL_INDEX_COLUMN left_join_part = self.left.iloc[left_idx].reset_index() right_join_part = self.right.iloc[right_idx].reset_index(drop=True) out = pd.concat( @@ -214,7 +213,7 @@ def _create_crossmatch_df( ], axis=1, ) - out.set_index(HIPSCAT_ID_COLUMN, inplace=True) + out.set_index(SPATIAL_INDEX_COLUMN, inplace=True) extra_cols.index = out.index self._append_extra_columns(out, extra_cols) return npd.NestedFrame(out) diff --git a/src/lsdb/core/crossmatch/kdtree_match.py b/src/lsdb/core/crossmatch/kdtree_match.py index 31dc0602..3406515f 100644 --- a/src/lsdb/core/crossmatch/kdtree_match.py +++ b/src/lsdb/core/crossmatch/kdtree_match.py @@ -6,7 +6,7 @@ import numpy.typing as npt import pandas as pd import pyarrow as pa -from hipscat.pixel_math.validators import validate_radius +from hats.pixel_math.validators import validate_radius from lsdb.core.crossmatch.abstract_crossmatch_algorithm import AbstractCrossmatchAlgorithm from lsdb.core.crossmatch.kdtree_utils import _find_crossmatch_indices, _get_chord_distance, _lon_lat_to_xyz diff --git a/src/lsdb/core/plotting/skymap.py b/src/lsdb/core/plotting/skymap.py index 4a464967..ef32d64b 100644 --- a/src/lsdb/core/plotting/skymap.py +++ b/src/lsdb/core/plotting/skymap.py @@ -2,11 +2,11 @@ from typing import Any, Callable, Dict -import hipscat.pixel_math.healpix_shim as hp +import hats.pixel_math.healpix_shim as hp import nested_pandas as npd import numpy as np from dask import delayed -from hipscat.pixel_math import HealpixPixel, hipscat_id_to_healpix +from hats.pixel_math import HealpixPixel, spatial_index_to_healpix @delayed @@ -19,12 +19,12 @@ def perform_inner_skymap( **kwargs, ) -> np.ndarray: """Splits a partition into pixels at a target order and performs a given function on the new pixels""" - hipscat_index = partition.index.to_numpy() - order_pixels = hipscat_id_to_healpix(hipscat_index, target_order=target_order) + spatial_index = partition.index.to_numpy() + order_pixels = spatial_index_to_healpix(spatial_index, target_order=target_order) def apply_func(df): - # gets the healpix pixel of the partition using the hipscat_id - p = hipscat_id_to_healpix([df.index.to_numpy()[0]], target_order=target_order)[0] + # gets the healpix pixel of the partition using the spatial index + p = spatial_index_to_healpix([df.index.to_numpy()[0]], target_order=target_order)[0] return func(df, HealpixPixel(target_order, p), **kwargs) gb = partition.groupby(order_pixels, sort=False).apply(apply_func) diff --git a/src/lsdb/core/search/abstract_search.py b/src/lsdb/core/search/abstract_search.py index 4237f517..8924a1e4 100644 --- a/src/lsdb/core/search/abstract_search.py +++ b/src/lsdb/core/search/abstract_search.py @@ -4,7 +4,7 @@ from typing import TYPE_CHECKING import nested_pandas as npd -from hipscat.catalog.catalog_info import CatalogInfo +from hats.catalog import TableProperties from mocpy import MOC if TYPE_CHECKING: @@ -26,7 +26,7 @@ def __init__(self, fine: bool = True): self.fine = fine def filter_hc_catalog(self, hc_structure: HCCatalogTypeVar) -> HCCatalogTypeVar: - """Filters the hispcat catalog object to the partitions included in the search""" + """Filters the hats catalog object to the partitions included in the search""" if len(hc_structure.get_healpix_pixels()) == 0: return hc_structure max_order = hc_structure.get_max_coverage_order() @@ -40,5 +40,5 @@ def generate_search_moc(self, max_order: int) -> MOC: ) @abstractmethod - def search_points(self, frame: npd.NestedFrame, metadata: CatalogInfo) -> npd.NestedFrame: + def search_points(self, frame: npd.NestedFrame, metadata: TableProperties) -> npd.NestedFrame: """Determine the search results within a data frame""" diff --git a/src/lsdb/core/search/box_search.py b/src/lsdb/core/search/box_search.py index db594fbd..1ede1c62 100644 --- a/src/lsdb/core/search/box_search.py +++ b/src/lsdb/core/search/box_search.py @@ -4,9 +4,9 @@ import nested_pandas as npd import numpy as np -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.pixel_math.box_filter import generate_box_moc, wrap_ra_angles -from hipscat.pixel_math.validators import validate_box_search +from hats.catalog import TableProperties +from hats.pixel_math.box_filter import generate_box_moc, wrap_ra_angles +from hats.pixel_math.validators import validate_box_search from mocpy import MOC from lsdb.core.search.abstract_search import AbstractSearch @@ -34,7 +34,7 @@ def __init__( def generate_search_moc(self, max_order: int) -> MOC: return generate_box_moc(self.ra, self.dec, max_order) - def search_points(self, frame: npd.NestedFrame, metadata: CatalogInfo) -> npd.NestedFrame: + def search_points(self, frame: npd.NestedFrame, metadata: TableProperties) -> npd.NestedFrame: """Determine the search results within a data frame""" return box_filter(frame, self.ra, self.dec, metadata) @@ -43,7 +43,7 @@ def box_filter( data_frame: npd.NestedFrame, ra: Tuple[float, float] | None, dec: Tuple[float, float] | None, - metadata: CatalogInfo, + metadata: TableProperties, ) -> npd.NestedFrame: """Filters a dataframe to only include points within the specified box region. @@ -51,7 +51,7 @@ def box_filter( data_frame (npd.NestedFrame): DataFrame containing points in the sky ra (Tuple[float, float]): Right ascension range, in degrees dec (Tuple[float, float]): Declination range, in degrees - metadata (hc.catalog.Catalog): hipscat `Catalog` with catalog_info that matches `data_frame` + metadata (hc.catalog.Catalog): hats `Catalog` with catalog_info that matches `data_frame` Returns: A new DataFrame with the rows from `data_frame` filtered to only the points inside the box region. diff --git a/src/lsdb/core/search/cone_search.py b/src/lsdb/core/search/cone_search.py index d37734c8..e08e84f7 100644 --- a/src/lsdb/core/search/cone_search.py +++ b/src/lsdb/core/search/cone_search.py @@ -1,8 +1,8 @@ import nested_pandas as npd from astropy.coordinates import SkyCoord -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.pixel_math.cone_filter import generate_cone_moc -from hipscat.pixel_math.validators import validate_declination_values, validate_radius +from hats.catalog import TableProperties +from hats.pixel_math.cone_filter import generate_cone_moc +from hats.pixel_math.validators import validate_declination_values, validate_radius from mocpy import MOC from lsdb.core.search.abstract_search import AbstractSearch @@ -26,12 +26,12 @@ def __init__(self, ra: float, dec: float, radius_arcsec: float, fine: bool = Tru def generate_search_moc(self, max_order: int) -> MOC: return generate_cone_moc(self.ra, self.dec, self.radius_arcsec, max_order) - def search_points(self, frame: npd.NestedFrame, metadata: CatalogInfo) -> npd.NestedFrame: + def search_points(self, frame: npd.NestedFrame, metadata: TableProperties) -> npd.NestedFrame: """Determine the search results within a data frame""" return cone_filter(frame, self.ra, self.dec, self.radius_arcsec, metadata) -def cone_filter(data_frame: npd.NestedFrame, ra, dec, radius_arcsec, metadata: CatalogInfo): +def cone_filter(data_frame: npd.NestedFrame, ra, dec, radius_arcsec, metadata: TableProperties): """Filters a dataframe to only include points within the specified cone Args: @@ -39,7 +39,7 @@ def cone_filter(data_frame: npd.NestedFrame, ra, dec, radius_arcsec, metadata: C ra (float): Right Ascension of the center of the cone in degrees dec (float): Declination of the center of the cone in degrees radius_arcsec (float): Radius of the cone in arcseconds - metadata (hc.CatalogInfo): hipscat `CatalogInfo` with metadata that matches `data_frame` + metadata (hc.TableProperties): hats `TableProperties` with metadata that matches `data_frame` Returns: A new DataFrame with the rows from `data_frame` filtered to only the points inside the cone diff --git a/src/lsdb/core/search/index_search.py b/src/lsdb/core/search/index_search.py index cc2f0c8d..7a29016a 100644 --- a/src/lsdb/core/search/index_search.py +++ b/src/lsdb/core/search/index_search.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING import nested_pandas as npd -from hipscat.catalog.index.index_catalog import IndexCatalog +from hats.catalog.index.index_catalog import IndexCatalog from lsdb.core.search.abstract_search import AbstractSearch diff --git a/src/lsdb/core/search/pixel_search.py b/src/lsdb/core/search/pixel_search.py index 1bb6abde..b99a823c 100644 --- a/src/lsdb/core/search/pixel_search.py +++ b/src/lsdb/core/search/pixel_search.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING, List, Tuple import nested_pandas as npd -from hipscat.pixel_math import HealpixPixel +from hats.pixel_math import HealpixPixel from lsdb.core.search.abstract_search import AbstractSearch diff --git a/src/lsdb/core/search/polygon_search.py b/src/lsdb/core/search/polygon_search.py index ab5befcb..5fb6d5fa 100644 --- a/src/lsdb/core/search/polygon_search.py +++ b/src/lsdb/core/search/polygon_search.py @@ -1,11 +1,11 @@ from typing import List, Tuple -import hipscat.pixel_math.healpix_shim as hp +import hats.pixel_math.healpix_shim as hp import nested_pandas as npd import numpy as np -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.pixel_math.polygon_filter import CartesianCoordinates, SphericalCoordinates, generate_polygon_moc -from hipscat.pixel_math.validators import validate_declination_values, validate_polygon +from hats.catalog import TableProperties +from hats.pixel_math.polygon_filter import CartesianCoordinates, SphericalCoordinates, generate_polygon_moc +from hats.pixel_math.validators import validate_declination_values, validate_polygon from lsst.sphgeom import ConvexPolygon, UnitVector3d from mocpy import MOC @@ -29,20 +29,20 @@ def __init__(self, vertices: List[SphericalCoordinates], fine: bool = True): def generate_search_moc(self, max_order: int) -> MOC: return generate_polygon_moc(self.vertices_xyz, max_order) - def search_points(self, frame: npd.NestedFrame, metadata: CatalogInfo) -> npd.NestedFrame: + def search_points(self, frame: npd.NestedFrame, metadata: TableProperties) -> npd.NestedFrame: """Determine the search results within a data frame""" return polygon_filter(frame, self.polygon, metadata) def polygon_filter( - data_frame: npd.NestedFrame, polygon: ConvexPolygon, metadata: CatalogInfo + data_frame: npd.NestedFrame, polygon: ConvexPolygon, metadata: TableProperties ) -> npd.NestedFrame: """Filters a dataframe to only include points within the specified polygon. Args: data_frame (npd.NestedFrame): DataFrame containing points in the sky polygon (ConvexPolygon): Convex spherical polygon of interest, used to filter points - metadata (hc.catalog.Catalog): hipscat `Catalog` with catalog_info that matches `dataframe` + metadata (hc.catalog.Catalog): hats `Catalog` with catalog_info that matches `dataframe` Returns: A new DataFrame with the rows from `dataframe` filtered to only the pixels inside the polygon. diff --git a/src/lsdb/dask/crossmatch_catalog_data.py b/src/lsdb/dask/crossmatch_catalog_data.py index cd90b070..0d8e7ada 100644 --- a/src/lsdb/dask/crossmatch_catalog_data.py +++ b/src/lsdb/dask/crossmatch_catalog_data.py @@ -5,7 +5,7 @@ import dask import nested_dask as nd -from hipscat.pixel_tree import PixelAlignment +from hats.pixel_tree import PixelAlignment from lsdb.core.crossmatch.abstract_crossmatch_algorithm import AbstractCrossmatchAlgorithm from lsdb.core.crossmatch.crossmatch_algorithms import ( @@ -17,7 +17,7 @@ align_catalogs, concat_partition_and_margin, construct_catalog_args, - filter_by_hipscat_index_to_pixel, + filter_by_spatial_index_to_pixel, generate_meta_df_for_joined_tables, get_healpix_pixels_from_alignment, ) @@ -51,7 +51,7 @@ def perform_crossmatch( the result. """ if right_pix.order > left_pix.order: - left_df = filter_by_hipscat_index_to_pixel(left_df, right_pix.order, right_pix.pixel) + left_df = filter_by_spatial_index_to_pixel(left_df, right_pix.order, right_pix.pixel) if len(left_df) == 0: return meta_df diff --git a/src/lsdb/dask/divisions.py b/src/lsdb/dask/divisions.py index b41825f3..b6f509ee 100644 --- a/src/lsdb/dask/divisions.py +++ b/src/lsdb/dask/divisions.py @@ -3,20 +3,21 @@ from typing import List, Tuple import numpy as np -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_MAX, healpix_to_hipscat_id +from hats.pixel_math import HealpixPixel +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.pixel_math.spatial_index import healpix_to_spatial_index def get_pixels_divisions(healpix_pixels: List[HealpixPixel]) -> Tuple[int, ...] | None: """Calculates the Dask Dataframe divisions for a list of HEALPix pixels. - Divisions include the minimum value of every HEALPix pixel hipscat_id - and the maximum value of the last HEALPix pixel hipscat_id. In practice - they represent the bounds of hipscat_id values for the target pixels. + Divisions include the minimum value of every HEALPix pixel spatial_index + and the maximum value of the last HEALPix pixel spatial_index. In practice + they represent the bounds of spatial_index values for the target pixels. Args: healpix_pixels (List[HealpixPixel]): The list of HEALPix pixels to - calculate the hipscat_id bounds for. + calculate the spatial_index bounds for. Returns: The Dask Dataframe divisions, as a tuple of integer. @@ -25,6 +26,7 @@ def get_pixels_divisions(healpix_pixels: List[HealpixPixel]) -> Tuple[int, ...] return None orders = [pix.order for pix in healpix_pixels] pixels = [pix.pixel for pix in healpix_pixels] - divisions = healpix_to_hipscat_id(orders, pixels) - divisions = np.append(divisions, HIPSCAT_ID_MAX) + divisions = healpix_to_spatial_index(orders, pixels) + last_pixel = healpix_pixels[get_pixel_argsort(healpix_pixels)[-1]] + divisions = np.append(divisions, healpix_to_spatial_index(last_pixel.order, last_pixel.pixel + 1)) return tuple(np.sort(divisions)) diff --git a/src/lsdb/dask/join_catalog_data.py b/src/lsdb/dask/join_catalog_data.py index b3db46fc..6ae4750e 100644 --- a/src/lsdb/dask/join_catalog_data.py +++ b/src/lsdb/dask/join_catalog_data.py @@ -8,12 +8,10 @@ import nested_dask as nd import nested_pandas as npd import pandas as pd -from hipscat.catalog.association_catalog import AssociationCatalogInfo -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.catalog.margin_cache import MarginCacheCatalogInfo -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN -from hipscat.pixel_tree import PixelAlignment +from hats.catalog import TableProperties +from hats.pixel_math import HealpixPixel +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN +from hats.pixel_tree import PixelAlignment from nested_pandas.series.packer import pack_flat from lsdb.catalog.association_catalog import AssociationCatalog @@ -22,7 +20,7 @@ align_catalogs, concat_partition_and_margin, construct_catalog_args, - filter_by_hipscat_index_to_pixel, + filter_by_spatial_index_to_pixel, generate_meta_df_for_joined_tables, generate_meta_df_for_nested_tables, get_healpix_pixels_from_alignment, @@ -63,9 +61,9 @@ def perform_join_on( left_pixel: HealpixPixel, right_pixel: HealpixPixel, right_margin_pixel: HealpixPixel, - left_catalog_info: CatalogInfo, - right_catalog_info: CatalogInfo, - right_margin_catalog_info: MarginCacheCatalogInfo, + left_catalog_info: TableProperties, + right_catalog_info: TableProperties, + right_margin_catalog_info: TableProperties, left_on: str, right_on: str, suffixes: Tuple[str, str], @@ -80,9 +78,9 @@ def perform_join_on( left_pixel (HealpixPixel): the HEALPix pixel of the left partition right_pixel (HealpixPixel): the HEALPix pixel of the right partition right_margin_pixel (HealpixPixel): the HEALPix pixel of the right margin partition - left_catalog_info (hc.CatalogInfo): the catalog info of the left catalog - right_catalog_info (hc.CatalogInfo): the catalog info of the right catalog - right_margin_catalog_info (hc.MarginCacheCatalogInfo): the catalog info of the right margin catalog + left_catalog_info (hc.TableProperties): the catalog info of the left catalog + right_catalog_info (hc.TableProperties): the catalog info of the right catalog + right_margin_catalog_info (hc.TableProperties): the catalog info of the right margin catalog left_on (str): the column to join on from the left partition right_on (str): the column to join on from the right partition suffixes (Tuple[str,str]): the suffixes to apply to each partition's column names @@ -92,7 +90,7 @@ def perform_join_on( A dataframe with the result of merging the left and right partitions on the specified columns """ if right_pixel.order > left_pixel.order: - left = filter_by_hipscat_index_to_pixel(left, right_pixel.order, right_pixel.pixel) + left = filter_by_spatial_index_to_pixel(left, right_pixel.order, right_pixel.pixel) right_joined_df = concat_partition_and_margin(right, right_margin, right_columns) @@ -100,7 +98,7 @@ def perform_join_on( merged = left.reset_index().merge( right_joined_df, left_on=left_on + suffixes[0], right_on=right_on + suffixes[1] ) - merged.set_index(HIPSCAT_ID_COLUMN, inplace=True) + merged.set_index(SPATIAL_INDEX_COLUMN, inplace=True) return merged @@ -113,9 +111,9 @@ def perform_join_nested( left_pixel: HealpixPixel, right_pixel: HealpixPixel, right_margin_pixel: HealpixPixel, - left_catalog_info: CatalogInfo, - right_catalog_info: CatalogInfo, - right_margin_catalog_info: MarginCacheCatalogInfo, + left_catalog_info: TableProperties, + right_catalog_info: TableProperties, + right_margin_catalog_info: TableProperties, left_on: str, right_on: str, right_columns: List[str], @@ -131,9 +129,9 @@ def perform_join_nested( left_pixel (HealpixPixel): the HEALPix pixel of the left partition right_pixel (HealpixPixel): the HEALPix pixel of the right partition right_margin_pixel (HealpixPixel): the HEALPix pixel of the right margin partition - left_catalog_info (hc.CatalogInfo): the catalog info of the left catalog - right_catalog_info (hc.CatalogInfo): the catalog info of the right catalog - right_margin_catalog_info (hc.MarginCacheCatalogInfo): the catalog info of the right margin catalog + left_catalog_info (hc.TableProperties): the catalog info of the left catalog + right_catalog_info (hc.TableProperties): the catalog info of the right catalog + right_margin_catalog_info (hc.TableProperties): the catalog info of the right margin catalog left_on (str): the column to join on from the left partition right_on (str): the column to join on from the right partition right_columns (List[str]): the columns to include from the right margin partition @@ -143,14 +141,14 @@ def perform_join_nested( A dataframe with the result of merging the left and right partitions on the specified columns """ if right_pixel.order > left_pixel.order: - left = filter_by_hipscat_index_to_pixel(left, right_pixel.order, right_pixel.pixel) + left = filter_by_spatial_index_to_pixel(left, right_pixel.order, right_pixel.pixel) right_joined_df = concat_partition_and_margin(right, right_margin, right_columns) right_joined_df = pack_flat(npd.NestedFrame(right_joined_df.set_index(right_on))).rename(right_name) merged = left.reset_index().merge(right_joined_df, left_on=left_on, right_index=True) - merged.set_index(HIPSCAT_ID_COLUMN, inplace=True) + merged.set_index(SPATIAL_INDEX_COLUMN, inplace=True) return merged @@ -165,10 +163,10 @@ def perform_join_through( right_pixel: HealpixPixel, right_margin_pixel: HealpixPixel, through_pixel: HealpixPixel, - left_catalog_info: CatalogInfo, - right_catalog_info: CatalogInfo, - right_margin_catalog_info: MarginCacheCatalogInfo, - assoc_catalog_info: AssociationCatalogInfo, + left_catalog_info: TableProperties, + right_catalog_info: TableProperties, + right_margin_catalog_info: TableProperties, + assoc_catalog_info: TableProperties, suffixes: Tuple[str, str], right_columns: List[str], ): @@ -183,11 +181,11 @@ def perform_join_through( right_pixel (HealpixPixel): the HEALPix pixel of the right partition right_margin_pixel (HealpixPixel): the HEALPix pixel of the right margin partition through_pixel (HealpixPixel): the HEALPix pixel of the association partition - left_catalog_info (hc.CatalogInfo): the hipscat structure of the left catalog - right_catalog_info (hc.CatalogInfo): the hipscat structure of the right catalog - right_margin_catalog_info (hc.MarginCacheCatalogInfo): the hipscat structure of the right margin + left_catalog_info (hc.TableProperties): the hats structure of the left catalog + right_catalog_info (hc.TableProperties): the hats structure of the right catalog + right_margin_catalog_info (hc.TableProperties): the hats structure of the right margin catalog - assoc_catalog_info (hc.AssociationCatalogInfo): the hipscat structure of the association catalog + assoc_catalog_info (hc.TableProperties): the hats structure of the association catalog suffixes (Tuple[str,str]): the suffixes to apply to each partition's column names right_columns (List[str]): the columns to include from the right margin partition @@ -197,7 +195,7 @@ def perform_join_through( if assoc_catalog_info.primary_column is None or assoc_catalog_info.join_column is None: raise ValueError("Invalid catalog_info") if right_pixel.order > left_pixel.order: - left = filter_by_hipscat_index_to_pixel(left, right_pixel.order, right_pixel.pixel) + left = filter_by_spatial_index_to_pixel(left, right_pixel.order, right_pixel.pixel) right_joined_df = concat_partition_and_margin(right, right_margin, right_columns) @@ -223,7 +221,7 @@ def perform_join_through( ) ) - merged.set_index(HIPSCAT_ID_COLUMN, inplace=True) + merged.set_index(SPATIAL_INDEX_COLUMN, inplace=True) merged.drop(join_columns, axis=1, inplace=True) return merged @@ -235,8 +233,8 @@ def perform_merge_asof( right: npd.NestedFrame, left_pixel: HealpixPixel, right_pixel: HealpixPixel, - left_catalog_info: CatalogInfo, - right_catalog_info: CatalogInfo, + left_catalog_info: TableProperties, + right_catalog_info: TableProperties, suffixes: Tuple[str, str], direction: str, ): @@ -247,8 +245,8 @@ def perform_merge_asof( right (npd.NestedFrame): the right partition to merge left_pixel (HealpixPixel): the HEALPix pixel of the left partition right_pixel (HealpixPixel): the HEALPix pixel of the right partition - left_catalog_info (hc.CatalogInfo): the catalog info of the left catalog - right_catalog_info (hc.CatalogInfo): the catalog info of the right catalog + left_catalog_info (hc.TableProperties): the catalog info of the left catalog + right_catalog_info (hc.TableProperties): the catalog info of the right catalog suffixes (Tuple[str,str]): the suffixes to apply to each partition's column names direction (str): The direction to perform the merge_asof @@ -257,7 +255,7 @@ def perform_merge_asof( `merge_asof` """ if right_pixel.order > left_pixel.order: - left = filter_by_hipscat_index_to_pixel(left, right_pixel.order, right_pixel.pixel) + left = filter_by_spatial_index_to_pixel(left, right_pixel.order, right_pixel.pixel) left, right = rename_columns_with_suffixes(left, right, suffixes) left.sort_index(inplace=True) diff --git a/src/lsdb/dask/merge_catalog_functions.py b/src/lsdb/dask/merge_catalog_functions.py index 2e79eb79..9f766b9a 100644 --- a/src/lsdb/dask/merge_catalog_functions.py +++ b/src/lsdb/dask/merge_catalog_functions.py @@ -2,19 +2,19 @@ from typing import TYPE_CHECKING, Callable, List, Sequence, Tuple -import hipscat.pixel_math.healpix_shim as hp +import hats.pixel_math.healpix_shim as hp import nested_dask as nd import nested_pandas as npd import numpy as np import numpy.typing as npt import pandas as pd from dask.delayed import Delayed, delayed -from hipscat.catalog import PartitionInfo -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN, healpix_to_hipscat_id -from hipscat.pixel_tree import PixelAlignment, PixelAlignmentType, align_trees -from hipscat.pixel_tree.moc_utils import copy_moc -from hipscat.pixel_tree.pixel_alignment import align_with_mocs +from hats.io import paths +from hats.pixel_math import HealpixPixel +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN, healpix_to_spatial_index +from hats.pixel_tree import PixelAlignment, PixelAlignmentType, align_trees +from hats.pixel_tree.moc_utils import copy_moc +from hats.pixel_tree.pixel_alignment import align_with_mocs from lsdb.dask.divisions import get_pixels_divisions from lsdb.types import DaskDFPixelMap @@ -39,18 +39,14 @@ def concat_partition_and_margin( if margin is None: return partition - hive_columns = [ - PartitionInfo.METADATA_ORDER_COLUMN_NAME, - PartitionInfo.METADATA_DIR_COLUMN_NAME, - PartitionInfo.METADATA_PIXEL_COLUMN_NAME, - ] + hive_columns = [paths.PARTITION_ORDER, paths.PARTITION_DIR, paths.PARTITION_PIXEL] # Remove the Norder/Dir/Npix columns (used only for partitioning the margin itself), # and rename the margin_Norder/Dir/Npix to take their place. margin_columns_no_hive = [col for col in margin.columns if col not in hive_columns] rename_columns = { - f"margin_{PartitionInfo.METADATA_ORDER_COLUMN_NAME}": PartitionInfo.METADATA_ORDER_COLUMN_NAME, - f"margin_{PartitionInfo.METADATA_DIR_COLUMN_NAME}": PartitionInfo.METADATA_DIR_COLUMN_NAME, - f"margin_{PartitionInfo.METADATA_PIXEL_COLUMN_NAME}": PartitionInfo.METADATA_PIXEL_COLUMN_NAME, + f"margin_{paths.PARTITION_ORDER}": paths.PARTITION_ORDER, + f"margin_{paths.PARTITION_DIR}": paths.PARTITION_DIR, + f"margin_{paths.PARTITION_PIXEL}": paths.PARTITION_PIXEL, } margin_renamed = margin[margin_columns_no_hive].rename(columns=rename_columns) margin_filtered = margin_renamed[right_columns] @@ -159,8 +155,8 @@ def apply_func(*partitions_and_pixels): return resulting_partitions -def filter_by_hipscat_index_to_pixel(dataframe: npd.NestedFrame, order: int, pixel: int) -> npd.NestedFrame: - """Filters a catalog dataframe to the points within a specified HEALPix pixel using the hipscat index +def filter_by_spatial_index_to_pixel(dataframe: npd.NestedFrame, order: int, pixel: int) -> npd.NestedFrame: + """Filters a catalog dataframe to the points within a specified HEALPix pixel using the spatial index Args: dataframe (npd.NestedFrame): The dataframe to filter @@ -170,8 +166,8 @@ def filter_by_hipscat_index_to_pixel(dataframe: npd.NestedFrame, order: int, pix Returns: The filtered dataframe with only the rows that are within the specified HEALPix pixel """ - lower_bound = healpix_to_hipscat_id(order, pixel) - upper_bound = healpix_to_hipscat_id(order, pixel + 1) + lower_bound = healpix_to_spatial_index(order, pixel) + upper_bound = healpix_to_spatial_index(order, pixel + 1) filtered_df = dataframe[(dataframe.index >= lower_bound) & (dataframe.index < upper_bound)] return filtered_df @@ -227,8 +223,8 @@ def generate_meta_df_for_joined_tables( catalogs: Sequence[Catalog], suffixes: Sequence[str], extra_columns: pd.DataFrame | None = None, - index_name: str = HIPSCAT_ID_COLUMN, - index_type: npt.DTypeLike = np.uint64, + index_name: str = SPATIAL_INDEX_COLUMN, + index_type: npt.DTypeLike = np.int64, ) -> npd.NestedFrame: """Generates a Dask meta DataFrame that would result from joining two catalogs @@ -265,8 +261,8 @@ def generate_meta_df_for_nested_tables( nested_column_name: str, join_column_name: str, extra_columns: pd.DataFrame | None = None, - index_name: str = HIPSCAT_ID_COLUMN, - index_type: npt.DTypeLike = np.uint64, + index_name: str = SPATIAL_INDEX_COLUMN, + index_type: npt.DTypeLike = np.int64, ) -> npd.NestedFrame: """Generates a Dask meta DataFrame that would result from joining two catalogs, adding the right as a nested frame diff --git a/src/lsdb/io/__init__.py b/src/lsdb/io/__init__.py index a6e35065..e01a486a 100644 --- a/src/lsdb/io/__init__.py +++ b/src/lsdb/io/__init__.py @@ -1 +1 @@ -from .to_hipscat import to_hipscat +from .to_hats import to_hats diff --git a/src/lsdb/io/to_hipscat.py b/src/lsdb/io/to_hats.py similarity index 63% rename from src/lsdb/io/to_hipscat.py rename to src/lsdb/io/to_hats.py index 34995c72..092150a8 100644 --- a/src/lsdb/io/to_hipscat.py +++ b/src/lsdb/io/to_hats.py @@ -1,20 +1,17 @@ from __future__ import annotations -import dataclasses from copy import copy -from importlib.metadata import version from pathlib import Path from typing import TYPE_CHECKING, Dict, Union import dask -import hipscat as hc +import hats as hc import nested_pandas as npd -from hipscat.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset -from hipscat.pixel_math import HealpixPixel +from hats.catalog import PartitionInfo +from hats.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset +from hats.pixel_math import HealpixPixel from upath import UPath -from lsdb.types import HealpixInfo - if TYPE_CHECKING: from lsdb.catalog.dataset.healpix_dataset import HealpixDataset @@ -26,7 +23,7 @@ def perform_write( base_catalog_dir: str | Path | UPath, **kwargs, ) -> int: - """Performs a write of a pandas dataframe to a single parquet file, following the hipscat structure. + """Performs a write of a pandas dataframe to a single parquet file, following the hats structure. To be used as a dask delayed method as part of a dask task graph. @@ -49,14 +46,14 @@ def perform_write( # pylint: disable=W0212 -def to_hipscat( +def to_hats( catalog: HealpixDataset, base_catalog_path: str | Path | UPath, catalog_name: Union[str, None] = None, overwrite: bool = False, **kwargs, ): - """Writes a catalog to disk, in HiPSCat format. The output catalog comprises + """Writes a catalog to disk, in HATS format. The output catalog comprises partition parquet files and respective metadata, as well as JSON files detailing partition, catalog and provenance info. @@ -81,22 +78,16 @@ def to_hipscat( # Save parquet metadata hc.io.write_parquet_metadata(base_catalog_path) # Save partition info - partition_info = _get_partition_info_dict(pixel_to_partition_size_map) - hc.io.write_partition_info(base_catalog_path, partition_info) + partition_info = PartitionInfo(list(pixel_to_partition_size_map.keys())) + partition_info.write_to_file(base_catalog_path / "partition_info.csv") # Save catalog info new_hc_structure = create_modified_catalog_structure( catalog.hc_structure, base_catalog_path, catalog_name if catalog_name else catalog.hc_structure.catalog_name, - total_rows=sum(pi[0] for pi in partition_info.values()), - ) - hc.io.write_catalog_info(catalog_base_dir=base_catalog_path, dataset_info=new_hc_structure.catalog_info) - # Save provenance info - hc.io.write_metadata.write_provenance_info( - catalog_base_dir=base_catalog_path, - dataset_info=new_hc_structure.catalog_info, - tool_args=_get_provenance_info(new_hc_structure), + total_rows=sum(pixel_to_partition_size_map.values()), ) + new_hc_structure.catalog_info.to_properties_file(base_catalog_path) def write_partitions( @@ -142,68 +133,26 @@ def write_partitions( return pixel_to_partition_size_map -def _get_partition_info_dict(ddf_points_map: Dict[HealpixPixel, int]) -> Dict[HealpixPixel, HealpixInfo]: - """Creates the partition info dictionary - - Args: - ddf_points_map (Dict[HealpixPix,int]): Dictionary mapping each HealpixPixel - to the respective number of points inside its partition - - Returns: - A partition info dictionary, where the keys are the HEALPix pixels and - the values are pairs where the first element is the number of points - inside the pixel, and the second is the list of destination pixel numbers. - """ - return {pixel: (length, [pixel.pixel]) for pixel, length in ddf_points_map.items()} - - def create_modified_catalog_structure( catalog_structure: HCHealpixDataset, catalog_base_dir: str | Path | UPath, catalog_name: str, **kwargs ) -> HCHealpixDataset: - """Creates a modified version of the HiPSCat catalog structure + """Creates a modified version of the HATS catalog structure Args: - catalog_structure (hc.catalog.Catalog): HiPSCat catalog structure + catalog_structure (hc.catalog.Catalog): HATS catalog structure catalog_base_dir (UPath): Base location for the catalog catalog_name (str): The name of the catalog to be saved **kwargs: The remaining parameters to be updated in the catalog info object Returns: - A HiPSCat structure, modified with the parameters provided. + A HATS structure, modified with the parameters provided. """ new_hc_structure = copy(catalog_structure) new_hc_structure.catalog_name = catalog_name new_hc_structure.catalog_path = catalog_base_dir new_hc_structure.catalog_base_dir = hc.io.file_io.get_upath(catalog_base_dir) new_hc_structure.on_disk = True - new_hc_structure.catalog_info = dataclasses.replace( - new_hc_structure.catalog_info, catalog_name=catalog_name, **kwargs - ) - return new_hc_structure - -def _get_provenance_info(catalog_structure: HCHealpixDataset) -> dict: - """Fill all known information in a dictionary for provenance tracking. - - Args: - catalog_structure (HCHealpixDataset): The catalog structure - - Returns: - dictionary with all argument_name -> argument_value as key -> value pairs. - """ - structure_args = { - "catalog_name": catalog_structure.catalog_name, - "output_path": catalog_structure.catalog_path, - "output_catalog_name": catalog_structure.catalog_name, - "catalog_path": catalog_structure.catalog_path, - } - args = { - **structure_args, - **dataclasses.asdict(catalog_structure.catalog_info), - } - provenance_info = { - "tool_name": "lsdb", - "version": version("lsdb"), - "runtime_args": args, - } - return provenance_info + new_hc_structure.catalog_info = new_hc_structure.catalog_info.copy_and_update(**kwargs) + new_hc_structure.catalog_info.catalog_name = catalog_name + return new_hc_structure diff --git a/src/lsdb/loaders/__init__.py b/src/lsdb/loaders/__init__.py index 7aa20684..a020bce7 100644 --- a/src/lsdb/loaders/__init__.py +++ b/src/lsdb/loaders/__init__.py @@ -1,2 +1,2 @@ from .dataframe import from_dataframe -from .hipscat import read_hipscat +from .hats import read_hats diff --git a/src/lsdb/loaders/dataframe/dataframe_catalog_loader.py b/src/lsdb/loaders/dataframe/dataframe_catalog_loader.py index e9a86590..f843de1f 100644 --- a/src/lsdb/loaders/dataframe/dataframe_catalog_loader.py +++ b/src/lsdb/loaders/dataframe/dataframe_catalog_loader.py @@ -1,28 +1,31 @@ from __future__ import annotations -import dataclasses import math import warnings from typing import Dict, List, Tuple import astropy.units as u -import hipscat as hc +import hats as hc import nested_dask as nd import nested_pandas as npd import numpy as np import pandas as pd import pyarrow as pa -from hipscat.catalog import CatalogType -from hipscat.catalog.catalog_info import CatalogInfo -from hipscat.pixel_math import HealpixPixel, generate_histogram -from hipscat.pixel_math.healpix_pixel_function import get_pixel_argsort -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN, compute_hipscat_id, healpix_to_hipscat_id +from hats.catalog import CatalogType, TableProperties +from hats.pixel_math import HealpixPixel, generate_histogram +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.pixel_math.spatial_index import ( + SPATIAL_INDEX_COLUMN, + compute_spatial_index, + healpix_to_spatial_index, +) from mocpy import MOC from lsdb.catalog.catalog import Catalog from lsdb.io.schema import get_arrow_schema from lsdb.loaders.dataframe.from_dataframe_utils import ( _append_partition_information_to_dataframe, + _extra_property_dict, _generate_dask_dataframe, ) from lsdb.types import DaskDFPixelMap @@ -31,7 +34,7 @@ class DataframeCatalogLoader: - """Creates a HiPSCat formatted Catalog from a Pandas Dataframe""" + """Creates a HATS formatted Catalog from a Pandas Dataframe""" # pylint: disable=too-many-arguments def __init__( @@ -60,7 +63,7 @@ def __init__( threshold (int): The maximum number of data points per pixel. should_generate_moc (bool): should we generate a MOC (multi-order coverage map) of the data. can improve performance when joining/crossmatching to - other hipscatted datasets. + other hats-sharded datasets. moc_max_order (int): if generating a MOC, what to use as the max order. Defaults to 10. use_pyarrow_types (bool): If True, the data is backed by pyarrow, otherwise we keep the original data types. Defaults to True. @@ -73,7 +76,7 @@ def __init__( self.highest_order = highest_order self.drop_empty_siblings = drop_empty_siblings self.threshold = self._calculate_threshold(partition_size, threshold) - self.catalog_info = self._create_catalog_info(**kwargs) + self.catalog_info = self._create_catalog_info(total_rows=len(self.dataframe), **kwargs) self.should_generate_moc = should_generate_moc self.moc_max_order = moc_max_order self.use_pyarrow_types = use_pyarrow_types @@ -90,11 +93,11 @@ def _calculate_threshold(self, partition_size: int | None = None, threshold: int Returns: The HEALPix pixel threshold """ - df_total_memory = self.dataframe.memory_usage(deep=True).sum() - if df_total_memory > (1 << 30) or len(self.dataframe) > 1_000_000: + self.df_total_memory = self.dataframe.memory_usage(deep=True).sum() + if self.df_total_memory > (1 << 30) or len(self.dataframe) > 1_000_000: warnings.warn( "from_dataframe is not intended for large datasets. " - "Consider using hipscat-import: https://hipscat-import.readthedocs.io/", + "Consider using hats-import: https://hats-import.readthedocs.io/", RuntimeWarning, ) if threshold is not None and partition_size is not None: @@ -107,25 +110,40 @@ def _calculate_threshold(self, partition_size: int | None = None, threshold: int threshold = len(self.dataframe) // num_partitions else: # Each partition in memory will be of roughly 1Gib - partition_memory = df_total_memory / len(self.dataframe) + partition_memory = self.df_total_memory / len(self.dataframe) threshold = math.ceil((1 << 30) / partition_memory) return threshold - @staticmethod - def _create_catalog_info(**kwargs) -> CatalogInfo: + def _create_catalog_info( + self, + catalog_name: str = "from_lsdb_dataframe", + ra_column: str = "ra", + dec_column: str = "dec", + catalog_type: CatalogType = CatalogType.OBJECT, + **kwargs, + ) -> TableProperties: """Creates the catalog info object Args: + catalog_name: it is recommended to provide a new name for your catalog + ra_column: column to find right ascension coordinate + dec_column: column to find declination coordinate + catalog_type: type of table being created (e.g. OBJECT, MARGIN, INDEX) **kwargs: Arguments to pass to the creation of the catalog info Returns: The catalog info object """ - valid_catalog_types = [CatalogType.OBJECT, CatalogType.SOURCE] - catalog_info = CatalogInfo(**kwargs) - if catalog_info.catalog_type not in valid_catalog_types: - raise ValueError("Catalog must be of type OBJECT or SOURCE") - return catalog_info + if kwargs is None: + kwargs = {} + kwargs = kwargs | _extra_property_dict(self.df_total_memory) + return TableProperties( + catalog_name=catalog_name, + ra_column=ra_column, + dec_column=dec_column, + catalog_type=catalog_type, + **kwargs, + ) def load_catalog(self) -> Catalog: """Load a catalog from a Pandas Dataframe, in CSV format @@ -133,27 +151,27 @@ def load_catalog(self) -> Catalog: Returns: Catalog object with data from the source given at loader initialization """ - self._set_hipscat_index() + self._set_spatial_index() pixel_list = self._compute_pixel_list() ddf, ddf_pixel_map, total_rows = self._generate_dask_df_and_map(pixel_list) - self.catalog_info = dataclasses.replace(self.catalog_info, total_rows=total_rows) + self.catalog_info.total_rows = total_rows moc = self._generate_moc() if self.should_generate_moc else None schema = self.schema if self.schema is not None else get_arrow_schema(ddf) hc_structure = hc.catalog.Catalog(self.catalog_info, pixel_list, moc=moc, schema=schema) return Catalog(ddf, ddf_pixel_map, hc_structure) - def _set_hipscat_index(self): - """Generates the hipscat indices for each data point and assigns - the hipscat index column as the Dataframe index.""" - self.dataframe[HIPSCAT_ID_COLUMN] = compute_hipscat_id( + def _set_spatial_index(self): + """Generates the spatial indices for each data point and assigns + the spatial index column as the Dataframe index.""" + self.dataframe[SPATIAL_INDEX_COLUMN] = compute_spatial_index( ra_values=self.dataframe[self.catalog_info.ra_column].to_numpy(), dec_values=self.dataframe[self.catalog_info.dec_column].to_numpy(), ) - self.dataframe.set_index(HIPSCAT_ID_COLUMN, inplace=True) + self.dataframe.set_index(SPATIAL_INDEX_COLUMN, inplace=True) def _compute_pixel_list(self) -> List[HealpixPixel]: """Compute object histogram and generate the sorted list of - HEALPix pixels. The pixels are sorted by ascending hipscat_id. + HEALPix pixels. The pixels are sorted by ascending spatial index. Returns: List of HEALPix pixels for the final partitioning. @@ -199,8 +217,8 @@ def _generate_dask_df_and_map( # Store HEALPix pixel in map ddf_pixel_map[hp_pixel] = hp_pixel_index # Obtain Dataframe for current HEALPix pixel, using NESTED characteristics. - left_bound = healpix_to_hipscat_id(hp_pixel.order, hp_pixel.pixel) - right_bound = healpix_to_hipscat_id(hp_pixel.order, hp_pixel.pixel + 1) + left_bound = healpix_to_spatial_index(hp_pixel.order, hp_pixel.pixel) + right_bound = healpix_to_spatial_index(hp_pixel.order, hp_pixel.pixel + 1) pixel_df = self.dataframe.loc[ (self.dataframe.index >= left_bound) & (self.dataframe.index < right_bound) ] diff --git a/src/lsdb/loaders/dataframe/from_dataframe.py b/src/lsdb/loaders/dataframe/from_dataframe.py index 64898b4e..53b14939 100644 --- a/src/lsdb/loaders/dataframe/from_dataframe.py +++ b/src/lsdb/loaders/dataframe/from_dataframe.py @@ -29,7 +29,7 @@ def from_dataframe( Note that this is only suitable for small datasets (< 1million rows and < 1GB dataframe in-memory). If you need to deal with large datasets, consider - using the hipscat-import package: https://hipscat-import.readthedocs.io/ + using the hats-import package: https://hats-import.readthedocs.io/ Args: dataframe (pd.Dataframe): The catalog Pandas Dataframe. @@ -44,7 +44,7 @@ def from_dataframe( the margin cache is not generated. Defaults to 5 arcseconds. should_generate_moc (bool): should we generate a MOC (multi-order coverage map) of the data. can improve performance when joining/crossmatching to - other hipscatted datasets. + other hats-sharded datasets. moc_max_order (int): if generating a MOC, what to use as the max order. Defaults to 10. use_pyarrow_types (bool): If True, the data is backed by pyarrow, otherwise we keep the original data types. Defaults to True. @@ -74,5 +74,6 @@ def from_dataframe( margin_order, margin_threshold, use_pyarrow_types, + **kwargs, ).create_catalog() return catalog diff --git a/src/lsdb/loaders/dataframe/from_dataframe_utils.py b/src/lsdb/loaders/dataframe/from_dataframe_utils.py index 1e584cd0..a7f30a6d 100644 --- a/src/lsdb/loaders/dataframe/from_dataframe_utils.py +++ b/src/lsdb/loaders/dataframe/from_dataframe_utils.py @@ -1,3 +1,4 @@ +from datetime import datetime, timezone from typing import List, Tuple import nested_dask as nd @@ -6,10 +7,11 @@ import pandas as pd import pyarrow as pa from dask import delayed -from hipscat.catalog import PartitionInfo -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN +from hats.io import paths +from hats.pixel_math import HealpixPixel +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN +import lsdb from lsdb.dask.divisions import get_pixels_divisions @@ -45,7 +47,7 @@ def _convert_dtypes_to_pyarrow(df: pd.DataFrame) -> pd.DataFrame: shallow copy of the initial DataFrame to avoid copying the data. """ new_series = {} - df_index = df.index.astype(pd.ArrowDtype(pa.uint64())) + df_index = df.index.astype(pd.ArrowDtype(pa.int64())) for column in df.columns: pa_array = pa.array(df[column], from_pandas=True) series = pd.Series(pa_array, dtype=pd.ArrowDtype(pa_array.type), copy=False, index=df_index) @@ -66,14 +68,14 @@ def _append_partition_information_to_dataframe( The dataframe for a HEALPix, with data points and respective partition information. """ columns_to_assign = { - PartitionInfo.METADATA_ORDER_COLUMN_NAME: pixel.order, - PartitionInfo.METADATA_DIR_COLUMN_NAME: pixel.dir, - PartitionInfo.METADATA_PIXEL_COLUMN_NAME: pixel.pixel, + paths.PARTITION_ORDER: pixel.order, + paths.PARTITION_DIR: pixel.dir, + paths.PARTITION_PIXEL: pixel.pixel, } column_types = { - PartitionInfo.METADATA_ORDER_COLUMN_NAME: np.uint8, - PartitionInfo.METADATA_DIR_COLUMN_NAME: np.uint64, - PartitionInfo.METADATA_PIXEL_COLUMN_NAME: np.uint64, + paths.PARTITION_ORDER: np.uint8, + paths.PARTITION_DIR: np.uint64, + paths.PARTITION_PIXEL: np.uint64, } dataframe = dataframe.assign(**columns_to_assign).astype(column_types) return _order_partition_dataframe_columns(dataframe) @@ -91,25 +93,23 @@ def _format_margin_partition_dataframe(dataframe: npd.NestedFrame) -> npd.Nested """ dataframe = dataframe.drop(columns=["margin_pixel"]) rename_columns = { - PartitionInfo.METADATA_ORDER_COLUMN_NAME: f"margin_{PartitionInfo.METADATA_ORDER_COLUMN_NAME}", - PartitionInfo.METADATA_DIR_COLUMN_NAME: f"margin_{PartitionInfo.METADATA_DIR_COLUMN_NAME}", - PartitionInfo.METADATA_PIXEL_COLUMN_NAME: f"margin_{PartitionInfo.METADATA_PIXEL_COLUMN_NAME}", - "partition_order": PartitionInfo.METADATA_ORDER_COLUMN_NAME, - "partition_pixel": PartitionInfo.METADATA_PIXEL_COLUMN_NAME, + paths.PARTITION_ORDER: f"margin_{paths.PARTITION_ORDER}", + paths.PARTITION_DIR: f"margin_{paths.PARTITION_DIR}", + paths.PARTITION_PIXEL: f"margin_{paths.PARTITION_PIXEL}", + "partition_order": paths.PARTITION_ORDER, + "partition_pixel": paths.PARTITION_PIXEL, } dataframe.rename(columns=rename_columns, inplace=True) - dir_column = ( - np.floor_divide(dataframe[PartitionInfo.METADATA_PIXEL_COLUMN_NAME].to_numpy(), 10000) * 10000 - ) - dataframe[PartitionInfo.METADATA_DIR_COLUMN_NAME] = dir_column + dir_column = np.floor_divide(dataframe[paths.PARTITION_PIXEL].to_numpy(), 10000) * 10000 + dataframe[paths.PARTITION_DIR] = dir_column dataframe = dataframe.astype( { - PartitionInfo.METADATA_ORDER_COLUMN_NAME: np.uint8, - PartitionInfo.METADATA_DIR_COLUMN_NAME: np.uint64, - PartitionInfo.METADATA_PIXEL_COLUMN_NAME: np.uint64, + paths.PARTITION_ORDER: np.uint8, + paths.PARTITION_DIR: np.uint64, + paths.PARTITION_PIXEL: np.uint64, } ) - dataframe = dataframe.set_index(HIPSCAT_ID_COLUMN).sort_index() + dataframe = dataframe.set_index(SPATIAL_INDEX_COLUMN).sort_index() return _order_partition_dataframe_columns(dataframe) @@ -124,13 +124,27 @@ def _order_partition_dataframe_columns(dataframe: npd.NestedFrame) -> npd.Nested The partition dataframe with the columns in the correct order. """ order_of_columns = [ - f"margin_{PartitionInfo.METADATA_ORDER_COLUMN_NAME}", - f"margin_{PartitionInfo.METADATA_DIR_COLUMN_NAME}", - f"margin_{PartitionInfo.METADATA_PIXEL_COLUMN_NAME}", - PartitionInfo.METADATA_ORDER_COLUMN_NAME, - PartitionInfo.METADATA_DIR_COLUMN_NAME, - PartitionInfo.METADATA_PIXEL_COLUMN_NAME, + f"margin_{paths.PARTITION_ORDER}", + f"margin_{paths.PARTITION_DIR}", + f"margin_{paths.PARTITION_PIXEL}", + paths.PARTITION_ORDER, + paths.PARTITION_DIR, + paths.PARTITION_PIXEL, ] unordered_columns = [col for col in dataframe.columns if col not in order_of_columns] ordered_columns = [col for col in order_of_columns if col in dataframe.columns] return dataframe[unordered_columns + ordered_columns] + + +def _extra_property_dict(est_size_bytes: int): + """Create a dictionary of additional fields to store in the properties file.""" + properties = {} + properties["hats_builder"] = f"lsdb v{lsdb.__version__}" + + now = datetime.now(tz=timezone.utc) + properties["hats_creation_date"] = now.strftime("%Y-%m-%dT%H:%M%Z") + properties["hats_estsize"] = f"{int(est_size_bytes / 1024)}" + properties["hats_release_date"] = "2024-09-18" + properties["hats_version"] = "v0.1" + + return properties diff --git a/src/lsdb/loaders/dataframe/margin_catalog_generator.py b/src/lsdb/loaders/dataframe/margin_catalog_generator.py index 30a62097..36a19d49 100644 --- a/src/lsdb/loaders/dataframe/margin_catalog_generator.py +++ b/src/lsdb/loaders/dataframe/margin_catalog_generator.py @@ -2,28 +2,28 @@ from typing import Dict, List, Tuple -import hipscat as hc -import hipscat.pixel_math.healpix_shim as hp +import hats as hc +import hats.pixel_math.healpix_shim as hp import nested_dask as nd import nested_pandas as npd import numpy as np import pandas as pd -from hipscat import pixel_math -from hipscat.catalog import CatalogType -from hipscat.catalog.margin_cache import MarginCacheCatalogInfo -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats import pixel_math +from hats.catalog import CatalogType, TableProperties +from hats.pixel_math import HealpixPixel +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort from lsdb import Catalog from lsdb.catalog.margin_catalog import MarginCatalog from lsdb.loaders.dataframe.from_dataframe_utils import ( + _extra_property_dict, _format_margin_partition_dataframe, _generate_dask_dataframe, ) class MarginCatalogGenerator: - """Creates a HiPSCat formatted margin catalog""" + """Creates a HATS formatted margin catalog""" def __init__( self, @@ -31,6 +31,7 @@ def __init__( margin_order: int | None = -1, margin_threshold: float = 5.0, use_pyarrow_types: bool = True, + **kwargs, ) -> None: """Initialize a MarginCatalogGenerator @@ -39,12 +40,14 @@ def __init__( margin_order (int): The order at which to generate the margin cache margin_threshold (float): The size of the margin cache boundary, in arcseconds use_pyarrow_types (bool): If True, use pyarrow types. Defaults to True. + **kwargs: Arguments to pass to the creation of the catalog info. """ self.dataframe: npd.NestedFrame = catalog.compute().copy() self.hc_structure = catalog.hc_structure self.margin_threshold = margin_threshold self.margin_order = self._set_margin_order(margin_order) self.use_pyarrow_types = use_pyarrow_types + self.catalog_info = self._create_catalog_info(**kwargs) self.schema = catalog.hc_structure.schema def _set_margin_order(self, margin_order: int | None) -> int: @@ -79,9 +82,9 @@ def create_catalog(self) -> MarginCatalog | None: if len(pixels) == 0: return None ddf, ddf_pixel_map, total_rows = self._generate_dask_df_and_map(pixels, partitions) + self.catalog_info.total_rows = total_rows margin_pixels = list(ddf_pixel_map.keys()) - margin_catalog_info = self._create_catalog_info(total_rows) - margin_structure = hc.catalog.MarginCatalog(margin_catalog_info, margin_pixels, schema=self.schema) + margin_structure = hc.catalog.MarginCatalog(self.catalog_info, margin_pixels, schema=self.schema) return MarginCatalog(ddf, ddf_pixel_map, margin_structure) def _get_margins(self) -> Tuple[List[HealpixPixel], List[npd.NestedFrame]]: @@ -115,7 +118,7 @@ def _generate_dask_df_and_map( Tuple containing the Dask Dataframe, the mapping of margin HEALPix to the respective partitions and the total number of rows. """ - # Generate pixel map ordered by _hipscat_index + # Generate pixel map ordered by _healpix_29 pixel_order = get_pixel_argsort(pixels) ordered_pixels = np.asarray(pixels)[pixel_order] ordered_partitions = [partitions[i] for i in pixel_order] @@ -207,20 +210,29 @@ def _get_data_in_margin( ) return partition_df.iloc[margin_mask] - def _create_catalog_info(self, total_rows: int) -> MarginCacheCatalogInfo: + def _create_catalog_info(self, catalog_name: str | None = None, **kwargs) -> TableProperties: """Create the margin catalog info object Args: - total_rows (int): The number of elements in the margin catalog + catalog_name (str): name of the PRIMARY catalog being created. this margin + catalog will take on a name like `_margin`. + **kwargs: Arguments to pass to the creation of the catalog info Returns: The margin catalog info object. """ - catalog_name = self.hc_structure.catalog_info.catalog_name - return MarginCacheCatalogInfo( + if kwargs is None: + kwargs = {} + kwargs.pop("catalog_type", None) + kwargs = kwargs | _extra_property_dict(0) + if not catalog_name: + catalog_name = self.hc_structure.catalog_info.catalog_name + + return TableProperties( catalog_name=f"{catalog_name}_margin", catalog_type=CatalogType.MARGIN, - total_rows=total_rows, + total_rows=self.hc_structure.catalog_info.total_rows, primary_catalog=catalog_name, margin_threshold=self.margin_threshold, + **kwargs, ) diff --git a/src/lsdb/loaders/hats/__init__.py b/src/lsdb/loaders/hats/__init__.py new file mode 100644 index 00000000..54719dc0 --- /dev/null +++ b/src/lsdb/loaders/hats/__init__.py @@ -0,0 +1 @@ +from .read_hats import read_hats diff --git a/src/lsdb/loaders/hipscat/abstract_catalog_loader.py b/src/lsdb/loaders/hats/abstract_catalog_loader.py similarity index 72% rename from src/lsdb/loaders/hipscat/abstract_catalog_loader.py rename to src/lsdb/loaders/hats/abstract_catalog_loader.py index ed10f8f0..b8246d94 100644 --- a/src/lsdb/loaders/hipscat/abstract_catalog_loader.py +++ b/src/lsdb/loaders/hats/abstract_catalog_loader.py @@ -4,32 +4,32 @@ from pathlib import Path from typing import Generic, List, Tuple, Type -import hipscat as hc +import hats as hc import nested_dask as nd import nested_pandas as npd import numpy as np import pyarrow as pa -from hipscat.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset -from hipscat.io.file_io import file_io -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.healpix_pixel_function import get_pixel_argsort -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN +from hats.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset +from hats.io.file_io import file_io +from hats.pixel_math import HealpixPixel +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN from upath import UPath from lsdb.catalog.catalog import DaskDFPixelMap from lsdb.dask.divisions import get_pixels_divisions -from lsdb.loaders.hipscat.hipscat_loading_config import HipscatLoadingConfig +from lsdb.loaders.hats.hats_loading_config import HatsLoadingConfig from lsdb.types import CatalogTypeVar, HCCatalogTypeVar class AbstractCatalogLoader(Generic[CatalogTypeVar]): - """Loads a HiPSCat Dataset with the type specified by the type variable""" + """Loads a HATS Dataset with the type specified by the type variable""" - def __init__(self, path: str | Path | UPath, config: HipscatLoadingConfig) -> None: - """Initializes a HipscatCatalogLoader + def __init__(self, path: str | Path | UPath, config: HatsLoadingConfig) -> None: + """Initializes a HatsCatalogLoader Args: - path: path to the root of the HiPSCat catalog + path: path to the root of the HATS catalog config: options to configure how the catalog is loaded """ self.path = path @@ -45,9 +45,9 @@ def load_catalog(self) -> CatalogTypeVar | None: """ pass - def _load_hipscat_catalog(self, catalog_type: Type[HCCatalogTypeVar]) -> HCCatalogTypeVar: - """Load `hipscat` library catalog object with catalog metadata and partition data""" - hc_catalog = catalog_type.read_from_hipscat(self.path) + def _load_hats_catalog(self, catalog_type: Type[HCCatalogTypeVar]) -> HCCatalogTypeVar: + """Load `hats` library catalog object with catalog metadata and partition data""" + hc_catalog = catalog_type.read_hats(self.path) if hc_catalog.schema is None: raise ValueError( "The catalog schema could not be loaded from metadata." @@ -83,13 +83,16 @@ def _load_df_from_pixels( return nd.NestedFrame.from_pandas(dask_meta_schema, npartitions=1) def _create_dask_meta_schema(self, schema: pa.Schema) -> npd.NestedFrame: - """Creates the Dask meta DataFrame from the HiPSCat catalog schema.""" + """Creates the Dask meta DataFrame from the HATS catalog schema.""" dask_meta_schema = schema.empty_table().to_pandas(types_mapper=self.config.get_dtype_mapper()) if self.config.columns is not None: dask_meta_schema = dask_meta_schema[self.config.columns] - if dask_meta_schema.index.name != HIPSCAT_ID_COLUMN and HIPSCAT_ID_COLUMN in dask_meta_schema.columns: - dask_meta_schema = dask_meta_schema.set_index(HIPSCAT_ID_COLUMN) + if ( + dask_meta_schema.index.name != SPATIAL_INDEX_COLUMN + and SPATIAL_INDEX_COLUMN in dask_meta_schema.columns + ): + dask_meta_schema = dask_meta_schema.set_index(SPATIAL_INDEX_COLUMN) return npd.NestedFrame(dask_meta_schema) def _get_kwargs(self) -> dict: @@ -112,7 +115,7 @@ def read_pixel( hc.io.pixel_catalog_file(catalog.catalog_base_dir, pixel, query_url_params), columns=columns, **kwargs ) - if dataframe.index.name != HIPSCAT_ID_COLUMN and HIPSCAT_ID_COLUMN in dataframe.columns: - dataframe = dataframe.set_index(HIPSCAT_ID_COLUMN) + if dataframe.index.name != SPATIAL_INDEX_COLUMN and SPATIAL_INDEX_COLUMN in dataframe.columns: + dataframe = dataframe.set_index(SPATIAL_INDEX_COLUMN) return dataframe diff --git a/src/lsdb/loaders/hipscat/association_catalog_loader.py b/src/lsdb/loaders/hats/association_catalog_loader.py similarity index 80% rename from src/lsdb/loaders/hipscat/association_catalog_loader.py rename to src/lsdb/loaders/hats/association_catalog_loader.py index a91eac4e..0895c50d 100644 --- a/src/lsdb/loaders/hipscat/association_catalog_loader.py +++ b/src/lsdb/loaders/hats/association_catalog_loader.py @@ -1,12 +1,12 @@ -import hipscat as hc +import hats as hc import nested_dask as nd from lsdb.catalog.association_catalog import AssociationCatalog -from lsdb.loaders.hipscat.abstract_catalog_loader import AbstractCatalogLoader +from lsdb.loaders.hats.abstract_catalog_loader import AbstractCatalogLoader class AssociationCatalogLoader(AbstractCatalogLoader[AssociationCatalog]): - """Loads an HiPSCat AssociationCatalog""" + """Loads an HATS AssociationCatalog""" def load_catalog(self) -> AssociationCatalog: """Load a catalog from the configuration specified when the loader was created @@ -14,7 +14,7 @@ def load_catalog(self) -> AssociationCatalog: Returns: Catalog object with data from the source given at loader initialization """ - hc_catalog = self._load_hipscat_catalog(hc.catalog.AssociationCatalog) + hc_catalog = self._load_hats_catalog(hc.catalog.AssociationCatalog) if hc_catalog.catalog_info.contains_leaf_files: dask_df, dask_df_pixel_map = self._load_dask_df_and_map(hc_catalog) else: diff --git a/src/lsdb/loaders/hipscat/hipscat_catalog_loader.py b/src/lsdb/loaders/hats/hats_catalog_loader.py similarity index 80% rename from src/lsdb/loaders/hipscat/hipscat_catalog_loader.py rename to src/lsdb/loaders/hats/hats_catalog_loader.py index 5234fdab..b684dc90 100644 --- a/src/lsdb/loaders/hipscat/hipscat_catalog_loader.py +++ b/src/lsdb/loaders/hats/hats_catalog_loader.py @@ -1,15 +1,15 @@ from __future__ import annotations -import hipscat as hc +import hats as hc from lsdb.catalog.catalog import Catalog, MarginCatalog -from lsdb.loaders.hipscat.abstract_catalog_loader import AbstractCatalogLoader -from lsdb.loaders.hipscat.hipscat_loading_config import HipscatLoadingConfig -from lsdb.loaders.hipscat.margin_catalog_loader import MarginCatalogLoader +from lsdb.loaders.hats.abstract_catalog_loader import AbstractCatalogLoader +from lsdb.loaders.hats.hats_loading_config import HatsLoadingConfig +from lsdb.loaders.hats.margin_catalog_loader import MarginCatalogLoader -class HipscatCatalogLoader(AbstractCatalogLoader[Catalog]): - """Loads a HiPSCat formatted Catalog""" +class HatsCatalogLoader(AbstractCatalogLoader[Catalog]): + """Loads a HATS formatted Catalog""" def load_catalog(self) -> Catalog: """Load a catalog from the configuration specified when the loader was created @@ -17,8 +17,8 @@ def load_catalog(self) -> Catalog: Returns: Catalog object with data from the source given at loader initialization """ - hc_catalog = self._load_hipscat_catalog(hc.catalog.Catalog) - filtered_hc_catalog = self._filter_hipscat_catalog(hc_catalog) + hc_catalog = self._load_hats_catalog(hc.catalog.Catalog) + filtered_hc_catalog = self._filter_hats_catalog(hc_catalog) dask_df, dask_df_pixel_map = self._load_dask_df_and_map(filtered_hc_catalog) catalog = Catalog(dask_df, dask_df_pixel_map, filtered_hc_catalog) if self.config.search_filter is not None: @@ -26,7 +26,7 @@ def load_catalog(self) -> Catalog: catalog.margin = self._load_margin_catalog() return catalog - def _filter_hipscat_catalog(self, hc_catalog: hc.catalog.Catalog) -> hc.catalog.Catalog: + def _filter_hats_catalog(self, hc_catalog: hc.catalog.Catalog) -> hc.catalog.Catalog: """Filter the catalog pixels according to the spatial filter provided at loading time. Object and source catalogs are not allowed to be filtered to an empty catalog. If the resulting catalog is empty an error is issued indicating that the catalog does not have @@ -56,7 +56,7 @@ def _load_margin_catalog(self) -> MarginCatalog | None: elif self.config.margin_cache is not None: margin_catalog = MarginCatalogLoader( str(self.config.margin_cache), - HipscatLoadingConfig( + HatsLoadingConfig( search_filter=self.config.search_filter, columns=self.config.columns, margin_cache=None, diff --git a/src/lsdb/loaders/hipscat/hipscat_loader_factory.py b/src/lsdb/loaders/hats/hats_loader_factory.py similarity index 69% rename from src/lsdb/loaders/hipscat/hipscat_loader_factory.py rename to src/lsdb/loaders/hats/hats_loader_factory.py index 00771755..39a34c3a 100644 --- a/src/lsdb/loaders/hipscat/hipscat_loader_factory.py +++ b/src/lsdb/loaders/hats/hats_loader_factory.py @@ -9,21 +9,21 @@ from lsdb.catalog.catalog import Catalog from lsdb.catalog.dataset.dataset import Dataset from lsdb.catalog.margin_catalog import MarginCatalog -from lsdb.loaders.hipscat.abstract_catalog_loader import AbstractCatalogLoader, CatalogTypeVar -from lsdb.loaders.hipscat.association_catalog_loader import AssociationCatalogLoader -from lsdb.loaders.hipscat.hipscat_catalog_loader import HipscatCatalogLoader -from lsdb.loaders.hipscat.hipscat_loading_config import HipscatLoadingConfig -from lsdb.loaders.hipscat.margin_catalog_loader import MarginCatalogLoader +from lsdb.loaders.hats.abstract_catalog_loader import AbstractCatalogLoader, CatalogTypeVar +from lsdb.loaders.hats.association_catalog_loader import AssociationCatalogLoader +from lsdb.loaders.hats.hats_catalog_loader import HatsCatalogLoader +from lsdb.loaders.hats.hats_loading_config import HatsLoadingConfig +from lsdb.loaders.hats.margin_catalog_loader import MarginCatalogLoader loader_class_for_catalog_type: Dict[Type[Dataset], Type[AbstractCatalogLoader]] = { - Catalog: HipscatCatalogLoader, + Catalog: HatsCatalogLoader, AssociationCatalog: AssociationCatalogLoader, MarginCatalog: MarginCatalogLoader, } def get_loader_for_type( - catalog_type_to_use: Type[CatalogTypeVar], path: str | Path | UPath, config: HipscatLoadingConfig + catalog_type_to_use: Type[CatalogTypeVar], path: str | Path | UPath, config: HatsLoadingConfig ) -> AbstractCatalogLoader: """Constructs a CatalogLoader that loads a Dataset of the specified type @@ -31,7 +31,7 @@ def get_loader_for_type( catalog_type_to_use (Type[Dataset]): the type of catalog to be loaded. Uses the actual type as the input, not a string or enum value path (UPath): the path to load the catalog from - config (HipscatLoadingConfig): Additional configuration for loading the catalog + config (HatsLoadingConfig): Additional configuration for loading the catalog Returns: An initialized CatalogLoader object with the path and config specified diff --git a/src/lsdb/loaders/hipscat/hipscat_loading_config.py b/src/lsdb/loaders/hats/hats_loading_config.py similarity index 91% rename from src/lsdb/loaders/hipscat/hipscat_loading_config.py rename to src/lsdb/loaders/hats/hats_loading_config.py index 5b6af5ec..7121e39a 100644 --- a/src/lsdb/loaders/hipscat/hipscat_loading_config.py +++ b/src/lsdb/loaders/hats/hats_loading_config.py @@ -13,10 +13,10 @@ @dataclass -class HipscatLoadingConfig: - """Configuration for loading a HiPSCat catalog in lsdb. +class HatsLoadingConfig: + """Configuration for loading a HATS catalog in lsdb. - Contains all parameters needed for a user to specify how to correctly read a hipscat catalog. + Contains all parameters needed for a user to specify how to correctly read a hats-sharded catalog. """ search_filter: AbstractSearch | None = None @@ -61,7 +61,7 @@ def make_query_url_params(self) -> dict: if "filters" in self.kwargs: url_params["filters"] = [] for filtr in self.kwargs["filters"]: - # This is how hipscat expects the filters to add to the url + # This is how HATS expects the filters to add to the url url_params["filters"].append(f"{filtr[0]}{filtr[1]}{filtr[2]}") return url_params diff --git a/src/lsdb/loaders/hipscat/margin_catalog_loader.py b/src/lsdb/loaders/hats/margin_catalog_loader.py similarity index 78% rename from src/lsdb/loaders/hipscat/margin_catalog_loader.py rename to src/lsdb/loaders/hats/margin_catalog_loader.py index 1b58f6dc..5678ee66 100644 --- a/src/lsdb/loaders/hipscat/margin_catalog_loader.py +++ b/src/lsdb/loaders/hats/margin_catalog_loader.py @@ -1,13 +1,13 @@ from __future__ import annotations -import hipscat as hc +import hats as hc from lsdb.catalog.margin_catalog import MarginCatalog -from lsdb.loaders.hipscat.abstract_catalog_loader import AbstractCatalogLoader +from lsdb.loaders.hats.abstract_catalog_loader import AbstractCatalogLoader class MarginCatalogLoader(AbstractCatalogLoader[MarginCatalog]): - """Loads an HiPSCat MarginCatalog""" + """Loads an HATS MarginCatalog""" def load_catalog(self) -> MarginCatalog | None: """Load a catalog from the configuration specified when the loader was created @@ -15,15 +15,15 @@ def load_catalog(self) -> MarginCatalog | None: Returns: Catalog object with data from the source given at loader initialization """ - hc_catalog = self._load_hipscat_catalog(hc.catalog.MarginCatalog) - filtered_hc_catalog = self._filter_hipscat_catalog(hc_catalog) + hc_catalog = self._load_hats_catalog(hc.catalog.MarginCatalog) + filtered_hc_catalog = self._filter_hats_catalog(hc_catalog) dask_df, dask_df_pixel_map = self._load_dask_df_and_map(filtered_hc_catalog) margin = MarginCatalog(dask_df, dask_df_pixel_map, filtered_hc_catalog) if self.config.search_filter is not None: margin = margin.search(self.config.search_filter) return margin - def _filter_hipscat_catalog(self, hc_catalog: hc.catalog.MarginCatalog) -> hc.catalog.MarginCatalog: + def _filter_hats_catalog(self, hc_catalog: hc.catalog.MarginCatalog) -> hc.catalog.MarginCatalog: """Filter the catalog pixels according to the spatial filter provided at loading time. Margin catalogs, unlike object and source catalogs, are allowed to be filtered to an empty catalog. In that case, the margin catalog is considered None.""" diff --git a/src/lsdb/loaders/hipscat/read_hipscat.py b/src/lsdb/loaders/hats/read_hats.py similarity index 81% rename from src/lsdb/loaders/hipscat/read_hipscat.py rename to src/lsdb/loaders/hats/read_hats.py index 5ff9fd5d..d189b620 100644 --- a/src/lsdb/loaders/hipscat/read_hipscat.py +++ b/src/lsdb/loaders/hats/read_hats.py @@ -4,9 +4,8 @@ from pathlib import Path from typing import Dict, List, Type -import hipscat as hc -from hipscat.catalog import CatalogType -from hipscat.catalog.dataset import BaseCatalogInfo +import hats as hc +from hats.catalog import CatalogType, TableProperties from upath import UPath from lsdb.catalog.association_catalog import AssociationCatalog @@ -14,9 +13,9 @@ from lsdb.catalog.dataset.dataset import Dataset from lsdb.catalog.margin_catalog import MarginCatalog from lsdb.core.search.abstract_search import AbstractSearch -from lsdb.loaders.hipscat.abstract_catalog_loader import CatalogTypeVar -from lsdb.loaders.hipscat.hipscat_loader_factory import get_loader_for_type -from lsdb.loaders.hipscat.hipscat_loading_config import HipscatLoadingConfig +from lsdb.loaders.hats.abstract_catalog_loader import CatalogTypeVar +from lsdb.loaders.hats.hats_loader_factory import get_loader_for_type +from lsdb.loaders.hats.hats_loading_config import HatsLoadingConfig dataset_class_for_catalog_type: Dict[CatalogType, Type[Dataset]] = { CatalogType.OBJECT: Catalog, @@ -27,7 +26,7 @@ # pylint: disable=unused-argument -def read_hipscat( +def read_hats( path: str | Path | UPath, catalog_type: Type[CatalogTypeVar] | None = None, search_filter: AbstractSearch | None = None, @@ -36,15 +35,15 @@ def read_hipscat( dtype_backend: str | None = "pyarrow", **kwargs, ) -> CatalogTypeVar | None: - """Load a catalog from a HiPSCat formatted catalog. + """Load a catalog from a HATS formatted catalog. Typical usage example, where we load a catalog with a subset of columns:: - lsdb.read_hipscat(path="./my_catalog_dir", columns=["ra","dec"]) + lsdb.read_hats(path="./my_catalog_dir", columns=["ra","dec"]) Typical usage example, where we load a catalog from a cone search:: - lsdb.read_hipscat_subset( + lsdb.read_hats( path="./my_catalog_dir", catalog_type=lsdb.Catalog, columns=["ra","dec"], @@ -52,7 +51,7 @@ def read_hipscat( ) Args: - path (UPath | Path): The path that locates the root of the HiPSCat catalog + path (UPath | Path): The path that locates the root of the HATS catalog catalog_type (Type[Dataset]): Default `None`. By default, the type of the catalog is loaded from the catalog info and the corresponding object type is returned. Python's type hints cannot allow a return type specified by a loaded value, so to use the correct return @@ -71,8 +70,8 @@ def read_hipscat( """ # Creates a config object to store loading parameters from all keyword arguments. kwd_args = locals().copy() - config_args = {field.name: kwd_args[field.name] for field in dataclasses.fields(HipscatLoadingConfig)} - config = HipscatLoadingConfig(**config_args) + config_args = {field.name: kwd_args[field.name] for field in dataclasses.fields(HatsLoadingConfig)} + config = HatsLoadingConfig(**config_args) catalog_type_to_use = _get_dataset_class_from_catalog_info(path) @@ -85,8 +84,7 @@ def read_hipscat( def _get_dataset_class_from_catalog_info(base_catalog_path: str | Path | UPath) -> Type[Dataset]: base_catalog_dir = hc.io.file_io.get_upath(base_catalog_path) - catalog_info_path = hc.io.paths.get_catalog_info_pointer(base_catalog_dir) - catalog_info = BaseCatalogInfo.read_from_metadata_file(catalog_info_path) + catalog_info = TableProperties.read_from_dir(base_catalog_dir) catalog_type = catalog_info.catalog_type if catalog_type not in dataset_class_for_catalog_type: raise NotImplementedError(f"Cannot load catalog of type {catalog_type}") diff --git a/src/lsdb/loaders/hipscat/read_hipscat.pyi b/src/lsdb/loaders/hats/read_hats.pyi similarity index 82% rename from src/lsdb/loaders/hipscat/read_hipscat.pyi rename to src/lsdb/loaders/hats/read_hats.pyi index cfa39687..68cfb2b5 100644 --- a/src/lsdb/loaders/hipscat/read_hipscat.pyi +++ b/src/lsdb/loaders/hats/read_hats.pyi @@ -1,8 +1,8 @@ -"""Read Hipscat +"""Read HATS -Stub file containing typing for the read_hipscat function. +Stub file containing typing for the read_hats function. -The read_hipscat method can either be used without specifying a catalog type, by default reading +The read_hats method can either be used without specifying a catalog type, by default reading from the catalog info the correct catalog type, however type checkers can't use the value from the catalog info to infer the type. So there is also the option to specify the catalog type to ensure correct type checking. This file specifies this typing of the function for the type checker to use. @@ -21,10 +21,10 @@ from upath import UPath from lsdb.catalog.dataset.dataset import Dataset from lsdb.catalog.margin_catalog import MarginCatalog from lsdb.core.search.abstract_search import AbstractSearch -from lsdb.loaders.hipscat.abstract_catalog_loader import CatalogTypeVar +from lsdb.loaders.hats.abstract_catalog_loader import CatalogTypeVar @overload -def read_hipscat( +def read_hats( path: str | Path | UPath, search_filter: AbstractSearch | None = None, columns: List[str] | None = None, @@ -33,7 +33,7 @@ def read_hipscat( **kwargs, ) -> Dataset | None: ... @overload -def read_hipscat( +def read_hats( path: str | Path | UPath, catalog_type: Type[CatalogTypeVar], search_filter: AbstractSearch | None = None, diff --git a/src/lsdb/loaders/hipscat/__init__.py b/src/lsdb/loaders/hipscat/__init__.py deleted file mode 100644 index b4ac710a..00000000 --- a/src/lsdb/loaders/hipscat/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .read_hipscat import read_hipscat diff --git a/src/lsdb/types.py b/src/lsdb/types.py index df697b81..fe33c751 100644 --- a/src/lsdb/types.py +++ b/src/lsdb/types.py @@ -1,16 +1,10 @@ -from typing import Dict, List, Tuple, TypeVar +from typing import Dict, TypeVar -from hipscat.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset -from hipscat.pixel_math import HealpixPixel -from typing_extensions import TypeAlias +from hats.catalog.healpix_dataset.healpix_dataset import HealpixDataset as HCHealpixDataset +from hats.pixel_math import HealpixPixel from lsdb.catalog.dataset.dataset import Dataset -# Compute pixel map returns a tuple. The first element is -# the number of data points within the HEALPix pixel, the -# second element is the list of pixels it contains. -HealpixInfo: TypeAlias = Tuple[int, List[int]] - DaskDFPixelMap = Dict[HealpixPixel, int] CatalogTypeVar = TypeVar("CatalogTypeVar", bound=Dataset) diff --git a/tests/conftest.py b/tests/conftest.py index 06240c7c..410e8543 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,10 +1,10 @@ from pathlib import Path -import hipscat as hc +import hats as hc import pandas as pd import pytest -from hipscat.pixel_math import hipscat_id_to_healpix -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN, healpix_to_hipscat_id +from hats.pixel_math import spatial_index_to_healpix +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN, healpix_to_spatial_index import lsdb @@ -23,7 +23,6 @@ SMALL_SKY_ORDER1_SOURCE_MARGIN_NAME = "small_sky_order1_source_margin" SMALL_SKY_TO_ORDER1_SOURCE_NAME = "small_sky_to_o1source" SMALL_SKY_TO_ORDER1_SOURCE_SOFT_NAME = "small_sky_to_o1source_soft" -SMALL_SKY_ORDER1_CSV = "small_sky_order1.csv" SMALL_SKY_NO_METADATA = "small_sky_no_metadata" XMATCH_CORRECT_FILE = "xmatch_correct.csv" XMATCH_CORRECT_005_FILE = "xmatch_correct_0_005.csv" @@ -88,7 +87,7 @@ def small_sky_source_dir(test_data_dir): @pytest.fixture def small_sky_source_catalog(small_sky_source_dir): - return lsdb.read_hipscat(small_sky_source_dir) + return lsdb.read_hats(small_sky_source_dir) @pytest.fixture @@ -107,8 +106,8 @@ def small_sky_to_order1_source_soft_dir(test_data_dir): @pytest.fixture -def small_sky_hipscat_catalog(small_sky_dir): - return hc.catalog.Catalog.read_from_hipscat(small_sky_dir) +def small_sky_hats_catalog(small_sky_dir): + return hc.catalog.Catalog.read_hats(small_sky_dir) @pytest.fixture @@ -118,72 +117,72 @@ def small_sky_order1_id_index_dir(test_data_dir): @pytest.fixture def small_sky_catalog(small_sky_dir): - return lsdb.read_hipscat(small_sky_dir, catalog_type=lsdb.catalog.Catalog) + return lsdb.read_hats(small_sky_dir, catalog_type=lsdb.catalog.Catalog) @pytest.fixture def small_sky_left_xmatch_catalog(small_sky_left_xmatch_dir): - return lsdb.read_hipscat(small_sky_left_xmatch_dir) + return lsdb.read_hats(small_sky_left_xmatch_dir) @pytest.fixture def small_sky_xmatch_catalog(small_sky_xmatch_dir): - return lsdb.read_hipscat(small_sky_xmatch_dir) + return lsdb.read_hats(small_sky_xmatch_dir) @pytest.fixture def small_sky_xmatch_margin_catalog(small_sky_xmatch_margin_dir): - return lsdb.read_hipscat(small_sky_xmatch_margin_dir) + return lsdb.read_hats(small_sky_xmatch_margin_dir) @pytest.fixture def small_sky_xmatch_with_margin(small_sky_xmatch_dir, small_sky_xmatch_margin_catalog): - return lsdb.read_hipscat(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog) + return lsdb.read_hats(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog) @pytest.fixture def small_sky_to_xmatch_catalog(small_sky_to_xmatch_dir): - return lsdb.read_hipscat(small_sky_to_xmatch_dir) + return lsdb.read_hats(small_sky_to_xmatch_dir) @pytest.fixture def small_sky_to_xmatch_soft_catalog(small_sky_to_xmatch_soft_dir): - return lsdb.read_hipscat(small_sky_to_xmatch_soft_dir) + return lsdb.read_hats(small_sky_to_xmatch_soft_dir) @pytest.fixture -def small_sky_order1_hipscat_catalog(small_sky_order1_dir): - return hc.catalog.Catalog.read_from_hipscat(small_sky_order1_dir) +def small_sky_order1_hats_catalog(small_sky_order1_dir): + return hc.catalog.Catalog.read_hats(small_sky_order1_dir) @pytest.fixture def small_sky_order1_catalog(small_sky_order1_dir): - return lsdb.read_hipscat(small_sky_order1_dir) + return lsdb.read_hats(small_sky_order1_dir) @pytest.fixture def small_sky_order1_source_with_margin(small_sky_order1_source_dir, small_sky_order1_source_margin_catalog): - return lsdb.read_hipscat(small_sky_order1_source_dir, margin_cache=small_sky_order1_source_margin_catalog) + return lsdb.read_hats(small_sky_order1_source_dir, margin_cache=small_sky_order1_source_margin_catalog) @pytest.fixture def small_sky_order1_source_margin_catalog(small_sky_order1_source_margin_dir): - return lsdb.read_hipscat(small_sky_order1_source_margin_dir) + return lsdb.read_hats(small_sky_order1_source_margin_dir) @pytest.fixture def small_sky_to_o1source_catalog(small_sky_to_order1_source_dir): - return lsdb.read_hipscat(small_sky_to_order1_source_dir) + return lsdb.read_hats(small_sky_to_order1_source_dir) @pytest.fixture def small_sky_to_o1source_soft_catalog(small_sky_to_order1_source_soft_dir): - return lsdb.read_hipscat(small_sky_to_order1_source_soft_dir) + return lsdb.read_hats(small_sky_to_order1_source_soft_dir) @pytest.fixture -def small_sky_order1_df(small_sky_order1_dir): - return pd.read_csv(small_sky_order1_dir / SMALL_SKY_ORDER1_CSV) +def small_sky_order1_df(test_data_dir): + return pd.read_csv(test_data_dir / "raw" / "small_sky" / "small_sky.csv") @pytest.fixture @@ -193,12 +192,12 @@ def small_sky_source_df(test_data_dir): @pytest.fixture def small_sky_source_margin_catalog(test_data_dir): - return lsdb.read_hipscat(test_data_dir / SMALL_SKY_SOURCE_MARGIN_NAME) + return lsdb.read_hats(test_data_dir / SMALL_SKY_SOURCE_MARGIN_NAME) @pytest.fixture def small_sky_order3_source_margin_catalog(test_data_dir): - return lsdb.read_hipscat(test_data_dir / SMALL_SKY_ORDER3_SOURCE_MARGIN_NAME) + return lsdb.read_hats(test_data_dir / SMALL_SKY_ORDER3_SOURCE_MARGIN_NAME) @pytest.fixture @@ -265,12 +264,12 @@ def cone_search_expected_dir(test_data_dir): @pytest.fixture def cone_search_expected(cone_search_expected_dir): - return pd.read_csv(cone_search_expected_dir / "catalog.csv", index_col=HIPSCAT_ID_COLUMN) + return pd.read_csv(cone_search_expected_dir / "catalog.csv", index_col=SPATIAL_INDEX_COLUMN) @pytest.fixture def cone_search_margin_expected(cone_search_expected_dir): - return pd.read_csv(cone_search_expected_dir / "margin.csv", index_col=HIPSCAT_ID_COLUMN) + return pd.read_csv(cone_search_expected_dir / "margin.csv", index_col=SPATIAL_INDEX_COLUMN) @pytest.fixture @@ -289,10 +288,10 @@ def assert_divisions_are_correct(catalog): assert None not in catalog._ddf.divisions # Check that divisions belong to the correct pixel for division, hp_pixel in zip(catalog._ddf.divisions, hp_pixels): - div_pixel = hipscat_id_to_healpix([division], target_order=hp_pixel.order) + div_pixel = spatial_index_to_healpix([division], target_order=hp_pixel.order) assert hp_pixel.pixel == div_pixel - # The last division corresponds to the HIPSCAT_ID_MAX - assert catalog._ddf.divisions[-1] >= healpix_to_hipscat_id( + # The last division corresponds to the largest healpix value + assert catalog._ddf.divisions[-1] == healpix_to_spatial_index( hp_pixels[-1].order, hp_pixels[-1].pixel + 1 ) diff --git a/tests/data/generate_data.ipynb b/tests/data/generate_data.ipynb index 6f55ccd8..712edcaf 100644 --- a/tests/data/generate_data.ipynb +++ b/tests/data/generate_data.ipynb @@ -20,14 +20,19 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:48.302610Z", + "start_time": "2024-10-03T20:47:43.684052Z" + } + }, "outputs": [], "source": [ - "import hipscat_import.pipeline as runner\n", - "from hipscat_import.catalog.arguments import ImportArguments\n", - "from hipscat_import.index.arguments import IndexArguments\n", - "from hipscat_import.margin_cache.margin_cache_arguments import MarginCacheArguments\n", - "from hipscat_import.soap import SoapArguments\n", + "import hats_import.pipeline as runner\n", + "from hats_import.catalog.arguments import ImportArguments\n", + "from hats_import.index.arguments import IndexArguments\n", + "from hats_import.margin_cache.margin_cache_arguments import MarginCacheArguments\n", + "from hats_import.soap import SoapArguments\n", "import tempfile\n", "from dask.distributed import Client\n", "\n", @@ -57,19 +62,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:51.037190Z", + "start_time": "2024-10-03T20:47:48.303875Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"small_sky_order1/small_sky_order1.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " output_artifact_name=\"small_sky_order1\",\n", - " constant_healpix_order=1,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/small_sky/small_sky.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " output_artifact_name=\"small_sky_order1\",\n", + " constant_healpix_order=1,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -89,18 +99,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:51.121973Z", + "start_time": "2024-10-03T20:47:51.038544Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"small_sky_order1/small_sky_order1.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " output_artifact_name=\"small_sky\",\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/small_sky/small_sky.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " output_artifact_name=\"small_sky\",\n", + " tmp_dir=pipeline_tmp,\n", + " highest_healpix_order=5,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -113,20 +129,25 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:51.997575Z", + "start_time": "2024-10-03T20:47:51.124508Z" + } + }, "outputs": [], "source": [ - "args = IndexArguments(\n", - " input_catalog_path=\"./small_sky_order1\",\n", - " indexing_column=\"id\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_order1_id_index\",\n", - " include_hipscat_index=False,\n", - " compute_partition_size=200_000,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = IndexArguments(\n", + " input_catalog_path=\"./small_sky_order1\",\n", + " indexing_column=\"id\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_order1_id_index\",\n", + " include_healpix_29=False,\n", + " compute_partition_size=200_000,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -151,22 +172,27 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:52.145198Z", + "start_time": "2024-10-03T20:47:51.998275Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " ra_column=\"source_ra\",\n", - " dec_column=\"source_dec\",\n", - " catalog_type=\"source\",\n", - " output_artifact_name=\"small_sky_order1_source\",\n", - " constant_healpix_order=1,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " ra_column=\"source_ra\",\n", + " dec_column=\"source_dec\",\n", + " catalog_type=\"source\",\n", + " output_artifact_name=\"small_sky_order1_source\",\n", + " constant_healpix_order=1,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -179,23 +205,28 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:52.362271Z", + "start_time": "2024-10-03T20:47:52.146230Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " ra_column=\"source_ra\",\n", - " dec_column=\"source_dec\",\n", - " catalog_type=\"source\",\n", - " output_artifact_name=\"small_sky_source\",\n", - " highest_healpix_order=2,\n", - " pixel_threshold=3000,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " ra_column=\"source_ra\",\n", + " dec_column=\"source_dec\",\n", + " catalog_type=\"source\",\n", + " output_artifact_name=\"small_sky_source\",\n", + " highest_healpix_order=2,\n", + " pixel_threshold=3000,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -208,19 +239,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:53.573491Z", + "start_time": "2024-10-03T20:47:52.362998Z" + } + }, "outputs": [], "source": [ - "args = MarginCacheArguments(\n", - " input_catalog_path=\"small_sky_source\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_source_margin\",\n", - " margin_threshold=180,\n", - " margin_order=8,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = MarginCacheArguments(\n", + " input_catalog_path=\"small_sky_source\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_source_margin\",\n", + " margin_threshold=180,\n", + " margin_order=8,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -233,19 +269,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:47:56.531771Z", + "start_time": "2024-10-03T20:47:53.574055Z" + } + }, "outputs": [], "source": [ - "args = MarginCacheArguments(\n", - " input_catalog_path=\"small_sky_order1_source\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_order1_source_margin\",\n", - " margin_threshold=7200,\n", - " margin_order=4,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = MarginCacheArguments(\n", + " input_catalog_path=\"small_sky_order1_source\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_order1_source_margin\",\n", + " margin_threshold=7200,\n", + " margin_order=4,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -260,33 +301,38 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.070056Z", + "start_time": "2024-10-03T20:47:56.532554Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " ra_column=\"source_ra\",\n", - " dec_column=\"source_dec\",\n", - " catalog_type=\"source\",\n", - " output_artifact_name=\"small_sky_order3_source\",\n", - " constant_healpix_order=3,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)\n", + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/small_sky_source/small_sky_source.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " ra_column=\"source_ra\",\n", + " dec_column=\"source_dec\",\n", + " catalog_type=\"source\",\n", + " output_artifact_name=\"small_sky_order3_source\",\n", + " constant_healpix_order=3,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)\n", "\n", - "args = MarginCacheArguments(\n", - " input_catalog_path=\"small_sky_order3_source\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_order3_source_margin\",\n", - " margin_threshold=300,\n", - " margin_order=7,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = MarginCacheArguments(\n", + " input_catalog_path=\"small_sky_order3_source\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_order3_source_margin\",\n", + " margin_threshold=300,\n", + " margin_order=7,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -301,21 +347,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.180200Z", + "start_time": "2024-10-03T20:48:00.072426Z" + } + }, "outputs": [], "source": [ - "args = SoapArguments(\n", - " object_catalog_dir=\"small_sky\",\n", - " object_id_column=\"id\",\n", - " source_catalog_dir=\"small_sky_order1_source\",\n", - " source_object_id_column=\"object_id\",\n", - " source_id_column=\"source_id\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_to_o1source\",\n", - " write_leaf_files=True,\n", - " overwrite=True,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = SoapArguments(\n", + " object_catalog_dir=\"small_sky\",\n", + " object_id_column=\"id\",\n", + " source_catalog_dir=\"small_sky_order1_source\",\n", + " source_object_id_column=\"object_id\",\n", + " source_id_column=\"source_id\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_to_o1source\",\n", + " write_leaf_files=True,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -328,21 +379,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.258359Z", + "start_time": "2024-10-03T20:48:00.180935Z" + } + }, "outputs": [], "source": [ - "args = SoapArguments(\n", - " object_catalog_dir=\"small_sky\",\n", - " object_id_column=\"id\",\n", - " source_catalog_dir=\"small_sky_order1_source\",\n", - " source_object_id_column=\"object_id\",\n", - " source_id_column=\"source_id\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_to_o1source_soft\",\n", - " write_leaf_files=False,\n", - " overwrite=True,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = SoapArguments(\n", + " object_catalog_dir=\"small_sky\",\n", + " object_id_column=\"id\",\n", + " source_catalog_dir=\"small_sky_order1_source\",\n", + " source_object_id_column=\"object_id\",\n", + " source_id_column=\"source_id\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_to_o1source_soft\",\n", + " write_leaf_files=False,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -361,19 +417,25 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.363489Z", + "start_time": "2024-10-03T20:48:00.259302Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"raw/xmatch/small_sky_xmatch.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " output_artifact_name=\"small_sky_xmatch\",\n", - " pixel_threshold=100,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/xmatch/small_sky_xmatch.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " output_artifact_name=\"small_sky_xmatch\",\n", + " pixel_threshold=100,\n", + " tmp_dir=pipeline_tmp,\n", + " highest_healpix_order=4,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -390,21 +452,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.440522Z", + "start_time": "2024-10-03T20:48:00.364315Z" + } + }, "outputs": [], "source": [ - "args = SoapArguments(\n", - " object_catalog_dir=\"small_sky\",\n", - " object_id_column=\"id\",\n", - " source_catalog_dir=\"small_sky_xmatch\",\n", - " source_object_id_column=\"id\",\n", - " source_id_column=\"id\",\n", - " output_path=\".\",\n", - " write_leaf_files=True,\n", - " output_artifact_name=\"small_sky_to_xmatch\",\n", - " overwrite=True,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = SoapArguments(\n", + " object_catalog_dir=\"small_sky\",\n", + " object_id_column=\"id\",\n", + " source_catalog_dir=\"small_sky_xmatch\",\n", + " source_object_id_column=\"id\",\n", + " source_id_column=\"id\",\n", + " output_path=\".\",\n", + " write_leaf_files=True,\n", + " output_artifact_name=\"small_sky_to_xmatch\",\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -419,21 +486,26 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.507660Z", + "start_time": "2024-10-03T20:48:00.441393Z" + } + }, "outputs": [], "source": [ - "args = SoapArguments(\n", - " object_catalog_dir=\"small_sky\",\n", - " object_id_column=\"id\",\n", - " source_catalog_dir=\"small_sky_xmatch\",\n", - " source_object_id_column=\"id\",\n", - " source_id_column=\"id\",\n", - " output_path=\".\",\n", - " write_leaf_files=False,\n", - " output_artifact_name=\"small_sky_to_xmatch_soft\",\n", - " overwrite=True,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = SoapArguments(\n", + " object_catalog_dir=\"small_sky\",\n", + " object_id_column=\"id\",\n", + " source_catalog_dir=\"small_sky_xmatch\",\n", + " source_object_id_column=\"id\",\n", + " source_id_column=\"id\",\n", + " output_path=\".\",\n", + " write_leaf_files=False,\n", + " output_artifact_name=\"small_sky_to_xmatch_soft\",\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -448,19 +520,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.694676Z", + "start_time": "2024-10-03T20:48:00.508540Z" + } + }, "outputs": [], "source": [ - "args = MarginCacheArguments(\n", - " input_catalog_path=\"small_sky_xmatch\",\n", - " output_path=\".\",\n", - " output_artifact_name=\"small_sky_xmatch_margin\",\n", - " margin_threshold=7200,\n", - " margin_order=4,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = MarginCacheArguments(\n", + " input_catalog_path=\"small_sky_xmatch\",\n", + " output_path=\".\",\n", + " output_artifact_name=\"small_sky_xmatch_margin\",\n", + " margin_threshold=7200,\n", + " margin_order=4,\n", + " tmp_dir=pipeline_tmp,\n", + " )\n", + " runner.pipeline_with_client(args, client)" ] }, { @@ -475,30 +552,182 @@ { "cell_type": "code", "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.878810Z", + "start_time": "2024-10-03T20:48:00.696977Z" + } + }, + "outputs": [], + "source": [ + "with tempfile.TemporaryDirectory() as pipeline_tmp:\n", + " args = ImportArguments(\n", + " input_file_list=[\"raw/xmatch/small_sky_left_xmatch.csv\"],\n", + " output_path=\".\",\n", + " file_reader=\"csv\",\n", + " output_artifact_name=\"small_sky_left_xmatch\",\n", + " pixel_threshold=100,\n", + " tmp_dir=pipeline_tmp,\n", + " highest_healpix_order=5,\n", + " )\n", + " runner.pipeline_with_client(args, client)" + ] + }, + { + "cell_type": "markdown", "metadata": {}, + "source": [ + "# Generate Expected Results Files" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.881472Z", + "start_time": "2024-10-03T20:48:00.879573Z" + } + }, "outputs": [], "source": [ - "args = ImportArguments(\n", - " input_file_list=[\"raw/xmatch/small_sky_left_xmatch.csv\"],\n", - " output_path=\".\",\n", - " file_reader=\"csv\",\n", - " output_artifact_name=\"small_sky_left_xmatch\",\n", - " pixel_threshold=100,\n", - " overwrite=True,\n", - " tmp_dir=tmp_dir,\n", - ")\n", - "runner.pipeline_with_client(args, client)" + "import hats\n", + "import pandas as pd\n", + "from astropy.coordinates import SkyCoord\n", + "import astropy.units as u" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Small Sky Source Cone Search" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.888314Z", + "start_time": "2024-10-03T20:48:00.882342Z" + } + }, + "outputs": [], + "source": [ + "ss_source = hats.read_hats(\"small_sky_order1_source\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.891302Z", + "start_time": "2024-10-03T20:48:00.889229Z" + } + }, + "outputs": [], + "source": [ + "ra = -35\n", + "dec = -55\n", + "radius_degrees = 2" ] }, { "cell_type": "code", "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.915271Z", + "start_time": "2024-10-03T20:48:00.892006Z" + } + }, + "outputs": [], + "source": [ + "paths = [hats.io.pixel_catalog_file(ss_source.catalog_base_dir, p) for p in ss_source.get_healpix_pixels()]\n", + "ss_source_df = pd.concat([pd.read_parquet(p) for p in paths])\n", + "coords = SkyCoord(\n", + " ss_source_df[\"source_ra\"].to_numpy() * u.deg, ss_source_df[\"source_dec\"].to_numpy() * u.deg, frame=\"icrs\"\n", + ")\n", + "center_coord = SkyCoord(ra * u.deg, dec * u.deg, frame=\"icrs\")\n", + "cone_search_output = ss_source_df.iloc[coords.separation(center_coord).deg < radius_degrees]\n", + "cone_search_output.to_csv(\"raw/cone_search_expected/catalog.csv\")" + ] + }, + { + "cell_type": "markdown", "metadata": {}, + "source": [ + "### Small Sky Source Margin Cone Search" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.921743Z", + "start_time": "2024-10-03T20:48:00.916331Z" + } + }, + "outputs": [], + "source": [ + "ss_source_margin = hats.read_hats(\"small_sky_order1_source_margin\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:00.938571Z", + "start_time": "2024-10-03T20:48:00.922642Z" + } + }, + "outputs": [], + "source": [ + "paths = [\n", + " hats.io.pixel_catalog_file(ss_source_margin.catalog_base_dir, p)\n", + " for p in ss_source_margin.get_healpix_pixels()\n", + "]\n", + "ss_source_margin_df = pd.concat([pd.read_parquet(p) for p in paths])\n", + "coords = SkyCoord(\n", + " ss_source_margin_df[\"source_ra\"].to_numpy() * u.deg,\n", + " ss_source_margin_df[\"source_dec\"].to_numpy() * u.deg,\n", + " frame=\"icrs\",\n", + ")\n", + "center_coord = SkyCoord(ra * u.deg, dec * u.deg, frame=\"icrs\")\n", + "cone_search_output = ss_source_margin_df.iloc[coords.separation(center_coord).deg < radius_degrees]\n", + "cone_search_output.to_csv(\"raw/cone_search_expected/margin.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:01.524993Z", + "start_time": "2024-10-03T20:48:00.940037Z" + } + }, "outputs": [], "source": [ "tmp_path.cleanup()\n", "client.close()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2024-10-03T20:48:01.528211Z", + "start_time": "2024-10-03T20:48:01.526125Z" + } + }, + "outputs": [], + "source": [] } ], "metadata": { @@ -517,7 +746,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.9.12" } }, "nbformat": 4, diff --git a/tests/data/raw/cone_search_expected/catalog.csv b/tests/data/raw/cone_search_expected/catalog.csv index 4b9e91e6..aa47cc6a 100644 --- a/tests/data/raw/cone_search_expected/catalog.csv +++ b/tests/data/raw/cone_search_expected/catalog.csv @@ -1,153 +1,153 @@ -_hipscat_index,source_id,source_ra,source_dec,mjd,mag,band,object_id,object_ra,object_dec,Norder,Dir,Npix -12924379856753393664,74393,325.7612847064375,-53.47216729436138,58672.67873350513,19.09735842991942,i,758,325.5,-53.5,1,0,44 -12924380375668490240,73177,325.76964233775635,-53.41545382621511,58584.12253095591,17.348350142263595,i,758,325.5,-53.5,1,0,44 -12924380910060568576,82866,325.74406904926553,-53.3930566419519,59264.309530415616,18.55425003020008,g,758,325.5,-53.5,1,0,44 -12924380944047013888,85495,325.7351847305723,-53.38781504603176,59448.62111878577,20.81422266217071,z,758,325.5,-53.5,1,0,44 -12924399810546499584,75452,325.58491781018284,-53.499286122945925,58745.4737162212,18.08701433645721,u,758,325.5,-53.5,1,0,44 -12924399859473055744,79771,325.59429412221266,-53.49516018904445,59044.92588469439,20.08019426434949,g,758,325.5,-53.5,1,0,44 -12924399995947319296,81215,325.6389729830111,-53.48053692345315,59144.54944024879,15.225820061507676,g,758,325.5,-53.5,1,0,44 -12924400081544675328,72093,325.6170994427331,-53.474757349722566,58505.90839148664,20.71969170499344,z,758,325.5,-53.5,1,0,44 -12924400443093680128,70106,325.54978159951366,-53.46663206563081,58370.76012417132,15.64596815275773,g,758,325.5,-53.5,1,0,44 -12924400603831992320,70153,325.5972754207557,-53.44260598018785,58374.29236678393,17.439995016888133,i,758,325.5,-53.5,1,0,44 -12924401847866753024,80904,325.5379346143558,-53.47170302714972,59123.21163015216,18.623335457868464,z,758,325.5,-53.5,1,0,44 -12924402414995374080,83852,325.50613370041657,-53.44209761943318,59331.35730159552,15.520634989121303,r,758,325.5,-53.5,1,0,44 -12924402419923681280,78029,325.501961786786,-53.440676219975,58923.71341620144,15.076647551429534,z,758,325.5,-53.5,1,0,44 -12924402765240729600,75466,325.5294984618788,-53.40370190374638,58746.41845959629,18.347612120542813,u,758,325.5,-53.5,1,0,44 -12924402826007805952,86209,325.5085223827457,-53.405739311476886,59497.528748281446,18.49637558743748,y,758,325.5,-53.5,1,0,44 -12924403069810114560,70738,325.6576846483176,-53.44610814461365,58416.93241444813,15.03876487001622,z,758,325.5,-53.5,1,0,44 -12924403414896476160,82934,325.649846743077,-53.42001222150392,59269.00088071255,15.243998318642,i,758,325.5,-53.5,1,0,44 -12924403570203164672,70820,325.6208911587941,-53.43515348686121,58421.58173823744,17.168262806972372,i,758,325.5,-53.5,1,0,44 -12924403815314096128,83494,325.6231424662905,-53.41440559961841,59306.85221916856,18.74760783656708,r,758,325.5,-53.5,1,0,44 -12924404234534780928,87145,325.6711262028145,-53.40022849374365,59561.26939081595,16.163282119132703,r,758,325.5,-53.5,1,0,44 -12924404245855207424,76297,325.67012526238057,-53.394537264053405,58801.06444716565,18.486449950607877,i,758,325.5,-53.5,1,0,44 -12924405024372555776,72755,325.6627005823713,-53.358704661651146,58554.57781637238,18.83839628124948,u,758,325.5,-53.5,1,0,44 -12924405721793036288,84403,325.54632314697943,-53.39094318834111,59371.84310890227,20.4279381265997,i,758,325.5,-53.5,1,0,44 -12924406276204527616,85078,325.6116382341916,-53.37273549135322,59418.12809069652,18.659657014552582,z,758,325.5,-53.5,1,0,44 -12924406369804615680,72825,325.6301212952571,-53.34789704028818,58559.91088842041,17.63371463969415,u,758,325.5,-53.5,1,0,44 -12924417676788367360,73410,326.0656749649625,-53.476708155233474,58601.55751035136,17.18644121959771,u,758,325.5,-53.5,1,0,44 -12924417773316079616,82744,326.0773519434002,-53.46049173301488,59256.77389735356,16.299085024309168,u,758,325.5,-53.5,1,0,44 -12924417811433914368,78293,326.0340454386088,-53.48666065686281,58942.6113525598,18.630058904227283,y,758,325.5,-53.5,1,0,44 -12924418257414258688,83688,326.027810388888,-53.44514007408695,59319.04053271364,19.23325633861809,z,758,325.5,-53.5,1,0,44 -12924419120211951616,77221,325.90548385883284,-53.46384581580615,58865.94468987716,15.08561008963453,r,758,325.5,-53.5,1,0,44 -12924420270583709696,75200,325.9751586222098,-53.42137000915289,58728.013731322935,18.02505027447662,y,758,325.5,-53.5,1,0,44 -12924420522820763648,80864,325.96886668822066,-53.38695349404869,59120.59428240979,17.93172574231246,r,758,325.5,-53.5,1,0,44 -12924421185524989952,76154,326.0855465093048,-53.42404236063275,58792.0528821335,19.35772962792332,u,758,325.5,-53.5,1,0,44 -12924421319117766656,81944,326.0637850907387,-53.41588933630612,59199.97463482008,19.07543041818625,y,758,325.5,-53.5,1,0,44 -12924421380383965184,70733,326.09754814940374,-53.41733628824939,58416.76510278134,20.9684463784397,u,758,325.5,-53.5,1,0,44 -12924422875590426624,72667,326.01550565998565,-53.410614472283285,58548.03942102606,20.18414121892804,u,758,325.5,-53.5,1,0,44 -12924424097215021056,70472,326.07069082698985,-53.337745136693776,58397.94341496712,19.8366158306472,u,758,325.5,-53.5,1,0,44 -12924424525528956928,81938,326.0264790077982,-53.33961989236353,59199.35813814182,19.3714250032334,r,758,325.5,-53.5,1,0,44 -12924425559802380288,78305,325.854365024426,-53.43216071995659,58943.28316426004,17.115025922458983,z,758,325.5,-53.5,1,0,44 -12924425663502352384,79736,325.81209516929067,-53.42932385003106,59042.28176742738,18.86975218808749,i,758,325.5,-53.5,1,0,44 -12924425713297129472,82285,325.83998217473726,-53.415455551412784,59223.67225858066,19.70996012152604,z,758,325.5,-53.5,1,0,44 -12924426654981292032,76891,325.89422553473474,-53.38666584769471,58843.75999321824,19.937788280041293,i,758,325.5,-53.5,1,0,44 -12924426794035052544,72485,325.8834202424334,-53.37445191623237,58534.39771275177,16.37746117331356,r,758,325.5,-53.5,1,0,44 -12924427308126699520,71722,325.7828179293452,-53.40652053998704,58481.93486622177,17.50636730465716,u,758,325.5,-53.5,1,0,44 -12924427565438861312,83433,325.813779239575,-53.38113275621632,59303.020252109,20.840823137152228,g,758,325.5,-53.5,1,0,44 -12924428276897677312,85137,325.8355156490824,-53.36813946145619,59422.53471898148,17.576938279587523,i,758,325.5,-53.5,1,0,44 -12924429428045381632,72988,325.9749994305709,-53.35556505312154,58570.43993439432,17.101430741597298,z,758,325.5,-53.5,1,0,44 -12924429534832361472,74710,325.9429065289537,-53.34614709786219,58693.74548174684,15.779086628365114,i,758,325.5,-53.5,1,0,44 -12924430985595977728,76428,325.9740318207902,-53.30213967688099,58810.18886321588,18.19924875806168,i,758,325.5,-53.5,1,0,44 -12924431178529767424,70895,325.9449775702452,-53.27921221929533,58426.61793872539,19.399081122415996,g,758,325.5,-53.5,1,0,44 -12924431301775196160,72658,325.9795048612243,-53.270016705957104,58547.44037508546,18.21377866522714,r,758,325.5,-53.5,1,0,44 -12924431529202941952,72589,325.9800350095617,-53.23736261071722,58542.29258376296,20.891547292692223,i,758,325.5,-53.5,1,0,44 -12924432280859967488,75608,325.83257541781853,-53.27659808642977,58756.67784351645,18.089455907939705,z,758,325.5,-53.5,1,0,44 -12924432411227324416,77258,325.877064433464,-53.26690445677436,58868.117353033,15.492928190811485,i,758,325.5,-53.5,1,0,44 -12924436929511948288,86395,326.08194679803546,-53.26096557150122,59510.90179533646,18.503466721953988,r,758,325.5,-53.5,1,0,44 -12924437026614280192,76374,326.0950581091129,-53.237684156003056,58806.42532181016,15.826551495117064,i,758,325.5,-53.5,1,0,44 -12924443145990569984,82808,326.02326776366465,-53.24499212580126,59260.74385286073,18.81263573514724,z,758,325.5,-53.5,1,0,44 -12924444209426989056,83923,326.0482648260294,-53.20378207583531,59336.07701833901,20.078470816185067,u,758,325.5,-53.5,1,0,44 -12924444520451407872,77753,326.0886842815208,-53.17269383409335,58904.09942695024,16.43790742575683,r,758,325.5,-53.5,1,0,44 -12924445122426306560,73407,326.0055440030482,-53.18353912899672,58601.1795273136,18.001813160373498,r,758,325.5,-53.5,1,0,44 -12924451794133712896,73883,325.7320830928922,-53.32723552953679,58633.82601997437,20.758858790570343,r,758,325.5,-53.5,1,0,44 -12924451914313105408,75128,325.68873487262937,-53.34523838085536,58722.49731930132,16.648220757035407,r,758,325.5,-53.5,1,0,44 -12924451915227463680,81289,325.6880755696467,-53.34421249919178,59150.53749606953,16.599572378141612,u,758,325.5,-53.5,1,0,44 -12924451934768726016,72967,325.6919457943198,-53.33638949444591,58569.47059273607,20.97191977705083,i,758,325.5,-53.5,1,0,44 -12924452709087576064,82680,325.7983393924228,-53.300460005523874,59251.65915091927,15.271323075615149,i,758,325.5,-53.5,1,0,44 -12924452984443633664,84115,325.74152745226377,-53.29913136663376,59350.365729308745,16.31851618591933,i,758,325.5,-53.5,1,0,44 -12924453217982480384,77303,325.72919684570866,-53.27118971604231,58872.1468842128,18.03998478402543,r,758,325.5,-53.5,1,0,44 -12924453436002402304,84986,325.7452338895242,-53.25695520115608,59412.36273285025,16.951956720762322,g,758,325.5,-53.5,1,0,44 -12924454724010246144,84124,325.7126974167209,-53.26340776129423,59350.854745443336,19.31577032794084,z,758,325.5,-53.5,1,0,44 -12924454822819659776,72997,325.68794425749263,-53.25107178394243,58571.02635902176,16.06553519240877,r,758,325.5,-53.5,1,0,44 -12924455031024910336,77898,325.733258083903,-53.22492350812667,58914.35982132937,20.29165412990203,z,758,325.5,-53.5,1,0,44 -12924455252643545088,73501,325.68451995490835,-53.23844106138672,58607.59868864432,17.078306245780773,i,758,325.5,-53.5,1,0,44 -12924455506247942144,80615,325.6883621527016,-53.217335016453305,59103.29472325393,17.087490362377334,u,758,325.5,-53.5,1,0,44 -12924455649852522496,80265,325.6728387678245,-53.20087944542272,59078.95591802469,15.994882664806733,g,758,325.5,-53.5,1,0,44 -12924455960755306496,83332,325.806178634454,-53.25151252327419,59296.95452077674,16.584078772435372,i,758,325.5,-53.5,1,0,44 -12924456006620020736,80241,325.8384854866551,-53.251942248828286,59077.05614371103,20.776793433480613,g,758,325.5,-53.5,1,0,44 -12924456143274639360,82813,325.8199201450415,-53.24051898696548,59260.81368428733,15.158276283801454,z,758,325.5,-53.5,1,0,44 -12924456156247621632,76615,325.8320648435714,-53.23452343586965,58822.42906461483,19.28368076659012,g,758,325.5,-53.5,1,0,44 -12924456357972672512,77750,325.80139190630376,-53.23802654862261,58904.06170913502,18.238548828182296,g,758,325.5,-53.5,1,0,44 -12924456627683196928,80566,325.8160089215852,-53.21577764277768,59099.87887849765,16.984352449335482,y,758,325.5,-53.5,1,0,44 -12924456842121183232,73117,325.87406037553654,-53.2229732329679,58580.65152577448,16.02230111089344,y,758,325.5,-53.5,1,0,44 -12924456860630646784,76213,325.85697377401203,-53.2223688732311,58795.47422852765,19.84724468202113,y,758,325.5,-53.5,1,0,44 -12924458679700291584,76779,325.7147144297658,-53.18193419068136,58835.448668452,20.844453212535107,i,758,325.5,-53.5,1,0,44 -12924459949383221248,70930,325.7821106267577,-53.11665838621638,58428.77420585338,16.876557977677468,g,758,325.5,-53.5,1,0,44 -12924460925011886080,84838,325.5494938853333,-53.22227505116596,59400.977536500206,18.80856762577463,r,758,325.5,-53.5,1,0,44 -12924461659170275328,71345,325.6421185318692,-53.18486270631792,58455.47117177463,20.871084540295055,g,758,325.5,-53.5,1,0,44 -12924463425643347968,80595,325.5652424842884,-53.18207656337819,59102.168274689066,19.982744182794026,r,758,325.5,-53.5,1,0,44 -12924463817416507392,73509,325.6008889733441,-53.13192731237795,58608.58615140361,19.234424360921096,y,758,325.5,-53.5,1,0,44 -12924464306484936704,73577,325.5517315586158,-53.117834021390834,58613.43405449034,19.812224734194384,z,758,325.5,-53.5,1,0,44 -12924464455823130624,81406,325.5427380485216,-53.11088880461367,59159.785147578135,18.715897575272905,u,758,325.5,-53.5,1,0,44 -12924464850452611072,85909,325.69564545890586,-53.14750400542725,59477.21997929389,17.637010696518203,i,758,325.5,-53.5,1,0,44 -12924465017436241920,75914,325.70054057512334,-53.12879275517909,58776.2230604801,19.048488448702017,u,758,325.5,-53.5,1,0,44 -12924465876744273920,86473,325.71386183365047,-53.09756786923459,59515.46948206408,17.799417561270324,u,758,325.5,-53.5,1,0,44 -12924466360402051072,76420,325.6702368117087,-53.0851004047989,58809.82200202354,15.340516847844349,r,758,325.5,-53.5,1,0,44 -12924467947891589120,81732,325.66046786646825,-53.059093619255,59184.16446821887,19.015753672778786,y,758,325.5,-53.5,1,0,44 -12924467983589310464,73742,325.6388240938062,-53.065101517763104,58624.29577237071,15.881518980603005,g,758,325.5,-53.5,1,0,44 -12924469216068763648,71138,325.93257425476907,-53.150393493177496,58442.85004388903,17.73823308857657,u,758,325.5,-53.5,1,0,44 -12924470056552759296,74224,325.9379344589995,-53.12844615233486,58659.67471279533,15.910684849670709,u,758,325.5,-53.5,1,0,44 -12924470374673940480,86198,325.9884604643789,-53.09486000402106,59496.45202710757,15.98404539140078,g,758,325.5,-53.5,1,0,44 -12924470697153003520,81402,325.9235966466717,-53.08219834474573,59159.686145530126,17.806549802289886,i,758,325.5,-53.5,1,0,44 -12924471625922904064,81320,325.8544800876428,-53.07643524727416,59152.09623347744,18.278537203692995,i,758,325.5,-53.5,1,0,44 -12924472369010966528,83020,325.86792477015933,-53.0704077528948,59274.66127682682,16.77642379631016,y,758,325.5,-53.5,1,0,44 -12924477941705867264,79622,325.7619634790705,-53.05666198868984,59035.33726574715,20.34119881198327,z,758,325.5,-53.5,1,0,44 -12926797634395439104,83614,321.77663877519234,-54.496893467774704,59314.93115622887,20.73280044095313,r,775,321.5,-54.5,1,0,44 -12926799317573828608,84396,321.7370472846209,-54.46563858404945,59371.261633648,15.957410535671798,y,775,321.5,-54.5,1,0,44 -12926799375379726336,73718,321.6678166696297,-54.49478787177072,58622.98744339219,19.580823775022218,y,775,321.5,-54.5,1,0,44 -12926821127262568448,78939,321.98808973412054,-54.48705485888608,58987.03991137552,16.733400616440747,z,775,321.5,-54.5,1,0,44 -12926824217147604992,86185,321.97724592729145,-54.465802835048194,59495.98184431321,17.21470873451685,u,775,321.5,-54.5,1,0,44 -12926825516186468352,82699,322.0926610082254,-54.39482945054385,59252.823815298696,17.626576641881197,u,775,321.5,-54.5,1,0,44 -12926825655533830144,78959,322.072448650518,-54.38195896200882,58988.44618945937,19.55608682090094,z,775,321.5,-54.5,1,0,44 -12926825917338091520,75472,321.9896212448569,-54.38197231942464,58746.59092674625,18.003269622697985,g,775,321.5,-54.5,1,0,44 -12926838317483294720,71275,322.09418405736574,-54.30302050047701,58451.18794204853,17.749398533626355,z,775,321.5,-54.5,1,0,44 -12926844727818452992,80090,321.81189910695457,-54.47306392533005,59067.41246495355,17.31613491439375,u,775,321.5,-54.5,1,0,44 -12926844796412100608,82999,321.8255065603988,-54.46056085018053,59273.42087552088,17.808937424169017,i,775,321.5,-54.5,1,0,44 -12926844861272817664,81803,321.8025980933217,-54.45995452838184,59190.87511531672,19.55664827515076,u,775,321.5,-54.5,1,0,44 -12926846358186360832,79917,321.79821979723374,-54.44622295575043,59053.85405350459,18.949752543738843,r,775,321.5,-54.5,1,0,44 -12926847274528538624,84787,321.81932411395894,-54.410139742771925,59398.14778122631,20.80636882427185,r,775,321.5,-54.5,1,0,44 -12926847652280139776,76973,321.8348847320665,-54.38043624814964,58849.06001680163,16.088788630567702,i,775,321.5,-54.5,1,0,44 -12926847979536515072,79391,321.77433881551207,-54.36672640868015,59017.43775883939,15.675200108409442,u,775,321.5,-54.5,1,0,44 -12926848061367386112,80575,321.8112564949995,-54.371479308433805,59100.51510750611,18.63506117795286,z,775,321.5,-54.5,1,0,44 -12926849023653969920,76016,321.8876535466516,-54.38322890973363,58783.30159756239,17.636397303731865,r,775,321.5,-54.5,1,0,44 -12926849199076540416,86637,321.927105665723,-54.36185910000352,59527.10005124642,15.199521214994691,y,775,321.5,-54.5,1,0,44 -12926849579701239808,83229,321.98311883777404,-54.35766005459436,59290.183923283934,16.963594205908798,u,775,321.5,-54.5,1,0,44 -12926850588230025216,84793,321.8688493189887,-54.3580640359336,59398.53968988892,17.698689435639086,z,775,321.5,-54.5,1,0,44 -12926851115223351296,80858,321.83640883548964,-54.341152111485954,59119.97090392401,20.47907684098493,u,775,321.5,-54.5,1,0,44 -12926857095004815360,79528,321.79094607286964,-54.32746552529519,59028.23635648044,17.044148982467533,i,775,321.5,-54.5,1,0,44 -12926857488522805248,72231,321.81493319403666,-54.29212567051647,58515.04286227904,15.716568569900211,r,775,321.5,-54.5,1,0,44 -12926857624934154240,85915,321.77224831769047,-54.30547534094452,59477.85945390731,17.989995516162676,i,775,321.5,-54.5,1,0,44 -12926857679351054336,78716,321.77744003492955,-54.2971430309454,58973.23492215567,20.63018785060757,u,775,321.5,-54.5,1,0,44 -12926858223754936320,74882,321.8551938147569,-54.27801634581648,58704.60234742793,17.955722818715593,u,775,321.5,-54.5,1,0,44 -12926858712282300416,79462,321.8095396821148,-54.26270227905944,59022.67034313727,16.721390226113332,g,775,321.5,-54.5,1,0,44 -12926858859208769536,79500,321.80067851737664,-54.24763462617549,59025.962903831685,15.191297906709838,u,775,321.5,-54.5,1,0,44 -12926858922270130176,84440,321.80812162725874,-54.23648088985817,59374.17909730772,16.333257621343936,r,775,321.5,-54.5,1,0,44 -12926862425860341760,76984,322.003635167479,-54.27406127270631,58849.858352965566,20.59193106209044,r,775,321.5,-54.5,1,0,44 -12926863178280730624,81633,322.05410174464413,-54.25172827759936,59175.78201711943,17.93184654107691,i,775,321.5,-54.5,1,0,44 -12926863697476845568,76076,321.9545583543322,-54.27932807854465,58787.241272528685,15.145377481442692,y,775,321.5,-54.5,1,0,44 -12926864530360762368,73265,321.9556389978099,-54.22881062342039,58590.53219485352,20.06164265588968,y,775,321.5,-54.5,1,0,44 -12926865041763860480,85064,322.0441560950752,-54.21330393892011,59417.38447094291,16.25891586284328,i,775,321.5,-54.5,1,0,44 -12926869894779109376,70088,322.05383054933344,-54.097386564726975,58370.02548109953,15.05622077016195,i,775,321.5,-54.5,1,0,44 -12926871037169106944,78360,321.849512179946,-54.19026293816768,58946.95199637691,16.904849677951148,i,775,321.5,-54.5,1,0,44 -12926871610262028288,75684,321.94286444508714,-54.15446572393382,58761.7074513838,19.616337982607806,y,775,321.5,-54.5,1,0,44 -12926871624409415680,79837,321.9674096122941,-54.16892719007446,59048.66415124292,18.90870088389537,z,775,321.5,-54.5,1,0,44 -12926871810217082880,84268,321.9512445992036,-54.14864009546897,59361.29016396793,15.327595775530144,r,775,321.5,-54.5,1,0,44 -12926873614434697216,77235,321.8916970408228,-54.13547851418717,58866.747318096976,20.88329535515804,i,775,321.5,-54.5,1,0,44 -12926874815767248896,78995,321.98204547396426,-54.121075501177465,58990.41396614678,20.90000323319758,i,775,321.5,-54.5,1,0,44 -12926875345277157376,86815,321.9438461185633,-54.10565846651749,59539.84121248063,19.03425432165205,u,775,321.5,-54.5,1,0,44 -12926875838028185600,76339,322.0650975500027,-54.07572643573555,58803.81580340712,20.76717601878376,i,775,321.5,-54.5,1,0,44 -12926876185824067584,71254,322.0531475759683,-54.05191722791157,58450.048299167145,18.150636806049054,g,775,321.5,-54.5,1,0,44 -12926876577806942208,78642,322.0299413703144,-54.04886970216323,58967.35040486448,17.998958624332534,g,775,321.5,-54.5,1,0,44 -12926877121183219712,76914,321.94998122707386,-54.07409074372694,58845.030500472,17.1681393344753,i,775,321.5,-54.5,1,0,44 -12929879259601698816,82202,322.03683068644006,-53.99914680322094,59218.46913081202,19.02044776424656,y,775,321.5,-54.5,1,0,44 -12929880736651018240,81686,322.02882420663656,-53.99375454007375,59179.89285854334,16.40947752750436,y,775,321.5,-54.5,1,0,44 +_healpix_29,source_id,source_ra,source_dec,mjd,mag,band,object_id,object_ra,object_dec,Norder,Dir,Npix +3231094964189059133,74393,325.7612847064375,-53.47216729436138,58672.67873350513,19.09735842991942,i,758,325.5,-53.5,1,0,44 +3231095093917394701,73177,325.76964233775635,-53.41545382621511,58584.12253095591,17.348350142263595,i,758,325.5,-53.5,1,0,44 +3231095227515549143,82866,325.74406904926553,-53.3930566419519,59264.309530415616,18.55425003020008,g,758,325.5,-53.5,1,0,44 +3231095236011966097,85495,325.7351847305723,-53.38781504603176,59448.62111878577,20.81422266217071,z,758,325.5,-53.5,1,0,44 +3231099952636690317,75452,325.58491781018284,-53.499286122945925,58745.4737162212,18.087014336457212,u,758,325.5,-53.5,1,0,44 +3231099964868362366,79771,325.59429412221266,-53.49516018904445,59044.925884694385,20.080194264349498,g,758,325.5,-53.5,1,0,44 +3231099998987513516,81215,325.6389729830111,-53.48053692345315,59144.54944024879,15.225820061507676,g,758,325.5,-53.5,1,0,44 +3231100020386274783,72093,325.6170994427331,-53.474757349722566,58505.90839148664,20.71969170499344,z,758,325.5,-53.5,1,0,44 +3231100110773836899,70106,325.54978159951366,-53.46663206563081,58370.76012417132,15.64596815275773,g,758,325.5,-53.5,1,0,44 +3231100150958537862,70153,325.5972754207557,-53.44260598018785,58374.29236678393,17.439995016888133,i,758,325.5,-53.5,1,0,44 +3231100461967308971,80904,325.5379346143558,-53.47170302714972,59123.21163015216,18.623335457868464,z,758,325.5,-53.5,1,0,44 +3231100603749639322,83852,325.50613370041657,-53.44209761943318,59331.35730159552,15.520634989121303,r,758,325.5,-53.5,1,0,44 +3231100604980943024,78029,325.501961786786,-53.44067621997499,58923.71341620144,15.076647551429534,z,758,325.5,-53.5,1,0,44 +3231100691310377507,75466,325.5294984618788,-53.40370190374638,58746.41845959629,18.347612120542813,u,758,325.5,-53.5,1,0,44 +3231100706502317737,86209,325.50852238274575,-53.405739311476886,59497.528748281446,18.49637558743748,y,758,325.5,-53.5,1,0,44 +3231100767452611549,70738,325.6576846483176,-53.44610814461365,58416.93241444813,15.03876487001622,z,758,325.5,-53.5,1,0,44 +3231100853724128919,82934,325.649846743077,-53.42001222150392,59269.00088071255,15.243998318642,i,758,325.5,-53.5,1,0,44 +3231100892551161633,70820,325.6208911587941,-53.43515348686121,58421.58173823744,17.168262806972372,i,758,325.5,-53.5,1,0,44 +3231100953828766329,83494,325.6231424662905,-53.41440559961841,59306.852219168555,18.747607836567077,r,758,325.5,-53.5,1,0,44 +3231101058633967356,87145,325.6711262028145,-53.400228493743654,59561.26939081595,16.163282119132703,r,758,325.5,-53.5,1,0,44 +3231101061464623886,76297,325.67012526238057,-53.394537264053405,58801.06444716565,18.486449950607874,i,758,325.5,-53.5,1,0,44 +3231101256093304467,72755,325.6627005823713,-53.358704661651146,58554.57781637238,18.838396281249477,u,758,325.5,-53.5,1,0,44 +3231101430448338489,84403,325.54632314697943,-53.39094318834111,59371.84310890227,20.4279381265997,i,758,325.5,-53.5,1,0,44 +3231101569051624031,85078,325.61163823419156,-53.37273549135322,59418.12809069652,18.659657014552582,z,758,325.5,-53.5,1,0,44 +3231101592451675203,72825,325.6301212952571,-53.34789704028818,58559.91088842041,17.63371463969415,u,758,325.5,-53.5,1,0,44 +3231104419197332900,73410,326.0656749649625,-53.476708155233474,58601.55751035136,17.18644121959771,u,758,325.5,-53.5,1,0,44 +3231104443329160307,82744,326.0773519434002,-53.46049173301488,59256.77389735356,16.299085024309168,u,758,325.5,-53.5,1,0,44 +3231104452859514788,78293,326.03404543860876,-53.48666065686281,58942.6113525598,18.630058904227283,y,758,325.5,-53.5,1,0,44 +3231104564354115688,83688,326.027810388888,-53.44514007408695,59319.04053271364,19.233256338618094,z,758,325.5,-53.5,1,0,44 +3231104780053524276,77221,325.90548385883284,-53.46384581580615,58865.94468987716,15.08561008963453,r,758,325.5,-53.5,1,0,44 +3231105067646925096,75200,325.9751586222098,-53.42137000915289,58728.013731322935,18.02505027447662,y,758,325.5,-53.5,1,0,44 +3231105130705447643,80864,325.96886668822066,-53.38695349404869,59120.59428240979,17.93172574231246,r,758,325.5,-53.5,1,0,44 +3231105296381994212,76154,326.0855465093048,-53.42404236063275,58792.0528821335,19.35772962792332,u,758,325.5,-53.5,1,0,44 +3231105329780140432,81944,326.0637850907387,-53.41588933630612,59199.97463482008,19.07543041818625,y,758,325.5,-53.5,1,0,44 +3231105345096966883,70733,326.09754814940374,-53.41733628824939,58416.76510278134,20.9684463784397,u,758,325.5,-53.5,1,0,44 +3231105718898054746,72667,326.01550565998565,-53.410614472283285,58548.03942102606,20.18414121892804,u,758,325.5,-53.5,1,0,44 +3231106024304275296,70472,326.07069082698985,-53.337745136693776,58397.94341496712,19.836615830647197,u,758,325.5,-53.5,1,0,44 +3231106131382386366,81938,326.0264790077982,-53.33961989236353,59199.35813814182,19.3714250032334,r,758,325.5,-53.5,1,0,44 +3231106389950915611,78305,325.85436502442593,-53.43216071995659,58943.28316426003,17.115025922458983,z,758,325.5,-53.5,1,0,44 +3231106415876293084,79736,325.81209516929067,-53.42932385003106,59042.28176742738,18.86975218808749,i,758,325.5,-53.5,1,0,44 +3231106428324551172,82285,325.83998217473726,-53.415455551412784,59223.67225858066,19.70996012152604,z,758,325.5,-53.5,1,0,44 +3231106663745648083,76891,325.89422553473474,-53.38666584769471,58843.75999321824,19.937788280041293,i,758,325.5,-53.5,1,0,44 +3231106698509451491,72485,325.8834202424334,-53.374451916232374,58534.39771275177,16.37746117331356,r,758,325.5,-53.5,1,0,44 +3231106827031803541,71722,325.7828179293452,-53.406520539987035,58481.93486622177,17.50636730465716,u,758,325.5,-53.5,1,0,44 +3231106891360008884,83433,325.813779239575,-53.38113275621632,59303.020252109,20.840823137152228,g,758,325.5,-53.5,1,0,44 +3231107069224798515,85137,325.8355156490824,-53.36813946145619,59422.53471898148,17.576938279587523,i,758,325.5,-53.5,1,0,44 +3231107357011742964,72988,325.9749994305709,-53.35556505312154,58570.439934394315,17.101430741597298,z,758,325.5,-53.5,1,0,44 +3231107383708467637,74710,325.9429065289537,-53.34614709786219,58693.74548174684,15.779086628365114,i,758,325.5,-53.5,1,0,44 +3231107746399451452,76428,325.9740318207902,-53.30213967688099,58810.18886321588,18.19924875806168,i,758,325.5,-53.5,1,0,44 +3231107794632902233,70895,325.94497757024516,-53.27921221929533,58426.61793872539,19.399081122415993,g,758,325.5,-53.5,1,0,44 +3231107825444133442,72658,325.9795048612243,-53.270016705957104,58547.44037508546,18.21377866522714,r,758,325.5,-53.5,1,0,44 +3231107882301453461,72589,325.9800350095617,-53.23736261071722,58542.29258376296,20.891547292692223,i,758,325.5,-53.5,1,0,44 +3231108070215325913,75608,325.83257541781853,-53.27659808642977,58756.67784351645,18.089455907939705,z,758,325.5,-53.5,1,0,44 +3231108102807196340,77258,325.877064433464,-53.266904456774355,58868.117353033,15.492928190811485,i,758,325.5,-53.5,1,0,44 +3231109232378713934,86395,326.08194679803546,-53.260965571501224,59510.90179533646,18.503466721953988,r,758,325.5,-53.5,1,0,44 +3231109256653858481,76374,326.0950581091129,-53.237684156003056,58806.42532181016,15.826551495117064,i,758,325.5,-53.5,1,0,44 +3231110786498320375,82808,326.02326776366465,-53.24499212580126,59260.74385286073,18.81263573514724,z,758,325.5,-53.5,1,0,44 +3231111052357583606,83923,326.0482648260294,-53.20378207583531,59336.07701833901,20.078470816185067,u,758,325.5,-53.5,1,0,44 +3231111130113170118,77753,326.0886842815208,-53.17269383409335,58904.09942695024,16.43790742575683,r,758,325.5,-53.5,1,0,44 +3231111280606738972,73407,326.0055440030482,-53.18353912899672,58601.1795273136,18.001813160373498,r,758,325.5,-53.5,1,0,44 +3231112948534250954,73883,325.7320830928922,-53.327235529536786,58633.82601997437,20.758858790570343,r,758,325.5,-53.5,1,0,44 +3231112978578406287,75128,325.68873487262937,-53.34523838085536,58722.49731930132,16.648220757035407,r,758,325.5,-53.5,1,0,44 +3231112978807073315,81289,325.6880755696467,-53.344212499191784,59150.53749606953,16.599572378141612,u,758,325.5,-53.5,1,0,44 +3231112983692754231,72967,325.6919457943198,-53.33638949444591,58569.47059273607,20.97191977705083,i,758,325.5,-53.5,1,0,44 +3231113177272334537,82680,325.7983393924228,-53.300460005523874,59251.659150919266,15.271323075615149,i,758,325.5,-53.5,1,0,44 +3231113246110922128,84115,325.74152745226377,-53.29913136663376,59350.365729308745,16.31851618591933,i,758,325.5,-53.5,1,0,44 +3231113304496505011,77303,325.72919684570866,-53.27118971604231,58872.146884212794,18.03998478402543,r,758,325.5,-53.5,1,0,44 +3231113359000914053,84986,325.7452338895242,-53.25695520115608,59412.36273285025,16.951956720762322,g,758,325.5,-53.5,1,0,44 +3231113681003034650,84124,325.7126974167209,-53.263407761294225,59350.854745443336,19.31577032794084,z,758,325.5,-53.5,1,0,44 +3231113705705757207,72997,325.68794425749263,-53.25107178394243,58571.02635902176,16.06553519240877,r,758,325.5,-53.5,1,0,44 +3231113757757078769,77898,325.733258083903,-53.22492350812667,58914.35982132937,20.29165412990203,z,758,325.5,-53.5,1,0,44 +3231113813161102504,73501,325.68451995490835,-53.23844106138672,58607.59868864432,17.078306245780773,i,758,325.5,-53.5,1,0,44 +3231113876562785051,80615,325.6883621527016,-53.217335016453305,59103.29472325393,17.087490362377334,u,758,325.5,-53.5,1,0,44 +3231113912463520459,80265,325.6728387678245,-53.20087944542272,59078.95591802469,15.994882664806733,g,758,325.5,-53.5,1,0,44 +3231113990189102384,83332,325.806178634454,-53.25151252327419,59296.954520776744,16.584078772435372,i,758,325.5,-53.5,1,0,44 +3231114001655010816,80241,325.8384854866551,-53.251942248828286,59077.05614371103,20.776793433480613,g,758,325.5,-53.5,1,0,44 +3231114035819567149,82813,325.8199201450415,-53.24051898696547,59260.81368428733,15.158276283801454,z,758,325.5,-53.5,1,0,44 +3231114039061965013,76615,325.8320648435714,-53.23452343586965,58822.42906461483,19.283680766590116,g,758,325.5,-53.5,1,0,44 +3231114089493178471,77750,325.80139190630376,-53.238026548622614,58904.06170913502,18.238548828182296,g,758,325.5,-53.5,1,0,44 +3231114156921102823,80566,325.8160089215852,-53.21577764277768,59099.87887849765,16.984352449335482,y,758,325.5,-53.5,1,0,44 +3231114210531041435,73117,325.87406037553654,-53.2229732329679,58580.65152577448,16.02230111089344,y,758,325.5,-53.5,1,0,44 +3231114215157783310,76213,325.85697377401203,-53.2223688732311,58795.47422852765,19.847244682021135,y,758,325.5,-53.5,1,0,44 +3231114669925280135,76779,325.7147144297658,-53.18193419068136,58835.448668451994,20.844453212535107,i,758,325.5,-53.5,1,0,44 +3231114987346346906,70930,325.7821106267577,-53.11665838621638,58428.774205853384,16.876557977677468,g,758,325.5,-53.5,1,0,44 +3231115231253879161,84838,325.5494938853333,-53.22227505116596,59400.977536500206,18.80856762577463,r,758,325.5,-53.5,1,0,44 +3231115414793447520,71345,325.6421185318692,-53.18486270631792,58455.47117177463,20.871084540295055,g,758,325.5,-53.5,1,0,44 +3231115856411304788,80595,325.5652424842884,-53.18207656337819,59102.168274689066,19.982744182794026,r,758,325.5,-53.5,1,0,44 +3231115954354983183,73509,325.6008889733441,-53.13192731237795,58608.58615140361,19.234424360921096,y,758,325.5,-53.5,1,0,44 +3231116076622055536,73577,325.5517315586158,-53.117834021390834,58613.43405449034,19.812224734194384,z,758,325.5,-53.5,1,0,44 +3231116113956394883,81406,325.5427380485216,-53.110888804613666,59159.785147578135,18.715897575272905,u,758,325.5,-53.5,1,0,44 +3231116212614160795,85909,325.69564545890586,-53.14750400542725,59477.21997929389,17.637010696518203,i,758,325.5,-53.5,1,0,44 +3231116254359598097,75914,325.70054057512334,-53.12879275517909,58776.2230604801,19.048488448702017,u,758,325.5,-53.5,1,0,44 +3231116469187041731,86473,325.71386183365047,-53.09756786923459,59515.46948206408,17.799417561270324,u,758,325.5,-53.5,1,0,44 +3231116590100967224,76420,325.6702368117087,-53.0851004047989,58809.82200202354,15.340516847844349,r,758,325.5,-53.5,1,0,44 +3231116986973170084,81732,325.66046786646825,-53.059093619254995,59184.16446821887,19.015753672778786,y,758,325.5,-53.5,1,0,44 +3231116995897880632,73742,325.6388240938062,-53.065101517763104,58624.29577237071,15.881518980603005,g,758,325.5,-53.5,1,0,44 +3231117304017806752,71138,325.93257425476907,-53.150393493177496,58442.85004388903,17.73823308857657,u,758,325.5,-53.5,1,0,44 +3231117514139034294,74224,325.9379344589995,-53.12844615233486,58659.67471279533,15.910684849670709,u,758,325.5,-53.5,1,0,44 +3231117593669370608,86198,325.9884604643789,-53.09486000402106,59496.45202710757,15.98404539140078,g,758,325.5,-53.5,1,0,44 +3231117674288869554,81402,325.9235966466717,-53.082198344745734,59159.686145530126,17.806549802289886,i,758,325.5,-53.5,1,0,44 +3231117906480755353,81320,325.8544800876428,-53.07643524727416,59152.09623347744,18.278537203692995,i,758,325.5,-53.5,1,0,44 +3231118092253582472,83020,325.86792477015933,-53.070407752894795,59274.661276826824,16.77642379631016,y,758,325.5,-53.5,1,0,44 +3231119485426548163,79622,325.7619634790705,-53.05666198868984,59035.33726574715,20.34119881198327,z,758,325.5,-53.5,1,0,44 +3231699408599034518,83614,321.77663877519234,-54.496893467774704,59314.93115622887,20.73280044095313,r,775,321.5,-54.5,1,0,44 +3231699829394246583,84396,321.7370472846209,-54.46563858404945,59371.261633648,15.957410535671798,y,775,321.5,-54.5,1,0,44 +3231699843845542922,73718,321.6678166696297,-54.49478787177072,58622.98744339219,19.580823775022218,y,775,321.5,-54.5,1,0,44 +3231705281816599608,78939,321.98808973412054,-54.48705485888608,58987.03991137552,16.733400616440747,z,775,321.5,-54.5,1,0,44 +3231706054287674232,86185,321.97724592729145,-54.465802835048194,59495.98184431321,17.21470873451685,u,775,321.5,-54.5,1,0,44 +3231706379046851004,82699,322.0926610082254,-54.39482945054385,59252.823815298696,17.626576641881197,u,775,321.5,-54.5,1,0,44 +3231706413883897126,78959,322.072448650518,-54.38195896200882,58988.44618945937,19.55608682090094,z,775,321.5,-54.5,1,0,44 +3231706479335189949,75472,321.98962124485695,-54.38197231942464,58746.59092674625,18.003269622697985,g,775,321.5,-54.5,1,0,44 +3231709579371305163,71275,322.09418405736574,-54.30302050047701,58451.18794204853,17.749398533626355,z,775,321.5,-54.5,1,0,44 +3231711181954945236,80090,321.81189910695457,-54.47306392533005,59067.41246495355,17.31613491439375,u,775,321.5,-54.5,1,0,44 +3231711199103511517,82999,321.8255065603988,-54.46056085018053,59273.42087552088,17.808937424169017,i,775,321.5,-54.5,1,0,44 +3231711215319225655,81803,321.8025980933217,-54.45995452838184,59190.87511531672,19.55664827515076,u,775,321.5,-54.5,1,0,44 +3231711589546640264,79917,321.79821979723374,-54.44622295575043,59053.85405350459,18.949752543738843,r,775,321.5,-54.5,1,0,44 +3231711818632990443,84787,321.81932411395894,-54.410139742771925,59398.14778122631,20.80636882427185,r,775,321.5,-54.5,1,0,44 +3231711913070065851,76973,321.8348847320665,-54.380436248149636,58849.06001680163,16.088788630567702,i,775,321.5,-54.5,1,0,44 +3231711994884308497,79391,321.77433881551207,-54.36672640868015,59017.43775883939,15.675200108409442,u,775,321.5,-54.5,1,0,44 +3231712015342508364,80575,321.8112564949995,-54.371479308433805,59100.51510750611,18.63506117795286,z,775,321.5,-54.5,1,0,44 +3231712255913597626,76016,321.88765354665156,-54.38322890973363,58783.301597562386,17.636397303731865,r,775,321.5,-54.5,1,0,44 +3231712299769310298,86637,321.927105665723,-54.36185910000352,59527.10005124642,15.199521214994691,y,775,321.5,-54.5,1,0,44 +3231712394926230204,83229,321.98311883777404,-54.357660054594355,59290.183923283934,16.963594205908798,u,775,321.5,-54.5,1,0,44 +3231712647057855955,84793,321.8688493189887,-54.3580640359336,59398.53968988892,17.698689435639086,z,775,321.5,-54.5,1,0,44 +3231712778805944326,80858,321.83640883548964,-54.341152111485954,59119.97090392401,20.47907684098493,u,775,321.5,-54.5,1,0,44 +3231714273752140747,79528,321.79094607286964,-54.32746552529519,59028.23635648044,17.044148982467533,i,775,321.5,-54.5,1,0,44 +3231714372131655190,72231,321.81493319403666,-54.29212567051647,58515.04286227904,15.716568569900211,r,775,321.5,-54.5,1,0,44 +3231714406233917964,85915,321.77224831769047,-54.30547534094452,59477.85945390731,17.989995516162676,i,775,321.5,-54.5,1,0,44 +3231714419838090240,78716,321.77744003492955,-54.2971430309454,58973.234922155665,20.63018785060757,u,775,321.5,-54.5,1,0,44 +3231714555939348734,74882,321.8551938147569,-54.27801634581648,58704.60234742793,17.955722818715593,u,775,321.5,-54.5,1,0,44 +3231714678071408098,79462,321.8095396821148,-54.26270227905944,59022.670343137266,16.721390226113332,g,775,321.5,-54.5,1,0,44 +3231714714802827972,79500,321.80067851737664,-54.24763462617549,59025.962903831685,15.191297906709838,u,775,321.5,-54.5,1,0,44 +3231714730568147965,84440,321.80812162725874,-54.23648088985817,59374.179097307715,16.333257621343936,r,775,321.5,-54.5,1,0,44 +3231715606465736099,76984,322.003635167479,-54.274061272706305,58849.858352965566,20.59193106209044,r,775,321.5,-54.5,1,0,44 +3231715794570318815,81633,322.05410174464413,-54.25172827759936,59175.782017119425,17.93184654107691,i,775,321.5,-54.5,1,0,44 +3231715924369886671,76076,321.9545583543322,-54.27932807854465,58787.241272528685,15.145377481442692,y,775,321.5,-54.5,1,0,44 +3231716132591203884,73265,321.9556389978099,-54.22881062342039,58590.53219485352,20.06164265588968,y,775,321.5,-54.5,1,0,44 +3231716260441786800,85064,322.0441560950752,-54.21330393892011,59417.38447094291,16.25891586284328,i,775,321.5,-54.5,1,0,44 +3231717473695273978,70088,322.05383054933344,-54.097386564726975,58370.02548109953,15.05622077016195,i,775,321.5,-54.5,1,0,44 +3231717759292595944,78360,321.849512179946,-54.19026293816768,58946.95199637691,16.904849677951148,i,775,321.5,-54.5,1,0,44 +3231717902565781730,75684,321.94286444508714,-54.15446572393382,58761.7074513838,19.616337982607806,y,775,321.5,-54.5,1,0,44 +3231717906102453593,79837,321.9674096122941,-54.16892719007446,59048.66415124292,18.908700883895374,z,775,321.5,-54.5,1,0,44 +3231717952554818666,84268,321.9512445992036,-54.14864009546897,59361.29016396793,15.327595775530144,r,775,321.5,-54.5,1,0,44 +3231718403609116492,77235,321.8916970408228,-54.13547851418717,58866.747318096976,20.88329535515804,i,775,321.5,-54.5,1,0,44 +3231718703942043836,78995,321.98204547396426,-54.121075501177465,58990.41396614678,20.90000323319758,i,775,321.5,-54.5,1,0,44 +3231718836319974692,86815,321.9438461185633,-54.10565846651749,59539.84121248063,19.03425432165205,u,775,321.5,-54.5,1,0,44 +3231718959507436624,76339,322.0650975500027,-54.07572643573555,58803.81580340712,20.76717601878376,i,775,321.5,-54.5,1,0,44 +3231719046456694941,71254,322.0531475759683,-54.051917227911574,58450.048299167145,18.150636806049057,g,775,321.5,-54.5,1,0,44 +3231719144452624071,78642,322.02994137031436,-54.04886970216323,58967.350404864475,17.998958624332534,g,775,321.5,-54.5,1,0,44 +3231719280295924811,76914,321.94998122707386,-54.07409074372694,58845.030500472,17.1681393344753,i,775,321.5,-54.5,1,0,44 +3232469814901381212,82202,322.03683068644006,-53.99914680322094,59218.46913081202,19.02044776424656,y,775,321.5,-54.5,1,0,44 +3232470184163014608,81686,322.02882420663656,-53.99375454007375,59179.89285854334,16.40947752750436,y,775,321.5,-54.5,1,0,44 diff --git a/tests/data/raw/cone_search_expected/margin.csv b/tests/data/raw/cone_search_expected/margin.csv index e148758d..82058379 100644 --- a/tests/data/raw/cone_search_expected/margin.csv +++ b/tests/data/raw/cone_search_expected/margin.csv @@ -1,104 +1,104 @@ -_hipscat_index,source_id,source_ra,source_dec,mjd,mag,band,object_id,object_ra,object_dec,Norder,Dir,Npix,margin_Norder,margin_Dir,margin_Npix -12924379856753393664,74393,325.7612847064375,-53.47216729436138,58672.67873350513,19.09735842991942,i,758,325.5,-53.5,1,0,45,1,0,44 -12924380375668490240,73177,325.76964233775635,-53.41545382621511,58584.12253095591,17.348350142263595,i,758,325.5,-53.5,1,0,45,1,0,44 -12924380910060568576,82866,325.74406904926553,-53.3930566419519,59264.309530415616,18.55425003020008,g,758,325.5,-53.5,1,0,45,1,0,44 -12924380944047013888,85495,325.7351847305723,-53.38781504603176,59448.62111878577,20.81422266217071,z,758,325.5,-53.5,1,0,45,1,0,44 -12924399810546499584,75452,325.58491781018284,-53.499286122945925,58745.4737162212,18.08701433645721,u,758,325.5,-53.5,1,0,45,1,0,44 -12924399859473055744,79771,325.59429412221266,-53.49516018904445,59044.92588469439,20.08019426434949,g,758,325.5,-53.5,1,0,45,1,0,44 -12924399995947319296,81215,325.6389729830111,-53.48053692345315,59144.54944024879,15.225820061507676,g,758,325.5,-53.5,1,0,45,1,0,44 -12924400081544675328,72093,325.6170994427331,-53.474757349722566,58505.90839148664,20.71969170499344,z,758,325.5,-53.5,1,0,45,1,0,44 -12924400443093680128,70106,325.54978159951366,-53.46663206563081,58370.76012417132,15.64596815275773,g,758,325.5,-53.5,1,0,45,1,0,44 -12924400603831992320,70153,325.5972754207557,-53.44260598018785,58374.29236678393,17.439995016888133,i,758,325.5,-53.5,1,0,45,1,0,44 -12924401847866753024,80904,325.5379346143558,-53.47170302714972,59123.21163015216,18.623335457868464,z,758,325.5,-53.5,1,0,45,1,0,44 -12924402414995374080,83852,325.50613370041657,-53.44209761943318,59331.35730159552,15.520634989121303,r,758,325.5,-53.5,1,0,45,1,0,44 -12924402419923681280,78029,325.501961786786,-53.440676219975,58923.71341620144,15.076647551429534,z,758,325.5,-53.5,1,0,45,1,0,44 -12924402765240729600,75466,325.5294984618788,-53.40370190374638,58746.41845959629,18.347612120542813,u,758,325.5,-53.5,1,0,45,1,0,44 -12924402826007805952,86209,325.5085223827457,-53.405739311476886,59497.528748281446,18.49637558743748,y,758,325.5,-53.5,1,0,45,1,0,44 -12924403069810114560,70738,325.6576846483176,-53.44610814461365,58416.93241444813,15.03876487001622,z,758,325.5,-53.5,1,0,45,1,0,44 -12924403414896476160,82934,325.649846743077,-53.42001222150392,59269.00088071255,15.243998318642,i,758,325.5,-53.5,1,0,45,1,0,44 -12924403570203164672,70820,325.6208911587941,-53.43515348686121,58421.58173823744,17.168262806972372,i,758,325.5,-53.5,1,0,45,1,0,44 -12924403815314096128,83494,325.6231424662905,-53.41440559961841,59306.85221916856,18.74760783656708,r,758,325.5,-53.5,1,0,45,1,0,44 -12924404234534780928,87145,325.6711262028145,-53.40022849374365,59561.26939081595,16.163282119132703,r,758,325.5,-53.5,1,0,45,1,0,44 -12924404245855207424,76297,325.67012526238057,-53.394537264053405,58801.06444716565,18.486449950607877,i,758,325.5,-53.5,1,0,45,1,0,44 -12924405024372555776,72755,325.6627005823713,-53.358704661651146,58554.57781637238,18.83839628124948,u,758,325.5,-53.5,1,0,45,1,0,44 -12924405721793036288,84403,325.54632314697943,-53.39094318834111,59371.84310890227,20.4279381265997,i,758,325.5,-53.5,1,0,45,1,0,44 -12924406276204527616,85078,325.6116382341916,-53.37273549135322,59418.12809069652,18.659657014552582,z,758,325.5,-53.5,1,0,45,1,0,44 -12924406369804615680,72825,325.6301212952571,-53.34789704028818,58559.91088842041,17.63371463969415,u,758,325.5,-53.5,1,0,45,1,0,44 -12924417676788367360,73410,326.0656749649625,-53.476708155233474,58601.55751035136,17.18644121959771,u,758,325.5,-53.5,1,0,45,1,0,44 -12924417773316079616,82744,326.0773519434002,-53.46049173301488,59256.77389735356,16.299085024309168,u,758,325.5,-53.5,1,0,45,1,0,44 -12924417811433914368,78293,326.0340454386088,-53.48666065686281,58942.6113525598,18.630058904227283,y,758,325.5,-53.5,1,0,45,1,0,44 -12924418257414258688,83688,326.027810388888,-53.44514007408695,59319.04053271364,19.23325633861809,z,758,325.5,-53.5,1,0,45,1,0,44 -12924419120211951616,77221,325.90548385883284,-53.46384581580615,58865.94468987716,15.08561008963453,r,758,325.5,-53.5,1,0,45,1,0,44 -12924420270583709696,75200,325.9751586222098,-53.42137000915289,58728.013731322935,18.02505027447662,y,758,325.5,-53.5,1,0,45,1,0,44 -12924420522820763648,80864,325.96886668822066,-53.38695349404869,59120.59428240979,17.93172574231246,r,758,325.5,-53.5,1,0,45,1,0,44 -12924421185524989952,76154,326.0855465093048,-53.42404236063275,58792.0528821335,19.35772962792332,u,758,325.5,-53.5,1,0,45,1,0,44 -12924421319117766656,81944,326.0637850907387,-53.41588933630612,59199.97463482008,19.07543041818625,y,758,325.5,-53.5,1,0,45,1,0,44 -12924421380383965184,70733,326.09754814940374,-53.41733628824939,58416.76510278134,20.9684463784397,u,758,325.5,-53.5,1,0,45,1,0,44 -12924422875590426624,72667,326.01550565998565,-53.410614472283285,58548.03942102606,20.18414121892804,u,758,325.5,-53.5,1,0,45,1,0,44 -12924424097215021056,70472,326.07069082698985,-53.337745136693776,58397.94341496712,19.8366158306472,u,758,325.5,-53.5,1,0,45,1,0,44 -12924424525528956928,81938,326.0264790077982,-53.33961989236353,59199.35813814182,19.3714250032334,r,758,325.5,-53.5,1,0,45,1,0,44 -12924425559802380288,78305,325.854365024426,-53.43216071995659,58943.28316426004,17.115025922458983,z,758,325.5,-53.5,1,0,45,1,0,44 -12924425663502352384,79736,325.81209516929067,-53.42932385003106,59042.28176742738,18.86975218808749,i,758,325.5,-53.5,1,0,45,1,0,44 -12924425713297129472,82285,325.83998217473726,-53.415455551412784,59223.67225858066,19.70996012152604,z,758,325.5,-53.5,1,0,45,1,0,44 -12924426654981292032,76891,325.89422553473474,-53.38666584769471,58843.75999321824,19.937788280041293,i,758,325.5,-53.5,1,0,45,1,0,44 -12924426794035052544,72485,325.8834202424334,-53.37445191623237,58534.39771275177,16.37746117331356,r,758,325.5,-53.5,1,0,45,1,0,44 -12924427308126699520,71722,325.7828179293452,-53.40652053998704,58481.93486622177,17.50636730465716,u,758,325.5,-53.5,1,0,45,1,0,44 -12924427565438861312,83433,325.813779239575,-53.38113275621632,59303.020252109,20.840823137152228,g,758,325.5,-53.5,1,0,45,1,0,44 -12924428276897677312,85137,325.8355156490824,-53.36813946145619,59422.53471898148,17.576938279587523,i,758,325.5,-53.5,1,0,45,1,0,44 -12924429428045381632,72988,325.9749994305709,-53.35556505312154,58570.43993439432,17.101430741597298,z,758,325.5,-53.5,1,0,45,1,0,44 -12924429534832361472,74710,325.9429065289537,-53.34614709786219,58693.74548174684,15.779086628365114,i,758,325.5,-53.5,1,0,45,1,0,44 -12924430985595977728,76428,325.9740318207902,-53.30213967688099,58810.18886321588,18.19924875806168,i,758,325.5,-53.5,1,0,45,1,0,44 -12924431178529767424,70895,325.9449775702452,-53.27921221929533,58426.61793872539,19.399081122415996,g,758,325.5,-53.5,1,0,45,1,0,44 -12924431301775196160,72658,325.9795048612243,-53.270016705957104,58547.44037508546,18.21377866522714,r,758,325.5,-53.5,1,0,45,1,0,44 -12924431529202941952,72589,325.9800350095617,-53.23736261071722,58542.29258376296,20.891547292692223,i,758,325.5,-53.5,1,0,45,1,0,44 -12924432280859967488,75608,325.83257541781853,-53.27659808642977,58756.67784351645,18.089455907939705,z,758,325.5,-53.5,1,0,45,1,0,44 -12924432411227324416,77258,325.877064433464,-53.26690445677436,58868.117353033,15.492928190811485,i,758,325.5,-53.5,1,0,45,1,0,44 -12924436929511948288,86395,326.08194679803546,-53.26096557150122,59510.90179533646,18.503466721953988,r,758,325.5,-53.5,1,0,45,1,0,44 -12924437026614280192,76374,326.0950581091129,-53.237684156003056,58806.42532181016,15.826551495117064,i,758,325.5,-53.5,1,0,45,1,0,44 -12924443145990569984,82808,326.02326776366465,-53.24499212580126,59260.74385286073,18.81263573514724,z,758,325.5,-53.5,1,0,45,1,0,44 -12924444209426989056,83923,326.0482648260294,-53.20378207583531,59336.07701833901,20.078470816185067,u,758,325.5,-53.5,1,0,45,1,0,44 -12924444520451407872,77753,326.0886842815208,-53.17269383409335,58904.09942695024,16.43790742575683,r,758,325.5,-53.5,1,0,45,1,0,44 -12924445122426306560,73407,326.0055440030482,-53.18353912899672,58601.1795273136,18.001813160373498,r,758,325.5,-53.5,1,0,45,1,0,44 -12924451794133712896,73883,325.7320830928922,-53.32723552953679,58633.82601997437,20.758858790570343,r,758,325.5,-53.5,1,0,45,1,0,44 -12924451914313105408,75128,325.68873487262937,-53.34523838085536,58722.49731930132,16.648220757035407,r,758,325.5,-53.5,1,0,45,1,0,44 -12924451915227463680,81289,325.6880755696467,-53.34421249919178,59150.53749606953,16.599572378141612,u,758,325.5,-53.5,1,0,45,1,0,44 -12924451934768726016,72967,325.6919457943198,-53.33638949444591,58569.47059273607,20.97191977705083,i,758,325.5,-53.5,1,0,45,1,0,44 -12924452709087576064,82680,325.7983393924228,-53.300460005523874,59251.65915091927,15.271323075615149,i,758,325.5,-53.5,1,0,45,1,0,44 -12924452984443633664,84115,325.74152745226377,-53.29913136663376,59350.365729308745,16.31851618591933,i,758,325.5,-53.5,1,0,45,1,0,44 -12924453217982480384,77303,325.72919684570866,-53.27118971604231,58872.1468842128,18.03998478402543,r,758,325.5,-53.5,1,0,45,1,0,44 -12924453436002402304,84986,325.7452338895242,-53.25695520115608,59412.36273285025,16.951956720762322,g,758,325.5,-53.5,1,0,45,1,0,44 -12924454724010246144,84124,325.7126974167209,-53.26340776129423,59350.854745443336,19.31577032794084,z,758,325.5,-53.5,1,0,45,1,0,44 -12924454822819659776,72997,325.68794425749263,-53.25107178394243,58571.02635902176,16.06553519240877,r,758,325.5,-53.5,1,0,45,1,0,44 -12924455031024910336,77898,325.733258083903,-53.22492350812667,58914.35982132937,20.29165412990203,z,758,325.5,-53.5,1,0,45,1,0,44 -12924455252643545088,73501,325.68451995490835,-53.23844106138672,58607.59868864432,17.078306245780773,i,758,325.5,-53.5,1,0,45,1,0,44 -12924455506247942144,80615,325.6883621527016,-53.217335016453305,59103.29472325393,17.087490362377334,u,758,325.5,-53.5,1,0,45,1,0,44 -12924455649852522496,80265,325.6728387678245,-53.20087944542272,59078.95591802469,15.994882664806733,g,758,325.5,-53.5,1,0,45,1,0,44 -12924455960755306496,83332,325.806178634454,-53.25151252327419,59296.95452077674,16.584078772435372,i,758,325.5,-53.5,1,0,45,1,0,44 -12924456006620020736,80241,325.8384854866551,-53.251942248828286,59077.05614371103,20.776793433480613,g,758,325.5,-53.5,1,0,45,1,0,44 -12924456143274639360,82813,325.8199201450415,-53.24051898696548,59260.81368428733,15.158276283801454,z,758,325.5,-53.5,1,0,45,1,0,44 -12924456156247621632,76615,325.8320648435714,-53.23452343586965,58822.42906461483,19.28368076659012,g,758,325.5,-53.5,1,0,45,1,0,44 -12924456357972672512,77750,325.80139190630376,-53.23802654862261,58904.06170913502,18.238548828182296,g,758,325.5,-53.5,1,0,45,1,0,44 -12924456627683196928,80566,325.8160089215852,-53.21577764277768,59099.87887849765,16.984352449335482,y,758,325.5,-53.5,1,0,45,1,0,44 -12924456842121183232,73117,325.87406037553654,-53.2229732329679,58580.65152577448,16.02230111089344,y,758,325.5,-53.5,1,0,45,1,0,44 -12924456860630646784,76213,325.85697377401203,-53.2223688732311,58795.47422852765,19.84724468202113,y,758,325.5,-53.5,1,0,45,1,0,44 -12924458679700291584,76779,325.7147144297658,-53.18193419068136,58835.448668452,20.844453212535107,i,758,325.5,-53.5,1,0,45,1,0,44 -12924459949383221248,70930,325.7821106267577,-53.11665838621638,58428.77420585338,16.876557977677468,g,758,325.5,-53.5,1,0,45,1,0,44 -12924460925011886080,84838,325.5494938853333,-53.22227505116596,59400.977536500206,18.80856762577463,r,758,325.5,-53.5,1,0,45,1,0,44 -12924461659170275328,71345,325.6421185318692,-53.18486270631792,58455.47117177463,20.871084540295055,g,758,325.5,-53.5,1,0,45,1,0,44 -12924463425643347968,80595,325.5652424842884,-53.18207656337819,59102.168274689066,19.982744182794026,r,758,325.5,-53.5,1,0,45,1,0,44 -12924463817416507392,73509,325.6008889733441,-53.13192731237795,58608.58615140361,19.234424360921096,y,758,325.5,-53.5,1,0,45,1,0,44 -12924464306484936704,73577,325.5517315586158,-53.117834021390834,58613.43405449034,19.812224734194384,z,758,325.5,-53.5,1,0,45,1,0,44 -12924464455823130624,81406,325.5427380485216,-53.11088880461367,59159.785147578135,18.715897575272905,u,758,325.5,-53.5,1,0,45,1,0,44 -12924464850452611072,85909,325.69564545890586,-53.14750400542725,59477.21997929389,17.637010696518203,i,758,325.5,-53.5,1,0,45,1,0,44 -12924465017436241920,75914,325.70054057512334,-53.12879275517909,58776.2230604801,19.048488448702017,u,758,325.5,-53.5,1,0,45,1,0,44 -12924465876744273920,86473,325.71386183365047,-53.09756786923459,59515.46948206408,17.799417561270324,u,758,325.5,-53.5,1,0,45,1,0,44 -12924466360402051072,76420,325.6702368117087,-53.0851004047989,58809.82200202354,15.340516847844349,r,758,325.5,-53.5,1,0,45,1,0,44 -12924467947891589120,81732,325.66046786646825,-53.059093619255,59184.16446821887,19.015753672778786,y,758,325.5,-53.5,1,0,45,1,0,44 -12924467983589310464,73742,325.6388240938062,-53.065101517763104,58624.29577237071,15.881518980603005,g,758,325.5,-53.5,1,0,45,1,0,44 -12924469216068763648,71138,325.93257425476907,-53.150393493177496,58442.85004388903,17.73823308857657,u,758,325.5,-53.5,1,0,45,1,0,44 -12924470056552759296,74224,325.9379344589995,-53.12844615233486,58659.67471279533,15.910684849670709,u,758,325.5,-53.5,1,0,45,1,0,44 -12924470374673940480,86198,325.9884604643789,-53.09486000402106,59496.45202710757,15.98404539140078,g,758,325.5,-53.5,1,0,45,1,0,44 -12924470697153003520,81402,325.9235966466717,-53.08219834474573,59159.686145530126,17.806549802289886,i,758,325.5,-53.5,1,0,45,1,0,44 -12924471625922904064,81320,325.8544800876428,-53.07643524727416,59152.09623347744,18.278537203692995,i,758,325.5,-53.5,1,0,45,1,0,44 -12924472369010966528,83020,325.86792477015933,-53.0704077528948,59274.66127682682,16.77642379631016,y,758,325.5,-53.5,1,0,45,1,0,44 -12924477941705867264,79622,325.7619634790705,-53.05666198868984,59035.33726574715,20.34119881198327,z,758,325.5,-53.5,1,0,45,1,0,44 +_healpix_29,source_id,source_ra,source_dec,mjd,mag,band,object_id,object_ra,object_dec,Norder,Dir,Npix,margin_Norder,margin_Dir,margin_Npix +3231094964189059133,74393,325.7612847064375,-53.47216729436138,58672.67873350513,19.09735842991942,i,758,325.5,-53.5,1,0,45,1,0,44 +3231095093917394701,73177,325.76964233775635,-53.41545382621511,58584.12253095591,17.348350142263595,i,758,325.5,-53.5,1,0,45,1,0,44 +3231095227515549143,82866,325.74406904926553,-53.3930566419519,59264.309530415616,18.55425003020008,g,758,325.5,-53.5,1,0,45,1,0,44 +3231095236011966097,85495,325.7351847305723,-53.38781504603176,59448.62111878577,20.81422266217071,z,758,325.5,-53.5,1,0,45,1,0,44 +3231099952636690317,75452,325.58491781018284,-53.499286122945925,58745.4737162212,18.087014336457212,u,758,325.5,-53.5,1,0,45,1,0,44 +3231099964868362366,79771,325.59429412221266,-53.49516018904445,59044.925884694385,20.080194264349498,g,758,325.5,-53.5,1,0,45,1,0,44 +3231099998987513516,81215,325.6389729830111,-53.48053692345315,59144.54944024879,15.225820061507676,g,758,325.5,-53.5,1,0,45,1,0,44 +3231100020386274783,72093,325.6170994427331,-53.474757349722566,58505.90839148664,20.71969170499344,z,758,325.5,-53.5,1,0,45,1,0,44 +3231100110773836899,70106,325.54978159951366,-53.46663206563081,58370.76012417132,15.64596815275773,g,758,325.5,-53.5,1,0,45,1,0,44 +3231100150958537862,70153,325.5972754207557,-53.44260598018785,58374.29236678393,17.439995016888133,i,758,325.5,-53.5,1,0,45,1,0,44 +3231100461967308971,80904,325.5379346143558,-53.47170302714972,59123.21163015216,18.623335457868464,z,758,325.5,-53.5,1,0,45,1,0,44 +3231100603749639322,83852,325.50613370041657,-53.44209761943318,59331.35730159552,15.520634989121303,r,758,325.5,-53.5,1,0,45,1,0,44 +3231100604980943024,78029,325.501961786786,-53.44067621997499,58923.71341620144,15.076647551429534,z,758,325.5,-53.5,1,0,45,1,0,44 +3231100691310377507,75466,325.5294984618788,-53.40370190374638,58746.41845959629,18.347612120542813,u,758,325.5,-53.5,1,0,45,1,0,44 +3231100706502317737,86209,325.50852238274575,-53.405739311476886,59497.528748281446,18.49637558743748,y,758,325.5,-53.5,1,0,45,1,0,44 +3231100767452611549,70738,325.6576846483176,-53.44610814461365,58416.93241444813,15.03876487001622,z,758,325.5,-53.5,1,0,45,1,0,44 +3231100853724128919,82934,325.649846743077,-53.42001222150392,59269.00088071255,15.243998318642,i,758,325.5,-53.5,1,0,45,1,0,44 +3231100892551161633,70820,325.6208911587941,-53.43515348686121,58421.58173823744,17.168262806972372,i,758,325.5,-53.5,1,0,45,1,0,44 +3231100953828766329,83494,325.6231424662905,-53.41440559961841,59306.852219168555,18.747607836567077,r,758,325.5,-53.5,1,0,45,1,0,44 +3231101058633967356,87145,325.6711262028145,-53.400228493743654,59561.26939081595,16.163282119132703,r,758,325.5,-53.5,1,0,45,1,0,44 +3231101061464623886,76297,325.67012526238057,-53.394537264053405,58801.06444716565,18.486449950607874,i,758,325.5,-53.5,1,0,45,1,0,44 +3231101256093304467,72755,325.6627005823713,-53.358704661651146,58554.57781637238,18.838396281249477,u,758,325.5,-53.5,1,0,45,1,0,44 +3231101430448338489,84403,325.54632314697943,-53.39094318834111,59371.84310890227,20.4279381265997,i,758,325.5,-53.5,1,0,45,1,0,44 +3231101569051624031,85078,325.61163823419156,-53.37273549135322,59418.12809069652,18.659657014552582,z,758,325.5,-53.5,1,0,45,1,0,44 +3231101592451675203,72825,325.6301212952571,-53.34789704028818,58559.91088842041,17.63371463969415,u,758,325.5,-53.5,1,0,45,1,0,44 +3231104419197332900,73410,326.0656749649625,-53.476708155233474,58601.55751035136,17.18644121959771,u,758,325.5,-53.5,1,0,45,1,0,44 +3231104443329160307,82744,326.0773519434002,-53.46049173301488,59256.77389735356,16.299085024309168,u,758,325.5,-53.5,1,0,45,1,0,44 +3231104452859514788,78293,326.03404543860876,-53.48666065686281,58942.6113525598,18.630058904227283,y,758,325.5,-53.5,1,0,45,1,0,44 +3231104564354115688,83688,326.027810388888,-53.44514007408695,59319.04053271364,19.233256338618094,z,758,325.5,-53.5,1,0,45,1,0,44 +3231104780053524276,77221,325.90548385883284,-53.46384581580615,58865.94468987716,15.08561008963453,r,758,325.5,-53.5,1,0,45,1,0,44 +3231105067646925096,75200,325.9751586222098,-53.42137000915289,58728.013731322935,18.02505027447662,y,758,325.5,-53.5,1,0,45,1,0,44 +3231105130705447643,80864,325.96886668822066,-53.38695349404869,59120.59428240979,17.93172574231246,r,758,325.5,-53.5,1,0,45,1,0,44 +3231105296381994212,76154,326.0855465093048,-53.42404236063275,58792.0528821335,19.35772962792332,u,758,325.5,-53.5,1,0,45,1,0,44 +3231105329780140432,81944,326.0637850907387,-53.41588933630612,59199.97463482008,19.07543041818625,y,758,325.5,-53.5,1,0,45,1,0,44 +3231105345096966883,70733,326.09754814940374,-53.41733628824939,58416.76510278134,20.9684463784397,u,758,325.5,-53.5,1,0,45,1,0,44 +3231105718898054746,72667,326.01550565998565,-53.410614472283285,58548.03942102606,20.18414121892804,u,758,325.5,-53.5,1,0,45,1,0,44 +3231106024304275296,70472,326.07069082698985,-53.337745136693776,58397.94341496712,19.836615830647197,u,758,325.5,-53.5,1,0,45,1,0,44 +3231106131382386366,81938,326.0264790077982,-53.33961989236353,59199.35813814182,19.3714250032334,r,758,325.5,-53.5,1,0,45,1,0,44 +3231106389950915611,78305,325.85436502442593,-53.43216071995659,58943.28316426003,17.115025922458983,z,758,325.5,-53.5,1,0,45,1,0,44 +3231106415876293084,79736,325.81209516929067,-53.42932385003106,59042.28176742738,18.86975218808749,i,758,325.5,-53.5,1,0,45,1,0,44 +3231106428324551172,82285,325.83998217473726,-53.415455551412784,59223.67225858066,19.70996012152604,z,758,325.5,-53.5,1,0,45,1,0,44 +3231106663745648083,76891,325.89422553473474,-53.38666584769471,58843.75999321824,19.937788280041293,i,758,325.5,-53.5,1,0,45,1,0,44 +3231106698509451491,72485,325.8834202424334,-53.374451916232374,58534.39771275177,16.37746117331356,r,758,325.5,-53.5,1,0,45,1,0,44 +3231106827031803541,71722,325.7828179293452,-53.406520539987035,58481.93486622177,17.50636730465716,u,758,325.5,-53.5,1,0,45,1,0,44 +3231106891360008884,83433,325.813779239575,-53.38113275621632,59303.020252109,20.840823137152228,g,758,325.5,-53.5,1,0,45,1,0,44 +3231107069224798515,85137,325.8355156490824,-53.36813946145619,59422.53471898148,17.576938279587523,i,758,325.5,-53.5,1,0,45,1,0,44 +3231107357011742964,72988,325.9749994305709,-53.35556505312154,58570.439934394315,17.101430741597298,z,758,325.5,-53.5,1,0,45,1,0,44 +3231107383708467637,74710,325.9429065289537,-53.34614709786219,58693.74548174684,15.779086628365114,i,758,325.5,-53.5,1,0,45,1,0,44 +3231107746399451452,76428,325.9740318207902,-53.30213967688099,58810.18886321588,18.19924875806168,i,758,325.5,-53.5,1,0,45,1,0,44 +3231107794632902233,70895,325.94497757024516,-53.27921221929533,58426.61793872539,19.399081122415993,g,758,325.5,-53.5,1,0,45,1,0,44 +3231107825444133442,72658,325.9795048612243,-53.270016705957104,58547.44037508546,18.21377866522714,r,758,325.5,-53.5,1,0,45,1,0,44 +3231107882301453461,72589,325.9800350095617,-53.23736261071722,58542.29258376296,20.891547292692223,i,758,325.5,-53.5,1,0,45,1,0,44 +3231108070215325913,75608,325.83257541781853,-53.27659808642977,58756.67784351645,18.089455907939705,z,758,325.5,-53.5,1,0,45,1,0,44 +3231108102807196340,77258,325.877064433464,-53.266904456774355,58868.117353033,15.492928190811485,i,758,325.5,-53.5,1,0,45,1,0,44 +3231109232378713934,86395,326.08194679803546,-53.260965571501224,59510.90179533646,18.503466721953988,r,758,325.5,-53.5,1,0,45,1,0,44 +3231109256653858481,76374,326.0950581091129,-53.237684156003056,58806.42532181016,15.826551495117064,i,758,325.5,-53.5,1,0,45,1,0,44 +3231110786498320375,82808,326.02326776366465,-53.24499212580126,59260.74385286073,18.81263573514724,z,758,325.5,-53.5,1,0,45,1,0,44 +3231111052357583606,83923,326.0482648260294,-53.20378207583531,59336.07701833901,20.078470816185067,u,758,325.5,-53.5,1,0,45,1,0,44 +3231111130113170118,77753,326.0886842815208,-53.17269383409335,58904.09942695024,16.43790742575683,r,758,325.5,-53.5,1,0,45,1,0,44 +3231111280606738972,73407,326.0055440030482,-53.18353912899672,58601.1795273136,18.001813160373498,r,758,325.5,-53.5,1,0,45,1,0,44 +3231112948534250954,73883,325.7320830928922,-53.327235529536786,58633.82601997437,20.758858790570343,r,758,325.5,-53.5,1,0,45,1,0,44 +3231112978578406287,75128,325.68873487262937,-53.34523838085536,58722.49731930132,16.648220757035407,r,758,325.5,-53.5,1,0,45,1,0,44 +3231112978807073315,81289,325.6880755696467,-53.344212499191784,59150.53749606953,16.599572378141612,u,758,325.5,-53.5,1,0,45,1,0,44 +3231112983692754231,72967,325.6919457943198,-53.33638949444591,58569.47059273607,20.97191977705083,i,758,325.5,-53.5,1,0,45,1,0,44 +3231113177272334537,82680,325.7983393924228,-53.300460005523874,59251.659150919266,15.271323075615149,i,758,325.5,-53.5,1,0,45,1,0,44 +3231113246110922128,84115,325.74152745226377,-53.29913136663376,59350.365729308745,16.31851618591933,i,758,325.5,-53.5,1,0,45,1,0,44 +3231113304496505011,77303,325.72919684570866,-53.27118971604231,58872.146884212794,18.03998478402543,r,758,325.5,-53.5,1,0,45,1,0,44 +3231113359000914053,84986,325.7452338895242,-53.25695520115608,59412.36273285025,16.951956720762322,g,758,325.5,-53.5,1,0,45,1,0,44 +3231113681003034650,84124,325.7126974167209,-53.263407761294225,59350.854745443336,19.31577032794084,z,758,325.5,-53.5,1,0,45,1,0,44 +3231113705705757207,72997,325.68794425749263,-53.25107178394243,58571.02635902176,16.06553519240877,r,758,325.5,-53.5,1,0,45,1,0,44 +3231113757757078769,77898,325.733258083903,-53.22492350812667,58914.35982132937,20.29165412990203,z,758,325.5,-53.5,1,0,45,1,0,44 +3231113813161102504,73501,325.68451995490835,-53.23844106138672,58607.59868864432,17.078306245780773,i,758,325.5,-53.5,1,0,45,1,0,44 +3231113876562785051,80615,325.6883621527016,-53.217335016453305,59103.29472325393,17.087490362377334,u,758,325.5,-53.5,1,0,45,1,0,44 +3231113912463520459,80265,325.6728387678245,-53.20087944542272,59078.95591802469,15.994882664806733,g,758,325.5,-53.5,1,0,45,1,0,44 +3231113990189102384,83332,325.806178634454,-53.25151252327419,59296.954520776744,16.584078772435372,i,758,325.5,-53.5,1,0,45,1,0,44 +3231114001655010816,80241,325.8384854866551,-53.251942248828286,59077.05614371103,20.776793433480613,g,758,325.5,-53.5,1,0,45,1,0,44 +3231114035819567149,82813,325.8199201450415,-53.24051898696547,59260.81368428733,15.158276283801454,z,758,325.5,-53.5,1,0,45,1,0,44 +3231114039061965013,76615,325.8320648435714,-53.23452343586965,58822.42906461483,19.283680766590116,g,758,325.5,-53.5,1,0,45,1,0,44 +3231114089493178471,77750,325.80139190630376,-53.238026548622614,58904.06170913502,18.238548828182296,g,758,325.5,-53.5,1,0,45,1,0,44 +3231114156921102823,80566,325.8160089215852,-53.21577764277768,59099.87887849765,16.984352449335482,y,758,325.5,-53.5,1,0,45,1,0,44 +3231114210531041435,73117,325.87406037553654,-53.2229732329679,58580.65152577448,16.02230111089344,y,758,325.5,-53.5,1,0,45,1,0,44 +3231114215157783310,76213,325.85697377401203,-53.2223688732311,58795.47422852765,19.847244682021135,y,758,325.5,-53.5,1,0,45,1,0,44 +3231114669925280135,76779,325.7147144297658,-53.18193419068136,58835.448668451994,20.844453212535107,i,758,325.5,-53.5,1,0,45,1,0,44 +3231114987346346906,70930,325.7821106267577,-53.11665838621638,58428.774205853384,16.876557977677468,g,758,325.5,-53.5,1,0,45,1,0,44 +3231115231253879161,84838,325.5494938853333,-53.22227505116596,59400.977536500206,18.80856762577463,r,758,325.5,-53.5,1,0,45,1,0,44 +3231115414793447520,71345,325.6421185318692,-53.18486270631792,58455.47117177463,20.871084540295055,g,758,325.5,-53.5,1,0,45,1,0,44 +3231115856411304788,80595,325.5652424842884,-53.18207656337819,59102.168274689066,19.982744182794026,r,758,325.5,-53.5,1,0,45,1,0,44 +3231115954354983183,73509,325.6008889733441,-53.13192731237795,58608.58615140361,19.234424360921096,y,758,325.5,-53.5,1,0,45,1,0,44 +3231116076622055536,73577,325.5517315586158,-53.117834021390834,58613.43405449034,19.812224734194384,z,758,325.5,-53.5,1,0,45,1,0,44 +3231116113956394883,81406,325.5427380485216,-53.110888804613666,59159.785147578135,18.715897575272905,u,758,325.5,-53.5,1,0,45,1,0,44 +3231116212614160795,85909,325.69564545890586,-53.14750400542725,59477.21997929389,17.637010696518203,i,758,325.5,-53.5,1,0,45,1,0,44 +3231116254359598097,75914,325.70054057512334,-53.12879275517909,58776.2230604801,19.048488448702017,u,758,325.5,-53.5,1,0,45,1,0,44 +3231116469187041731,86473,325.71386183365047,-53.09756786923459,59515.46948206408,17.799417561270324,u,758,325.5,-53.5,1,0,45,1,0,44 +3231116590100967224,76420,325.6702368117087,-53.0851004047989,58809.82200202354,15.340516847844349,r,758,325.5,-53.5,1,0,45,1,0,44 +3231116986973170084,81732,325.66046786646825,-53.059093619254995,59184.16446821887,19.015753672778786,y,758,325.5,-53.5,1,0,45,1,0,44 +3231116995897880632,73742,325.6388240938062,-53.065101517763104,58624.29577237071,15.881518980603005,g,758,325.5,-53.5,1,0,45,1,0,44 +3231117304017806752,71138,325.93257425476907,-53.150393493177496,58442.85004388903,17.73823308857657,u,758,325.5,-53.5,1,0,45,1,0,44 +3231117514139034294,74224,325.9379344589995,-53.12844615233486,58659.67471279533,15.910684849670709,u,758,325.5,-53.5,1,0,45,1,0,44 +3231117593669370608,86198,325.9884604643789,-53.09486000402106,59496.45202710757,15.98404539140078,g,758,325.5,-53.5,1,0,45,1,0,44 +3231117674288869554,81402,325.9235966466717,-53.082198344745734,59159.686145530126,17.806549802289886,i,758,325.5,-53.5,1,0,45,1,0,44 +3231117906480755353,81320,325.8544800876428,-53.07643524727416,59152.09623347744,18.278537203692995,i,758,325.5,-53.5,1,0,45,1,0,44 +3231118092253582472,83020,325.86792477015933,-53.070407752894795,59274.661276826824,16.77642379631016,y,758,325.5,-53.5,1,0,45,1,0,44 +3231119485426548163,79622,325.7619634790705,-53.05666198868984,59035.33726574715,20.34119881198327,z,758,325.5,-53.5,1,0,45,1,0,44 diff --git a/tests/data/small_sky_order1/small_sky_order1.csv b/tests/data/raw/small_sky/small_sky.csv similarity index 100% rename from tests/data/small_sky_order1/small_sky_order1.csv rename to tests/data/raw/small_sky/small_sky.csv diff --git a/tests/data/raw/small_sky_no_metadata/catalog_info.json b/tests/data/raw/small_sky_no_metadata/catalog_info.json deleted file mode 100644 index b3fd9a27..00000000 --- a/tests/data/raw/small_sky_no_metadata/catalog_info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "catalog_name": "small_sky", - "catalog_type": "object", - "total_rows": 131, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec" -} diff --git a/tests/data/raw/small_sky_no_metadata/properties b/tests/data/raw/small_sky_no_metadata/properties new file mode 100644 index 00000000..dc4cbf0f --- /dev/null +++ b/tests/data/raw/small_sky_no_metadata/properties @@ -0,0 +1,6 @@ +#HATS catalog +obs_collection=small_sky +dataproduct_type=object +hats_nrows=131 +hats_col_ra=ra +hats_col_dec=dec diff --git a/tests/data/raw/small_sky_no_metadata/provenance_info.json b/tests/data/raw/small_sky_no_metadata/provenance_info.json deleted file mode 100644 index 6a07ab42..00000000 --- a/tests/data/raw/small_sky_no_metadata/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky", - "catalog_type": "object", - "total_rows": 131, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec", - "version": "0.2.7.dev15+g85ec4a0", - "generation_date": "2024.03.06", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev5+g0733afb", - "runtime_args": { - "catalog_name": "small_sky", - "output_path": ".", - "output_artifact_name": "small_sky", - "tmp_dir": "/tmp/user/11115/tmphywoxno9", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky", - "tmp_path": "/tmp/user/11115/tmphywoxno9/small_sky/intermediate", - "epoch": "J2000", - "catalog_type": "object", - "input_path": null, - "input_paths": [ - "small_sky_order1/small_sky_order1.csv" - ], - "input_file_list": [ - "small_sky_order1/small_sky_order1.csv" - ], - "ra_column": "ra", - "dec_column": "dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": -1, - "highest_healpix_order": 7, - "pixel_threshold": 1000000, - "mapping_healpix_order": 7, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "header": "infer", - "schema_file": null, - "separator": ",", - "column_names": null, - "type_map": {} - } - } - } -} diff --git a/tests/data/small_sky/Norder=0/Dir=0/Npix=11.parquet b/tests/data/small_sky/Norder=0/Dir=0/Npix=11.parquet deleted file mode 100644 index e4aa453abde7ff8812f203dbeccceb3c0690a711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5857 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 diff --git a/tests/data/small_sky/_metadata b/tests/data/small_sky/_metadata deleted file mode 100644 index 7134c1428417e04faff3eef8c9183097d70731d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2107 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 I!+&P^KZTnn_W%F@ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky/dataset/_common_metadata b/tests/data/small_sky/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..b473e52cc3054470eb114dcbc9a4edfffadee632 GIT binary patch literal 3983 zcmcIn+iu%N5EYUjNZJ4e5;%~7JQxJ>mP8jziIt}=DUqUT$+nV+B8x)cO%kmoMN?Ng z@Kb-I5B-3ARzIXOONl0Raa|C4S{L-|;QV>}|w2=~49qA*15i#=DhofX%>@6SPnJ7mM%m4{CB7X(ikNvnv@9Cz9U< zgq6OHw3hx*sANCbDzgpc25{_3I+U?^(?eF_fvr!+0qX+PF#Xf?0 z*4(IfriRya&K%y5X=SV_;>46_se3J#WtyMJLgUgXE(?ZI?(0feSqy_G?P+`5=ZS}1>T`--{C>Sn<{o7P_ z76aI?V08I%_qbg)CES-dMzL|FDXn~@FHlPoVUPAuz8nwiut5#CHP5g!hOY@S@^W>hGttD#OjQaL?I1oQhUf7^!)*`ELM3l^`L%9l zRn--rZN3nreCzVU!B`kdC$B2)p(WMg81+9bkoPT?*BC~=X}+c`N8RE&ro=Jb8r#Q| zL^v<;IvE$uUC!0+MX?q60P!y@>`s!WHZh9gf8*k|sT%H!Nvzv-j; zGX$UVYMdj>%Bg_4ne<=mYu!d@9Lp>YTe&4PLbX$&rq`I84&%Lxn{Rk`#fc`)Go4?C z*O?e~$fJ5HZ$^-h-{ZAqv+E2~x#D%EW}PN$Bgy+-@%rpmLa6I-Up}SuyK>v>AZ96A zzn$Bbg0ULhKetD1e|0X~HFm4pb!LU{#3rr3Po0g*3%wh0-;qaW*z@+*d=!`cwU*Z3 z>#VxPAyt(na2ocTm!p08-Pfhg(5UmiEuMsDpZ>2LFId>G)Z+$)-io#Kp5?qmp$Cbf zjWr7W+g8NTbSqGe(5pQS>aOJ*#S-h&&ClknDU=qn$NKK=nYx|OEYi7wdkS)RdMVGE zPNRa?5g{sk_?2xF#v}L$3%tt=yw+;$+LCde2MuZ9ea264c#dD}(i3XAc`gSNo(!4L z#BX-ru_-ylKO6BT{qqmG9J?;@3MFK=o?po9CY6|!4cUn8S7SNE=2w83W2CC14g4=? zkif6vye-j?v`%4B>Iz}JplYK&rRsbCXNXKN(0=NQ4>&7tHLHH zI1t!N0Ka}eKqWpHPd?d;P*{RR7%xI1ruo%;U;G#~$b)syV@r)Se|%km=W0E_Xfh`v z>8(HTN&?K`4p~%{6`nv^G5_jr{s_&7YP3z{{~+=o6aoeVaKK1~EFzddm^EwAeg3e} z=?a<+2pkTqH(|5&6EV+Zk97rUeAmGAJcSDDPd-^`!CWHRUQ GulT=w`r1?g literal 0 HcmV?d00001 diff --git a/tests/data/small_sky/dataset/_metadata b/tests/data/small_sky/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..b337276904d2de75408d8025de7b3a3459470399 GIT binary patch literal 5103 zcmcIoO>84Y7Vc!Sk(n7JAlPz5fT&@52Q)MONjx(Kfu`J!o%SY9;+b*VMksW*+jhs@ zZO1=xdPcKat+b;Rrxk}45(qePLYz2oKr0R_j(b8JR(n_pggB!S2M)k{)jw|kBr`-a zow!}~-mCh)_v+QFlDA1A7MxrBB*BE|yGlbfq~KFbaPHh}cvh=2!PD62NOt2?RaIwWHa=MhJjF1!)v2`BIkyC&Yo2H>-_{PtWM_68 zs-%N_H=bldcV`!u7T*s)XV3UrGy;>r8^^sCi(P6~o`5eHazFIXpI!={ zcF{YMjsEHB(2w)n*H3a^Jr3{`@`wI4r}g*!YY0CnJqi51XNK^&MmGMx0-<02!2M&9 z`zh$+|0VgQga6jfmmdCz^d$H{KQ|1%ml+O;nb21=+;`7%pFQi6z<}D0L(3yEB0UL- zx7i_yVLtj<+*{`Uz5Iw-{O`r3;H;Ag&MvSi{5f=YhWq6O?wc2uE;HxnaN)!BeG*^q z{&DCl?kXGNpEIEkX1I4b?uT=T;l+3u?UP`A@zM~BZdX6pf6j9soTp%C&?9)l0k?G` zu-AuR{yJb|e!UR-et~=ERqmUYVHwN4_ugUIzeU1nlj?n-`W@TenLMRcdmZ zH6=p@W3#X8U{TXly}COpvmthSRvQi3zNsm#s>*`3**Dsjr)bH0s?tNbq4uPz)RVyc zHmjOou9|I`+Y6wtLh7l4W57Tb{~ zL2TI=NKJ1^Q(=6H%^0W`tx7UU_~7#=LRLwtPBMhl316qORBA*&K;fFF zPYu8p`|!|Ns9qpsKwunv<0R=Qw6Raf)(+UFt_X(SuVjm>rFi~8UN81!b5q;WQnH{Y zTNN?WRkHeO>6VZX^k`S$b9-|9FeZzMnj|Kgl~O}jEa9?{>A^gShAiI1vHhxe*xlfX zRxxy4&K7F2k?B>ggIzWeld}VyXHbUm=n zQ8d4|qhTy$u^26jg+?{I=EbOXeSo}&SZ1za`&MaJ#KUGO?#7g8im^uLQL-6Wugoof zTq?%lLAkUO&)Ysg{9^;P=;vAK%JIza<6;!_vUOBUJl(W)G~{fuaa>%+`1UHWhTv1Q z?B&Q|a)Za*^!uNwRZ2NaUJ+;<9TG z+^&iktNMfIcC*lS)@5>!4RzDjEOwvRjOrg`pEVN$sbq7Xl1E!u^N!r}c3h6$Yoq!H zTB}mLp_j!&;MAyX?lq6f@0ye?HstkGTg_axwyr;_9FJA8UX@pJI@DI&OP6WRXLYDS z8B4`I3iVqRGnQf`VK+jpHY>32@@+Z3O6&CI4W+-yuMPy0*4^Qn8bwQq>jyH<$qUxT zp3vXaa!EXn2r0uS<=AdQy9pnDfM=PE$J!b_wgl`)K|^wQo~63j+{PC@^!T;NK_mj5 z6lqYQf^T}>(JtA*ud#TO+V+)5gdUf8gc8zs`#Sf4*>rY2MW|=1>1xGr8>?_sqrXT zOT#2rvBA?zK+3%zpb{U9XUboTP`C<%FkXb%OruW!sQ6K8kOywfqeEqvKVDbh*?0Rp zo74$gI`jvwB)}ZbkU?5>@OYB<_@}4yN9dGQwx_ZEuiO5Eg2!M04j7doiwGtVW{nGa zls`0dl89z?0*eFV6`0I@Z01aO+4-gGqS9_(q!+(s=VG^PU-=f_Ut*Y}{+VwV7-k!O G>iZ31Z?4|} literal 0 HcmV?d00001 diff --git a/tests/data/small_sky/partition_info.csv b/tests/data/small_sky/partition_info.csv index 7c5eaac4..bf77935e 100644 --- a/tests/data/small_sky/partition_info.csv +++ b/tests/data/small_sky/partition_info.csv @@ -1,2 +1,2 @@ -Norder,Npix,Dir -0,11,0 +Norder,Npix +0,11 diff --git a/tests/data/small_sky/point_map.fits b/tests/data/small_sky/point_map.fits new file mode 100644 index 0000000000000000000000000000000000000000..1b6b629198827b8e473e6b98717bb13f8ad74206 GIT binary patch literal 57600 zcmeI$U2oz>7>40~{E?A*kgc>*KDuhRmG*#u$$CowVXs6E9hf9miAil|mHhk8n0?FO zjHzMKwv}$AXoi`09*-{!vJ-`u<3XU*JLP%B>R8Q|+08P)FI2fy{V*MW zGjtxt<8a!L_txYkd7eD0c~T~-e16dWl=bMaGYup2*1NwGlb1c-U+Y{gZzMUr*IAJ+ zvtk|M^nz&|40{cEu~XQxTZOf(r3?WC5I_I{1Q0;r|1V%~C!=sQe5a1i!(rSx9|T9v zSsknEG)wYlRVLR9t@Km5x;b@9HoIT-{`qY8`{(L@{M2{<{O07>pH1FEXSd~@y&s>; zowzdfO|L5N%$KLssokG1&(t@)#@*4!p}CK5@w{-GFCQP&Ly{-=y41P6p-!JrrU_qUn1x@2xry_h$r#_`oSs6LM)d3tfLzx9Dz_Tv6%a=FSoJvn>x z!7TftJo7MUcWBP{=zY)`*k?mG?^wy`L;9o_X_1uX(QV6KN0VMK35ORZZx}>zU>@Z* z^TswuE%Uj~)9h9ivpapSUn`xKcjhtCE;W-%)~fEvBt}<}$?FD#>cE?M!EBK}lzjF*x!UZvqr6Lt7C#Q= z$E9Z;&%M{nPxkvU(ZzD{SgHMeDcgK;ty%WNNo1eU8^0g@G%re3eH!Wq_3A`jCxxEd zQ}ezCoht6-{!Y)%-u`0tH%NAgQ{k{Tjk@nI&F5kNGZA*fc+)S;=K9HevcD;rx1UEa zUDdwW-J?{ z+HG@Evr8+-bl3RC-1)EB_wB_uR^L;bnnSFqXB^_a-Mf2D$+<||bPV6Tj7ckN?fd$e z%-Oa+SAXx;?%Vfe`o{Lnx9fb4ZSvf8_4-5aQS#kfw=eTe?ICOHS@rj_2Rq(0XKVJI zlYC$6X1aZ;-S(MntMO&oF?ZbUOO~|maivaLTVwlfjf~mW_mZ{J+8VpQo>R~CWgT+N z-OnL&cg>Q0)Z1-2QoF6j&b6)kr<}I)_IUsHF~9%3S=mdyZF??l>*Rdv*RPCAYxCTG d+kEP_3t+n4hgk#=KmY**5I_I{1Q6Im;4hr`cCP>c literal 0 HcmV?d00001 diff --git a/tests/data/small_sky/properties b/tests/data/small_sky/properties new file mode 100644 index 00000000..9ed22a8e --- /dev/null +++ b/tests/data/small_sky/properties @@ -0,0 +1,14 @@ +#HATS catalog +obs_collection=small_sky +dataproduct_type=object +hats_nrows=131 +hats_col_ra=ra +hats_col_dec=dec +hats_max_rows=1000000 +hats_order=0 +moc_sky_fraction=0.08333 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:47UTC +hats_estsize=17 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky/provenance_info.json b/tests/data/small_sky/provenance_info.json deleted file mode 100644 index 6a07ab42..00000000 --- a/tests/data/small_sky/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky", - "catalog_type": "object", - "total_rows": 131, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec", - "version": "0.2.7.dev15+g85ec4a0", - "generation_date": "2024.03.06", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev5+g0733afb", - "runtime_args": { - "catalog_name": "small_sky", - "output_path": ".", - "output_artifact_name": "small_sky", - "tmp_dir": "/tmp/user/11115/tmphywoxno9", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky", - "tmp_path": "/tmp/user/11115/tmphywoxno9/small_sky/intermediate", - "epoch": "J2000", - "catalog_type": "object", - "input_path": null, - "input_paths": [ - "small_sky_order1/small_sky_order1.csv" - ], - "input_file_list": [ - "small_sky_order1/small_sky_order1.csv" - ], - "ra_column": "ra", - "dec_column": "dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": -1, - "highest_healpix_order": 7, - "pixel_threshold": 1000000, - "mapping_healpix_order": 7, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "header": "infer", - "schema_file": null, - "separator": ",", - "column_names": null, - "type_map": {} - } - } - } -} diff --git a/tests/data/small_sky_left_xmatch/Norder=0/Dir=0/Npix=4.parquet b/tests/data/small_sky_left_xmatch/Norder=0/Dir=0/Npix=4.parquet deleted file mode 100644 index 56fc08e2b4f8960228474411e5d0d2f88bdf37bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6381 zcmc&(&2Qt@5vR3|tKB$_v%6GeKnFv>5&`PXN?K`a1qcw5wq&WcyjHyWDhh+7D2Xyj zY4u@AUMw0EIrOlHo{AoF%qds|LC{0L4n|S5&HqrKe?kwDCSYaQ00XZz z_%O^o_SjBU{pVkXA9%6boN&+{A$EK0Q0K6pFGtv0Huj$6!v4h#?xP!k-m7AP;>*$h z_VZ7_`p-|_Klh@yIpLr^LL>Irq0XWI!}lEYH|nb5g8y=b`}b=A->YMR=F8!Oaq@WK z+njLF9-$F?>`;N?PMqJ}auO%llaAG1uhVn+@Yzl7Uzk8%MGMsbAAI=Z8;%b*VGBG? ze7VZ~Z1r0^5oA~G6TG~N@tEI)N6b6RNDq@Y4BUZ!u@+$iR+g_6I=#9|!#oasw8Z`T zP42~;k-7E%dn7@T&xXwb`uw&NwHwhEWb=8gV(-8MHYekN#aVhjexc)N5gjf1XOEo0+HWb@?0W9DQdkY6Wi4L%^ zP~P;6(y5c~P_to$m09;fdoS+H1{18QSQ4aa@?)LQa}8U zo6n-8HXJJ*eQ22d=zAMKj?R{i=ub8`qLfYRh)SfMMNP?2LEaqdI!H7$Rj(h<(x{c= z!K90V(V?j+ow^zYX>(|FCsRg8ZmY@w>4rLx>e4_0@n=!h1aZx5;@T%infqJO=g%E5 zvnZlk9oNsGuxN8AG;{DM>BTT5yC9%z&o=>yD2sdQX)GogS$Mx+eFe-UN$5 zcOt?4e}ulDs=dC}F_9Wiz8iZt9)$yIr;dx60N%ssb0)mX7mEkw_vlq7{PNBNe9oG? zJkKA(FFrrw`6Mqi`3%oDd9g`of-u7$A#rEQ7Y{)e=kO3MgrDR25fAI&OO(LZ7OKKX z7*)%ulWJw3=MT1Et?QnHdLoXWeUfo$$;2bv(~^mIq62xrwqCRRyMnVcT$ z=fr$lPK@JnIn|IrSFO_0l}YYVE;9gKsg_)Rg6oI%^0>bz@>LjnrM&Y!U1-yt!%$G_#)xm+7Pd7?4*w0YD{IIW0af$hEP0S%KLn@d0 zwM=?gEys0~gBYC&oUuanfD;Ih$XyS?bHXkVm^Sd2<5!co{B_jNcy4 zOyP{ zDXWi^M4?sBq`Od$bd{d@>xr9HHx;7TF*s!&$53Q=~qcLJG!kE)|jsb)z&< z68fpEVGYiW3u1D#*WS^v*5#adCg3ceN#*pA=xFDL`(pAeXU2FD``I40F`fsNVNJR87AQ^cw-0D#wqmU7z&BW2QWrK zzJ+rhnSLxlvL%xHPB0-k^X-87?fZ*4s*mPUM!re19*khEY$0`RU6UDb{iJa@XA diff --git a/tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=44.parquet deleted file mode 100644 index fb1e07a7309519b495fad5241ef41d71f12cb914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7210 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 diff --git a/tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_left_xmatch/Norder=1/Dir=0/Npix=46.parquet deleted file mode 100644 index fcef83630d26333d7e797c1bb33e1f4fb85fec6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7216 zcmc&(eQZJHG=$AXz#=L9cZ6JQ)xS?_kgznng+)I z2EA73{}$StFz$fy>(Kuc`u~9T7PNmsdjr~kpq+yDO|6U41HA*<@4@ae(7&M7-F2pk zBEP0)nKBd;V77Ka5IUxXX=yjm8x)CwenrvMQ=JXCFu&_CYK*B`wAPNL{d~LYK-b_W zcWu6HXe_!da4^30^sf6l_eR7Y$CjWm_N=;{QMdI_ExI;ClNe!|^ke#m7wb={*~gn% z`dUo4bpiYo(?r2X2ZW+vysw%0KsCr%$aWl8QItwWADOnQU^fnFX|*Ax(NO__suvVpKx5E$Lm%lOXq~Mc+E{0A%8GGOC#J37 z#~`!05=J74rL6{<^mb2M5ypBhaM(v>7#C?fc5@E%;#DsM(&t~hw0r-ft*5u{dcmkZ zdz8XWVb5vWnI%O4Q#=9iqFR5vnSF+458~$4ufKrRh6v6#Gk*dEO$5P$j9|fAP%Wk@ z>yU<47w(3S)dK*ywY1itF1WP1R+@5Zbn1db14@8nVL+=x(k~M`%4{fWrCSXYr-4~k zqN?kh-&7#}&TlL%fFDSdn81xvBvo9*rHr52>;nA4dqaDAzI@oDb=>jv43oT z5n=Y+vNC?nk!Y9z_?cS&1^}pKfA)(-FxwD79kX(fX(I5^?Ibq%Ky1qyeO+#V zM2QW0B_mZ_7-%}=+)$0d`DrbmA3DWvkET*nDH6jGmA;^2PwLpix?&7f3oWqx{~?Ai zR+eMXz!ua6acTwo{EDv}1kEfhZiIR%By!y*tfxBF$TyI04baDKYG<01bJpUWN=2eF z%(MD=75kZ3ejWT4d+}!CSA%65`UT~5|Dtj^4Nz3! z(w{H19-%1f`}dtR1D!Vsx7$_p;HC%J01T)8`3y6f1=#5ouil8%qht7z#vPrcZB6egce%`FEyZ|%LE#qk%LR&P+zOOvl3*r=i} zyd58S#|7-d8=2=KK&>lVK8d3G^PT**+>e$$0JLx}{P`Xn$34p)LizW9 z_3D$zzxSsXevS10Zy)*%(0S_V?3+hb3dQmGU*AUg;RiMEqWsxsZu%oo>cb~BCz0R& z;$t7;_@!UIHvAH-dw(+j9#T=f^#h=Vzd!cor#SxS@FDtTn7>8*fdwe_ixt8FpoQ5r z>z{oYcDJg^%jqJ^@DeHleXSLJ-)-dtShhVTCevX)vt3L?qH-#nY0;l)VLvvq2X9eQ zw9aOuRA@WgLm67q;aD`zGs~g2uWG^v1H~-CPKuX1c!SHb(q$+Q%l8UA5nzULgjeYY z53iu%sU~aTIa<{YENh8Ha=3<96INNOA8TuG+kZnJH8-~4-{5lib(Aai>nJDe^(Y7I z^}E8^>v-+5H{=BCKe|Of#?tzS+E!9jTbH3F$tNOw+HhX8(?~9d?cpgY8&9N-cXr%s ztiCsl+qyc8vRJ-IqC{(_F~P^9pr6P}5@?KzQ7N*$nkQS?p2;Us(U?t$;i*W}2-=Bk zJee;Eri968ID`CnG{Z;u3=ir%jnM?Ci-`%GyJgI=y4SdCSJ|0rFN|UY=T~{5@M^pe z6Pfkh^*)r?6)s?CySl&=B`jl#uQwv|YK)9aQ+z`+6@tqdf}6D7lES>sri$;@dV7_U z8lxq&syDL4zCvvBBeULO>HUeK>u6GbGS=HG^J|P{A(CFyua2+8zFd4z#_BC8%m!u} zB_rCA`Ij?<54?IyMecPqRdXfOowR!SS2j;hdMe6irc&fKkVGNHr}B6iB=bD{O)H17 z&qPycaVmjabN3q48nY1&Y%z5zgcgvkGwz}cOS#d}VgH@-TgGsB#ajH$O}IFY8-a$u zyE(3#vrTXgj+@}@6NG28RmpS694N`{BcO|8_>onJ+|6-04(0(RivTSu1)*ol1^qoc zf`K898}5aqdLRPF$B01&e1oigHF#gbokPcme8qhE2} z?@Naqec7PjETJA?w1e17*kVF_G!{1ZnW6z(QI?JL2Ni$n{RNCn-pLUWu@L+|Q_w#e zi#P{L7>(bPL%++m5}ueGTPPXw&+Z6VikNa@I6gqu2|FFIXO6i_Tte~LnP6bV;+10n z{LQ(juhP#@T7bR0CST&CQZT;|CM8*;eT)mvzS!k(sqr@xf<1(oOun5oExRWl^z}*Mgl8r!62BYymJ||~!%3>x&+7aV627$Hf;@6n<;@Pr z$1C|&r_*Q;t8yjb%YOC7i}&T>Z08rsrz&})+)nt=X16@QKDQ%&#A@Q| zb9={VQrVaKGgg*0+B5SNu&I_`%{klAlj8%j?+x;3IP8?=R+L}WUIi?% zWZ31Mgu6_+R~PhcoOepOu*DmTIQo)sA4yU9%-zzwRh(RCkI5l>)d5LEpV3Scz<7(tTE}%4%xfs z+zAtB$9gu1Wz3ew+BQPU+yspKNu`TpQFD@d*Na^cK*byT?%K6D9I%t3Xh)_}A4#_x zzP5VofIB_|_1J_;_U^UNM@24%V-Aa^ygqi6^~MsmWRwi;(^$%hQ^Pg(ZGL0Ze-b9i@X3?Ll(B-Jt@z%+weW|NY~}k^_B0KX(0`8Gf*<>oGPZHE zIF`8;@$@4T?xac1D}XB62Rust4>k0kn09&O9f7zZe!zvqPv!#{V0{ALPY^osd!)Q+ z3&n%b*^(jn!g{bdFh7UyCgn%s;Wko+jwGL&&PFq{?!ZuQYGQOne~%<6(l%Ykf^|7`k8VY6U_sWrxn{Dz zZesp4&fFPCcY0}gyj!zi37;PEu{L;)W)B40H{`?PEw?POqP$BsqvqGOiaxj1WslsRZ3J>C!T#^dnvbu?LFRX=5&buyOZaLHG zg-g!j{0=X4T9+5HS~)Xk^r1;^a{-}Uo&isESgsOpG@{YEjBF?czNeWs#-j{DCN)~p ziHB^eanCc_Yv*(sZAPneA)DmKVAC#TMvKk+8nO=2q;|zJ+H29fj8y^2Jj!?CYmy&@ z56YO)l1}Vlrq^afI~x5_hVVjUwA7#;s;RD&U^r<;{--uiPI^h=D}@rt28t|{_);B{ zL9x!mZzeUwz9W^&azRC^XYQ2yl*a`Jwy|~Em|ozWc3q|%N7;CMCHb6omvP)WHjB^R z<`T=YtMKCUO_rTwxlK02vYTvhlh8P>gI`19Vv`?S1z8-!L$nZngk@_i%!8IFfwm!( zh8|Z-Cw<%L)H#-2nTNUD*CTnQnh7W7Qr_5(u#~6>>N$Bu=7fmiFYqaDFYOJvQ(jFb zqPWYEV026H?s|lzZ-WP2nN&^@>ya~&Pz7}PazgR~&aY;ZyXEB|D`)bGB81}`LOxW< zyaaM#pGOGSP>=3QY$Lm*)Ceya^$2+d^v9KmT-yYF9wEi~Qm5lSF^qayS@1?LW|A?t z#`h@Ma0u|kbCIpWrc{qALO!;W34_1rQ!tuHET$_f!Ki;D(c$|Z$|p~k<)&Z3XfYFv zpkH}DnJ8yM{%ShuQBV$Iv`y@(Tu#WxbE3!ZmQq}USIsV@b$^WhLX6z8tyLLgAtV#- zbTXdHh8LSL+IXpkez$C?(VT`YQ_LiHw^QCmOj%jXFA_asI0S1J+G~$XCcnFrPOW-l z8U~2JrzR!Z{mhgFSj$i3OFpio>-}QVy|yb$*19u=1^e=8YSL%`%tH}}Y{e>sTz zvmJkEBa@2Oh0_rd2gBY9M(gQ>UlG;ljwlnqd-+xr)JMfhXf+UTfH~SJXsBTvFQ4M!Vln6tA_szYb@+-fus3@O$lTHGwwgwE4!polRn_ zHlKWNZ^w)Jx){$`i`Q$-JdcS@C;v&#*|x97r!?Pt?4uPitZ2CV$EE*S)8f|PKhavH zyt$&d6x)JarsvhZzHRVfr6zh~xopT^gnXn(+L?bkantjrm`_07^4Ik|TjrB+)>2U) z$&V`MgFc)~k?e(RK2aCF%8npo4vy@`f^)UytwkAgU8EIHFP!B)KIyL#9b1v=x!~Mh zM0K-4tY^zu#<()pwpCK*HetL#DqS9nTA0+kdF%oMD&E@HW@mA@7$ik8h(x_UlI|RQ zIb-aAy0HWG*o{KLxmoC=Ae+N6i$zn@j~!j#n#vU=G7MhCQcj#&>9Wres#c$gEYw_< zTjWy_*4?znp2PXb(Cv|;P4JL8Y#5uyIn_vM7NCJ%;u@*%tLH%phGR8CjN-+jb#(w# zNDV{2_UO40tt@Q8BrSZ}q&0o4$B%2=H&7QoIEicJSIyHhOhW%z_5yx_1%1r1yExXU zZFm-t2svqsjR_!%_8}fk|IhXGpO{{XYAXV`0YAir;3xAT7+`%9?@s`o_`TX%w0?Ln zbX+k5U(g4O1M_QmZ_*!vhdoO)*r;Cq?!9q3*$7 Kmd?XJl>Q4BT}bW# diff --git a/tests/data/small_sky_left_xmatch/_common_metadata b/tests/data/small_sky_left_xmatch/_common_metadata deleted file mode 100644 index 4cf7a744a1681971dbfc1dc15ea897e169977525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4018 zcmcInTW{J}5JqiPwX14ZYL$veeTXdeY1;+}bVH?;_SgYqHX((kwsEzJd;?5uE&7wTCfjJ9E<=Z^HPW>y%t8G>ZUT1trD+0-Hpv-Vaw8%EP; ztsi7c{)TTX(X$rQ8bH=}G|6fyYi~*4Fg6BHj!}Nyzm$BNe^8=XO9^p{nQh64b{PFO zLsCSz(rdcf{S~@=r*obFRE&eLDa3*&#mH{RSbV4gdK3PDq*XeNrc+PlP_D z@%$Qpio{yV7uq0;Yj~&@%9jY464(ddR0(`9gu3v?PrFLxs;iz6a()bZ`ClZ@9c!Xo zR!gmk(U4=qKXc9<-jLktNLTsmZmC{SOH4*`3y~x=hel~uG?YqD2VI&vaLu{&R;tIK zt1>W@kGOwqDYNKQAdcp_t|4}MhF6cZ4aS6>p6C}jt>53d__3F5*6kU{q7+q0&K0h$L&cG~I3%1HHcw_6N zo8Zafg%}lD!?uI5Fci7aRXPJptfevPeV8Kdr7gcXV7_UArp&I?(junBF})hqV~TY+ zv-8kBgi}?WYFHUWF6{i*%aF+iHi`Q|x^Ib7XdE3s>GsNoPwzzEIjWsw! z@Tt&Eb7WRM6)-bNi|jBg=jA)m4UlOCFt@qRaf=9hcp;#^Sc% z-|4K>(jYJ!ts(TXq_6J8*3(6IYL;39t6mMDAGtQG`Tr+wN#8U*8TwXrp7hyBSD@C^ zW`*`gpRd3>)TK#t!Sdv}S#l?agFRT9wS@BYbXaq+*GbEGmY|leb)`C{I)>8tOekMV zet`%$&rWfS@e$6pHXU<)Sf9{I=iyKj>AX9}S75-zyZHI=5SKN94n+Zp$$X@*W%%T? zu>)#v0`s_lLPGfv-cgVYa7}P%GX40H=)3Uwz@|&#Gmdf!>U_gKPpND^Q(2g~gsoFEZ; z(vY+a5JmeCj}-seR{Yd-qsdML{09FaF4TXzAA$ka`*?o>*D3Dy^3ZnqgQ4RC4L(61 z91iTC;=L((s6XV_T>c=?!_Q+oer*Q9YkCPhNG^E??E1I==Zjo!*I(|hpK`hP@N4}a DYK`T} diff --git a/tests/data/small_sky_left_xmatch/_metadata b/tests/data/small_sky_left_xmatch/_metadata deleted file mode 100644 index b1a42e8e791076ced24f88b8ad3fee5fd1d4c04a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9514 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet new file mode 100644 index 0000000000000000000000000000000000000000..8db73883da8109f6ac723612bc4951d6d1b345a6 GIT binary patch literal 7240 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 O5cBYRqyhLF;(q~%WEcbh literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=45.parquet b/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=45.parquet new file mode 100644 index 0000000000000000000000000000000000000000..20fd5f89ede68326b4a09466638c7022cb00545d GIT binary patch literal 6993 zcmc&(4{Q_H89(P=9f(T;oa?NX8oA|^RXJjZ7~&L)&vxwCBu-+$|F$-|voE%j^TqL> zI3`1js+CnprCYU0XfQOY7TS$sXuGjiq806`vG2X} z|FeN^fgO2w?|t9*zCXYBz4twmamHgHo5*vG>qM0X7; z@U#Mw7*sU3c0I-%G<84s>+dY;-*EomrGfX~QV`UIMlIRYX(U?OJ2eflFxj9UR6o_M zKHo?^-#{rpkEzZcfQ}#=2za%_hag~lx`A9)jF1$D^00y+6bj|D8M6YAL})EQdkk7P zwAY~dp#frT&!){FS!73nJOE7zO`{sX->WK3_j1MzW(eYN+APNib1r4f8YS*2(`JN` zoC=f*jNZ^+)Gj?~S^I+h=%U_rg&?R?N-epjfKigg7(LRYKGaBk+(I2|29V@h>)5IX z(&=iD%@nW)Ric3Nny#<_Oq(2LiU^xAvO z|9WYSiq8IOa^;7w=;=qViI3_p8R_PyO}+=M57MuH^P>}wU)e>ohj$)-cU_$3p7_>N z@7*WT&&~bg4`2OMq{qgdc>MnR=jhWfFiY>*Q}po3XP)7AEz)24QPaZ@rI+YE-+lA) zecU7TpLfg--u3eX^yKlq{aaVQPVd`s;LFEthv?rN{MiHFfALBB>7EaVA8tHJZi zJO98b`s~TB50}SR=$$*SeRlTj3capvi~bt%3VrRT2R}QaK108*Wv;gW)pxm zw|+-|ZQY-aZ0~rVel)W4*y0D5>2Ifne`ni2q2)(jfum6tFi^vK$f>X%6*WO#H{b3m zEz#P^D9;M8Op|>kyi!m=pKqp)-9w$Y8+M#reI28lIx+QZfZbv znjqJpPLh>6=+KpT#q&!VmW~3b%rGOr>o%!JPHj-a?M9M9slQ1JBy*93)2@nE9w(t5 z?9_H1y`}euTU&Tgm!+yh$v`W06Ij$i{gP7BhkX z5>qi=2v1hhBomYATmlK|GGZ(=8|HN&EoS10T#+%$P4l5NqR06(8)nlih%f4R5yWF+ z1kK&M$4(FE_U|t_Q|W~+7Dn?cyvWn4yoibEt^INzisUjEP-y#mz>|Dfx+E(%BGIah zObN4WO*3VT>luQxRBkCxTxC;*%ck63Ij72K5v|IFERt^!n{+djTP$805o;AqO7}du zy%N33SOy{)K=PIG70K6&4+@#wQl41DOs!-@b|m`s453?@+){zMs;0`%1KBpKVpbV0 zhEfS-kz5@i-r-4}P0uFrDImnSB%92kLm-i3;lD*$6!ScvOvPqJL^W*NtlzBH!A32l zOc}FpGyK!-Cp2x0$1~;|lx{Ja?``Ns&pu|DVVDVM=-I_E{fs5T*cm3mSR(&_`p28JhrE%Qk0R$OIkUet(~Po*VY2IdL>L z7PD|p!89B6*;65h(C^>pG&%)+%4u~?bA1a2&S#urea4xfKPrTB&aF;+8uS>WoNq6h zn+f|CQX^I-7K{r5=kQE%aeF$r8{`~D1Lw#hJ=p-v5BS|v;b9?*c~+N!iwmINBRFH( z2_z(3LFmSO<>4O!k>?q@K?_1Qn4FL93$$koH7$g8!E zan50iUJsWlf73x&Lx@QqDCWq5X~c?hvpjzLRM79raa)`i2U%`eUAchQB!ooQd?<$f zuH{>T6R(GpP_~|x`NfIe6gLccG+dE4Gmwur@=GRDYYi)MMf9da!$SGqDEIrO@Y)kM zg7`fzgBLGUSzXhnlI1oun%Dsx%u3l@g(x=BHv>rUad7V+yI+O{>|*O8Dp09 zOTO30qcL>m)!p+FF7@|XCI6<@%HJ0i0=@^UCoQ8>SOpFJ0fn_xG>SuF-(-? zqt^bcQ^eWt}5S+;&)MprQDT4H3*Q|&#WCJAwsAI*K088P1fSBk(cv{NOB1G(m zNeC~7kv!Gs$Mx{Tu0b9Y&OAJoEBKGDEAY$}#uKAB2#H#X2d*UGIn&6l@lW!y#o zZMFSJrY*UEq(+KABE=63D*^-TfKULkh(QU2vZi3PUOX5&)`!F*3@i@J4}r46BY93} qx)N-1F2kqkP$EI&i(gm%V%H^I`8ton@8RqH5Xq7OPRChGiWMvZtyhvIOOa(;IQk{Q?CN7FUdggP zmX#11AQ=L5GHGBsfuw1GPGCx=P})FJC^eMO1WNw}+A@Wi2Ewl?Z5hZ6(CK||_5UQH zP3XpN_q}`Xd-vS)?)$_ZWn5ZPLhf%SPl+AmI7uubh+m7POPYvgk>p8nbE|~tkjaU^ zLFt0hERzx~P>#t|#7FS$lPL)jzCVYr8uUMb@-nnvgz^t4B3U=_2av6T(gy8Mz^)zY zN1+^twhG$MK>c4(e*?<%P(Ft8ER;{7oPhEL*$|UYEhe#A|} zmn29pxvmF-kdrNBOQ%x0Dz8yWpUm4Ti0(R4=-+b?S&WNXWCN;&X0~(az8=S4uO7W( zcs#V;dmy&%ODy(De2G?E%FYfI2t6yigCrRR>cVk^{pmK`dM6e z^Z@+?DJI}0hYvwOduJ2*7mT5tK}ht2;ShWyP_{!IeIJC<-L8^Fy8Dv@C@$ianE}Az zAV1)^@ZYBYXqR1PS$6N%J0JC( zeCR{OFm>wU5`Rs>PyiG7rbO{95GbR*cTs`B3I`3`)+JC*E^&}zOrNw9#|AHmZ4s%c z$qmrtV}n}JNre;|Z7Lx*MB}i2+Dq$4nq((J$>ekr$8cDrm={s6%Bh3$LJSoHH5mT? z5W@#cN-?y-6x0N9Vlnlj#s6~FvH_5bgggn@)rTQOl(fL`w?vDRdc3TSqU6uU*#X(e?`iQv>5 zcB;batW9k`VG@QWB%onh+Y+SyFr)9fH! z!u~D(z$!9YuDP-Q1_}M!%U{+jvkPg}Yt%PhIWDJnc;EQdy=@A*x%ueY?@wPsd)6+p zJ6^h+{^*H6pV)L?7yZy34?p+7(<|uhlFlbuSFNNEvv>Dy+p~(E9W(6x=IK@Rp8Y?3 z{(+d8POSdfk-huO^arsn`7dv?(Lc5?_;ln2C%yW{1$!TfjL^q-S=NrNaM8?3t@hhJ zKHB&GCEK2!^U+J!tClYqTSvRRyLT;Hb{*Y(|Ly#}x3Ki<_QyW<-oVk%eRXipu3I=d z@an6t@ehaT1K0iYrS4B+GhNy`IbLkm7?F;sC$#jRQZ(Zy6-*fBZ^pUSW zdP69Agud(k-Tz+vm1k((p70v~{$J2(=B9VI?tY8j_Iu5~J6?R7hRLlu?5w7{_f zCcIV(6MmLM{?eCoUsB$_)OXL9g+uH$qE&;%L}^VhAA{ldk(b=*0f?jqm>_y-LACsTQF-CnJ#|(8o zjtT1gZSB-~+>WWwXBjI_U#1wRq>4v6mJmcokFq7f#)E81d7^ETIvNj#<|YEud?pr8 zsjpJ4RhR81>h(P;wV<28h9PXSNgZcnAux_-cpfam(GVY;sFVpVCepbCGE`^c(ZF;t zqz3DFCYHz*71P{?P#}%uu~3=~vS}8~H>pE$FptJ3QQtM=mgW8G&6`VLDp9DTLDatj zMP62gA{tMx?5o946qi9jp>6H~B>Aw^Nw(IBAggi`=BL@ZZpsvAas+#6t*5;3Ji98~ zZfpIOYpR?U*{Yn#qWCPa30KitkHuRmQk_Sa!o{-IUrAo&ECZ4BBm2tuisCcH2M1ZL zr@XL^n|jHJ{0QPUvKE^o7SQuuKF->Bb(O99+BH>_BZ_I)%YQuv^!Fn6RWEtoO zUo?nW19jA9n2|BCHC}0p@fp9>-RIRgXSpGFnu`xdN1{f~#v7*n9!n}<<@>xFZF(E8 zN!d*H4V-RH%X#!+)}x>Ddn0@xXIp8rq+uL=g!8OHeKSGNT*_f$qW&1qb5>WFi&@hC zYr)Q{*K*b@8Yk<6{ywiW930}aSZA_pxfl=QyLekPI|<`yIj>RgUE$IPtY};&%IWMg zeveZl=(T*%YJo9a5!;68$xzPDb1~{OeVYAJ?Kl1nCynIy8`=0Wbav#iWYI1 z>6Yw5$=+&xIH4o=1=%Nb5mYjfm0?Lhz;U#0#*ymmt|u)FaFrv ztj{~9a|$s4|JrQGU5?YA;&hhJh9&0WeYr-Q6m|9HF~(U9ku&j9g*WYoIfR%rzG9Bd z85|~*o8|Fa!hWwk$E~no9%^#SWY78B20jqC&jz9xcRg$gE`BDS__Fz|%r7qPPH{t! zM?)2PGX?p0He59}_2#f5SK{t;V2CeY8|ApqiLddPAqVR^*C?MV^!0K(?nXZQg#NX; z9rPfsCeJ;$r(B8rywt9-lCIvIY0tt#0;<+VXuz+Vcj_soURY=)5GI|%&@61Ym4K3w=}0QcP^mgXE`*c z$(D0$uw{m$b^|(&7{&+1n718<`VN$pKVn z7=Sd1#>LP~NHS=KLHbd}gf9Wc!ulgDhfD0->xaIBgUUrjGR>vq=Uf2l@wKu)-rCCzPrLo1Dpn(#r#h#BzM`Q{^vq YD&fl4u@`>v-{^-p48KPjg})yD2jBe%0RR91 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_left_xmatch/dataset/Norder=1/Dir=0/Npix=47.parquet new file mode 100644 index 0000000000000000000000000000000000000000..d94822ca705e0cea76128c415c94ac662d0853d9 GIT binary patch literal 6761 zcmc&(eQaA-6@PY|)NbQ7Bzdkg0%Rt6i$t1dJ8>HCi#*%0W8*l9+xiPZc<=eye#!HT zx;stP7lBvcitszk*f{ew+m0t5)E?Vo9r01d=8H2y)`gbLCM=icY< zkEDaNyym`l?>Xn5bAIQZd(UmM$^hPs#{I7ti=#3hyXBQ?>h(tNh3_lSl# zs@D=vLz{s%4efQknfMcYKc_bmcKD7$`#?WNQ2GJl1oY>jy`mp`>fdStKkrq(BtcG- z)+sPDK=zS+qeku1J&J@;`$|Q|KumU^g4Br!k{DO@9vOR+yW?@B&Ql-V~#ezVASHC zF}HwVw^M;K>{noGjtp2GLqW=Q@p+(9@Ar+8N2{2#EXMq{+Hg}%{k)g@sRlr|YwKd8 z8)&&1^d7UPI-(^O96GILZ$Sq=y-{=Fi@E{Lg=YXf%8#e?+VLm%u;B~#y)LkUQ*my= zu~&1ci3%DTV5`PHe^O9|!6fbg%?%AnqKezJL6G2B9VUs|%s&S3xXV7h#T=)F8SMzgq%* zeQ19Q`$&Q!CFzeeuFr<0b0-J-z~dOE~MTjd#RJrHb6$h#-%ZfOD;aR(=(;@71U)Y}H^R|hp6 z{el{DU0tssfB#nRTQ^@5N_vKs-s`n zwLQ80)-n3SYta`I7yIed@BT6Ovq$yxtJV)D{(0{add~Diec=zsY5ryV*M9uY0ByhX z%p{(aa#_&BZGwcUMRdYmpEyXt!H#uw}h##2DbTt3H z@0d*Aq#;Hv1*pm~YOB5)U?JM65V!6H=o_D@NAcKtN?;|3mQ_0FTvT|qBSsn4cPo@Qm{Hjn z69)f{AuUvWMG9r-#3+y!Y9yQ)Ewo0QgkgMSbmXN6T8JNP#e2Yob$RfWL7fc{6 z7t)z>jj_dT2z(yV(?Xt&vw0T8&zl4p#6>xY=AJ#{J~?mN-K{&*?1f2;qxnr)oet;I+}+G0DJX<+PU2+q=WOBLcFo2uRi+wC=S zT8!4B)x3~3@&VYC%Uip}+Px034$-7?6>GOwr?(g@0Frqm-;A$D-VYxXvUW=qVh1yw zk`dWa==&K$7pHbhRqCOdYCI3xwpk0a#c&Nub0}-%R)lzmX9YIDmBpukByw3cTSkXK zrp&_sTuKOYQOM@REg4ZQr>4!*W)p1GYRWV)t<&(&v`ZNKnP6}w{Dg9gF_(Q}Sj zVi;x(8hXCOFtdy!$+#IN$vBgk=5RFeONh8w<2yd$J?NrGqKnVmAvBN0nEIyP_3;+WmzXnFAYZB8mkU4w<9jU@Goe zti>pCx`h0$+md}L1zRi=3-4@3tksw@BA;HwdU%f;*2{gaF)p$6PB9u;vj!9l5PwTa z2sQc{%W+osC-Ws8l%nNsF{$x7tz(+=*i-w(rN!TT4Au}ZnWMEF*|GbbC^sANyA!d9 zuguMOaU9xm%jqjeLw1RmeMMfxes}UM!^!)_NorWn=KSL1P>x%IJX&hXn@z~agZyff z>9mGTxgv-1{F2nTHyZuEuXvqF+sm-8%iZ#+iQg%=pN{WVez^7DV zd1JF%ekWK@D8(%~GJ<=)ymIuZ`0m3gaF&7%mUuIX)l)Q$%OxtI3{$9%*SxrrdN37taS!WT#5sh=+hCK%PPsN)?4Lyf4fb7V z9P~(KCg6uj3Ut>hbdmjvJt)>_fZyl^_W;0eEAntA^Qg}-;8GIl#jZIKWzhvn=26Fq zF9D9~{Qxo1gW~CEJc|%<7AB#1F^uA=xian+KkORhLG{eTQ@N`D=(+;Wc6GeAj6o>W zIv%)^fag#{O0IClo|6gG{C9QsADMQPqly{@e^S8@3?~W(*a4v^WD$cB2xU#xXg54K zbZi)jB^g*8n9qZ<>Z5p07{@YfcDo?tPx6_}Nqq4et6c2Hlq=uJOYp1mZa>6r_&w4p H{E_KD=b%+z literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_left_xmatch/dataset/_common_metadata b/tests/data/small_sky_left_xmatch/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..b473e52cc3054470eb114dcbc9a4edfffadee632 GIT binary patch literal 3983 zcmcIn+iu%N5EYUjNZJ4e5;%~7JQxJ>mP8jziIt}=DUqUT$+nV+B8x)cO%kmoMN?Ng z@Kb-I5B-3ARzIXOONl0Raa|C4S{L-|;QV>}|w2=~49qA*15i#=DhofX%>@6SPnJ7mM%m4{CB7X(ikNvnv@9Cz9U< zgq6OHw3hx*sANCbDzgpc25{_3I+U?^(?eF_fvr!+0qX+PF#Xf?0 z*4(IfriRya&K%y5X=SV_;>46_se3J#WtyMJLgUgXE(?ZI?(0feSqy_G?P+`5=ZS}1>T`--{C>Sn<{o7P_ z76aI?V08I%_qbg)CES-dMzL|FDXn~@FHlPoVUPAuz8nwiut5#CHP5g!hOY@S@^W>hGttD#OjQaL?I1oQhUf7^!)*`ELM3l^`L%9l zRn--rZN3nreCzVU!B`kdC$B2)p(WMg81+9bkoPT?*BC~=X}+c`N8RE&ro=Jb8r#Q| zL^v<;IvE$uUC!0+MX?q60P!y@>`s!WHZh9gf8*k|sT%H!Nvzv-j; zGX$UVYMdj>%Bg_4ne<=mYu!d@9Lp>YTe&4PLbX$&rq`I84&%Lxn{Rk`#fc`)Go4?C z*O?e~$fJ5HZ$^-h-{ZAqv+E2~x#D%EW}PN$Bgy+-@%rpmLa6I-Up}SuyK>v>AZ96A zzn$Bbg0ULhKetD1e|0X~HFm4pb!LU{#3rr3Po0g*3%wh0-;qaW*z@+*d=!`cwU*Z3 z>#VxPAyt(na2ocTm!p08-Pfhg(5UmiEuMsDpZ>2LFId>G)Z+$)-io#Kp5?qmp$Cbf zjWr7W+g8NTbSqGe(5pQS>aOJ*#S-h&&ClknDU=qn$NKK=nYx|OEYi7wdkS)RdMVGE zPNRa?5g{sk_?2xF#v}L$3%tt=yw+;$+LCde2MuZ9ea264c#dD}(i3XAc`gSNo(!4L z#BX-ru_-ylKO6BT{qqmG9J?;@3MFK=o?po9CY6|!4cUn8S7SNE=2w83W2CC14g4=? zkif6vye-j?v`%4B>Iz}JplYK&rRsbCXNXKN(0=NQ4>&7tHLHH zI1t!N0Ka}eKqWpHPd?d;P*{RR7%xI1ruo%;U;G#~$b)syV@r)Se|%km=W0E_Xfh`v z>8(HTN&?K`4p~%{6`nv^G5_jr{s_&7YP3z{{~+=o6aoeVaKK1~EFzddm^EwAeg3e} z=?a<+2pkTqH(|5&6EV+Zk97rUeAmGAJcSDDPd-^`!CWHRUQ GulT=w`r1?g literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_left_xmatch/dataset/_metadata b/tests/data/small_sky_left_xmatch/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..978fe3d510832c7764e3d53105ab12dc4943a066 GIT binary patch literal 9519 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 diff --git a/tests/data/small_sky_order1/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_order1/Norder=1/Dir=0/Npix=46.parquet deleted file mode 100644 index fcef83630d26333d7e797c1bb33e1f4fb85fec6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7216 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 Kmd?XJl>Q4BT}bW# diff --git a/tests/data/small_sky_order1/_common_metadata b/tests/data/small_sky_order1/_common_metadata deleted file mode 100644 index 4cf7a744a1681971dbfc1dc15ea897e169977525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4018 zcmcInTW{J}5JqiPwX14ZYL$veeTXdeY1;+}bVH?;_SgYqHX((kwsEzJd;?5uE&7wTCfjJ9E<=Z^HPW>y%t8G>ZUT1trD+0-Hpv-Vaw8%EP; ztsi7c{)TTX(X$rQ8bH=}G|6fyYi~*4Fg6BHj!}Nyzm$BNe^8=XO9^p{nQh64b{PFO zLsCSz(rdcf{S~@=r*obFRE&eLDa3*&#mH{RSbV4gdK3PDq*XeNrc+PlP_D z@%$Qpio{yV7uq0;Yj~&@%9jY464(ddR0(`9gu3v?PrFLxs;iz6a()bZ`ClZ@9c!Xo zR!gmk(U4=qKXc9<-jLktNLTsmZmC{SOH4*`3y~x=hel~uG?YqD2VI&vaLu{&R;tIK zt1>W@kGOwqDYNKQAdcp_t|4}MhF6cZ4aS6>p6C}jt>53d__3F5*6kU{q7+q0&K0h$L&cG~I3%1HHcw_6N zo8Zafg%}lD!?uI5Fci7aRXPJptfevPeV8Kdr7gcXV7_UArp&I?(junBF})hqV~TY+ zv-8kBgi}?WYFHUWF6{i*%aF+iHi`Q|x^Ib7XdE3s>GsNoPwzzEIjWsw! z@Tt&Eb7WRM6)-bNi|jBg=jA)m4UlOCFt@qRaf=9hcp;#^Sc% z-|4K>(jYJ!ts(TXq_6J8*3(6IYL;39t6mMDAGtQG`Tr+wN#8U*8TwXrp7hyBSD@C^ zW`*`gpRd3>)TK#t!Sdv}S#l?agFRT9wS@BYbXaq+*GbEGmY|leb)`C{I)>8tOekMV zet`%$&rWfS@e$6pHXU<)Sf9{I=iyKj>AX9}S75-zyZHI=5SKN94n+Zp$$X@*W%%T? zu>)#v0`s_lLPGfv-cgVYa7}P%GX40H=)3Uwz@|&#Gmdf!>U_gKPpND^Q(2g~gsoFEZ; z(vY+a5JmeCj}-seR{Yd-qsdML{09FaF4TXzAA$ka`*?o>*D3Dy^3ZnqgQ4RC4L(61 z91iTC;=L((s6XV_T>c=?!_Q+oer*Q9YkCPhNG^E??E1I==Zjo!*I(|hpK`hP@N4}a DYK`T} diff --git a/tests/data/small_sky_order1/_metadata b/tests/data/small_sky_order1/_metadata deleted file mode 100644 index 3ec7ff013457da395705097b2f0dce056aaf7acd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8423 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 a$?Fo+zm6-N21C6+hQDBfJLn&C-{0@%{Q#Wc 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 O5cBYRqyhLF;(q~%WEcbh literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=45.parquet b/tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=45.parquet new file mode 100644 index 0000000000000000000000000000000000000000..20fd5f89ede68326b4a09466638c7022cb00545d GIT binary patch literal 6993 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 YD&fl4u@`>v-{^-p48KPjg})yD2jBe%0RR91 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_order1/dataset/Norder=1/Dir=0/Npix=47.parquet new file mode 100644 index 0000000000000000000000000000000000000000..d94822ca705e0cea76128c415c94ac662d0853d9 GIT binary patch literal 6761 zcmc&(eQaA-6@PY|)NbQ7Bzdkg0%Rt6i$t1dJ8>HCi#*%0W8*l9+xiPZc<=eye#!HT zx;stP7lBvcitszk*f{ew+m0t5)E?Vo9r01d=8H2y)`gbLCM=icY< zkEDaNyym`l?>Xn5bAIQZd(UmM$^hPs#{I7ti=#3hyXBQ?>h(tNh3_lSl# zs@D=vLz{s%4efQknfMcYKc_bmcKD7$`#?WNQ2GJl1oY>jy`mp`>fdStKkrq(BtcG- z)+sPDK=zS+qeku1J&J@;`$|Q|KumU^g4Br!k{DO@9vOR+yW?@B&Ql-V~#ezVASHC zF}HwVw^M;K>{noGjtp2GLqW=Q@p+(9@Ar+8N2{2#EXMq{+Hg}%{k)g@sRlr|YwKd8 z8)&&1^d7UPI-(^O96GILZ$Sq=y-{=Fi@E{Lg=YXf%8#e?+VLm%u;B~#y)LkUQ*my= zu~&1ci3%DTV5`PHe^O9|!6fbg%?%AnqKezJL6G2B9VUs|%s&S3xXV7h#T=)F8SMzgq%* zeQ19Q`$&Q!CFzeeuFr<0b0-J-z~dOE~MTjd#RJrHb6$h#-%ZfOD;aR(=(;@71U)Y}H^R|hp6 z{el{DU0tssfB#nRTQ^@5N_vKs-s`n zwLQ80)-n3SYta`I7yIed@BT6Ovq$yxtJV)D{(0{add~Diec=zsY5ryV*M9uY0ByhX z%p{(aa#_&BZGwcUMRdYmpEyXt!H#uw}h##2DbTt3H z@0d*Aq#;Hv1*pm~YOB5)U?JM65V!6H=o_D@NAcKtN?;|3mQ_0FTvT|qBSsn4cPo@Qm{Hjn z69)f{AuUvWMG9r-#3+y!Y9yQ)Ewo0QgkgMSbmXN6T8JNP#e2Yob$RfWL7fc{6 z7t)z>jj_dT2z(yV(?Xt&vw0T8&zl4p#6>xY=AJ#{J~?mN-K{&*?1f2;qxnr)oet;I+}+G0DJX<+PU2+q=WOBLcFo2uRi+wC=S zT8!4B)x3~3@&VYC%Uip}+Px034$-7?6>GOwr?(g@0Frqm-;A$D-VYxXvUW=qVh1yw zk`dWa==&K$7pHbhRqCOdYCI3xwpk0a#c&Nub0}-%R)lzmX9YIDmBpukByw3cTSkXK zrp&_sTuKOYQOM@REg4ZQr>4!*W)p1GYRWV)t<&(&v`ZNKnP6}w{Dg9gF_(Q}Sj zVi;x(8hXCOFtdy!$+#IN$vBgk=5RFeONh8w<2yd$J?NrGqKnVmAvBN0nEIyP_3;+WmzXnFAYZB8mkU4w<9jU@Goe zti>pCx`h0$+md}L1zRi=3-4@3tksw@BA;HwdU%f;*2{gaF)p$6PB9u;vj!9l5PwTa z2sQc{%W+osC-Ws8l%nNsF{$x7tz(+=*i-w(rN!TT4Au}ZnWMEF*|GbbC^sANyA!d9 zuguMOaU9xm%jqjeLw1RmeMMfxes}UM!^!)_NorWn=KSL1P>x%IJX&hXn@z~agZyff z>9mGTxgv-1{F2nTHyZuEuXvqF+sm-8%iZ#+iQg%=pN{WVez^7DV zd1JF%ekWK@D8(%~GJ<=)ymIuZ`0m3gaF&7%mUuIX)l)Q$%OxtI3{$9%*SxrrdN37taS!WT#5sh=+hCK%PPsN)?4Lyf4fb7V z9P~(KCg6uj3Ut>hbdmjvJt)>_fZyl^_W;0eEAntA^Qg}-;8GIl#jZIKWzhvn=26Fq zF9D9~{Qxo1gW~CEJc|%<7AB#1F^uA=xian+KkORhLG{eTQ@N`D=(+;Wc6GeAj6o>W zIv%)^fag#{O0IClo|6gG{C9QsADMQPqly{@e^S8@3?~W(*a4v^WD$cB2xU#xXg54K zbZi)jB^g*8n9qZ<>Z5p07{@YfcDo?tPx6_}Nqq4et6c2Hlq=uJOYp1mZa>6r_&w4p H{E_KD=b%+z literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/dataset/_common_metadata b/tests/data/small_sky_order1/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..b473e52cc3054470eb114dcbc9a4edfffadee632 GIT binary patch literal 3983 zcmcIn+iu%N5EYUjNZJ4e5;%~7JQxJ>mP8jziIt}=DUqUT$+nV+B8x)cO%kmoMN?Ng z@Kb-I5B-3ARzIXOONl0Raa|C4S{L-|;QV>}|w2=~49qA*15i#=DhofX%>@6SPnJ7mM%m4{CB7X(ikNvnv@9Cz9U< zgq6OHw3hx*sANCbDzgpc25{_3I+U?^(?eF_fvr!+0qX+PF#Xf?0 z*4(IfriRya&K%y5X=SV_;>46_se3J#WtyMJLgUgXE(?ZI?(0feSqy_G?P+`5=ZS}1>T`--{C>Sn<{o7P_ z76aI?V08I%_qbg)CES-dMzL|FDXn~@FHlPoVUPAuz8nwiut5#CHP5g!hOY@S@^W>hGttD#OjQaL?I1oQhUf7^!)*`ELM3l^`L%9l zRn--rZN3nreCzVU!B`kdC$B2)p(WMg81+9bkoPT?*BC~=X}+c`N8RE&ro=Jb8r#Q| zL^v<;IvE$uUC!0+MX?q60P!y@>`s!WHZh9gf8*k|sT%H!Nvzv-j; zGX$UVYMdj>%Bg_4ne<=mYu!d@9Lp>YTe&4PLbX$&rq`I84&%Lxn{Rk`#fc`)Go4?C z*O?e~$fJ5HZ$^-h-{ZAqv+E2~x#D%EW}PN$Bgy+-@%rpmLa6I-Up}SuyK>v>AZ96A zzn$Bbg0ULhKetD1e|0X~HFm4pb!LU{#3rr3Po0g*3%wh0-;qaW*z@+*d=!`cwU*Z3 z>#VxPAyt(na2ocTm!p08-Pfhg(5UmiEuMsDpZ>2LFId>G)Z+$)-io#Kp5?qmp$Cbf zjWr7W+g8NTbSqGe(5pQS>aOJ*#S-h&&ClknDU=qn$NKK=nYx|OEYi7wdkS)RdMVGE zPNRa?5g{sk_?2xF#v}L$3%tt=yw+;$+LCde2MuZ9ea264c#dD}(i3XAc`gSNo(!4L z#BX-ru_-ylKO6BT{qqmG9J?;@3MFK=o?po9CY6|!4cUn8S7SNE=2w83W2CC14g4=? zkif6vye-j?v`%4B>Iz}JplYK&rRsbCXNXKN(0=NQ4>&7tHLHH zI1t!N0Ka}eKqWpHPd?d;P*{RR7%xI1ruo%;U;G#~$b)syV@r)Se|%km=W0E_Xfh`v z>8(HTN&?K`4p~%{6`nv^G5_jr{s_&7YP3z{{~+=o6aoeVaKK1~EFzddm^EwAeg3e} z=?a<+2pkTqH(|5&6EV+Zk97rUeAmGAJcSDDPd-^`!CWHRUQ GulT=w`r1?g literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/dataset/_metadata b/tests/data/small_sky_order1/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..20f6d95800eda46bd6725b6d3db62dbfb049b493 GIT binary patch literal 8420 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/partition_info.csv b/tests/data/small_sky_order1/partition_info.csv index f8dac6dc..5771586c 100644 --- a/tests/data/small_sky_order1/partition_info.csv +++ b/tests/data/small_sky_order1/partition_info.csv @@ -1,5 +1,5 @@ -Norder,Npix,Dir -1,44,0 -1,45,0 -1,46,0 -1,47,0 +Norder,Npix +1,44 +1,45 +1,46 +1,47 diff --git a/tests/data/small_sky_order1/point_map.fits b/tests/data/small_sky_order1/point_map.fits new file mode 100644 index 0000000000000000000000000000000000000000..c6dd7b1abeac9558298d0732ba0bc2a5ba6734c7 GIT binary patch literal 8640 zcmeI0QES^U5Xbi!_C7e+L%LB&TM8S4J~)n?s&njMtB^b@v66^6b|xz$`Sv|I^Afjq zNjDe-BnXk^)6b{BPUg-r9gchga0d;IK^JCuHqX_n0G)$JSqz2dS;AG)V2?vR%0_hD z!uyImt`y%v!ZioITZ?AOVKi{YG{(zD|E`diZB|pEAfH!cxe{3+^Q<^Pj(TLwNYHQL zu_MD1yCv*ITWe+&unJfOtO8a6tAJI&DscV^m~=9xVQ>eX9u1h&^GWAuRb80MjH?}J zK1~IPt==c6M<(^|f6bq7-kv{~`S^89{(OtPRAdXiH2HW^W#WMLZLQ?pH1lpvz0kx% z`?fZ6!^Z&g_!H`dg~~T;SaZc!LJQSgFAQGeUDxz0dCioAx6Gr&@5jyl)p`4nnM;u- z?Nr7lBU0{1r>b6##$T!BVcy8yODdDiKO%3n*qwu@aXcq+Vi~Xr|&#sOEwjA~BxC z$a9HbKDf>!vsA9NoL$0zr+kJzGv5`dD754$T!^0=u5*R`PdFXx%fK0y>#fduotI&> znbV<{vN+-8fG?Lmmgmj!V$N?Qiagzvs{ILN!>@FGrlm)t*i`7P=fjh#&`|CMe1wZD znDRm-W@(MhcS>BNf45)IKcBw^2Q=u9WA}cD`(eIJP?xg0el$zO7I*d=RQJt(kn!I3 zg^ywHfw<-SpyNIIe*As%EMDRtJN(A+ODMiLgh^$Jg*!}>9*c~A+a5>3RnfK q0)M5zyYp+G(d7^LGym_;&wcB$Rlq7>6|f3e1*`&A0jt0{EARwAb#>+d literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1/properties b/tests/data/small_sky_order1/properties new file mode 100644 index 00000000..976b22f2 --- /dev/null +++ b/tests/data/small_sky_order1/properties @@ -0,0 +1,14 @@ +#HATS catalog +obs_collection=small_sky_order1 +dataproduct_type=object +hats_nrows=131 +hats_col_ra=ra +hats_col_dec=dec +hats_max_rows=1000000 +hats_order=1 +moc_sky_fraction=0.08333 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:47UTC +hats_estsize=39 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_order1/provenance_info.json b/tests/data/small_sky_order1/provenance_info.json deleted file mode 100644 index b0317e31..00000000 --- a/tests/data/small_sky_order1/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky_order1", - "catalog_type": "object", - "total_rows": 131, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec", - "version": "0.2.7.dev15+g85ec4a0", - "generation_date": "2024.03.06", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev5+g0733afb", - "runtime_args": { - "catalog_name": "small_sky_order1", - "output_path": ".", - "output_artifact_name": "small_sky_order1", - "tmp_dir": "/tmp/user/11115/tmphywoxno9", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_order1", - "tmp_path": "/tmp/user/11115/tmphywoxno9/small_sky_order1/intermediate", - "epoch": "J2000", - "catalog_type": "object", - "input_path": null, - "input_paths": [ - "small_sky_order1/small_sky_order1.csv" - ], - "input_file_list": [ - "small_sky_order1/small_sky_order1.csv" - ], - "ra_column": "ra", - "dec_column": "dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": 1, - "highest_healpix_order": 7, - "pixel_threshold": 1000000, - "mapping_healpix_order": 1, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "header": "infer", - "schema_file": null, - "separator": ",", - "column_names": null, - "type_map": {} - } - } - } -} diff --git a/tests/data/small_sky_order1_id_index/_common_metadata b/tests/data/small_sky_order1_id_index/_common_metadata deleted file mode 100644 index b4e35f472c735a3dc7ddbfe112021af5fe49a7cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2224 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 diff --git a/tests/data/small_sky_order1_id_index/catalog_info.json b/tests/data/small_sky_order1_id_index/catalog_info.json deleted file mode 100644 index 9c26ed14..00000000 --- a/tests/data/small_sky_order1_id_index/catalog_info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "catalog_name": "small_sky_order1_id_index", - "catalog_type": "index", - "total_rows": 131, - "primary_catalog": "./small_sky_order1", - "indexing_column": "id", - "extra_columns": [] -} diff --git a/tests/data/small_sky_order1_id_index/dataset/_common_metadata b/tests/data/small_sky_order1_id_index/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..185e41eaa09fde4142f0c3f27ecfd421b6d93fc7 GIT binary patch literal 2224 zcmb_eTW{h<6t>bdimH8Tl@*cpA+nUWBn1MyVWmnPJHeO|2<*lNw^ih^4Ggi3*OwS4 z%D?I3{*?Zxo-+nETvGL+0~qEzx9^-YbHokll@4|f|ELOuy~r9no_Vk@9PAwL6!zNF z(00P(x2>-~?f)nU!oe<}-(9ls_#HsME}`9az-DXM4zq=~!r`04lfqtL`nDMrzJC8C zGT(M)ch=NRJUQ3IveK47n@v?1^j{vrucjUjOOWyP~^=>b8t(T_m%B&a{S){Ve2*{Eztip6m)u{ zcsaHf1`4z-p(VVY4{urMnDI2^ZFLz9%`n5R2ALU#(-Z?gIAO%5KBA=$XT`Ik2o)FS zpvi;x`K2iQ{lm|EkxN2I7e2UtBcwv45vdb0BJzl1lC&aE5xiQ; zJ6$>7!;^dAa+Q#jfE|3J6ZrzaU=I;e(3d`_o|_noR_T}95454h)W2pOCQ-oeRks+a za&tndM^0yxhhLX;IBmcQni2Ht6B>BC5)DvUktrn%;hE5R_frR zH&!Rpk&`uD>a`yX1#&=6a#Pc;260Dj)`r>&_ea#%&m*?vB{w_tyb1ZJY%A|Ixuw*h zPW8u^+-%)V?8_0ir@j_j4R<9ss8_KgtC)Li0B5i-4wf~U)mk#ve^EoidWxInc^ZMC z&+hx>EizvkQ?EC+O0}ZXmt4$C^|gTd-EupR1-&Sxj`phjKXLi&OM#R7^GscfjCw5@ z=%qZ~eKj@vdET$rWiapAW>53FE##{`g*ryG0ljOi^eQl3{POv&!xR zWq2OdSv#wwtqEbnPb(bDM!)%J>a~RXn5fA$t7NKQ#G8rto{+}8&v1?N`--3xq5K9P z{E|x*938Nc$e4o`KDj>M5}XOd)Nvq;aKOMEuyT;gVZ6W!Z@>wTi>}Hihr-dtD4P4b z;yvdQ?*a5V)yu(J{99Cb5g%t7!E;TnTcBFQEekOT*_I`9&xk1!njqapF@e2u}HsKAI2VqkKFcw%!TC@-6(eF9qn^DFp*e(6{9aua&yCs@Yqi;>V4^mkh%M{eZ3>>GoC>pl_#;ztq!5bC^$8nb135 zBpNA(pX-*YjrMwy?d-;P;qhjmIidF}(V#DqX4cjt6RMyOOhP|}-mS#qu|V{I`O3cn zykWXCk?o*A2%#~st-}KZ%RT?L8ikBJ&ls-f_QOi(=atx>zSsvJdJcd+UE%55;~D;1 zyJMi)dlV4-TVL##C$Ud{O0hSk*dD(gnD z_#LYOD+GBhqDx3a@54~)SRnN4`f~>4;kBM*sZu}u@yQKK+jXIIje%+P*_WH&v%1Ru zxV_1G&;^xiRC2>wlBt1?H82d&XzH4wUd&>i=L^T}p&~o5bfv3mENEK;v*%6)UAdzv z4&tWfNUG#Wpnk(@7O3l13vJI|XLkzwd#+^L-60ZRX?9=lT8JiIz_5t3P;quleNUL&g&+2o2|pv1N?CmA zO|I~#r+ajfBSOd-{NehJkQCusBuhw(@GXjQ+>CsP;PF&mKI6S_*r^vP7YG>=u!AQ$ z;Sccv-@q^geeQ)|8iPiznyMvBS8~4U$kvHo);SsQOTmcu1-{UclcR(zrkj$OzHHRm zhT;kbLe>G>bXykBQGcL{qkfSmdc!mfIag`QX4YxE0=-;1A?JqZXIKaOdacw{^Tv?M z_(DQ94e(zv1bx^7e+jw9rEB|@w30)=M3<9=Hx02A_v8sf&1Jzyr7d*2EzK<$vRS%n zl>-({(qA^g9 zTGU>)s*aL3W^#ji#ml^axjPMr8SLZrX-!6%B9HZ-)R5?voZ)(THhK+lbXiL-ky%_@ zHY;rH=q5J(}<=#)17QbAUCCFfE& zI^csNZ3-&5Q+@hLa3&B*#DUPl0RwYD@jxnv@dC>}1t&Nz&ICF+aul76qOreY+H)!~ zuRx!MdQ_j|KSzao{5aDHo@;Va1l0_F;?M%U7Ur49`2_3i&ghs2IgBdYP<68E@WM^* zECsGgK#klq{*;Z1KmM~YE~nf@}uQ-(Q(e<=S0>__z0 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_id_index/index/part.0.parquet b/tests/data/small_sky_order1_id_index/dataset/index/part.0.parquet similarity index 70% rename from tests/data/small_sky_order1_id_index/index/part.0.parquet rename to tests/data/small_sky_order1_id_index/dataset/index/part.0.parquet index 0539515226f1d550ab047442d62898b29956f218..0a4f46bdcdd6048ccb467037a374eb665f00aa7e 100644 GIT binary patch delta 131 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 diff --git a/tests/data/small_sky_order1_source/_metadata b/tests/data/small_sky_order1_source/_metadata deleted file mode 100644 index ef9430eafaf62eac4d0785aa661fa4f66ce192f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13836 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 Phj@F*IW$@pCX4wSw&Z>c delta 33573 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 delta 35407 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 qvV0OokIo$D`rj?#>Tk4>)9s>l+m%K|JGLvSc diff --git a/tests/data/small_sky_order1_source/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_order1_source/dataset/Norder=1/Dir=0/Npix=47.parquet similarity index 81% rename from tests/data/small_sky_order1_source/Norder=1/Dir=0/Npix=47.parquet rename to tests/data/small_sky_order1_source/dataset/Norder=1/Dir=0/Npix=47.parquet index bb20f73db1a56c8881ca22dea8cfd6725d722200..ce27adeda1857b9ba9b82e6c6f7e5a5a9096a537 100644 GIT binary patch delta 20161 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 X1-*DS*9v-8)@63W%a(03uu=J6k#Uvy delta 16084 zcmb_@XH*qQw|0RCZ1e~iKrkYrf+8vc1_TRK6a`caAUG;w0K}Z*DRb7*Q8DM7$AsB3 zj5&@uV$L}`W4O=L?~m`hcdh&Hx|V&qYv*0N_TE+9oZf1znqjDIcH39jX1}tFaobVG zO%xE~+DyA3A@r5k+uimGAv_Q4a4?J+L$d7*t8OOt+8Ksi65?Q3RamYAcCJ>{bkSc9 zhGotN3`xiSN9|kY0nsNW@mWh95P| z=Q51P! z<#3b=o{0K~=B->qbr!56_0-}2+IiS~ReFB6!kBKgm*(oSRUy`ISEQYXA>QA`hC^e5qzF zX-qXf$TDsT&_!e|xI%TOgpVMOGf zKxkSv#=nhC=PcJz%PX$P}qw1=7PgrC;pyvClcYq+_Tc|T7>?oTKEU|({$-D_&z(5Yk zpNTQ`m}^P?wXiG4#(8uHx;{{;2hkHF!PF)rV1!lYKG++RBexdqLr@4ks~*?y$3VV5 z7!M-7N`JcQpJO1Bd9IS?<%j_ciSdX{t1i@YAUstc3(L@(evsndQbQQdKa+=nrCws1 zFmwSRa_&$YCZtT^BX)+(P*L^CvLmL?s*|1mq8j1lx#;z#CQgQU3%@G6<4&$dp_Uh5 zv>aIfBIc*?LCWY+>@u{{Z5zTfGlzqZcrzZir>TJQ+jhmy*D4Cly$Y*k9^)2xs&RS1 z?^D@3Q1-}WC&)iFKF7}0RjyoZ@0oJm=;>?#OSbX=)*-`*%pZWGanUmm?$wd*v@hT} zWb9xLQRn}#A`;{g&VIkX&crz}3;<~vrkv_0@iiq!wMvlV7(P{^WP8L`B#q_Q6+HIXX3f@;er&1dw_a8i*h1 z;Z%c9D{hY9(BTDN6tH1o7}{?xaR*0rLsWEUIa5;?cc=4Y9doHf&IjTC5VI_{?#uTWf_tG~6FJRiDCI2QjWuM|eP+WKmU({?VrxDF5Se~|CS)h1X8|r& z7d{A{a!x-4N9rwL>3L5MaSc8!hNWicqagtNgG`I6xrGZ&ytnxsC8TKr2F0JQ$Ed~u z3A92;CRlf@6mr*q<4kMq3Z5YQ(BA;jzpjy@M&VO%X6zT}oonG~y0YpW($z;XGEUl` z1#l6QznZ?7rCXIOVU}*6U6&bSbIM$?QMyryG%?ZSd+{mJkJY^jiK=@zO1vR-%?@DsR*PvL$dcho*Zx zr0Z30} zC%qz_vn0Z5U!|byiUyasP3*A2w;4U&74K8SbDN;m(f7~k)0}X0H?HdE4To~2(hT3{ zjv(65EibNVm90ef?n^c~Q$X@1S3Wx%{PwjjhSV>U|NX60AgPfHvZ}~u_9=_=xI$Z* z;Q}mCPa!r(PrxPMIWT2~*ZG;_om>h+RXO=uA`YUrt@5e<6p2>O>B8m~*hOw+O*?#;yR2&xT2GdGFj(S(9B;?2m z#Yt^vCXe(MrGTJ@w>Q)F-^Y=*jp%xnfu=^o>4tV&gsXh1q0duOpJs7^cD^=4KD&vb ze`t+v9#xgIa1kTM#^ynE=;!{ykf`Hj2w7Dh1jzE(YS2#aI0X_hA*wpj7X4*r?F-4F zh}V*4f-H8X7Ggr|3?uz=&)QVHYcYu*v3^Db2WOOxG^1|H6sRU7Gl}+GMl}a*flehZ zQ^1jp^&Bc2mgQ*m3_bEJJ(=Lt017CF5( z9TSoSOVzo#Xs4|DT~IqZBx4xJ2XhsQQYTY@JNPH>?{8}lTs7ezdL= zpB5Qxn)E~WH2m1)z3LfI?blMMwl$uulWx6?t&_;Vg&IUA_u$ybVlx@n6<;M)a^7h* zJ~l$NGSW7-CPRJYH!?K3qK&i4a>ZCORF5S3arqzMp??0^6Ph*HL%TZdhoF2T&}|ud z?+*v$A8E7pfjdRoJiyfk%qkkJSG@n{AKG$eeP4vQo_w+&*^k_ZRALp=XAcF&plH?w zxzZ0|Y)M2^x$4N=xhp%1yvF+bTy!HhVbNJ-;iLKRqmR2e^XV2=mtklt8$X+RT*?Ds zvhZvXjLG(_I^tPKQ7UvP6spe4@PhsFOZ8H;>hgIo6$07avJ$9pBaF9>jHoWV)Xd`a9Az6>q# zW22&_C9yIL?eu{C=jMyUX;E+z`z>|77yB*UfmvM+^B6^~RQPD12l|fzM2xu$hz@id z%M`G&2mrDOCIxNJl<^R!3SK09P00y_=U~BEVvu;i_|8NsTm9oCh|x(YlgVsAUmFx% znr|vR(W@qK7w*P$HJ9Iks_K58M$|>~rc>n$=4!}0=@0Og8D@f+6^ItZ5ToNLarJ^( zgzP`Uhl|~2gQI5-@0<9~p%L?^&I30w!+k#OD-%qej)W{R_g}X;@#+Y(qIi07IlVT9 zy{%|4dnIV)?Qxq)`&ThdO`QIOjy2l6p}39RK`9z;qM-C&?=Z!&|GX!zX!!w?^bYw0b-?zUVR9e#id9RVU~9QF%DF&IN(07f=;ZHJ0klbpDAM?@^TF zo1!?9Q|1?y>$eL5am{gc73a-{gJ)on;*;F1QG zzPEs-X4R!D76;d(ijHnbsWwB`+(1(o-ipRD9OsAxYA6?0MA;4N$#Sq7G__k_D@c_3F~0M05-Np$ki5< z{;N|CTtjVSQz;!7BWi9&S4@{p_hY)$ z0sT2vBB&?TSTd& zC7<*7K=#9wTh)bA17N<4>OTV{lXdR4vliM4S+m6koa&u=s?uahZDm|Ub zK%QE%-WSD8eEuyV$d=N>;>8BXy>>E}EH~0i5lUEeS*;mZ{gBQb0u2-^xn4q%NDo7qUH zckM4SYD7Hd99t;gEA;WSmvGX8*sGx5$8w|IF!J=iHrJUECXa$Wt}N}vOWuMtA|Lu> z<6?t5B;7q5m@+8pBWNokDOlw{y+1Kn#!W)~ch%>8Meq_|%iFC0i4L{x393F2ykd$O zbg2)Pqg9`%i_-|Jyyub!JXLfN2n_MZrDhl|*{?}k&pt2C$YSRZeewhZnpHO1SL#4`TYho9gaYJ#mV05N85$^NqvL;mG9Fp+JZS4KK4)~Y&n+nEVMRdgrGhdqQi`+hZ$e9|&& z0;EWoX$@61QR^dKE)2-%m07EsJ^Hv&^5lebJz`)rWgnj{i+2 z7qZsD1$$YXmUUiFei?%{Qoq^<0Tvg!Z2~ytDJn;=uA-*1hhZr{)r|k2mF$46Gqdc0 zty*1$FxiZ`T@;M5a0!mfpBuU;9-xW39Vknda)PUr|9Cv;CSiFPCGM91SL5!Gd>1RP z`c=U^o2t@~ybgIeL;f(F?pltSS?sizE1FVUOjWX-l#21U6Ud=1SBES#g8M4HW5u$=wXyYNvI{)V$!Xuh(EeW zLzK!Q@2OL84rWzD=Xsm;Z|EwrSTeOV(N{8OiH}`;i2eyKH+1MVxHNoT8M?yRt1Kkw zwOD~xncJ}(vHJP}OFFkC;T`AlT#i1BPx(Bu0^x(}65fjCNSt2b&%8Oj9%2*CqziZ5 z*w5@|Hz{l1VmB%7F$w71MitJA&*ngy`Pf`JDSN9TDAi1JM^<-u2q5zEbYd?rhGxBQ`_z<4O=4^JBkc@vQ==8+Qo03rm(P8axIm{%aU*`aX6cScJHTfnnzBYO7%l$PA8x7P|B(rhs>sBVXx)@qzg=&OC?^T+{4)` z7IGTSAoPuiyB87dL$@V>i%CmqzwEmaa@2mFBKQnj%3a|Xu2FGeD@LkrTn1mrl+9#y zx7rH0xm$&m5TXh+UPUG!d%!c9$ALP^Wi=!D>G zjfhR+;uN-9te2jio9Kj!n{j`}YcuY3YH84mqsO;W-yL{Y2A(C)VN9i4x6_{N;*e{H zEs}*Hj!ngR5N|rU!@<|cvtTD3?NECcsC40EP)XO|-4tQ;r&=v{?*UseJYqlckKs7( zKDoa@I=}(PRbs0>PZ_5ZQlHV&kBh??%Qkj&GG_J*YP8oE8Q)m2<_(STT#Mi;zHG5{ z-icH0=1T!-TXZ#fHcf|qOEIg4TF;%@gx}V{zbel?vijz?7Vp2Tvf|`*YzOLPh{%J& z`e1i*od{)VYL>!dlhD!`Vmm6BA;VBuaEORFHJWznOg^ueNo4kO9JpG={BIeYmK(>- z-k@N$?o{n4inbvOWdcu)*wlmbGwU%Q#w}v2Cu}G4nGJz2CJk9X96MngYR+R9pbr*D z7l2dU+7w$Pnv6;g1)9E7u|K4X*(^6YmmAJg5grJJ4CKCQ{;^{iP-|Y}etf&*uuMmkJpq%H zZ95hG(($zU{?XZtiJ;zR5ZiB)&(dvg2b1H+qUUH@5Sn+ZYM6Q+4?2?RSxs|cBjan@ zIcqDAR)xbb9IYC<0$vpuIm0fIFpHH@^&NB>j6)0X6i?(rk8D-zU9N#dT}ik>N5~6# zZxOaBA7ST`_--VA4e#CJaws!5bEnK-=N=wZCOPQ+TX=-3?>RmKrTodR+Vhlc*j;BX}{*{HJrlQnLW|DDxi_OQRWO) z;|Jx=9QT>C-CzN+8hd@EM%P;-;)9=gN2RngcHpH4(5g==Pa{m9s1fIp`mO5Q;{eY3 z<$i1mjz^&>Fy!z|%+F8uTDo7{NW6%$^guPi4sR8-|M-S4H`Mwt^a_UXVx;P5yy<{5 zpP8Xmdo9(Qg~-50r|x)mw)y5vfDj$pb}?mLtFjb}Nk8koCvA8SOZ*BdU1lWCMh&$U zG32U$?sLdE_}0?nHXy>;_8!{?ycE8Y2gK_3RGzHG3Xwv#g=X@OmM$YwX;X4+{&Uv$L$PfqVJh(^dr!kGW?^ zMEbLexMG2rk=3;^(DpkA3c3byRoM@v(9+loT4FxoRy_U%sNU8pn8&|kj+nK$D&t*L z$dBVut1fyK(P#1ah9NaOsRpzWAz)(FZ&GX0ZSy@tp{`9<-3!Zdr{b*CQqYvx$R!NO z`cxNEhB$g>$^dQNI>viTkHf*!tv1j*)FP)6P!3?2j9;0-x;N+Y7^xAHCx=HuP-=UdtU)IGbDT+k;$}MCWG+CvRNU z0k#0~O+g^6xl?I&?s)99t*TdGNARkPZMh-7nQj>n*om38X**C{WI0q}??^YHbQ+eD zd>=+dW(Q>0x#Ionv>YJlg%5}jTA>SUkd>-(W2X&nXr9G)qX*uZ{Z;swUhthbD|&VBHU}j@N34lvEBfwU6sr*Y;+SmR98D+s3aw`s4D1U z2G=V#5%TtBQ~CgOfk? z#ts9R2h#h0T`A$5k$d7nlgGw6hn*t=xEcUBRDPOk3h*9p75aaK_C2x?)FI zmD|9-=8y})HVO=^YK)VG6XJqNG(=}MK7WnKjYX4`Ts0UVoI!v$P~?cd!d&snb2{oP^mY;%!A$2JzAihddF{dLGOjLBcy3X$lK zM?h28&{kjr{D}EQ{VZYTmv8Vjj{l+yQ^PO2fTn{lkaE{XynM0h2mYRPe9Nik=Ar0v z^ZfhL9qt}3MbpTj*ryn&)IKuM-onXtr0fM0_&!Cdi z!)!FK44j5{+BluCYKJ4o&{Plph_Y>!+h3msnuK50|S< zU$auj&cuUgv>eAshD<%nhp7E#sh*pJQjLAx>dWjuR57^Is=u|tsS@%Umw?`M8$)XL z)vIut99-@ibu1JNh`hz}H3dgOczv_s1`FfV6T}@TZ-QL^#N-+xb`jxAU3nBSXZ39g z3+QnNNn+4L07Ot+4m|kb2JUS_)P019!9xl7Q2i~<=+9PtwDBI}zwo(><=H(vcMkf< zoHC1PTGpA*Vl8Kxa?*T1GrZ#bzR)k%?7rehjq>9zL+)J&biFnVn+&VETJjfHwq>2y z%#`1aucMLHY)0iezEEroj~7Jlkn)t@3^p3O(gQHH=>l6Nw9TA4?RgSN$~S-q=IVsO zZIgWI28cQZAE4)d0cE4!Qew>tqjA2VD+kaW3;*I!c7-u;$GJRQ%QCwz0sro^0V3af zVKp17>s*Na_uvEui+!;vKvMx`z4ZBaD#rAVjZAdvXze*r*pf<~<-O<9>rTIsO|drf zXys4`b4|BH>IUn5OJK!^rAs*nWjih-)9Kd<`4GAsq&9J<6Q0!jSt}@ZS3G9camdTQj@wwR~ExlSd}w7#c5flqr*x7##Ms_xMglZtc5 z1Ppn^e4~!LL;s}}4qVr|=IigUFQ^$OTaOwE|Idd14Rz66zP&ttvfhj|8$6FLzo__x zp+NdR3`&UgF2a^|uZg9SJ8kg~;5mrg(ZQbVm!{E}6)R}W_M?CcuT9HfjaWK*B~=aY zzJ@M+@L?@&3+S|-M7EDmv$uhh79(ot<;tPR-@Hv{y;ytd%=(e?v0VshyoaE&PA zM+TkTu`@!sH$#3QTxWxAl;aH z-b`?Z%b5A?>l%Rcl^^)r$9nUC-2&(8`HbVs?XmtW#zydd;+TsZHakO_{@$E2?;Zz< zT;Xnk)776A2bxoQt0T=h=$9LYs9Q|Ix?(~eYI1Tc(R20B3*q=mjMYc(F)e*7^1;#$ zG(@d8qt@}HGrZPmmy6kdx}$x?J4Jq*@_ad&q~0#bv^Un`K`F^>esrnV)XD1;biEzq zNk7bp;JD>7Dg3_{1;b(aijm-%>9{}4`I+Wj0<1)fV_wi(y*Y}bPOA>EmBEw_-wsM; zYucHooa*mzY$EUp-3hXrU(*j7zimK`t4!vIk)P*E>I!2wdjeIl&W0)*OY{BYRJIn{ zuNICy4e`uOc!}N>!Bv-zznYElk+Zg~2$rT_alC-^=(3&a zP5itAKQiiDHV1bNV->x&doRa|*4zippPH^Tcb;Fki{fOVk79%?%B`w?^c^Bsj` z?K1=L4g-%tGg%M@V{3a4SZZLA6V&2!67ruRZjOOj8}Uh*v9jz*7~~0k5y+mWIG0;z zou*cEHlpg`>j|^Pu07~1K|iaU<5;EfK-VWT&8pY(Gam3}VL`bI(DuW zT@y-)ugLj^T=$+j&B_}EBvq*hsr``q4IRYr6od2EXIlUEC7SZ(p;-EI`d5PTM8;ua zl)Y19D%!x(1R%9FA32o9#2EV7H=xN1`I~{Yez(;;f17g~W2#u6=4c{&W8-L?kS*xz zuQ=(k6k(vs)DbPYj=FDUnb4C)qv{FS%sYwlvu07q39})XUo)8tct}!5iqB|E z$a)BIRdcTn+E}Wc;he=-?Buz_Jb&rN>6Gn!vJo=55bek_UG~z9HI{v}ut@g<_z`pR zGo)3A7QoQcjvWVfJ2nKef0+|dS6m&+hXvbCf>d{D&!`oj;u*EN348i8pBS|Atq+4% zSM!Ai@`&vdh{X0`=V5!v!x&QjXF1ZL;RTwI62(Im<<}8oy5r7En4N@%2xQPNrnG9^ zZ&36=d@EoCw73bCVtT@9OZEb&BK`T5l&bdS4*0e%k^?f?vNJi|{Oul4Tf9U5vx?Vg z_rW&Ug4WDZs0paQP5`$9T_1CWdS0ZMyCa?eWkmI-WD(d2IM4C1gXQUEifQEjl67&M z&nr6XRQ7B9=r?sx_$=F~r20DGEvScXMpPLW%n#a5n|s@mb+G%*4K?7wKjnDr8>)OBl#E{CfiHy=SumoJS zzw?Am5own9eh{kX;yBC_kp;7gX5#$`zCa5x4}cr3ME=27`J0!5OUd!*j;yNFJk)o5 zee;qUyqUlzXg-=yOPKVSCOzVKI3#X78F^BAz6yzMZ0-;_hM1YoX}s~ zJn?3mv&dsq8h~!Zh(F9ltml-&lv}KgFrqrQ<~dzL@z0#6Yi?fvsM8GqS$rU_qRQn-`V z#h7Ya=*Dt3ELcMwW$s@cz7zB+fJs}l2-*eDPH&7R$|8{m@B-=ee$1#T)tJreLCdeI4S`vP-58<)P6W|;*>H+6p zUpdqYY;4ucUa3Zh)^ty1E;LKTDWT@=x>ta*t~ghQcrgO2+f`nfP(w$g8I_*bgkZ7NFBB{b z{~boZK7JpL9~Bc>o1jAVGx+o*YAkpc-AHu?KR2OIz*d3nQ=TFd zAyZH3$@v#g-c06X9LM_OpY>p~Wyo(_;Oh3^-w_!{s_>vm{irqrL?XTc`G1{H`1kfR zVY94vEsKy-Y!B6_Ii#T`QM^7@L^a3EO)7WU^{X@m*g>*}) z28*cBOEwKMt`)XsR#nNBnMigi2zjbu5T#b_iL3TG1>2UflFO_ztMGN?VZp7HxX8v# z|FaDMHE_%pl$0Kqh;*PT-Xa+)ZyZ_FM64O&K@L>C6|v36K43jt82z~C4yyOfZYMSI zL_M_%!^&k?#jJxOs>*&qRKLl@p6PLbmaVM|RpJigvf?ZFsyt>OzAB=z`xX1mV&5?N z5TfrCOQqhEc^LfKo;(8FxdQbR=YQ@9Nvk~k4Nam|CdM46s|PJO!Feq{<|KY(+heC_ z-a)1xIojzo{d=tx`Sree22{HL+OtIXW!f=b;w%JP)8*GpPDO7JbOpuP(7!VtWL3*u zxTdNjM{M8eaZ&n@dsupM&lNnVosH4zp@c^~1f?8rc1-gPo>D|}>UDH1u7aOA;EU*U z4hO#3z1>y{~Y`#6@S7;$LTPI>~?$x9;+%4Y4jkDJZWZoPPyOBY}Uy6 z1zr00Z$vnRxwPt(eD9HFq?cX(Ln+5CBdd|9>pC2QA&vKOL$L2d#N$t-t`qrCX?NH) zI2w~tJQdU1N8+!jT;;)K6OP+8F;*|+v4Glj83f|c0}@=`wUqB4^5V}DEE(oV@obg| zIcp>$&#HI%t%Zo6{=k)uUDiRWs+hRm!SL;TOj`EiFZ2!!i6Gt=e=Jwa6Q-K;id*COH7AHd37nnVZt z-{45nzZj`i8s8P6l??}-m}*PK&evb98d#|i3{ok_gD9Zqc`_}K6-)`8*^p^*KZHT? zWN39txRQf0Ic0DSAc!7}0llFzZ6YwWDdnVequ7#Q3okv#c-R>N=OA_~R{) zk3`l246x$u-qb`J&1q!&D+(gTMwI7NIsXeUSaE)w0-bORQ$p;e&u|00Li|*L_4o@Pv=pK6GdB9$<9*ZP}PbNO>M?fF+JwQip z_0}NOYt0q9;56X+&jJTIIj!lU4w;9*OYen!XsfI6g|5hM3z4eUW8!Y>e}thod!u@K>lAv`z2Uq2mBId-ok>+@C(QcfYaHzUcvwGyUFZAC>E;zxoy?N{d zv(D$W53CgwP&uHA_fUT?@Bc_@+plA<-s#=DfxmYkU{$?`3J+^Ue0<}Cn!QugI(AL* zI9;TY`7a_X+-e_g9~qG~%xYh{ctmsr{?+3pq80u}_HUIC+@)1wY(zv{_pFUp`%)bAx{Zj+u(mF)d=+VAwd}hb2nEdu01v6`O|DWht zrwZD)wk0;}-#NN#+`y!SsLJiDMyEGUkE|BmbwH0+-5RE)cI$%Yi1gG3nYeG*ufxFT z-qCd$1|}so9F&q!qi=LZ_s-E7^(x0?MD&eq*04rQ9pKiFf-+Hq600U&tKA}qZ_MBZDh@DXPSP0^hY|xkpA=4QQE^@QbL20d`UZs zZ2++|w=AIOnTDlbMq!?c%b7by!t~rRwUKV5f!dkdV>du}&LZ44W{R%N6d?bSHXI-~ zoj&qje5$@aOuU;fN%2>+V8d|ADEyfsnehy4}O~>Z0g&ZHqZxE6>j}otu%&=DGpqThB5%hJ*3Ti zVkooGgf@K3R42;B#eP3_mC0nZM4uPNWNMBagy!D8$-c>^p$n&d)gfg54g939QwPsT zr*kI0_wMn7zn^FDdD-U)A#M1>=K~=pgz1wiA$`L3DU4wv_$2}>H~4nl+ruZ7Lh&3S zO9FiGjY7&A$izJ%&C?pJ-f^}ymutdFH{V*Qbz!DDP4moTRL&}mWU)HcYSu}2%@sK- zJLOn@sODEWRV?-tv3MnS2bSh?Z@KCWNCXE-}?S|5+AWSr4DH z^jZ~UbOzjT)Hht-Qtj44u7N*j6Uz%iMVg(le5ofyY+ob2SeTlDT`a#=3xX@<1@NnF zCfc4rqt&VqyXrb@Bg7@!8hSERN0@1KE9~P~b=vtB%V7*=GT09MSt*Fks?=aHC!1Ij zQ_Gifn%%Ox1%BZ9Este!b=A$^LgO$4)$R z1z)CW9pYF|jvLg_@T>MgZY7uco|ONX{_XtB_G%$@?-xH+9AE9SE5Lofc+DhH+f`oy zE~&0!zQY;IEe+w8{E9+W5<3IERte5z@8c5B$y^e1eogRDCp+ui#4}1`mlPjIm@6Wl zw+re|Lai?(du&Ms|18|eo|389!cec4#o^|f~ z(&=e-Wmo>TXue+_gP2^&V)Lu^1!pxWuivImoT&vK?h9_0Z4rD@+;kCh*56fYIqbV< z_vovgn&s~53jr=EK8|pEZAI~S>hYf(W^C-L_p9Pk>3V+ej?1QJZ}&_uZX0~`&fL+{ zdrD0hsCBTZdg`8ir2TsP9LDDZyt9+y1@pztS=+WRa$hF(2>^;X>$TrF=cR1@a_Zq;&6mW?4XvHyi^%*$PVt%#*Ll`-VzP4mR% zoGi{=gw*{z6vn7B&QtX^3!hUQqh8|J)m*|D1(O-zG~Ac_I963~pM?eCQ3x}|C5bD@`=HkxUXkT_A(Nrw9E^kTFz4^QeVe0` z9t?8u&?Q|_c@UlEl-?t4!WV-x05LFM7@j_p-RL7LN|l%|oMXrb%oob%h;#1qx0_T6z8Hk_ zMc*gtt%cs@hq6$@JA-)n_W0K^{&>DwlzPMON^L*ieJ|gDWzlJ562JRfk-g(<}Hec`T>5ZrzOhsA1@ztlR7vWE0fQ2WA<7bk6+Ulvm^h->&Sa0 VJNy^^wRxA{RBu0(I*0$Z{tszrzJmY& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_source/dataset/_metadata b/tests/data/small_sky_order1_source/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..ae4d03e36bd8c88c3323aecfc0ddf6768a3779fc GIT binary patch literal 13821 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 jH#IFF7qcY(;+4c*$>JvAx2*2vujl z<|S_Jk}OadNDxru)6b{BPU6lX?G1baa03;MK@+BFGE3Dm1D!&LvJf)OlZdOR!XAfO zlnv;phW8bDTq(YRh-(gdvl7*m-Du#BXo!C+{kuS3vR+Pvf^=4pOp|N}+3S%J zBSE`{$My^l?B=ioZLOJAz$#!BunJfOtO8a6tHA%SfJrAq+7E7^(V_u!TRv&*t*QwV znQ*lM%_p${@uauO>7Gfs`=d0i$yZm3zLsWMJ5htU)OTpRWxJ%Xyvve)Ij@?s^Okie@!Mgwe`Ve_ zWM)#tQ9YHh@qpy}(I~2y{rKCx_`n|P^oPAI@9xi(lXzGR8V_;3ja%aSrZ(K?HK7baVx#l`m*#C^vvAzu4UcTPq zte1HSMw>YudLgp|E(g3^+E|`f$BQ|?Ly@KNI#=y)C>wsE>oYAobQqcnz4m-`q{=kp zy8)lz>;fh{6Omb3W%Jz}SLxsN7xd5P$KZel?NR96_HaMUmkH`oR@RRuk$A$L{RYKz zvma!%wSD1Zzja5v{61)O?tMS}K7JN2;ll>MaXbpe=esZ|Op!crhm5-0$UwTS_g_eC z2dn~C0jt12Dd3#mu1-fBL-_E^ao#^T&c`2)^A3NuSp}>DRspMkRlq7>6|f3e1>R19 E-w)DvtpET3 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_source/properties b/tests/data/small_sky_order1_source/properties new file mode 100644 index 00000000..78322a00 --- /dev/null +++ b/tests/data/small_sky_order1_source/properties @@ -0,0 +1,14 @@ +#HATS catalog +obs_collection=small_sky_order1_source +dataproduct_type=source +hats_nrows=17161 +hats_col_ra=source_ra +hats_col_dec=source_dec +hats_max_rows=1000000 +hats_order=1 +moc_sky_fraction=0.10417 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:47UTC +hats_estsize=970 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_order1_source/provenance_info.json b/tests/data/small_sky_order1_source/provenance_info.json deleted file mode 100644 index f41e5c32..00000000 --- a/tests/data/small_sky_order1_source/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky_order1_source", - "catalog_type": "source", - "total_rows": 17161, - "epoch": "J2000", - "ra_column": "source_ra", - "dec_column": "source_dec", - "version": "0.2.9.dev2+g014342d", - "generation_date": "2024.03.19", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.6.dev6+gf95440a.d20240318", - "runtime_args": { - "catalog_name": "small_sky_order1_source", - "output_path": ".", - "output_artifact_name": "small_sky_order1_source", - "tmp_dir": "/tmp/user/11115/tmp5796xcj5", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_order1_source", - "tmp_path": "/tmp/user/11115/tmp5796xcj5/small_sky_order1_source/intermediate", - "epoch": "J2000", - "catalog_type": "source", - "input_path": null, - "input_paths": [ - "raw/small_sky_source/small_sky_source.csv" - ], - "input_file_list": [ - "raw/small_sky_source/small_sky_source.csv" - ], - "ra_column": "source_ra", - "dec_column": "source_dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": 1, - "lowest_healpix_order": 0, - "highest_healpix_order": 7, - "pixel_threshold": 1000000, - "mapping_healpix_order": 1, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "schema_file": null, - "column_names": null, - "parquet_kwargs": null, - "kwargs": {} - } - } - } -} diff --git a/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=16.parquet b/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=16.parquet deleted file mode 100644 index 14f459708f73027607d0e8c340ff2d7f514fc659..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14934 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=44.parquet similarity index 77% rename from tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=44.parquet rename to tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=44.parquet index 8c16d7b8c161fe037f8f88af08f6cd0f5c05c538..562fc2459419bed99c3fbda55f2ce41f11359950 100644 GIT binary patch delta 11662 zcmcKAc{o*F|37di^H9hTQie=nZ*x*ghZ9N0$WSuRGZ`C>A+w59r(`&h22qq$8Z?MV zl-zD5DVj%9DAD(QbU*hqe4pPB(E>U+K!uh9tM4K_v}B#OKe!}88rViFVWDYvqS;z*%``Bz`fSL zYy#o=+ut>lp+m%qR~I1r+gCrY!XAN=D}yk0Q?~90c;;5@j8FwH;ar;PB?^Bz-mz7# z;H49*ot+-)qe8%)z1IMGK9}uT3HPU zdjj=(HunZp@e&O4=agvZ>b<8s5t_BjMDB+>1fFD`grs`P%hNFTU}$*_oN>sSxd*p| zJ2l>iNp0KT8(E>pW6#=^6;cG;Px@Vf5XLyBwgGacScw zxcFLRS_*uhry$l2j~q~^aGyiU2Nq}v!!FI+<_q8#{k4HIP?NXmy*lh}-Q{%zs@hqE z)j`@RkHvpLw_m3Ze1&@-Gt}o@<|Ur1xzOu!5ZL{EV6-1LITvSKf(d^8rZ=G+r<`;v zw0+H)&;{8hnn##dcnOc!qT=H9yu`ShOR+H&UQ}z90$s&}Lr=gxW8HRDFifD4zZK58 zc|DlpDlef{qT$C4-_1*v7K8`F=vhr-2u|L0(pQI8nk^$MVYMz*q!x~Sand<|4LhsI z^s9%S;~zbHVDRndFEnrP5^XpC@HJuMC(4ht=WT*72R{2qQuqn^bZ;&bILNMTZVsI& z*Q7-`_=)2;MxV*R;Rkmnbf6HukF9bI0+X>dJ|>XewD_wdTq2mEu?6yujnl%Q_F?T` zqMZE1{0FXA#G%YoRIWUHn)q)h8a$8fWa`Ae-i%`UW?X@BJV0TZgAzu=ar+rt$1R7j7VwS<<%;ZP)P)4pI;U3IQ?o}Cr zaSD~Y*!Yu(8|H_beU$_rsxYqDk+ zT)IqntBgPr(L3UD))Wda>oT^03tuz)t>J(vO~nabYra~S4_#H>^qhxU{5$tvhy3d_ zUJSrRWOlwTb2q-B!cWq;rX=slb7Jgv%)V| zV4laVE3I((0(K3tc}axjB-?E}c*J)=ClT5ZRxbPDw14OJQYc}dv*jaXJJz8qE|^55 z9?(&z%ODUPbZYa2I;R%o=fE#ToccH5&)6D9C#$`l*6{`&KOpyKmP8T}(q$LHCY402 zo_g^(3AXbt`gj@+n`w>DmrWw}8S*&Ez-Rkz^ZGy;`7N4$@bU)^(HhunZIRawS8ZQT zKRtyY)?p}1N-l}`m?-L>3EMn_Ec4*cr}Yj(OVIwJ^Ogs6F?AYOR!Aa(GaemT4JRie ze)>VJR{gCpFd)+1>j^AL-cK2Wrp_B%1QnBrzH1W28=y$7$})Rc+Pm#!9K5=pKKDX3 z0?DW~y|r*>kfi81?3pt>Gzr7b9y465ltkQ_aM`W^f4)m{cZYV)-WU9!{KnSiNVx9E zWBGLW{@3Wi$8f}>$Fv{D-E3aWqnt#TJJlPkgbRz0KCy>Yej$aM;Rd>+#=9K|+QviA z9)pkc?A&Xiq?FAY6;0gIT?e%G@Ff!(OY$eH;KhLB_b))xs;!D5vdP4Sk48)>nDWHQ zObfoSFqm@$`rL})DuJ)=$Xz=F9ItF`p)VbY&K}$dDcfb~*l%alj#BcHPCGyFHN9?Gk0`%iH+;tvKcg6VsfXbdL zXRMZBBBKI>O!#Vi z=r)OS(B;eohnZ3`;c#5KKNLoXP<|bQ2_74coqz@gLDpwrc6V@6E97JfTD^rqk5^c} zgZ$FrF`wXq&dPpy6^u8eMXA7n^QEb)p_NL*;|nVEWMZ!0Q2kR@h4j$rerRd@BAIPz zG7(v@Hje@;8Z&lSK;1nj`Mscn{i&@nQ0AWbtwV4ozQA-C`jR4w6xC!Rz|FML6SjCn z?Dc{tme2VV4gGA^f8PsV?1&qE3P(e|4M*q*ChMHm$*Cn1ji!O!N^n_i$^1yDa#+JV z2S(l-e_9GZ)E~62gvXjn{cgc;Q8Hpp@W#Ds<}FYrz|B)%J(;jRc_iKd-u$(D(i|>n zzT5cBBAEy~afh#O1MZSbb^L4iYE#ZD`UC>|Vxa+Jt7PJP(vVaLTy!={EDlDWbBsF* z*Bl%ad<#jZ@-6Px$;3;){*YZzY52z|0~+4V+g=N8J})!-0Qd2p6;*LT`;*&}+Hl{a zH5M7rjKi9d2c>#nbrrx{k(=oDOay`|)tS@KbN+ei+0Dts)Hi1CqGYjab$nUk2~2+;V6mbRWoG9tQ^>6i;({ zB@<_(JFWR)Z=q~r8jQG4Cu7PHd`_h8?0}{1FW$3zNdMKAk1-dL?s27jBKdARGmk%Icpspvu)H`Gcm#wxGN{7Wy%tEsv zJuIPOrVPQHiw)^dA;;<#vv=@UQEa?jFy7}xK{b0wPWRqvgFhXJ-siAvMbJ0dkYr+H z?hiIIcza;YXaRh_NiWzqESboUDh@J%#VsRkqT#sQ^6z)9f+eXQA3WiG*|QhZ!}0!y zPIFZ^phBVO+^P4_<@@Hviz4u$SW?%#5}KtiJ{%19S6zs#gb%G1GS5TmcfS=^p^=az zgDWzbSn0YyaUP_KH__#xiQ#LXRWP;lJi`ng+oUfT2E%>NC1k+X$mX)@NWA|?GoBUB zprZEmZZ)nbr1;EwHaTc-y0Tdb)?`29(tx}ME^E?QWvABV$DsSKgy4(NLnp|m8H%bX z9c_UNgx_is+c2?idJ+>Rcuchl$KZqX+IEo~OyI9_QiBnDw>iA^HO;UlOUcqmac<$DweLbg**8TT`s{tWooZZ!D#b|BWg-a;<%mV z8-3Uzp_aQ578FaJ8s4|HY7WNB+AmM#bCJb_~iT+s4D!*D! zyA5aFUwq#LH}Qp z9RnInI&m)K8?!y?Cy+!HIsQ`TS`}eXH|EQP`k(XPqhR z)~dW^2~}n9RquqJ?xi#7aI3{YNhKV{qx`spo<4P7bo;Lu#!QjNq=1Tm#RVhw55Ds}xBW2k2bIP2c2$;2t%t!WU-d zW>4>eVFx-V>!HH?3cKs@ysw;4H|+Fy9y$Qya?2Y-c5#rF4lBMz!9V(9F2=!+(wBp_ zLz$I1;zRJjmi5d9bPn=`?&nBpcwkf`d@)@3h_c55GB?o64DAt^rJifr3JovGi1|W} z?5l!laN}J+n_Q?IoGefTud`hxd*RSJ6Ni2%$FuNUTo(s9z&8`m^#=!eamv*$2$N>2ove?F7)f&EH**+Ww~9bwva0tK)F)f)(pr9R}gy>w|92-PpkVq-QJsI&%;BCtr<~Qj6Fy}E_9|w8jbLLMaSXkrlqzp}k zR^QWtpPwJy=m)!9K2lD=x@m=~yRbIp*BY^Y4l6fa>y@x%vns$k~onV@s9M5kW71%7Ef zH#q=1ctt7}sBn_GTgM}{pruVx?MkR$x6#fN?$10ra|p7DMhY-tc-Fb-GHB!OTUZB+ z;#OJ=!g13e${bZXC%L7?e?m-^lk|yNep?0>^fj$gft9zO2L!?y!O5;jxUuH2`XN{y zF~WZsZlQgnJ%k=py>1GLoTQprI=h`6(7%}=;rhjTk6nUfrLEX!nvR#F-(7Q+kkDrD5*yZT!hBur#GGQhGa z%ju0Fy!ud!xf;HG`pnT9PGr5zErQXfnO zz;1Zwe4e#@rx2N@%U+TWjf8g(SrjN~R0|*pU1Kth79BqBRchKYc z_0OWOF~GSaNEzzcl zLGi+uP^4>L&Hz+k7EHf|^LtI)KD-v9lL6KGm0wX|r`k}w=#3EBEs(%-2aa7yJ<|u* z+MO33hjp!0hj`x#k=NhFMvB0lm9|R8aI;f{iWv;>`FVN=)J@3bYK9fjD@Xr?od*iD zpTX9e!Picoa5*{0Uw6S3O=;zQpXfrQ+aj6El+Qxs%@&Kh$}r54V_X|byjj@33XVTg zi}QlYbMD#)LbWRz?K|KSPm%6A=qjxCKPEK zdh|s2$v|n!pHrM%#7IB#8cH72*!Kf+n*Cwo#U)PCw(add1^IZb08FB*3&O5Zc9x8pxt{sLS>WaxxNS{fNb>=IXLP1<%J2nb?qx-FAUkaGxj8Ga|w364^PoEBqZ7q zIM69udmv@t?hN}paq{@42PzyeD9z~v7i;Wuy$Wokwt0N3}jRnQYfX#y<>!6B}*+FYacW;ap%#si%pQUxp zFk$M41E&S0#7X-b!r#Q9#X+8aX}Cd{XTv(k9a$W-ANEgl^xc6IdX3Sa;N_gUL~#Yw z?lhOP&T{p_LPX;*0{c$cyyBO9vR-}?CmCZ3(>G9&!&z{s8=gAs zWitv}IPSigfIBoxgElCNlZgXsGtyz%U7pg5u!F10vJJjfNj6m0#AREvNMS9EvB@TV z;Ec-2h1;O|d#x3za5%KnycA|^v}L;jC#F}6-PEKbMaSgVb)!OYP&>E}PMh588G_rm z8plTgfdf_?k zOR8hgo=-TVG?qrjm*4Xhh@+9k15CQJ76O$QMSRa-(^{9-&u}kiaJFJRjl4a5+^%QPrmLsBc&4?icZeRO$acrlNho{oC*Fn9!yv7|+G%WMS1-Mvd(~|4( z>**?$htOnotMUt&)g#@bzk^2d^ygUKf&Sf9vg6SFLA9RPPE265@T)4cV>9#BhnXXJ z?~R~DQoo)B9H#3{+IS)m-C7uQ3f>pm+foJJ>F@h~6K?GC=@8vTBTMBqPijCz>yO zn+fR@pWdAp5L~Z+(9UwGX1U2_=$G^0`V@>RI6;dj!UNAfz0?C=&-wZ8K{4)%Mv?zR zXu9j1Fi#1Mw3)x;h6-HRJ7{eJ)oJ!Qba-4x#dVTZzTiqKG;;Y# z8|Az^NS*DMxVx~NW@jOA4?DJ}Oe?`(CE+QdP|(x8BodDAv>u9rT9kD4VOY03wNRu5 zmu^$^UUew&sC$JIJX7=3yAg)G*jdy8Pf=8UO~SS9I`N9FxP<)GE9~hA8r-fayTM1Y z3$py-p|781gQ3r^O-gBSS5^PXDwzA(>0o z)3@B;lLN1=ckalC^<~?>9)#I`+!_pMX;7_t3finlR;S-YaP7Kd_EVVqWovy>8;z8_ z_pUn=Dj&Xb`~$4o);`JCj+AdAC(Pmc^&4G-q0y)BfswGPAm?oytnQa+Zi8tLREXe-Muo^3h-@Z46v z$a^qg<&B{cn9^s$FZYN>-pDz=+z4jM1m6gR3@gjSVbIRd<1y!B8u?SIKu8_t{0JZ2 z2qQB&Vt2y%hr2Ak!hyzo6}2vWaZBkbn)?xCDJ;25`GZF8C@7O>hiqlbidhQX?8;gO zH+@K6W)0`&KI%CR*=vliv3Jw(kDZfwTrhL-{YP4mc^>0Tm-XjyA%je`pP`JjhqbC-4GazD zb75JRgC!lRXw6Oe4BLw7YNISg*YnSLiFV2#5ldh~L9J9E+^+SwAr+eY#y94{1N@?v ztx!$NZ-@Q>-v7yAuFJLvYr!Fp3JRJJ~K-!k6BkbzGnY{YTF}SRmp)?+}bRk`(?Cp3g5*oq`>i%$@A7XyoZ6 zrK=jR@cxf$-^g`Cg{;I0OE1_f$wrTYOGXS+qTyUwWo9-kT{bzu^2Y{0YB5y%HNUqU za$m|KFTxA`lXLsw*>{z(pJ1F~@2lk3G_sXhWW(`>MpkUnf1(HZN*-6NfhMPS$0ohO z`=9qFB`6&gGuP7Va-egBl0gleGr4n`=N*j{kEcDCgcIW%80OG!)fWdhc7{C>W#4EGl2}S}@2IaGS`jk}Hl8I@WLc5_uwNZBY%5`?6 z$XqUgCTQFrtlAEb7x~-qo7<81c9(agL-&zOiuusE*>?CiG(7z$&uf^kAtI*okAeix zKmI3|IGYO3|E|5DHIl~VJek5HEyf|K$HpZjDZ%gN@8c019uViIZ6G#B{Mmf*#2SkD zff|a^*gI~eSDjqa6945v|NZg%yTtQ9bsEn}jazJ&WnDvwfUDi6bmLXppper&^j zD3d3D^1B@OsSF;a$#kB4*&nIwJM~8$)$*+*zEdMV_zhpUwGQz3!_aVru%gXx(_yl{qg?fbep!dIa zW+ZV_L>Lb_DTa(|Je0Bjhf!*bx11D7h8!P7dzC(^NovaP#6-Ur=@#P?85Ix~%9>1@ z#2@*cY!U)gJ3DK~6;WRPJ|P|wlQJ5!KhzD3Tt3Pw$~s0nA4OrVvAGGAN;Sq`DlLd1 z$WM_IaB(z^@-hq7bxJVTyR?R%@`YPqlfUOW<8U9-fDz755#u*m|My^q`g}^bkdwB5u(M-atcR1ouVrA+ z?{4!=*86&x{p%Xd8QJ_4Np?)i&=96bGtvbpa*S#*iV3&QhCphxr3vGQ7)6dAzah{( zz}J?wd1w4Jj&*j_3vza{{3{_;2Wl*pnm{$DQrG(-O~z4FKPuIhRW_!gOmjwo8ctnH zrLLPzp)RXTW0kEikZKadda@_$7YzfctOhF8#zsd&gVk(HH=mt)9jlf#@~9A&<1=ZS9O+&+Awuk565BNXEv*!Becvd>GU{9R>@A0Ak7|)&CF|2i1zkpo>!!=>MK)TN+ivS3`r<0l8xRtksB_EgMt)XUnX#{=Qwa z#ormQ55--YEt^EJW|-YNjfM>_N9|gZ*)$o?*3O2%hvHPI&c?I5(ZnPgnyhML=l_^+ zHqW!y`S&O@7Jps5_}^8|th2*|XV=EsCpFMUpK(T#BEQ(oAiyJJQ=qr0L6D0hCbZn} z*P_g+F~9pPrq8D9?|$*ltg_8N`{~>0|8>0o$Lak0_;4520<04Lnuq#(+a@$@a5fpH zzmvhb62Ft@$clbn7vlidef>uno1X1!Z-cS3_seoNg{FV^|J{>yr&;Ii5^KB+Jz1w` zLS1LiFp{Jw(mg_KsbQ?_vO4*hc>UGEm>M@b*o*c1U$Se#Dtl=gXnBQL1v_cm1v_Kh z?CH#or&<2T`2Ree_5U_rXFVOaX7+e+Y_rFMc5~LYaJ&4d#(sFuW|xn*CbR$8pE9jvvpNT??z@@03$ltzwf30O|)-~Ty!o;t>fw2&kf64E9V;ygu!D51qzDp^Wo$AUTiZI7M(Ls%xdd& z+1^R87lfy+g9JgXxM{lARzXmTOBRZfq)xhLD;dVDFxp8QB3A;SO`Tx`xXMn&Jq{~?Y-M+If}W12y43O; z0Me2@$lfswid-Uz6?J*#vhl36IZx!LC(w45t@uO+YkYpbCi^5wH@4tBVk3& zCDb`#4OVsTAtK*b+hO!Jl=matDjvGbm94*nH1%)@K$^KfR%P+`KvZc^1kbhioyct8 zg}N%0-6=ZDYRBMRfEiqOBOA&AhC!&=725L0U|I7mDRWczir$j2hbF2cI(`oq)DC;` zqHGDiF51b;FM%cC7CyByQ=#WoD6A~rq#>E!6nGEWl8)uvfj%WZ{vJRhzPK+!awFRZ ztcs!qz;A;`2Xtsq!#e zm}^U2d-a6x&BU|jum{+Wv5p9YavS0#%`}-2XjaMz3|h?wd~q~at%&?ZB`UP2C$euS z$-#2|D_}K`Mqx&G!)_!+)^2!(gD|rm;%%5X+9-LeZ3mde?XY#u6~n8qMEG8=#l)!7YLg)1A$ZgW9(9m%WrfC< z_o5F%c4s{l-$oP2LU8rEj6k>gP;6F%Rsp722Khp>P#o|&19;Ch4E)b=urW^xE3wcc)>XdpE+3E;sU%n@mvMUH6rLT^kUZDYNFlG{2mR!ZE z>_q>|g86RkhN8PH?Cuy0pwuP=>eW+1Bl^;pO|1M19$CxW&=`~EY?jjQwg*AIu|DXvUCRG)LZxZ z+0vO1rVZCSFE@2IC0n0{lp4+EAdSNV=TgXpXs~JDlo%zmEF3SMhd>D#XCYXLzF;B$ z{+oDFpAVl;{>L+E*|_Wlcu`O2Go>nGFDp}A7qZ^s+AX4MmB)~5l>1@|xbuhvy<)#1 z&%pl3{jwLZqG-YrCMEkvJTE|b*qP-+LA9l%XhVr!hQ1i$vNE@=%517>jDHo*M@{NE z&gg8Ygur9yZX_hzltZ(lFVmIR9Q$h2xUXQ3lH8Dy(h|o*>sU61dacRVq%B6<%F6Yr z6KUc88L;84`N(91CGY+eNO{{hm&JFd`ZR1!n5i-6*5LLy@IjJYP#!kkOO{>VJ(ao z%1_Cs?;&tO5(>|Q?{?#LsN56j>zVjxhry_Lj4wcyCa_A)O6$WL5P=y18_Ac>I4DhZ z6PFmdB`F=90n)r`kZ}@*sk7nEZE7#6iJi$#a2V`YI`2EF&X9WKzcZJ5XI&%l#4;fu zPTvZ9J6$K>Mn)spt2SHQ7(|1zL&2b!cj%MrRQIN^=*f>D(_HhLp|;fy%g{HH(EBia zsOymibk_**sj=x;l^ATQvgY+V9nGs*7xib0g_WRbWaXi8JOWs24hV#fohLAWy9Sff z{|-c5=`xY2n{|;ECA2e7BECeo?{!5qm83Moz>!tKWg5eM0S?K+tI+9)(VB8I=;Pjs z5GI`J4ZrM`lC)&>OyqLJRO*<-UQs?yW__spFGFFQGHgPjNgbN~E`dbZX8^C}I|p25 z0V7RPPU*}?*@9Zc@ws%Wz-=D=FXA4jZJLX=l$91G^O@wT={Oq6+CeMyovciVT}(nt zN7^#Pi5;ixZ-W=XU~Rp`;CHW zKjmzNHqFX)8?~KC-%f3XrT0LMveA~T^47?5s^g6#VSlk1IlWV$1R?No{j`aanw(g-2?8?+h6jHlATaA#Qe3I z?JNZhn*vV;p!_AR4I4t3uyiWAc8Vt^lB7De07&a|1r;f4Po5x=QtyqZ1W8!HPE(b3 z`e+Vb1^Y0eyNb!Dose|0nSReXL6sm|Vo{)a8}ik-2N9J$br13xMX2a_6GSvT#`5ZKn(`pT+(K&Xxj zw{frU?6@7KzN`qZo|^rLK0kn(LQn62COccGHAE%>u8KVY*Sa^wxmQw_ZzfURm|d*= zwo}O$un00*>O0p0UG=pGyG3tV`~EU|MHYT~xEI!{G2BIj7n5)dmbIL9M;WfdAdDQt zo_S`X9&ImyOs&~VzIczk$>2Hny9YY8iSK>T8P^gMp7;PMYs7&dTyOZ0RC8+c(5nrA z7e30Vt-?4Q_%!1x5j>49Aw~-WdPMH zrEDqAIf~BjMor2>Mu8ojZ+Z$ZT1m1!wI;N2Anye1QIe)yhn}GW9Z{~Gy(<8&j_N|j zM}a)qw(@Z%X;chB)hbnD?5rDtPuQ;?%*^krx}d~ZhO%Nm!j+~uDEwsSRfr!(KXO=;O2d{f zL3IX43RycUzM>sJ`e6P@N}o3bA<{ypG0f%ek{Abgt=+BEk?|`He`PJNVkg?Y?Muq(+KsFMDpqx2 zHdgJ?M8ebO5MFjG;jK^dc^^-@s!zSn#%MzW_KCLkcR+-mF>#_9x$Troyg4<2xgGTI zOL|bqAPBKiS11&gx{xUt!en8mUpH>zIX`!2g}1YU>4xWvs4R&cuDSmJDy7{wSqO(} zGk+*xTPq9$t!C9}G}Ah~^H@=`(=soPbM!#sUod=X?R7kpsq+dbVuVIT`TZxe@J5dV zNGL;hv`ze^N~}JGr~eXGr?R#iN1Ar*Ac@XAAtbJ86~uo;Yu9iuSt3q-Yg^gn*4kYkJw{;*%H4F9p~2rY8_1LMLTcBJX5HEya}o-N&$Db)T5UzFo|S!=lmeNDE+U&7T0R^X-jA$7@xR{d~@nG;NBVK(2%;W)uOJK z&9Dk(BPnX0T`7-U55JtPTMs6pE)1b}1Jvb1o$0d=~t93Fk z2M3X7w@(U;H>>ujIa#R{-UrTa;pc6BL0>jPL?AxcWaaR(bo{7;o9bu3=-ASda1=LE zvyK`;!o}iqqlD1UWgbubUrRJG!K~{UcyE;nHHf> z_e8J74Cj$3TC_m=h8cB*iZyz1y14T6cf31=`Z5Zt*^;suliL#eEhWu^Bzz!QZv~sv zQm|b>8%Rnp>qxzxyA6)S(h4;grHY%GOWQdMg5pq&1|#N{By2lP#4}A}6a2#Sth(>y zK9*0;C5rN3y9>MIL#(@$@EkaJP8s%lnaLa!U{Wb zE`ak$M|IF@E5CAyOX_>K1M>l zlNpx}xZjdiH)Xq>>%#mCqXz@x@6i`g-5ANH6NZ&bhotkHDXCQA3>r9X5Qvt<%mmv& zMoD$|orUKjHk#0C5mxo(2f&rY#M!V?HJu=0(KV8844BJW@Nk<4sS|%Ds6l`Q@qE76 ztTCW79QPq4!cK0TYJZlncF(bx*4CVayotSv#Qm&QvnB#VvqzarYj$>uffEPk%R#d+PvTj~(GzB8B3on% z;P&ySaGqV^hA$mSu}6U!)X^ASucp9rB}|V@S@ZO>xDei>N4mJ&1&X7 z-Rl?ltXciYmmXCv0I;B`2dAFEz}%PQSg!m^j-@JTdt7^p z05q`W5m7ad(2((ME}-Gul#&ORJ>o^oAE zx{Qy1!$5D43Jn8s*DNWa?LlhR_Qc^w*!?9|ZQU~Bw+MddiMnZ!ao?KfAhk#TE5^+MT1V2>V_(AjrJagvy~eDWJv3c8&x8LBPE1vwBEl_ug?|yK zkU~vIJk2J`uT_mgPOJn>J>n70mMccD%R=3+niF605w^Tr*8~v+JXmAo$ixBsztsA{DekiM|`u$Ob~V&Yo8@?0eJy zi4L@;w!cc#N;l+7{ok@tmhyJ}ZhOOV8epy~;dWb6e#pg}mbP|02tHNN?{CXv4#`ST zt*_Z=&#p|Qf!8C@iPCZB$ygUvm;#@28sSmRnoHV^VZ1c)5qN2$95>RW%MFM=)rZnk znoWaYYDhd@gyId;sn@*j5#H3-w%laYM~tl&HkP|g16U*pAK8|gtnV4B?<_ht#g8J5 z=n6^cXCcwfb7X5cdNwkvUPVEme#^{b7Q)KUhb>yq^MtK0wSe_=)wmFLZ>)mCxEN@r ztXrH1+N)~35*~qjMX9S-9?glvU(`^cD=2BkjFk-cZI+v|koO;jwQ>C`Y1^ivJ=Ls5 zYaPqF17)|)D0%zL^Nhr{BltU41CyE`4D!gj)e+mKRlR7?ytYOuNI5v$s~+i;YIABv z7C8w{?<+Zd<>JG?$J#krJ6XFn5WI1^{fx$u;EzAfetWv#1nX9hN^D%643+8&)^?Sg z%XaV6H*;`G(va?b`}a&8?o_J6W%~+07m5`o&Jew39JcYgb>`osSz?T$!|eNKnp>^A zZDSc&TC8Ss{FaT^%3C&;W|HV>`6!CfR`>4OSoW0`J#60JvGF>3$7c37XPqt6ONkj) zhacEjK9v$ZZO+}d@tSkr#`0q+(b=L{iI4wjR1Md*1r7@S&b%YUARadSpE}@F>c6qQ z+P|7@Z}9q8yX~7*c)wRd{Jf+Jx6au(3PL3xXY0(Q{ymchJ0G(f<*7%wd&+=*SsDEY zdp2_K;`#UB?^ykX_}nP}zxlA_*@=#ShYTzuI#?c;6PsFW%Zo4nj{A4&Kufy47#JGl z>+c)jImXA`^Rr#uho%l1+;>2KSmPN8Ts_Y*g0pPu(4l=?qroYCQZtgAr@H&`-!M~@ z<)Xb9Dn?qI9mMKYOpzx1Yr(~ofd65`65{HoC&WhqIM@>DAbQv(#fObd2#oNL5A2tf z*s^obj-d|X6C1mJ!%_m<_30TAl9`;*p$RA#o}05jQ-zhHCfJ75yNf#+oqYa zqGBzsZlXueVQtf*`u2)3#n9&n6FiL?7H%?yCzyJhOvwyL3lrXf$9o`S(hWh#GYFp|Q zRr?Ge%YVo^wCpzmfH)>fCu==2#Lq7npcdhJifGoK+0q~VvHr#1F(YIIGDI1sSg7(F z1`kZlWBhtq{N2SW=JrIy2lmNKY1J+*A-+Q|*p{9c5298LK^;Q0DJ&Y#bSNhBv#B~% zf7G9J4_nk9mP9`M8%Ra8!(Z8AR;;Pf@uVzzo{_0+~Yx^ICasN=LSLEmH z=xkxs)8dbs`K+_03Auq_{33B&B1hKwBT~)vNFiJJ_qne5WJ097o5F@BWMuYBsMnzv z!jy*4g#Tf2xT)>`Bp@9^{^C!`pzP)&{=?sXWF5=Ms-j!c-|3R#7`f&tf6$psdQ42c z;k_QIuns_*OnNQ-6{*jLCuBrqCF*Ft$9#@ti;<##r=jJsrx+wXtttr7rVauB1)S&l4*&oF diff --git a/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=45.parquet b/tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=45.parquet similarity index 77% rename from tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=45.parquet rename to tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=45.parquet index d8dfc3cceefb6520d4cc7196eb1d163a13e45edd..efeeccc7d83c279352c59a85826dac6ffd19e122 100644 GIT binary patch delta 11562 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 C+$)^` delta 9326 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 DnzYTS diff --git a/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=46.parquet similarity index 73% rename from tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=46.parquet rename to tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=46.parquet index 3b7278ce4008dd1454a09da21142b6c6c7f6efa6..26672953d9b909ac0e107c1854849c472b9a9e05 100644 GIT binary patch delta 8117 zcmcK9cR1Dm-v@AeWR#JWc|zjDF;W`Rv3K?=ipmO!j5Ll?(x7rEO{0>L2-zVkl9fuO zfrhUmM~g!0ejeYxzwht+yYKtD?tkucUC!h6e!pMu&wGB#bs0%yA4+2{a!I7gTQ8uh zz47ae`c*+hUVOe~Jg1Uqs+q9R%dI44f0{>|Lf?BfHV*Kvs8VhsJQ8weX&yWjSzz!K z)+h4a9)s(AA94xiRT5s72C?&@YL89j0!VAAO&5YHjccW4;9|xW2@Oc96wtQLtE3X+ z=ewpIQPH8^s_h3`A6(iV1`kBVoz8;P>iz-E{7Pa$*1Ah(aKkr7t{2?>Xq(CoXq)_C zO(Oi9Wx{g}%F%4UGCe_;38;W^WeuK#usBhF`a2xkd3Av62F5$LsX^cdwUY4e=I%d) ziq>95vm%&0@6!DeXqjG^s(Z7NXcj4V-3*uVTyzvFfZKrvggO&?4tJ;?n6zK;$`lw++Xq%Z*zc7>-RMIL4jsx&p_B@AElKI_m!t#$$^};ZapPXkgV3! z184gmo%sRxA3r>wowu53_Mt`%nIXtolv1$|K2lWOl?dfL>ldEi0~Pxu^!LLmQQNdccvob)DH%qo zJl}W@8hr~LzX+Eo+&GvCd27byvf!cZCRydMQ0(D>E~sG_A2z#~s$sO$pO z1T}&;+>0AQPwH)wDjck+&R{zEUbReB5NEsNMWI(j9Z_0wriKQmXExTHhqbG?C>Nnh zQ(SpiWF65P8>N#EKRN%>yai7QCAHVWYgN8#4KP6e&}FHpI%1ti7@IuI_Ko&ckE){* zx8fqHTByiO-YTF24NMKfbYY?TuR|N4uGPu76OdXUSCkDGEYBt9!TYX?qg}8z!gjIL z-Z~;AK0YD_DppyZXoK7u;3w_a zkbsKsF^6R?K#s?S8`5E~<&!&TLMKHPW2E4EA zY+M7&rA=mfp<38*);p-uTKjAolKj4yxjwEVc86!RrNY|{Glt>RzB;0Q)@L)*MBZc3 z3+3rVyJveX3CbV*xqiud zm5vl(h>WG_7iyDA%Qo`l9)NsSj^N4>jYE)-G9&Z>mhNA_8MgnC20_gGc& z{Pzp9gy2igT~*6qNT2W$ zex(QUog6lQ1goiRww_-R?5lXXSB0Pxqu&%R#lg1l4f54+(VfV(;u>^xVT3h9*{qE z))@L)8!fI^!{g#J?_WVNX=>RJT>h+wSmKWzXng*Q4E;MF?$L$S zKPT%tAwTc3w@f8GZ+oZ*(uw_w52XWO*eai%Vt91dzW&(lbi#4lYeG1dPE5+Kxpf}O zuJg31h^12rHx60n7pOSBdfo9?a8ve?fS>Twj#t@E2T+dY-RTOQj+&Hv!t#A>oyXuZ zSr_dj`0fh-%d^ls@B4PrK{~;9p#QNEEPHUh;~-q*w)~}T3Y`cK`?O{?+#YZCavkhx zWvod^q0$K*r3lr_s3_hLKb8+A-%@-lpvg|QC!gTpjdR_6skk&b*<#XgOxkf+2Ras> zaSVbT{G7j{V4ni@^nN&e$Nu>lC{WaE_XM`~{c8RO>vZza^eI^*gBCD%Hwe+oVJ2x-593A`U?=AESzQE3Zu1>yd}6p}nVr(4NzgCWg5nXpH^_YNGI~826Tll(TRZD0z(qefQYUp;P}>gQdC_8xpvaE z%i*u(+PfU!&BNk| zrJqu8<6Y4_ADI07nbmeE)?GAz0tW0#Gl{xQCl2=w9iLy19T6<0R!Sh?Rn_>R3GM7^ zv~{4(!M!{d(94BO%^CWay_cjxl^Yw=FTfE+{Avns-l$D$hVE~ICT|PqHiyOVC;M0B!f4)XsQm3SV)i7>GI@KE5bO(96LQ3oD zi4E|TcACL{n8IrCBLm7g3h%oD)u_dlo`VQ{YXwNdaNCG*(Ii}v;$N@YLMP@4SBTQ# z3U1Xm%UbD#5UnyX6b=+Lj~{`bXKz$rgkKC#43tF}#W%BKC`G5A$^>TEtV zQi=;Lg)$Dyef96ti4AcIe2y^k^2%DacI9(e9@4w2gYsdy?PK9%X9@Dfve0)I4;1JyQi-g!3=wJu~ABB~B!b=y3;B8R4b>eIk%q#l-wg9Sk=qtU4 zk!z2${eq9D;w=N~Mv0t=5SC!*eCxqfAGFMxb$Ja3{Wy7tp|n}~tV}N`!{7kOgQG;UVnmH4^tZZJ9t}&qZ;sHQY14Og^&uRYQ|>o=*q%8Z5dmrS0g{n$)l6f< zaj5vywyX{6hFxKsf}5T?kMq32PCGay3qrM=H#9luUrk-QQXawDYwqRRP%i6|t`RiV zXaD92A74pv3WQ%pIFiGl`~6e*ryyy)>w&9pM~N$IH?!u!fD1dC`QMKc^0V?;GH{|t z_rd|#r916>0WO~Z^j8La5E64R8y-rtP^^Ob)SLIKxc(R=K4fM;o)78mQ`R1^Km3er z1iZ0)V-poRmh6Z;2?c4H>nQIWO58FVE6!6ycM)hV|yX_0dJAe%PtLgZ1VM8HpVEyh>~2+ z4G(u$y7NN5v3=ju-j5L{^e_KW^L~s<{3`z5+k%Qyq{lqI!(&9pns_aLxQ4ecECI3w z3`t&qgDdW=7=oOG$9TU&yGzu5^ABT0a`F357En3wbaFo&bXYR2GB!qBIK(@#9QK6e z&-a3TyC$DU!e0(TQL*rG*S(62G3ppGQrMY)8x@63BU|jo$B0jNf-8gIMYb)`G0;9! zK~(?q7%?f?>t_wk;$-9_q3ip5*OQ>+@cD+TkQ~2vZ6B=X5$76(v5oVmf54fNN4^GM z#)$o`&sc)t5_8&)e7IY{TDqT#;B$>P@Ab(s;?YT^qwnF*9f9Tyc>3usPtNaSgeU9s zX_*E^&W?H$Dm?CWy@z+ zEbU13Wt|x#*kko?2tjAB{`?j2>($!F#&B?v*P0+^IRm#D3jN_6e+p)rJ%}oSuRX;F z+o9kYsihBLmHsu$cd+fm3gub2;(;!w$&WF@YQ@ACA7~tGa5V{L*#td33H44>lSx+) zxLcLRmcb7N+5H2sd|dg_Af!BGuuj1G#4S1Ovtxvs)RjI?n3R~D#{_= z_z8muws>%hX^&f0ZzuFslq-1#Z%04s_ISo1*bOX&H^HjRH37cRklMy&7J@)4+NSXg zd@7oenhAwTZhLP+2c-ogKVYy+=hNNK(ZTDMWfD|48A?A7ofaqyTJv*kfh>-xQ4Ik5L|erhB1dcmLb z4rXr;4_*6`LCC)A;kyLCtP)NrhMHeHv~Ry;P>JFGrIZd-h>Y5tWO>CPa!p<*2*8yV zj5>RG-nq&33Dgrm81oH&J-^J&{56AU^ghvK4~=EbFF3&(i^WG{;Mqu{7tZe(#B7;X zxz0xh(Xu_gdL4Z8s_t+PbP8H6_810meLv6tiHaHZ56zl=Vi3<>SM~;UiFO!piPCOw8Zw_y#VxZ)Iou zl|i@{wdnXkvhAe(QCKzlY}EL(C3!N z@OL=>xmTCRHwN+QQ@KeZOgdZ4eGNW8F4mF@{r2i{)I-@X!}1N#M=dXM7`ATeE8SlyK{fN`pK zS?!=2--egZpoU^e<6D@>v_s zu}t`Lb}OSDO1ysXa1zF;Z{EOij6_ZslD1Qal!F6JMzHvCO!annI@l#D0#bXzT9hv% z$kES>cm&HE*8CWPAL6;vK0qOj9;wXZB=RcP4!*F@+27?dq+1?GbWmzO|vgsF@-ELVV zvh;^QqX5Y6zb>N*ZoX2%-U@?x5|@5}KWIO`30xtOKc16ZKmRI;?7^YcrwGmcUQ#q6 z*OcRxc-Sm=Z3#~fiTrqM+D8G>GBZR}C3yZSO7Q&k7Y{KOmH(l(q~7ckyK8(dr}RP& zNnIAM1(FhcoBX$V2ZaViZ_-}5kWK6czu3cYvG?K1H_|wjGj4N8|KA@@W4-3eHk42E zxTeT`D4$dLMII;Z)A2C2jGHu%0uono0jKi80-8ehVYZ(|w4#E=TqlY+l^+zA^kj3f z^8foZO2)6(as0o{vL{#czt57yuKb_VRAX2E$2@60*=o{ar|xrNkCb`Dk}hzHvam=J z5?rC)AzQt}B`Rt1H^q7XwU;GEH$QX!U8GS;MgOgIpiqR?a%&Au{WdqPvUKdoVGtT3J><+F+F$Eu~(VnaB4#&%rE+nG-bMP1`@n-8DMO+s)tCCU84Vp+aJTueaI1 zPr`zBpj?vXRk4niebJzkbJ#%|0>wVP7I_Q^>w#GP4~!#r&9%Bj?J76#uz0b5sAkEpx>`*Y6a9+c8%*+Q}SX zZsEqpSe_ngO^j%3n-_`9OB{XMt~gX1>)(S|P$K72WT|tD|5w^>cV^k{@3a+mD}JBV z|FYHp>>ujE9NsqO_b?R0xwRP?V;OU6Go8BthRpN*b1!H~4P5rjB*Osa)nnE(ZvtMh zxlAWJ^qjjYHgiuh{oOtX^XvCb@rW{9j!foJ7*WifXu8cxo4teWDLa@O$jtFG+VZ>I zkP^-8NZG>tntPF%0fl14{Mw?uQfo`FZIGL`Ly$ZA%^kp8e`A~f=}brSmL1P z4gd!;cK~>b1#|Ma5PlRxKfD-oll*g0%rTfpJhwQbxh2hof7UaXZy4jF!;8pS+dJZJ6|Vy6DNtrUHI+OZbd-~Wykv@GLkl4D`9qc~{&7ys}DGXMYp delta 6875 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 diff --git a/tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=47.parquet similarity index 72% rename from tests/data/small_sky_order1_source_margin/Norder=1/Dir=0/Npix=47.parquet rename to tests/data/small_sky_order1_source_margin/dataset/Norder=1/Dir=0/Npix=47.parquet index 9cebc8d71d567775baac17ca0238c5aabeecb6db..cc86ccef1ed44f44838f5e790a5caa4273527b9d 100644 GIT binary patch delta 7476 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 O6uvfxhlfV>)cY@oJC7>> delta 6199 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 diff --git a/tests/data/small_sky_order1_source_margin/dataset/_common_metadata b/tests/data/small_sky_order1_source_margin/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..a4ec06ac19dff75af73f8c1d1fbb985d109cd491 GIT binary patch literal 6641 zcmcgxdvDrS6i01TZEYuYn^GlGrA0{jYi)UjCRD1lYZJgUkc1`}dzvC&+kn9~E{_1I z@{RTd_JQ^t_DBENIoHPE2YGC5Y2)~wbIkC%T^%pAdShR!H)dKNfQCo)!BEqOyU&mQ{Q0||7HS?Ajp6PKApPc(HtLQs3(=lj zball9`bD;o*hFPRs zf~=5DhCP0>7q!SIuNZ`mUcUspJSP`=hss(=mlc9+n*${lbcJyTSSYr&xE}8d1H)2@ zB6`Fx4W)Eqpj_e?hQh@j#ad89VD~HGNX7X3NE9%@3ZeSd7+f|!`KD^|^u`rwfE9vV zsl_1Z3gZs2u|?|Pew`w9_sD2`m-LXQ6A0r0&JX(OlW+18_S`6vM~s1q+i4KTrQZaE z$3zrqLH(jot6P6$D-AJ2z`iTNQ2OMXJY1Yr?BI;L8exZ^{d5JPeexZkW0Sc&T+yZ& z(Epy(P%MLIR)~2=;I)xv$L3I1#)Ba{T1|rvmEjyuR%fmZhl44)cc~9Y#=u5uX8(2i zbvg;>-NNY=X7)AwOI|0oo{~o6SbXdDU|awEl42inLNy`s71T*@}VuTvw|_Lwd>GX{CZAyKBT!#O6pY z6;^DH%!#X|)pZsVD|2$sI`@2Ov{mbHUH&3-zFi*unDk|_cB_51K!*G9qXLek?pubqIwWxi8 z^YTu6M5e1+nnTS(pk^Yy2Ar=_t7?P(_L)_fL(RMSjb7gW{<<|8R|j!>En9p4r{`(Gxg=QiIrN)pniKH6f*xq*NOrZW z+I`mhK_3P0)l1FoAF^_*dZmbk3F~cohqkiHCF&#ByZ+-+_ zN}Kh^5_ZC#KQ*r@Cg;#DlPheOs~u>Sxe>O_r#R*ajEfTX)(*Da71l=Y;kbz7I`-Rq zA6sjRk0NW@fkDX0NiLN__Nl;-D@b&kboRz0ue_{l?77J?{WX;;Fh0Fa9-)@AC%3)akO zk)+zG6q|9*o`QAM`L&kmlxtynC0}+HsWO$B90Er8>?l_JzWZ_l3cZ`&GjB V=V$QulzaV8{Jot>oWLJ@{skP-C2{}& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_source_margin/dataset/_metadata b/tests/data/small_sky_order1_source_margin/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..98925ad789698d2500f6c95a6cb636f1d313f57c GIT binary patch literal 16688 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%0DW~-*}^b>&5}@F8{|9}?|2-! znB{Q!pyVjay}RRB=t`XPBERoD->S0wL5IB+^2%RRT3eTBO~%WEczZ2bd-qcFRDmv8 zLuGAHZ)Ui&tyr(125OBs!ZyDrTt{j@sH5Q8)?Cfi4_VGC+X|OGuZh$)wT0OWYT2ez zsP%B|Can`^&=W3;xU+J|7^Q)nwgph7)R6kvfh%EtKBat7%r1p;nO%X)Wt$I5Wpfml z&5Q88nT7iT2d=Fnxa=+=Wpoa{FTnR@xZbwZ;nLcTzZH<89U54+ygWNS9XBts666wW zH=HWC{^6MZ&OI*z}t8bn?Vf^1U#WLv?l?cdPvp@h<w zZ;71`UixPG9El%>{At1C!#IQrwsG-b^Yb;PY5ZThpXG@}W|0>P)A$z#)3{d&@D~8# TpCh=d|202iHJWnxw-WvzLvvA% literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order1_source_margin/partition_info.csv b/tests/data/small_sky_order1_source_margin/partition_info.csv index 9245d30b..994e67ad 100644 --- a/tests/data/small_sky_order1_source_margin/partition_info.csv +++ b/tests/data/small_sky_order1_source_margin/partition_info.csv @@ -1,6 +1,6 @@ -Norder,Npix,Dir -1,16,0 -1,44,0 -1,45,0 -1,46,0 -1,47,0 +Norder,Npix +1,16 +1,44 +1,45 +1,46 +1,47 diff --git a/tests/data/small_sky_order1_source_margin/properties b/tests/data/small_sky_order1_source_margin/properties new file mode 100644 index 00000000..d7fd5582 --- /dev/null +++ b/tests/data/small_sky_order1_source_margin/properties @@ -0,0 +1,15 @@ +#HATS catalog +obs_collection=small_sky_order1_source_margin +dataproduct_type=margin +hats_nrows=3948 +hats_col_ra=source_ra +hats_col_dec=source_dec +hats_primary_table_url=small_sky_order1_source +hats_margin_threshold=7200.0 +hats_order=1 +moc_sky_fraction=0.10417 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:47UTC +hats_estsize=279 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_order1_source_margin/provenance_info.json b/tests/data/small_sky_order1_source_margin/provenance_info.json deleted file mode 100644 index 20f315fd..00000000 --- a/tests/data/small_sky_order1_source_margin/provenance_info.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "catalog_name": "small_sky_order1_source_margin", - "catalog_type": "margin", - "total_rows": 3948, - "primary_catalog": "small_sky_order1_source", - "margin_threshold": 7200, - "version": "0.2.9.dev2+g014342d", - "generation_date": "2024.03.19", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.6.dev6+gf95440a.d20240318", - "runtime_args": { - "catalog_name": "small_sky_order1_source_margin", - "output_path": ".", - "output_artifact_name": "small_sky_order1_source_margin", - "tmp_dir": "/tmp/user/11115/tmp7mnrek44", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_order1_source_margin", - "tmp_path": "/tmp/user/11115/tmp7mnrek44/small_sky_order1_source_margin/intermediate", - "input_catalog_path": "small_sky_order1_source", - "margin_threshold": 7200, - "margin_order": 4 - } - } -} diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=264.parquet b/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=264.parquet deleted file mode 100644 index e9e9ab5a035c3048c7b57784b1843fe169fa9917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11421 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 sO|+?NA9v~++xbHz#}mXP_>al|1)(|##Q*>R diff --git a/tests/data/small_sky_order3_source/_common_metadata b/tests/data/small_sky_order3_source/_common_metadata deleted file mode 100644 index 5d6359ebea9eabdd5226c621f4ce97dfa29dd448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5525 zcmcf_S#H}#R7i}V4bpzJa9{`dFa-E3i?vvZ6`(+eTFFSXrNrEd!r&%}GD$JorN9U1 zU3!$Bpy&~Lh`u+ZXi}ma8+Ah1(#+epdGn|<($4Pg?EhOx?L8XlJ=0NlpQUzp4j=4& zKN?Jix_Mz4solqs{ZRGyj|046>OSD1(+@}=I%+qy`vjPFG}Sc@Q;p}TR3LSr^-XXrX`!Dw%d0?J8+WY&5&uL0=p%3hd44zq@0V#dT#Yc^T#_|5UAMIkt15ITDG66^|`T*)1(TUGj~ zHI*HEpe8DfAa0=+DrKwQ0C&%dq0Too2EhAPrFIik`M`Ttg(r1W*9y9(>~1BzQ88f? z*i;xpt!WLbF@9`9@J-bc$W1EJ7-~&rq!!~!BZyn5O)Szt@7F0(zin>D_Zq(D=>)=f zg7k4eL-0*rLO0&j6aW*{By}3p9WJo%dkb|q9L&)7sW}{30~ev$!t2cIOd7gzI#3=#<^Y#ZU#0e*kaqi2eCJ>9 zdw)GUq7UH+AuagF=RG0Egz1thAzf1HQW(R;@G}HfLOet2{vJN56pCjFnGxWFZxm7< zfK1#I!VhY&ddoWYM5zhKQjVW$bz!WzP3zQRG}bN-REb&2xoSqr`82GZ8L=gWEFavc#ixNL!6HqC1NR#ZELl5M{}xUw3R$f-Lpd`U z_+^Rj7@B1<|R~YMcJL;pSxvd;uVlf6|1#AcYj2y;hUTl;wFRNG*OV1Uvy2IO2 zp6mI3E1n|GFQwcKG%nNAoOVyo7Bi;A*yu0oC?gH>d4p|^Rx9?5vYZ%S@MWacA&&Lr zxIrEDzi1!iR$frwlk&f&e>4AzGoQ-R-QuT--sLvCLfp5D*H{+yZS@u6lIm*BcQ|9& znJL_mUs1@&V!LP5D&d*ze3;=mnaE-`s0j}0WNW=!ct&aLlH%hE6II0Xc250CsP(Dr zc($Am&cdziDO#!{^o?rKQ~WdHsG=}Zs>O)S8#GC^6g_7Nv9c$3tn8&#^h2Fn_sjqJgZ50{W^W(RLgU4U$EP3i{X>vW{8-x?zURXV&6TzLtkyz?8Uae z5aN>J;|e#|Rvdq;9{qQ$6v=&v2~aCwA?Y3(X@_djegVWz$}F`6R8LHDU4NRoUiJw z5`2zuta^cCSaSwr6-;V?({W$!;+R#zeFheULm|uvmuL7vhqQ9*sB?4#8;0~K5Q+Tx zjBd#(eo48Wr`P#D%sIi#1!VQNFf|q_6>|n_9QRr*T1ILVN|$s+=e-K8A-exG1y*Vl znH|9zfGhpyNI>Z+B`M<{(4;QPrKVxv2)lf7 zbaaA*Wr!9iUCpz&!Dj&fOxRDcUqMhyfxRWt_!9qRj30V7?8}Rg|1{(;CF_s#!%T?$ zdcaQzjTGtP=#Gk*Hhg00;fchLik2Oi5fMS>^_GvXEP*rXKaC%y_eq=Z#o#k diff --git a/tests/data/small_sky_order3_source/_metadata b/tests/data/small_sky_order3_source/_metadata deleted file mode 100644 index 593caed2c5158880f817a2a73acf20cb648b6750..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77056 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 D@o0A8 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=707.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=707.parquet similarity index 68% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=707.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=707.parquet index a4977976a12744dab90da5fee6e19250d86c5453..8c1fd7295a6bf6a810f2d51e735d329de106ec68 100644 GIT binary patch delta 3890 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 delta 3084 zcmb_eX;f547Oscg@N`-Q71D6fU_%H-R8|GzQjH@5A}A^}twNvyX#^TYWRr9WqDGBd z#~5`SWz@tCMad|m7+=H{jr$%)V_afP4(`hk6X(0_nR6yNXZ}t9xLxml-(Bj~z4hL{ zThg9?O7-`mt&Ki$u2qh%tP5jvwPP7mB+Kgu^^CENcjKSopZnD(sAZM@oLZJeW1Cvm zu=F#Dl2#+k9mfF3dIta>va7wU`t&YP(Nv!#d1;i(J_ewX8wkB}fQ-ve09MYh6v;~# z_q#!*JlKC#bzt5hl`anE@&8eA^!Kw~3U@YwuJEal99i!Si)65JUTDs!D8LX0I{T7=Nz7kA3&LQpMp%2_8l zYsB@<>m?v_-9ATJRFRC|A;pjlyC5LAgCNYpq%oJ*|)9P-{u`T4H z`}D1&1FBwv;t1T4a#9e^D z8p{DHFV0aKH4YV2MC1EpyF3%j8GoVuvqR_@`PqmWMBSMTl&wo8&S9DX9<~MrR_N&Y z-DWi^-`1;A3X@sOIH1b;65<%=&^nIlD84%l>RYA{F(=AdltmW#H=yZ0-%3s4q(4KG z5SxXJ#0!`6Rw{9G7tq*79a8cbLKe{+l25K6^`q60%K4vZy@J|NNe#RpMawLn23%yr zHw#HYnb?v{a71Mu+^8)?T;_5SnezVjhKrzlSz9(Ff42-UtBkuOS^Z?;F%}jB;Yeke zN}Oj@UFBgtt)E;X{;{VxA@TQZUcb@_HHPYF4{K`yi4RT_*#~VZi)7SXwe$fgvS||d z;{D$0FuA3>ADv%<4*;h2CAiEV%+_$VY?WEcV61DSAXox0{!1yA>+RRV7foami+fEL zXYJEgcc7P)BeTvpQJFu+y(Nn+h$@fj_#X9G+8{D;F_ZqK1^T0&y)n^h8b7gi2pmVG zL)&Yfz1X_U-ra9PR9oXwD;dmS9MM)gG?QM!-{ zoK)2hv&hHA3)&Lw_IT}qDr07nU1@F8J(yCN!q=$&D zkgV!UNRh5UDk@yKG8>3$YWSitRceFkr+m`iz_wI+YCE=yE)VWc7q%F>iZpe5kYa3H zwZvs*`~=dZ)RBW*(kxt3wG}Wu(o9CBbYN`Kb=?2x=ngeVkr{meKb;TpXa!|%ahXju zt+5x+a{w7c*faN;hqcn1+MPL`Cu;MWIp{P+wI3?J@;Icpb&W{%Hz`1eKhIVBsf@!& z?@gB=52j8NC++VaCA1kaN1O$dt&~2Zmi?(6V0Ka_>Tyq^vJtdCMej3~OT`k8TOgH@ z53u7SiSwjrjS}iRALqdD8{w{UGBID$04m#lglm2*U;#~dNiZ2-p%&pq<=DS0zNbB~ z{$oD|F5;=mZ0syZB_G9;`83+75`=IXK5)Q73^v!(n6jK?NHO9ltz9lb@|kxam0R|P zHRJeYUi}1SVnXjl7+IyDKUCrn23JUM`w3!r?eb%VUa0)TAH~aGpp3q!L7>CZDE+3 z;_v&{qYl0Y*E#$TU$z~FuC^)3SO4hY9nZL}T{*tt8j=lW)&DWr5Vy-WC_7)-t?4U= zZj8D6YaI*I3o_G-v{yS;=b^v!)iAEd_9`3j!9bt7KY@J~1&NIikpvla-&Y zJ>k*M{?ps~We#?T)Y~kXJ{n8pB)vXTk6*mSwkETubGjk2JS8Y9zz~#IY#g2x(r_ZP z)v0q{i76;PCo?L%Fe5)PFUvN_tnHc?ZuukG)--v7)i9=HQcQk)nK3ykAR{=&oM4U| z5R+e8m{Jg%V=9=8XT8}JoriVo^vtrDqL`tvK}JJtd3thqaZIjdQcUi!z_?s}@yMaE z;c-L39Ug^DqRI`y#ynF&d|^gVh~39Xb4W>C?nra?XzT#H&__q+AUj)g{s#f{_-0$Q z(CZUO7=m&NP0{hWDTc)C^yJXVMgwTk15lLkhA{=s?W94roGCq=?4@Dj6^quE>fLdz27H4JEoGFNHof;+;39b@NmSiWN`C_9U!By} zdbSX1rvB$`^Fw5iL2$OP;84*4S{;1D;zj{FMmV@No=+=-KP!X4QJSR!TyGX zQNa~7NnC#1t3#usyrRwJ7r16ny6pj6T(D2^2!1hJzo{4Qb8L}(fGNu}YCl4zGktv6 zF)VPF`Yuh#+^y&_go;64%p_NRMY~soFNON1`uCFIxy-Z;n<2?Lcea>Dh#yW@ zUV-+>YjPjJCeMpb&G53IC8`xJ8OtsI4i{Tdx73f5MCGdv(I{vVPm6V+v(WLSKI~=o zCm6s>{=r;3IQ?+4wF7jV7gMJ6>`{Jp0Q|JW<=HxzYIEW&&5)Bs$&!dc4ir8f=WPK$ zjO5Oo3H^TZX?B2`r8)dS7~rRQBnWE%yox1+1MBL)h@oHT@!hN7Epgd$8U~H;G~EaZ z2Cp#_rZr5C+y$RCCi)+T6Cb?$eiIfS>!+I=5eCwjd+x*aUga8JAjwP;Yn;H&FZjvF z!>MMAdpJ%b5G|$Uvs^r5-6QJ7+eicUFW&fKxgM<^{eoiVa$%# z(7~9b-a@ql;h{N|B(Y6G*Q8xS=$SIR_&Lm0)vNAfn8|ys7hT|OQ5`Ry{Luq+bia+cTTK4RRWV(jW z0hn{_sBRhLmF*0yfF{{hg*7lsWB9;B_-yk8t+()+UZi0UG>+^u(msp2sqNOfkiHyT zZ*5dV67?mb&`EGy#vbGHcG&u(j$;Q&%$oZ$`d@Vvk@X$mU?JU6--K7-&+f%gu=NA))edg_OPC!3Bz>e zoECIkZQOZ70e^2$-Tn!_&bZ;{aFZe&6;C2}z>en)5v{O3tkzJsfg-qcuXG&L_=T?X zgZtj`oC9I4<;sH*a0%hOT@1s6s~b|F*I8clHhAS*XN=O*WLH9d15FW&3f^SyLC2oL zX!Z%n{wgTE51YI0cCZuF~lwR#dT;h z*6K?qTzk#Zst-nw?YjRCw!YmveGtmu=6BEsA5z32>w42}m^5RFr)Dz>H|DF`!O5|; zbz;a9o+XyUlW}V@W8k#gD~#iy&6@V!TG*CMl(fU#4Nr@n!qXWsr@p~&O$%&?JfevA zO(vZ~;pQpL8?<0vOwr`=aCf5%onef?(6~WNhxwn=NC)M>Z5hKAT2{W!SqvL;f8_?l z3onYaBH*r%eDgdw-LuW65$>Ipr}+-<-(F>TMR6W{EPwUoF|^LwZT}MLb9a$Sqq5t()LSXS z!L}w&16Br9m$P6&aMwsFTw5hvxCTn6zOmU1TQ~1-DuHLtvrDSs_MF8N?!n?vr;!if zLb{vi)NiARXR38MhVWL`uzn7-YAd^937=n2NeY9Rg_*()P}+7=kp&NF7TTYOt^B%{ zI;b=7`$km-MU*z0x){K$=rQKDa7@zH#XR_tV?0FwV-I`BhQX!*5mN;H2}#n+jR>25 zDxZ=AE6e#;av_Vs>QrI%s1U4V6_z$jjiqM5R{v{|t^U_H!%N)$z>MWEZGWPv(`VS zlrOUnSNT6aag2dZP9GD?=BVpD?qH5(FmwsFT5L#kXo!S;OE#1LqsHIclP~4JSLOWO zG$O_ug^R)>LxZD3qQZ=3j5qqnQOIu3nJv5I%C(<9&3u}<(K^)rIce~!uoV(fOti9| zI}NwdItE*d@8d%S%#a9#VNoIM^Ll2=%QQk};Wq0B{ybTno3WO_DT2>;;^XqNl@+>8 z&_l_C^Tw* zqJSH@YMIF0#(lPX0-0zf^%V0(;l5I3t#DbCk5FJ?#|;YfSRE2z7yri`V)uA2kyWC5 zv^ih71-{##b+QNZf@S@_+T%TydkW+VBNqfDNJ9dJ;a=k9e5tpknVD2M;vx_8(H^3z ijC|QDf5V}F9H?%Ktk8dgtioSSgTdEhFueIb7XJnfjKzNd delta 2299 zcmb_deN>ZW6n|cNhY!bLD;y3Zq?H^hA{d~6A@4AdtqCe?TylwU`Ft;!KUw)_3To{mgq7WQ(6b6=RVIEOY-MSoD20q4d+VU5e?Uh&8zAq zgH~C&x)BjIdo3bt=P6jV^%q$2^>0y}M?K@0lC{d!Lm>&28zPn?(lLEGF*3TL!cOxQ zl8!4g#}Yl5o)pF9qRlWLz5$1F?hC?Ll2%G-Tut?pYwvn;3H#$313wb=goewlVeatd z@GF5_RWfiP3h<&H%j}1?TDTBAQFV^umu2k&FUR=?b+c$L0&3h&l07&88)Uy6CgT2U zc1y{ec~U8|ql-|lB9m4enDnNU$kj*hCN108J&#lsV_n34 zshy%*eglE!UAYgk;+aBnJy%JfwaxT=x)oO0KO7|25fsYBb76*M&VEVZ?13Mts?mr8 z$R~bYMPTJkSoQ2#dUpMe+>x#Us(EVz`OBY#WuI-NXa69q*nA$CUfnx%klFd<*-}f< z^8N7to^eo%iBhTWtB&;E2?qaQJgzl_89TL+C{t*ClOc9l^mly!EHEY^!_Dk zI%EA%V~`J*6KESXC9b}Q)PE`)q!BDRO*}E?xJD=MyAffQK_2m4*APaaYuS5M!wNBsGw>6&ee+6Qf7@1{y~_ z6g|4+EOIVGr76n8Te_#=dMFNdpTtwdj_)Vr<5gJSzl=8AJOsS*<%9%Uliev$Yrmh; zSf0jXG%gVroirTvwO+OhF3f;Q$om>wFOa2l<&bqQ?< zif;};Zq}}waKqYqZFJ!ibtQBVvwKK2!dFT{sf1&izrGH_%JFRckjSawT$|&4D1m*R3vx{(plUYxnfsm=tgWzO z>9wr8v{lk+*&)ZBG`&zm6u;`T#z6k_L9Ei~lazKXU}EK!Z8U~Gli_)RHdo{iwZkKP zxNQ7*de;1t(FN^aPEwlnB(*MPkz~je8yt&h=UH4e zzV%E$EbB+)6#5s@=_B=#@l#kb|2vH8{`yPlTVt3e6>a)Tir33=Su9c)XBbyq?`;XV zU2WA~zo&M-J|ebTjvbjC`$|I6r=LnmqXW`^Xob>s`cPNiu?rO@$J;i=DEKSutDasb z|9{D1@?%H7mQY<1kNsj$8js#n43RA^zsD6Y3`Tbu!}V9Yo15Bw{(vzzvC8=G*7_P} zjA~N;*{m@o(OBoLZSqw6UA|gSE?|V#6c>i}SWHq@=x59232CVr#=Dq7Yqr}56F-8pl1 zX5YKkkul?%=DAHJ^`4@fmKvYEDU@!Hi)qSfz7QMgzvZ@|qio(>i?3vXv!W=iCd1+_ z^%hLE_~y4%`mObDez`fG zgV|h4#$l>&aTk{~R66W+u8OQirvtF!sW_9IKF6)Pi=@1euOa~_xU?dbmrZ2sX0tv0 E4-GJVM*si- diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=709.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=709.parquet similarity index 74% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=709.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=709.parquet index 90038c5d30e662a8b8e9bdba7c150d959e1f5a11..522f34fd6e401d8bbaad15051698f1f21bf4459a 100644 GIT binary patch delta 6097 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 RJzTU}#9Wa=u`#w=`#;Y|3M>Es delta 4811 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 Bz{CIm delta 2789 zcmb_ec~nzp7XKb5_|R0MYzc!jpkge0Bmy$P3sevqKv7AcMF>fNutpXUEat)Jj9L#} zp0(AnE_htpGBrw1+wq(_PdwIE?cz3Lt=nnGQQN6jtw*es&hI)i=d?5P=j4z3-gocs z{_gVK?|a$vG3Wh|^A2TtzI)spv_TofCNXv{Fo`iS`hxG4eT*?-a4g5GifP{t9 zp^_~I@?K_wWDWcLc*RfedPx7qF;E=V`*SJ0+`A2W_aXQSvHbx`4ZovYgUCW=7kT+F zhxM@+i00gF!rbrGa(Z6u-Vc>qzKH{o>2Q6HsGJsvY9zg`p z56?s@!WBM=u(zAR94!ILJYN86i8c~+*mD<)j~CD4)Vy$hDg5L_Z88>YULvqU!5RwD zbpoJyX({9paTMnjcZIN*L2ygLGx1wH7+jX9#FE;ZtJ$+|%Kr`JA(d z7``Ek&~OrzJ)>lv8d#^)D~|V*ar;gb9@5hQxVU;F(VF$LQmtxwXWX_P4SzjIN91A% zk?-9CyEvka0GQ37aTUa~q&gB8snjS^vPd(s8q&j(E`s+)%oJ3&EEO8jUWfQ+J_4Lg zG(=I)H?%>|tVbYa?h^5QK02M#sbsfBkD$V-5m0P$&Y*o;@;i7J9tB7q&3=MvV;D1@ zjhrU#zRN`WWP3ECZCwwIhvm{alGQ6?kl5|(WFGx77VTmya^rBAUtbKA@aaQDi0_K$ zG%E2#u!x{?)m>o4^4&ey=vjY(xx08J5)gme1P58}B{v89#Iw}Re*DzpbgN{mDd3;LGuYw%n5T+hV4^{qMi=A==ts}JOYEO z(N4iSrUsRMKdh;OWp7k&40y0j*MGDc5eyU+bcl! zbu46fpBpKy6A)zN>P*w^IiFe{(! zhT{hmL0BLAAmo-x7c>4kMGn8S&Js5c=#1=>sXWIma{T6bM%(*bi>(p(F}-5YzD6gj(O! zOOsuY{2MwepXI~Cj@yWK6Xh+i#+6h=nWv9d$4sj@wVv(0eC;51LGHT^(xK*WiFErq zWU+$!EN}fDSn-+4n{@O)D7i)Pi))CpguZXgd+QEjGPYzGvlT+b@`rzXpj7jg{vUw4 zQt*)O**gOxCf)rXK^Hpm#6Dn$5?pC|4t-{sha4rk-3ErR#_9g`X5EZp{t54MMC>Qp>xunFR z0IA%3UiTji)56RH0RsMyFfeJuv=^ksW1WNEf`?=NkAcI2*Lx|`C_Z>#y-y%x+8B+m z+t%c;wQ9~wiNztRpBFVazxa+a=I5Ho7+qww%h}+lXtFgrBWLR(f7u4<(4qk8Rf|Cy zuo^g{blEyNJRxpoWH-~OOvS}Tmf5ZLT4$q8b0ReU(a$7>mS*^5nWVDPsjB9z8j~r@ zgkNE^w6-)tZL?-|l^SvqtcHg6vfPrS!FNkKmp0|s+MDXJHo5F`8}OdL)X|yO znwOn#D6{5w*(|B;d3DV-d3AFV&2^^sg6#ZMb2hNKImjia%Q~~H!QNEpt}-M&;wW$> zb(rf4T-EbY1L`o%&8kIy(py!P3AFrYVf11$6_KzSYTfp^g>|LY;%b}4SYKuZY;H2z zk~)}SSC5HGXBwT`*0QAC*%oVeyJKxFEzKRerOuXCS96mt(HNHymw+khsScN3sP^+? Mi$WQjXDUwo2jemM%>V!Z diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=711.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=711.parquet similarity index 63% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=711.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=711.parquet index bd46893383731fb4731f0afabecaaf1523cbd990..02b8b90ab87d2fc8085092b956c04c3f103ca2f7 100644 GIT binary patch delta 2881 zcmcK6c|4T+9tZFtF+vG5X+q^PB~O_!P9tG3cc&rO6IePRNaZgFQ=j*q?`K1^(kN!ytnl zUmi6}mBjJOT7h3saE~a`(P@zq`-Vn^QQ;Ap?gS=WV)m`Z6<*wY*pSDP^uzQ#S)6e}-KG0;Jev~hC66#Qc-~<2JE{)L4(7xj`>^ihg zXBbxR3|yo6Qc9dR{M1&j;pQ%nc5QEkR8S^C5Ll$?zta zXFMZnFD!{RC{vr+`t)lf94ERpryc4AJDEIG*Ox?$c@IY=?ylB2^SD0>RUhQil zCrm1}Eka=J1K){bXmY~zsELmu+_PunR3m8VUu8ps>s_{cnM3cE9_=Y`oy~SG0gHGR zHVa`*JaffI_)b}@$uoDC6HCZrKGtyWg=w8!xG;R@*9CC+O>5dg=&-kNZ!?_q;fcW@ zjERiVAA+shRK7M`IYCb{X;=p1>C?*cpofUpb`dsYg6sgLwHQTQa##BPGpr89%R5BT}yQ--f|*o#;JFiDh1)Re--;Sq`vQeWw1#> zEY4%+PlVQg%%R!B!4=+3E^z9o15^^8=ezxp0<9L0o00|vQIxmYP=48{ZY3xZx7)zn62b2lD<*mA!_i=lDB3+N>bNru(}FVCwwpt)JkoOk=}^ zTNFg#(H_Z3ICu6?+ga#2xp4gl_+VFI<1lPX_x_+&js^;&y{E(0E_rqc+!=E3ma<%_ zAl$l>4;G}oW0XYN75 zevY1Ig@Opb-nQ5Rww-%dHVt|R$LYAiyiI!JLSW?D8_Tc4)N2--ufgosClBG9QW z&i(M(&JjnaY*P@GXKt1_!t5L`*xM(pWvjD1IDB}*nTeZ&TI^ckIQwXP0 zL3}kIEQ*BxILu(hLcL+@4=FHSGQlew{_^SU(i~`$6Lq%`_V{IAS2iM0SnU?y;FjDK zJ1N^0#NL4`+S>5z*e<>aG`uRhL5E%I?hM7l3eJ~85ghrl)=mnGwI)7X0gbDY*=4Zk zvGKOOaMskT%%gC*QIz#Lc=sFS*d^%oNcZJ+$h%*!q%o=#M7Qw~gUPU@`kcEBB&+9( zI52x~d3Pj?eRjKh8Qin`qQ@2}?&AM?89F&z`P@_ACsaoT9#Iezj|9G01RH{Dp5KC> z%ZpWAaFMlyMn9?`gilOs*l^V119!GTB~RIQ`WAx4(uy3r3y_sJ!3&DFSZ(l!BZJ>d zGT_I--8Lmq5^{8(3igiOcK#E*dd9b@^di<(`E@qK^wp^|UE38z$W2|j7d**(sL6-T zSxMTF@WN^`V<8miMWqU0in2u5vKhf?YtqlV;G4^4xp&~Z&$g5vSX#PrZ7=M;WEO>}T@hNIuUd*%jXuLV&(Vc_Vyq}qYbj{7`#-Tb3f zG+Z_I+lBd1xrakdi9xts=0Gol%f<5~a~{DJL+&xK^?)W@3fX;nto3lW_v^+=xQAiu zsNJg|XcXG-TC`VM1g$`eW=PYfX`7i+|C%(V{`Gr7r%e4XRSKp4$!LxS|Mo`>Gn&?T zHbvWTys2J{C_#{%E|$jFb7-3M0xkMeCVhy>eEwF0dHsTr2e zljd9g&~Uwv$KXijfBLs1CRrwm6O!X&QUxgqSp4H!6_;nMYUi<3wZ8TmKdE|r%`NO_ z*jp+nruy8luwcG(hESA{A}~G8uu~7)B$X-Ys>uyiMUqzfLXRXa*Mo}@I7^jBPS%g+ zduIrJk{u)EB)k4N`AWw=LKNrgk)Gf^OBOtr%pg7eQUv^njA(C8W)y#BGAT(*B9l33 zKkicr{27|bnX1VFW+McAwkkHzLK(qQZN!1t3yMf$P7ACv0A zMwZ1n2*m-OTycC#giL6kyev*kI+32FG)U%{6(He?6X#|nk*OY{xRfxFa3;q-I?_)r z;Bzv+pCKVL1I3OqGL^+ux5oAT_c~QeSPV<3?(=)I>cHg&s4tQBqU0#PG)oXEN(_`N p;%0?7*x6;NXT0kJ<{FL|sg7LL&k+{*xY-dis9Xkx62c9e`7bm+!%6@E delta 2393 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 X|2P(MWyYc|bqZTPi?MsGjrsouXVQtd diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=713.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=713.parquet similarity index 67% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=713.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=713.parquet index b6e228b9a91fc4fe03cc8738435a1a6f02a705df..c06396d74ed1eb11b235b2b059f8dd53ec69ff72 100644 GIT binary patch delta 3593 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 Fe*r%gAJhN< diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=714.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=714.parquet similarity index 55% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=714.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=714.parquet index 7662498c1250a818cf289fd2e605d00f3a9ad813..9847805cbb05568e67ee0d17d5268eeeb935ba55 100644 GIT binary patch delta 1801 zcmcK4Yfuwc6bJASj0A;(0wGX9i1N^^1j55a@Uc*kWWp5pify3W`+=whV}=Qlp3p_@toLCpw~~wkJAvm}&d5_rw1Fd-vY6dv<5` zi0(*Hvxf&}Yi+N;-YI(ir!S72e7&PEV`SB;z(i!v`reHoa%m<0J$NaAI@t-vGGE>p0QKc)TmutF42^@l(_o#D zUS37W7^9S`HRxwO)$`&-BdRx(XDPwT72~ zRmNpe$G{$$Voy7`=EaiwaWGfafVzBwBm1IH)aQb2lgwRTfbKO-FS^0gGbuOk=pobz z&oxDT3Y~KCTprj^8HTS0&lnC}Qh*cUK-wsHgq-5_2t2;4sbkevc$MM5-dY3R@plwo z0OL;lQab?F`06IFf?EWZS6_pSn3CJ6+i|47O{nb$n_a3+PM_n*?OTJ-_3uM?XtO&G z1;3p?oStjGFsF7;HORiZEq*^(JM!S!VKCdWqUa1bYmRNj2w0hBS@{6;3pd{Ls=$%W zet%fa1xK$RcvS)tqRBF1C61KTEOU1T2Y32O=-^ShtUnlxVI9!-B|*6Cd)cQD^mFc7 zUJUY=kQ^((E!({t&FIpZrYf*Txi@P5#v*TP}~T+}m1O~h~{UY`+R2L{zA zb$fyKw#W}Y;O>BlHaf_CIZ(m?$1WHKYeB1Vef6n&2;bNZJ+j}0BkNV&d~Yy#)?xnz zV8U>j0~3rtUlbMwo;_DQ#sx|Dza->?y}#$hXu-#)imq=2lepi>4uThFY_d26hPFn` zI1b)dnK*sm#`<{!SHPimWa)2UqTcG~1&<);9&Wp5Sq0yCXoPMJnoRjtGr|52udmHc z+{iJ#2cmarRnB1Rs&S1kIPcW9>P6s{5#w+vnC0;qVF$Q*xXiW|e3k4LydNYht-EGb z<4AXbz0n1XpONF}33?_Dc-IC&5RD%zRf4!F$j}LrCq|pCn{foIo9*QH?u1Hy_q(7F z{K)^D#r6`b1a0LOZcfu&LI~6CU8plt#$ggQN2tWFbasON2q zXbN?jtRPjoPMN1tYiNr-SJS3++p@y%Daq&W=4ps0EnOi~rlqRIDj6)Ex)wv}4p=We z0BiJTS}ekb{M|j6{!H2i0@ViP^W%k!HBz}uC8l<`GR%XXfl(PtiD)7wV$8FVMr5F9 z1PUXTg_SV8Y*K{L8tDpUu&9s|($da&XvGxBB{31%vS^krK8d5@L~>PPp+J)o&CW{} z1}Zt3>oPb>_PVM2Fma$OQJIH%G2JZ1!Vqk2kcVCnVBVT3RSD#2E7&^oHkppA5evDx zWDz&yO&N7W2xOfkNUGpPqKY(?KqqA?^Cb#SC?}Fr5T^^)@-k6HdXhGSqmGbERD8KK zkj+dHaSO#lcHWyBnVh^>MX-*e4nWPVp)qgQVJBIs0aA0HZ<;j+6y=!@BBorKEG*E9 tMe_96%q&!!5X4|;%~zsZcx-!1k~yN-hv6RZaz6_9CwsdR2ni@Z@Gk*$>6QQh delta 1526 zcmb_bZ%kWN6u+-)yW6DBDzugftQ5u|BTxzqiviy&P+BNubOs8WLTQ1v^k3|de=dEA zY>;fxjfZ41mt{+)%Qh#1W5nS07ERQ-Ox;49&MnLj3aAA4$+#tY4#Y%B{O0>`-nqYf ze&_tox%W;EO!iHrrpD)$cJ%>?nmkF!QCdg{JNM^_!;|n|I)0I%l+XBFMk%{;11vec zD5FaLTHUlvCuODq5vS%5S9}k+*q(oh(J9GK=2_se1t)N4{xf7OZ2ySSQeHm{5bM07 zpi=idva=t`;#A2VS-#9H!KdoxH}Vlx%_G3lx!K1kT(bZe*3t%e2zv z=K(0c2&U#+Ff%JC;NXS(vMg!6h+&IKKQJmPW*D$!Vi2J**8-zevO{DM%Y>iCox*s7 zj0VLAx+UycOuWDP=lgzKTOYmgGecFpyghLQvW?$V1ETnn=-|!Af8h&dFqoeHpSy=Fr#v+V57=r~nXe)*V8;`Xi=eI7f#P?7^>1**) znU3CVdJYgrBP*lQZz2Gf$T*owdhBa(`vYd6lCn3j&aF=|+w#_Om`cSM%)&YiA?JoF zVB+GILs)ky-2$^DqY5iFzIPAOhTnzIrdx_QrRF*tYCN_8v1G#&)tGx{1qPk5fF++q zU_;zhUjtF%k!FOXaC}O3Mq$TeRg?n6rVJtD(KuM~&ILr$FJr=&Vh+YY*+0fX)s^yA zOkRV+#ShPbC2?q;$mE4htO+Fek%4<|Bqx(!Mb`FQ}cQ6;;L^I+xH zPC$O2z&z(>A@JWgtBz2P}Um7ya62(f7WH{+GwWlE6I(AK2Ex1XxNWc$s!Y z0cXD&MIDJ%KAec56AAS^SUw65Kq+QU`WaoJsFin(z;)q2&J;%`)kJ+tqCP9h!DpmW z%hmGa9VCnXy{!dr?M(?MC2v-KFw7*YrAb9Zu1eBwYVrA_F^_w1i$Cmb?^R1Q2PB&7 z37SDw=Hz}RbE5aZGF?qj3q$F**C*JTY(JmC!b_g&%CJlSw^|8hnnyeX+A^u;?VdzJ zl5({2s5|U+$F$!)HlSY>-{Oe`yF=lazC^cM|L?x0c4t43<@~c#eU47w;cpLmTf**8 zJ5bg!gx7N`h3PyaQzR_rrKB2i3-tSlR>?V?b&Vx4kFP!C)?VM7xB78HhM`Pi<^-=H zLm4r5a-5li&k+$u4QVR3%iP~&v>05*V0Uv>L*dj_!}7*W!5)v%;qzKd(YBB?D5O1; zln^vU*2fC(7w?I?cJ*}HLXN)XMvI}Xz~-;>n~QCs-e^;}+UE&(!J6}XtU>UrU-tId zVz%;XW3#Ke-`!~Hwgn=cwm@aRJ-~I>mRFnXy`&Yh9tkadl{1Mqkupbp)DR&JK5DQCG7I!mPzG6VsHn aM74n_6<#P!g$ce=noEl}6S9+Y=Klp9x3y>h diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=715.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=715.parquet similarity index 76% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=715.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=715.parquet index 1f8ae6c6aa51f99f9166bf99a3ed7c557926abb5..45092c47a8d4523d189426136977fa6d37273050 100644 GIT binary patch delta 7900 zcmcK9c{o+yzXxzrhRhj?5+O-D$rMRKh{`-QNQO*>kg>E)k;>FT#$+xfPI6A>SrQ_Z zk_v@VD3zqtef!_k9@!9 z&GH!vm2eZ|f3qQ#O2iG`{Hg+foZT3v3ze8-lU!kA^1UO8@b$rOaepatt zI|loH_VACVQHhpM;qr?xD@1uvCY?(By5_mt5pK)KZFPdrTdRVc;dRL>#-wyANfhLj z+U1~Nqo$jl3%mbJoUMX}v34>wOLZwG^C772_=V{kT+j2s*CvBXylK+1_lLVb)7P3qT16PQC3J7q)O3c^vx|D}nIx5P)le#qL81Ss zP1Y#PT_>3M9%i=F8&+pg3AvEHeOq94KO3_m)H;&exEGr4$m}$M5+8$wY+&-M?QREQ zX~;JLXSm{*@A43sV-py34xTOhu6PG7i2U7G1GNMjQ|rj3u>BBsBivkLW!n!|`uBIn zWK)UeeY2HmaIb#HS%#|^Va#h`W_Xb`R^JfH^oEKZf_csE_RjF`erbmjQ1jM}nqc_h z@wK80u&qK%JO!HQO5U!63?5RtZ(-5p4a>=8IaK20x%jN*aBEYpvvp=sl?GSNFR2$%?H2)KB0cL1;N5{O$~CZR*jnlXWbBylv7%Cm6tB=PHWgH& zF16&-03-?ow=BYIDF+4^?@|eV#yoPn7Q%*SN!z@kSc?=T0J^s+MV^7Omm_uaVfvp( zeb?c><|l1b_|P`GhSn;~^`%3ueSDCT-R2rJ{x6%Iq?&%ugj!Ag`ruhL*I+gH}ao8^dTc3GH$irU`7iG3W&(*8F9N`_- zql3$8sl>n)#yD0OY-BpR2TpwL<2(-IYn0_q!@-=^ZD*i=Yorhf%USim4neYMN7{&J z9hIoLPn8ZErV=}OAHQW9r4nE6&MQhmMf+bX#w{y})aIv`e!zBzvNAENN}};u-RJdC zqc7ouEKIA(%=3mKFHCE~p)s4fN(|)i^nY<18f3-Ww8OO%WYh@U=6>PJcdJU0pcGTG z=TPu}I`?h?>ht&{%UV|wuNhVe`NL3GQ|%x)$|N0;1aC=%M^hkwoPKvQ{I+%9?N(^N z<9GXCsMTYq$zfAT=yV(K^THb|SmyYkafa}SA^hRpt?vmnhEvE>HY7S`F>(z@L3!?H zYzh3f*1NhCKKnLzng+W!oVR)miEj+?e;~Ux(_!*3MqsS;j@hn~ShW6gKoHhmUCa@J z!lvo=BJjd|t>bR!_(??10RG_VG1v_J!VE%vu7XN%{!Mc4<8)#y1od%Ec6XMcdI1y z9#8hDdSC`ZW7asp=)T!alkjNh@+*Jga+4rEQvG-(QSQhul?dHcGHY|7WAwn0dKmXY zIj0$R7P|d<4j(k6xUNX4B%XxUo{@$OD_R*hz;Ivr)~#^*H*cB}EEZ=@(}aC&J=Z

pIc2qXP%!a(@;bCP!V5q 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 delta 6260 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=719.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=719.parquet similarity index 56% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=719.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=719.parquet index dc823f81c51eb10c2840fa4a2499da1a03405704..3936cfbae2993d9b47088e9526d2ae64fbcbbc04 100644 GIT binary patch delta 1814 zcmcK4Yfuwc6bJC2h(vi=0tN6>nZ2{! zc^C8BUs_`vqKRt$t>s78@TbVAVrR=DSU|LGdzgslpNc))OHd@N|)p{|b07 z$L`qOG8}o*JQ*+#_CGrHK1 z6Qkhqt}T9d%5fF)k!&et1|~|>Hye#Ba76AZyWkIgn=rUZ2>NZf-Yy5vom?KN1T7vc zK4=038Qt{fV6OXJwM`X{MBC)qID#@4u!cP~8U&(TP7)8acjGNdz{mVs zBMnv1k$5<|_8d%XTxUZ)4^EHNmQ8`{h_<%Bf*Su1)xOm@Lfp;RS_IBKn@KqcuDbl* zZ4DS*@1R-&D=PZ+9U5?iP!~MW1PUV9K3(9%J*T=2%{W5VICIRwV;Xe3T?>xr)Ocjj zR1jo^_kH(*JLS3shr!u9qnFNu;q)zW{onyXxX}{G3b?#zaso$c$JELV;MqOXKe~XY zXT8rT!KCW%J!e39K-vB$V8D!X`|n`cq`Y3|B#w-gP4zf~<3l#b7$93l_&_Cqz>T5*Hj&Nzw+S9b+Ct#gM9<4 zdiuSdf^)h*=dOTF{kz^Keu5)r?xf)D;4DidV1ur%_3!6{yS+nHmW2=^8t&aH0*mI2 zIc=cxtRSlkG_t&U^gD3>j>wP&5EC3ZN;(CbP{aMn1-v4u!w139LsyO)s&PcGqtrMJ z%wcy{Y3;Kk1{8w7#4j^SL9=Nq+g8wY)+}5D?rBvK?7o1IZ#LUI0Ir`<4~>I_?!eEV zfU5FTo7JD<$U^3euvl>No!H1M@Y;)u<2GktS7(lv9{^kGuc^vG&*1BA{os7f>Jg{2 zIFb~!tc?FPw9_0@(N9HAt3p4|sl z+7Gb}+Hu73>dAb2kSd5bqJXys=Olh$(!k4V2Iv#kH604_8k^hVz=imn-%7!CS&G=> zpfzvE=^^;CiW#-6_0Hh4lFx7?G$?raN)v?Jy_+2a&*2C|gwbQc;+Tf~MsNi`Gtdi~ zZBLYb4bGMH7EFT6g?gKeJ8*>Vy}2OjHhh|9Lo?^s1G4_>--?(@ zuECoXJJKD)bpO8xk}QXdb>N+y^vy4*NCbifLe@(crX>j#sEGbWem)zL?tTTA1K6GH>jlNsBT5m8J9 zGl(S<@_C9l20b&D?=EFZ=b5Npg2*+6^q>Iw73{nu8>d9d{slj%w(r}Dw%0iRNEIC`saPvAU%O9(l+_3Q*A)e zFzqRZCYHwXbFzgo;=OFiJ~W%-L7`-8uP{3Jz9y^JXd{Y={jJyfxKZ7x7UNirzoUT_ Ofk4=7Ng!}guKORlzdT9+ delta 1629 zcmb_ceN0nV6u%GJ?h&i&)UtxgDhN9HYRg9{y82!Tg^~geGAL+qG=s0vgB{DYKsvL+@lDUM4v<8;wGt(EMgfQKcQaXztAN}KN$oTGz`%+qx z!b)j5xpnV>R3TsM&YYsulK7Jev}Dc~Sf9gXQ7SpP#${79&A%ih&~&Xchf>gFcogDr zZ7#(8jdfC*7DonQf@wEKG*Xr1;%yvn@6uxLspF7{dc6)3aVP?VGnexyg`64LRs^_W z=K##}gC}vsDlvKUZ9C3r?Z@$hO`k)Gt8j&K=E#zrcsL47_;93P5V}%g7r>ES5LeH_31$LGFaCgf z>t1|As+KJJ6a?1Q?1q-T`yrf48v^5Euy7Aj8^`t{b@7KtO{ih$T9A$q{6X+tbPUT~ zk`Z9$XDxtAMhIDc{wjhhI_3K)wOq_|zJq62dJ##3kwa1ioqO{zqCd!fAKFhOMq$k# z`T$De*ya`-k^S67j*Dww% zf8aOd7gr^p1YzQiG^`zmTbGN!F8vsOn9hw5lc9sB@H#911lQlBeTH{`cN=W*1N0e4 zn3)#XxE-E^yE>w5>dgH^$$od|^7OB+9qql<&r6;U}k1%9OIF z7Z#Fb^gsJ5h#r1`f`8tdrIUTsLZu|BfXEa{syR(AE)a6q+nP9Ei*vIwE^#0(anJn3 z%ZiNCJygcEj{ib>>e+ch-;zs@1Eeps9-PO(XCDowTP6P=moaf)HwD@<=*01k`Gh28 zsbm4Wuf-lxU7FpI8WZ2-@O#2uUnsR$y(aZhU(x2}H>H{XcAA={PF>GAJuOW>yVnUL zk525+n1uTW<#LaTjOz-SVESP z3a`DsF4Sl?gd6I$9*f(*!QwIaADnEL=5b(p$Wn z0}Z|km&4ZzImd5z)@c1Zm`v? zx7Qc6Hrk-ATn}euh*qyq#AiH5RO)~|xH0T(%XS0;+4f-2->%-|42C$rPpvJ;(d1~7 WE(@<47YoBiSpv}~!`~HKqx~C-O5;ob diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=720.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=720.parquet similarity index 64% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=720.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=720.parquet index 78b45ed63c8294929619b57c6cc7199f81b96ddc..40bed8ece2cc449ddf06bff0c1611838c40ba540 100644 GIT binary patch delta 2860 zcmcK6X;4#H8U|n@n;{8;Km=rw2&f}hFo24CK!F4h2yGG&jUnuY1Vjjn8kZJDMAYE4 zj4c>fM3l{a0}(e=q!m)&f+K<~ZUZVvk3zq3s;8`){yX0%j zNafSrl*N`tiqwI(H{Tp46Do(@Z&m{-pz@qy1%N?-D!*CgLpF|gUftvL}^ zlm-mdK%-r!DOPNF!Cv`I4mtYOTMHBjj~9ls z&cR2%XR=zMd&{z?ai_?{FYGo_3S1tUtKI;88f;hZforL)*~j5Dr_C=>UhxR%Id7muxGcuSpzJ{cOvPR;g+|Ln{Eu7Tx!|l;QN`2<87e}`Bsk;RM)Q; z7r?)9{bc9hqGFLvGZc=T$o~L$KK{kY@B*1=n;ND#w*!Iu^}&KY@K$Kyw(~F}=7o0+ zw9~b-s)xayx*1JSYw&je!HZ-<)M-kmUm_C&!mvV5Xl#9E$!55mE|DICxu4YBQ&2{& zqtwGuHCH7%m&wG`BIg)=*loDQY7ESmDYoA-LpXj@Fw+Sxak<++2bR0BOwPbh?**=v zSI}8WcFZLhG4Lj$1xjk${^@d!Ox&+&j`q@`5Jy!FyLs?s`@1L$5`|!Fjnwmkue6zL zHWZMqSefcjh$GiNKC^{=4{i*)LLw8pn)e2SC*%o13>`_(QppZbTs-%M3y-;KLUi zzf6F)>~6c;!9!t+Z9AdDKY>!VAK~|-DHra-iY26HRAUOUEY^@=3s0OgKiQ#2BVsls zUU?0JTT+U8VC4mi=vSKf^L(W|zW%Ml9SL z(mI8LI*IR|O@)U`ITk?_nt}*&p!aey5NawblR=-(QK}XgN2=V`2lu(E0{dZ~qwRJk zl}5-82}*rnx9Uhh9Q5L-u93s=nbS{Ks$oFl?0>w3ZVd6d zUigv|P-|pJBW~rFwVT2xjpN1#K(=wTsSx__?>(!6$-NuZM`5a6-u-%LA*??!YYdHe zG{rda4=wl%dx~FBzQB@U;&}I18u4^1sjJt7Mhx^Vx#MR}BRrl>=ud=g?0&K$ z2|?m&l357NLr&*5z}7jP-}Ednq2x&t1-koH^q4|J!(~To;V!$J=4kje@8gj&`2OzG z8E4_QBg;Q@!M{697QTb}jn##Na8E>J;W$hDH3pV*<&eHQP_z*`q|R6HiZmyD1G&Y} zez%@wHJsLzCcO=b23cbVJV?I%MSDD+g{pm-ET}sr!p% zhdr*u4ULDA#y{Qy4?5jj(E%y#rZs~w{#e2{nl+6$uJ$-G3AV(JD^7sHshdA0LE+o( z-1V@sYISA>^foh!Y=f`9lqGhP|0KemI(vrmKXdCGp87R=zzzPhEBhRo|2h9L$I~vDu-r^-O`%WZw!4%`D;9( zhlfr&&yGe68i<|??XfKr&Kby7IA9kfY;YFB7?sL8$%RIkwJdc^g`>>We!A1qiQlDI zBbc_=uvMeM2%YN$l`2EC$$x$^AN}X+1YK+L=>Hw9B3aBK@f!z8R%SXD?pk_A7UmRT zY?Mfn7?&nwdYFx(@6e&YcBKFA=-A#za#S~xtjzzS%wHE*s^*y}m(G1c{jp?~&%9`z z|K}Cw(g!}0@UtC9(|5imnQCcSIGO7uilmXEWb=o#Oh%kEGAd0dmPt|)q{)og6P7W4 zXt-*zXTPrFfBR=RO<+XFMM)xsQc*$_CjU5Bsq!{a-dXITEcRuRW-6chTH7$EF&XQ$ z%&9CcH;_L&SsWXcATqD9bk-bGW0Z9E{86l6JTdlEv1bg6<;lVkFiV-mwxfpey_3a0 z5;s8x+r8>M`@KGs7aQU0nHc3gD?KoToy_*)B#8LD9*MYAqmoWP5X^zlg7tcgnJB#Zc*^iToE{d*0mr#o_bgsV8t z--{I&nZQdIGbO1JaqJmvFLv6JbT_$wJS#3bL>|MIdd5a1aAU>OJ(ytvPKJo@k@CGp zJUb;I&MloSbzy1xV)_1Op7JtR=pxoM`Mpz3V6pr)9|C5qB$S^f7YSmc1L9Y)?EnA( delta 2382 zcmb_de^gWV75_ebPrhscgBVN@5i^RkqXk0%VHRJK3WQ$@Vu|TC3?UFOKuQD!#k|eR z={noua$HxX*4kQRNJVj-u1Mc1U2VIywx?&Voz;$(&f1Dq*Sfi$y3b9wbJm{yx%~0X z``-JxpZmG@e!uVa9~MT2g^|VP;4wp)Zo8;svl$!Fni*5(9(p+SC}Z*qle+}Ym7iRQ z=3>v2l9mtKpMpW%-Y3C4|ER<@s%>z;q~|C3(-If^UMKst%dpEIJ~SZcIeYT}f&O7T zAZf*iDx19IIM=60vM*#*mQA+1Yyu zd;e2JcgcDX-1696WcqX)rSrrN!=%zW+q(nb99wLgl9{8uqMj-gQhp5-b9Tv2l`BRAFa|qX{NexFxfb=$P5*kL) znwEiIp#za`5tDPqvxq)rhl)jeC}-~gR%Pe!$a&*Czn0R(*bK7Ia3EK3-ppfQQ%>c< zqy}5D%Kgv7F+b-xDpzl;rr_E4P%cBvZv?$Ysb2CNY+~XVrXf#I8`z>BAlqOMmVr@1 zKIj=2(l|Ro5|ys%=TU-EHI9vZWXXGiRwKV{nnX0aSsbK<#&bwGPk5h%_|u5+0;a`Z z-TEQ&$qvT_n7Y38kpSlW=!YGQ+)eU8bS?$-W?&s zt2E~F)6+txM*hR8tCW1tM~Dt8KXqLrMO#n)UE(RbqlI)FK33!;<&StoxDcV`hlq`;6C>r%IsWt%pS?ITT|7MA&$p?Qn z&kU{Vm0bwv!4=Rj_2VR(P{!~AqI>d7*py)9BD7x~#re~y{Wos~i)SDmekE{7;z14b z$hQ;VKq)jTCumCSzPb$3XvCS}O2Nx8$!V`-(l8DuEvC?%{qV3o0CV~B1Tp_I!9?e! z!2~f=*D2zaZ)Zt*(N;ppk+W#V)mSqOfo95Z@r`Wi`j^3n(FgGgDOJ6_xpYuI8zexK zZ3!Cvz$#+$ne*^mxfvX1dh>x{&PVWU`tJ8o%)sPQD3aG+p{VoxPI5bHp~BQo>TV4Y z_0Q7_picf<0Zhs-!mowZd>LvCvfWzP)SI|FT+Vn8V5NUwsg%t7hgQI}FvCUlp2FJz zGowo7PrB;x(#gqp!*qRKJtcqXc5*)rv0UDbQ zL(A3fbCjv;he0oO_0zLWINWTT)C{!h=mCP+pFj=XF91`I&tC`iiiJvH@6Ym4=cc6= z!oG1Euu62;V~T46NWE%BK42 za9j3f9GaJli0RF!9+LIJnr-No(h=N2O&jaliF(IzB{WLs#BaeaKl&#GX6Pm;(>{yD z&8*%wL3c$iK8$}I(|sW7rp0u8ctXQ5k?}b!jsM4qyZrBO(5PToDlES&B>Oeu1cE!t~(@`%=x4>cDpIGx5TtG`;N>zGL1dy z$;Pj;)OLE>15ItMpf;M|%QE&by~a{iwW20J;P!f2T>9T9WQ2c~P)un-gw+zNC{59{ zSsN`Ds|CM`w$PT+g<6-x+P%h9nCUS2I-Es!n@5LArz2d{-ul8ke_czJ&l5^q zsgLvJwS5yD+FkYipkvjBMte&|m$RlYvo6ctw4%wHYj4@;U(;IRb+@j=-qPeQ_Tjmt zv%bq7u-i&ZPDe?%t0u3*-rUw`Z(hE*tl830ZY#+vvjJOF2qlHxjx49o-CE(VGnvC2 zRalCxUZ@N0t6rN)+po%^2a9C|Ee?~{?=G%rUgM~0aMfh5b2pF diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=723.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=723.parquet similarity index 68% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=723.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=723.parquet index 9d40eea1c4155f5bf483c21435be1a3a24f057dc..c9345d4b9011fd871853ff801c3a4489ec23c410 100644 GIT binary patch delta 3893 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 delta 3217 zcmb_eX;c(f7JiN0P{z`{xTyoqn&UZUA=S*_W{G0w!UGLuSes_8I z-B%UOs=7wi7xxk*CCIE>?y6(%jMeH5j4@^0k)u_N$>J4_ASwfHwW_ot|8nOol_1Jb zJ#T9S_1=rn@aAs!R9ZnPK2D2$s@Nl125?=Vai$*J) ztn|wzyZ@IleWGb z^25P?8oi``XE-E$@oGHT=jS0$TGm73ub#IJys{zHfUvKgiiGyH@F=Q*N#by8`#ZTk z6&yn~a6f2`|1rDx+*dVw`c7ie{L z!!TqdzdkLViqPVKj0Fu%pdzFXgAq4Lc(U|w2wW1MsPY%Mi1ua+BO z&ZZV2duA&qiyH&Rz%5&rh8ho9L{_i8f?R$a{8tL6WF0Nq^3%vi$46u_)6YWQuTt@p zR!W;GA?Zk)Tg@P8T?V-%Z?1(xDNe}%i}D%C^Ht{6Sk(xwqYW&K~+Ni;7jk8&ZC%Ty)y-X1X4T&CDAb?uet;i80q<069(>5f#o$nq=0ogOfmiv#Dm*2nZ3l6WMQ01j zlCMB6AKx=o#nD{P3n4pu*iO3|dulQM*n!0r_~XqUOW=duoCN@n0Gr78!H=lbe5NlW zTt(e-{3-T&2mWN=4_8n~Kko-z4xw|+X7pG^@Mx(I8eiQu8yc3hiM)?guc0kka1NoD zRjs2gxq5~SpQ1@bWvg*LsrRoZiykciZ92aJRBUkcMmUi@=+N>aw57WF4jDv#_zCsR zsx5#H_WYFEBOnm(>B(DBZppopxLv9ti3;3Cn-NS$hwt+Hf}ocsfoLBcX4VCRMBtGx zp=C{Fm8uYt7ig-;=e;)KPOGL^&*G$r^47IASjZ2q5!G8&3XPamT`;QDGpV>>F&mGTW?E1jp(r??hJV%@mY@T<)Kgd$pk z=tTL^vu|+*M=m`>1z*{zj`UCaBX|QR(39&#Rru!jsD&)0ktk#hM3S;A^ep^FCPBmk zA3($pg`b0D)MNr3%7aA7>GK1~V#x1R<; znItyR<_!#oLUB+(^37CJxlVT-L$b|Al!L=>5ar9CXfdYsCfpx$Z6?AlzOZ0PG(Y6G z{@Fqu*ZYmTq&bb#5YOj!kRI0KoGHFz4?m*I;<_^hbJ!6Ic-ufC^!cq3gu1LI%Drkg zc+tHVTTp_fPe`9v+X{V(=@ulx*%YVwWAeK2Q#|E0TYzEfy5GhX(BOZEY7*27yK??Z z6lO;7T?v)`MIubkYq-xuHYof)h>~fV@%7aYX)Kp2Ps#2Q4Ni7<=QFr-HNOD+m1CHg zLh0jIDj`&v*4+6SjSSP1t`PRw?N0IT3G@Kl^BJ&|YqC5kt5WA6%o&JlPvGB4H2^F9 z9wVgs7YHfyl@|?`0Ta5xZtg-zTn6cZWTra2SLJ)-%%px!Hv4`c(sHv89mjTbl*m}; z?gTB_K$=ONe6dh0JptyL&9I)Hj|)$5H}y~nY8kDGiLg=Xs8!csA_(l6^Rz}6MA5+t z^yEmHEgMb7>uD&njD4^$t}`J#?$;1Q+mOa$DakpmLkQeT(^y`*mm<;47>cmu08}4i z>Mle)^&oCMQMutZ44EBDB~+L$UP6qryEoF$rb~+LUYYRHRL_A+w&_xa+G%l<#mEGQmW65 z#cnum)BE<6aa8)c`M~lU&VreDA*&YLZh{=_?9@2zc$GnrkK?F|ygV2_1Y@>i5&*Hs zGVxq=G>fV_^kbYV;hqOwRy;2V@u=LV(N+e)eLT++yOmsp)Sy6gnVveO>aWByq&6(=M*ho{#+y4T+#(3ud diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=724.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=724.parquet similarity index 55% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=724.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=724.parquet index 0fc446ee531bcab4a1541367ae0261da111d7737..fc3b2550d0529d90aff5673ec09b0bc649590196 100644 GIT binary patch delta 1860 zcmcK4c~BEq7y$4Pjs{H%78AlDLgW%y5+ISIjJhb0Kv)qf1QgQ{A{)#l;YeUKEjSrL zsNzz=lcS#TLZJ?aB8nC$R-B1cEl$Obt%KuL0RfrTe$m?TkN(p?`gUf2-`n@?d;7h4 zv;F$^(iU$IV${je(73y{Y|Z^dWX5P;n+9I>Z)SFb13r>oGk7sJ;OdVct*nhkOe7*X zp0tjB@V<@vXz*krB0QkM?e1#(^W_*4n76On47NLZ z_Ktz&bvH|%lw$_uTwUkvNh5~*q3OCj1O_!-8h8k93DRJbp!xZU($sAjf-;2S-C)lR zul(Df$b_fcRzP0xr7&l(_O9Uv6f{m-m*;`E92SP11@A-=pLK%jAXASSWOY#6l$99L z>xjp6RT?m4uAr@`7ap`%#cjV18W-i--U6AGP53Y1-dWqjv*5Sf#Ogo6d9;*6y_Hy9oxOhuIIn>c=r>$G{8En>zSa7-C8td%6a6qfCru z86Y^9)l*jlj@e1$NijYkHz4vajbZl3^4YqIdnYN$Yc<7*te5|4FNg0WkV zI`@E@6m$1?pyGnf%rKaa{i++c^dIeg`3mf;WDFU;!jR9gM4!{(z}4g143iLS;hb7I z4dMgiId4FPw?98>2ZjumCC9D@=3vZYe5Mqq+u95(d=~aG03g6?-~b< z9+dsGeHhYZ9a|CrhAZ3$!@(C@*Ddqj4`--+aUTMbr3UYjT@aW;7u3#ago*l=zUG7O z%Bdv@Amxp){vz0OPbQ6T!jNb6a<&k(qFfGeGSye55XXmzH$VSzU85T&-9V(9inX#w(qAh(Ay_rlm zk%Q<)GTo7GN4IllQr-_TDer$D43hu9JS7|`d(y5{S-I0~TzDiqM;GQ?F)ouRG;*Cd zG?Gqc7|DzYCx&spZ+(T8?*-j|nYzZBPHbo0p?)}HYw04P&HuNc)2EC>Us}OO`%)Nf zrSnN7mmsE{Mxx4*XqiK_QkGnmBh!hcYDJ+^rDa8Vu4R2tZEKeQOIzQ6if09RvNp(N ziX5>@qLe}Mhq*)z;zW!Fa)_Sb(CF}BPB4eH8S>vPB`%WXYvpQ{<(<%AxLBJ>Oe&g^ zvMN1FE5&6>3A4wQZE1nIL@;|P8C^}N*xpoWOfHJXpwN;ch=Xh|YG!(zRvNG1ib@2$ z)*<$@kEm&QHa|uqi;K{&N+nRPvx6d1{b3f-z;h)IaH&LL_$R~^heq&u^9^Yntzbn$ zo>ZBJ=fp?q1$pXRnLa@)Nl(ych!S{~zCabjgIJ#(CY1|Upz<7LnqC^JD9V-#mIzh| zbeNu7EX+gY8&Zocxp=lR1($|IhGvQqN+ju#g>UD`6BH)Nxq5+$gIX#<`S0=wbA*^9 zwUqU?HcNn_Ld#7QiYqeGb;S}9z9A`ZBU+ps#%32=M&eqtBOR>+EFnr_dTJ#3n+jzG ph*YCNB>DO3V$Z*~*fZqq=DXY@nxZ|3mS}r>l8-Bil#Hf?`~^lj)qem0 delta 1572 zcmb_cYfM{Z82(PzvQu-mRoKCD8R-h^01F%nr549H2Qo&n6s(4pI);a~tnEtaU<}w~ zJ<4usW;PG%W;UZ_-WGqj;2eo_9+R0Z1{c6>F5qpKEF*3hH8HwN=KJCgr^bJtAK!Pr z_kEt{ectz6Mz@^qe?KQHAuVvSJ5(%5CS)JY5yIcsG*EPu5Yp(=(2Ugf+g3`)NDCSg z8d|M;0zyiea}q-2it$T|W_anNv#?3wBj+fZR>m)CXquGVMCvy6SCrmNOcxfGgC2j= zwFnRr^EM#(AC92X>_~co(lbg@Wd^95WG$_>pF`?w{ZfdNfo3CWpKi$pP79lZ70#^D z(zJE{GD=4i<}iTyv6Ch^@a`F8sv4G~x$zJ4kg2_q51TTz;6b300t?7UY$KEzeinTW z&1w_0+KO)Z-9rTwNAoSCke$2^HIC*MqKC}tBD8&C8xlTyOGD>MSB=Hkk#x)hF=en9 zGp$pwN@?hU+CEFqNF^7VuVC;<2qThjvwo7O$>A+4H zsI_ztl$Dz9g5;p(MU*_WPzK(31MmLA70STyx03gvbk9b_UR<&t8{atu`QhRN=x-wXAW%*gDmbdE&ueLJ z(IsW>g~<8^c9yWiD)z9-jGvW`O=6QW%SbK_@5@{o`uOV`+e^ud>7iBM@1inUb()nV z>C*HITSMV^w_n`Y8jb~meXJ^Vhbna}CH0Wb^zC-abiD6By>EHKoFczdXpxT>StzUgW6_cx|Tg+aHAKktdV(7Z{PB2!*wxk9YuFU*>JE3t d48_($u8>RnTHafcCBI&w)e>7e{Qd=Z@gG$aw=)0$ diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=726.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=726.parquet similarity index 68% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=726.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=726.parquet index 01a79d6bf4c065ab7c25c812b9da41db70044b84..2e1e1cf6cf4b7ebbdbce248f8013c7549591a5b9 100644 GIT binary patch delta 3818 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 P!Q6sH3}tMtDs1BKkz=h` diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=727.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=727.parquet similarity index 68% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=727.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=727.parquet index d32cf4cb24134c6d5a666bf88c12e069fc8f98c8..b061f9a02369bdc9ccad31cefd5066e994f42d34 100644 GIT binary patch delta 3932 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 US?-n$k-K9+r?@gUUYq3qZ_^Wvj{pDw diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=728.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=728.parquet similarity index 75% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=728.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=728.parquet index a3b70329272e9b73bd730dcf3524efe3e34b2a97..64d3a6adc043d171c5776d5957d7dd6ae9a21c1d 100644 GIT binary patch delta 6647 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 G^ZYjfTE^!9 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=729.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=729.parquet similarity index 55% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=729.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=729.parquet index c2aac2aa530cdff364694e637f87716440373361..92e045de9e957211d3cc27a3a55f2b00db26af92 100644 GIT binary patch delta 1797 zcmcK4c~BE)6aesWs1yT5t_dh928_!U#I3$Buh-;t1V-DvJRId+_2!;L&5vs0Q@Dyrug>AC8pOD~j*k#}Tt7^@9cw ztw0SfBRJBL|73XS2(ClMsx7vL!^HUyr1}U@-{rRWBQQpNJ6{Zbb}hkn@YkFaC7!0!2xjKY)#xrP<&Vyrw5~yPdB%Lt$ia+{otIvB{l;ZlQJr& zbPsXFaE$kYHI5^$X^m&gKvmuP-@gWF#q#MEu&ipM?JQ_~c*}$ID}0jaQ+8gU`<#2b zAGoc?LMH;zcGB~Mpyk$C+7K9ar6_vUBOLkk*?m_8ET8)7O&WNC8%r(*b6zXI&^18t z<80QBQy^WX@$Li5v;ic{ zC{AAQPAFFIeizOpFROpf65DKQc&+=)mN{9vut*E-TqujvrDCBXN2Wt=M z9h}P@>3jE>(Hk|(DF0IAKT0>dIuSc)x5@J>w&Z%mSpI)EbXe_NUup&qO}BDBUgSt3 zx%g5R<_J}pLN(>OO%Y9|$`otTMcIlxrAkc;bx)$ZjGWmrJ}yLp z;i$r;8OlVd$e)d-2)KnpK0EJi4LK(-Ru-t`sQfTfYgqJO>xll4bU%@)&$rE*0t|~W z9R#RUk<8Z=2nEutSov10AU=S}EHGV(Y)NI?Su8Mx7@=50g_m2ghGDhBl|+ii68--K D(Gn5u delta 1529 zcmb_beM}Q~82%l$dR+=07P`WKL3IoVgHp;^Sul5H6k1D>>PD$%SX!Vh{ZhmN&B7&9 z=K{#$Wf{nr-#8d^dC(dq1A{ zd7k&~`h(}{`(oo7*-%5|o{&hi3ZXVqg%C1!&gh2`;@3~l5~P?t*!>$k_#kx`M|bD$ z!2?O2ypNM<;}3AMtPamr~VBgDR}J?H1MNU zyM&Y=;Da;j73~%_Qi7>4AxY9H5h7AB{SMB5wPFtuPx9kB2-vgKn*=4Mmu=mPiRsR_ zF!7J#CYbneGeEX=0GiFX1HE*1PBQ@6TdzQh-##xQ$pO0-P;xKlq@t4`YaW3R47TAb(!T0S*afury})T`cX& zw{3U}!(j&ql0;vAj+>`0YxIm!F2W#_nvzfpz;CyydTp z&H`~|F?6xlXQ9Arl%L?PD<(Wm`t+yRkncDSo*Ed1fG2K1z|Lzg0-n`1!}lj>x&c;h zulxb*j<&(^T5;?=w9@;M!HQWUB9k^rkrh5#WY-JuY7Lu&ppM>P0bbPqGoC&jMqyq~ z0g!VlA*tdY7ldOBzoToFb(kY$66p&liTpbO-``(<6}K(4J#TU^5fdqh%0$blC|OvU z!|AWFS$C8Ttu?Z%p+Whg@G_gvUF-4I$g|@&%m3|Z(6aVd zVah*U%2VRymCg#cz07O%Q~+cNf(uWUaN;y2HWQl)vFD;(3`IX zCE5mahQ)338vW%;)#8jorz&7@6*?=6!2!5n3N#K-$Bn4BDscFxEqq{@B78F|9e!JZ t(N$_TRa#3jt1V_|E69SSs0Z`2sbxeCwf_x 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=733.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=733.parquet similarity index 50% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=733.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=733.parquet index 366ff44fafa66d4d56be8e88ebc5591ccca10b65..2da73347eb9d77501e8a9470e77ace130b4bf586 100644 GIT binary patch delta 1379 zcmcK2drVtZ7y$6gqaAaFbkdf#)FO}a7+m@o9qS^4TeNVYY)}RTroqyd-j=rO=xQm+ zEFfE!Y#HiB+!V1j0*vWQHXI#^`WrNDK}@sN$WpoYnGWZ4|}6*DDK|MdKEf8ROx zeBa4;a#oC;rc-`4*$~O}YFbo<9nVte9zlQFS#Uh3SUm#fE=}#Hd%-6rMuQ&4+8+B5 zEcHvv`oWCp@qqwHJ56Mi`6-mumiVO)^e3Q80T6k(W%%ha3QZL%#G-Kuja^9P<%6#+ znOf{%+|Ew_@o~zF9y+#{-2n?1l!+J5gCXhjrh8!b{E2Jv6BPP*;jp6&^qw>>egtk> z>eGZ!6#6Q=n;r(f{+6RS8eEyXlr92A@iUfs(0Et7qY+fF7NQP-d}f#31%{X8esTmf z#A|wwQqVy?y}0#dSP0t|==%&jZ_S<`28SBQzEXWlp>IdGb@;&NkdBzUAR3Fzu`a_+ zvGW4eAb+us>jqa3T^(!z<%UP?SHS}}^1k^IWFpz#SrGibC&qUaz;pDUhjKt+@AcKaVAOXJ6<>hM8JkDww<)yl>mRN~f=5TEBCiV|h-g4^ zwaXMrN@?uW2NQ0@gSW{+QX~GkO6D=2+S6_ju)}$BgwEt~H`NkGoz-D(s+B3&p`3R@ zI5P~+A|rWBm)xZlaQ~&me-v(IvB`7XN!I#;2-M>VcvEC%sL>bCpAGxJj*jMYey@PT zk|Q|F8Ww`^GPrby&Th~-xtB8w#HT-92s6}Rj&;a0`I z^?Bs`DSYxxR7j#Jk>u$#mbX$8%(Liim4u-{;R)s#Jw;BPw#ZXmRU}`lVOPo__S9|F zo7MT4*m=w;St>dg2yJRfh`<;ilZEtt8!+-<_`N}|rDA@ov(tfs1{S*KOF)@oRA zSBW{xgWDxourI9e&wb=ZajirjY;vvBV1Qxj;HOGPSgW;7Ze0~oUt(#%+@)K^Vt4S5 n%6CG{45I}@jC@Zf+>o6q$&|pW@XL}I0t7)4_y|&pX{3Ju9sNA= delta 1196 zcmb_aU2Icj82--encvLOoG@BW+p(3hRRd%6Z!R4U&S~k{+H~zG+uGH!a@POScEvI_ zrqE;5Xz)VgDd0~Q`7z!=MAHO>m~a#lNhHd$Nz`}`T&QsuTmS*zZ^i^Q-gz#*@BMk6 z=lwZfE%PAt>4LUe!vXC{N{dz@^akxj2(9b8J8~W&^<#98!Wh}~G-mj(_4g?j^Baxe zpyewMz)`nLOu@ zTY^MyV9CYat;hdT;Qyhcp^DmGBOBaaR?2RUW^3^JWi?o%~ysCGr!|{qY|o=M@{>ta}zc zgZ~O}#9DbB3eWEH+>lzd8htlvWcA!r@ocVKNl5$Rxl%GUt8LJoq;%&Po%)33THJCp z(()fVFR#`r1^o~I!oe>1L0AFxQ*>73LN>TURm|e6+ z?S<)B|ERNm%JS>uY+)v04`!31t2|i@7g8Q&zRU10sPe%Eqw>inp&H#elkpXU2VxP? zI_dD`LOFMjuQ*#CEBUjD(jM@ITwvqXgDoJy7$DQ02}CmwYcgVtn6b{pR&!-3QL@DbYZ6fp&=n``vYO~ BRh<9; diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=734.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=734.parquet similarity index 63% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=734.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=734.parquet index 7dfbc66ac98a39888cfbaf0a68058630ffe20a4e..bcdfd2adaa8265fa36b18272a9bbebd03bcb0338 100644 GIT binary patch delta 2891 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 P5MQ#V6M`gSN&bHVH_jl& delta 1575 zcmb_bZBSHI7(RE|#fx3>0^N1_NR|}{ZH09O5sJEZk%e6s(6!uUMYm;HWMMy;0Rkju zZ#FWRQ#svH5u7kGQA2ImaTulShU1JC+Vm^TadH|Q%O6>m(Nt*ftJ9SBxBKIq^L{<= z^St+*X!n<0AEYmi99UrEdKDZ=B&44<5F+n#-?}tTi1<^3il+I=-LT42H{)o!_3|A` z%kV?4U%@pv`8!23&z zxCI&F>xl;`4b4Au7K{ivu6T!H84~mj1Co59?Oi|`>WHJ26LZk?a`X_TVZ=)Z-h=u` z>S4eltJg!|kURoqyxV>RT%!L3gn98c64<}+D8jF;#*Pb*z$(su2LY1TbqoZ^Lwnvw z>e|{-sEqJsZGiUHz;ProaP0(=a8#c}Rr}0mkb0;RAwEBa5S#W+P?{XFhLp{KINm=C zPO*0HI*O&`xx)Z7#@gXb_~poFtQ2eF(>DMg@wkA7`Rw!1Nd9d33rL&15dkNk5#ESe z=A}D8`@zkKIcj$zAuY8D37NFDkWS)Z@{G8X->hP3>cSR`beFqfBl~9CRkU8L??GDf zD;eZEMJr8KAapB1p<*1K~c^ zf+Am7hl*^G8<{9+?apl2NL%Phw9auk*xJ|zKw^|xim2bGLQ`@QZvlUA%`#9+)a+9L zTHcIodIykZ4_pDmSAzaJKA?|>Vdn@ptl*9*^!UhFE|!Z;TSao{zr&h1I6ioC60g}` zcDs*C>qbf*<+m#L;Zu~j_0Jl zCDV@rWTn|glX!UO(Lkn68Tns&kz_rm1d$2?3kw?|>OVyam}b-JnU2Q^Bxqt=JfV6| ztLEzk-Mafy+}?0tQF}1dsw>uR(mgCQTD$bNO8;-+I=xoc;P(aU-62oV2PKbGNV{{( zr13l>RUqBWdt$L6ccrd}Xc)n6uXYr-dK-N~k7g<*@BSx9S%zm7CPDHUGMTVxt00&J z_^QIv9zzD}ahkT(7|jN!G0^TR-V;qK3tvhpH%5g zeyVh_P>47;bZoT*tGZkcv!QOK#b50=6(ulGv?pNsPyM|*qSQ+ z4eLPz=nyJQjlfSjUG$;>%?HBpAPCjCIE{@h-ioTG8mGO%<0xo$IU%j05XMpzwG^{4 XREe~uWHAh}rzDpyOd({QU|;bU7s0#r diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=736.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=736.parquet similarity index 63% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=736.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=736.parquet index 991491a1c35ab539acdde5f17102bae831877c12..1a5deec4051f87aee5bec648840ea68c4a3c8a96 100644 GIT binary patch delta 2857 zcmcK6do>DoM-=iet-O4@89S5Ip5#;e9!lfUtu}6ledyD}y<@Giit6Wl{_A7`}FO^dEqWl(g$a z4=BXotQoOFH-%{Y?BlQ)Ry^49+!@|DBQWK{K2zTxWcst$)574~&{L6N5`-pGb5=ME zp6=BWzyZU3@^P~I)Um>3`2L2|YcV928r{x^iL7#uD){c5ebp7%*F*_=0IOWT^&f)8 zmxn@wdN6=$M(?VJ6e6$M;H5qMkoWUE2dL)WcFF}(qb>JIk`c0E@+R`&$gSb>_b}{U z{;#Ay3UP8gXW9@RIu{*i1YPFX-?V_^{bhbpuxH~K`6O)mV{y%Ocs}dPTJ-@6kgX@&u*DiE`}ja@15>J-si`mi_@uuofU2SN;t`R^YAEaeK!5}Bn)H; z4_ty84qoB6;KaGPqTA3<(#EvvN7!<0@7iftXi42p&ZH7=xD`3_&{NB7l`d?UUA52z zK5xFdhk)s%l0lgrxq-uWu;rdbxjh{DXD``NJNSa{+}W2xBX)L>Y@R`v?{ezx zQ)z_AK*w+`%&%8_?hfC(J1GZ4+gH}$W=fr6#O`I#|T;@16;BcTz|WyfYG!i(+qORmH1drZ>(AJT|fibJP| zX3>eh*^b9Y;k&&K?yumHnRwgP%5-8Sb-h?-%H%cu3Hb7;f10))oj8%XnP&iP6CbOH zVXO8(6nE-L=tNzwZ&Vu!s$->sAvk?}_w+E#Gkv}81MG__I$^VjPGr`%w{l2acJLBFEXA4|D2L3=hF>54lS+twvwy{t7kgHCK;8HO|=WN$6gE zL3Nn{op9{fX=4h5=-#GGn4V&jAv4S){FpV&``4?NTVcuJu98OhaaWtNM8TL&l(+wU zQ3>w!AHWV~k4G7M5tB3ZTsfu)*D5y7>l_cGI= zafWy9E?DhxkQ4twzcr#=YcxiU2yN+ny05=ZP{btBe=odq+kT@V(!<`&cKd!JK zXI{b1(;qpXAob>fPNhtoX6K?v1Gs3oXRj?hP*VT908Un#oy~zKDGCv1AUpW2Ya?Va zZNoaCqQ7ux0IrQXZQVME@U*V^A|nfjj$it8J`8zWbyj5;omgI*)@uMG`J)X7x*Q3&IeC*<4!V$|SFpK5<>3 z%OsfkX(SCA+t=5NyDFI2fb!Nq~7W$I&f@9~TfEvCdY^iAjhOh~1KTTsLu0pqsVqnG^3|jVungTw6HrAiB$pV}0F1rOXqho`(qEudBbfibjW_GH#rI}f( h?2SuOGyBs#MUB_yxG1M{|0R~62AZd delta 2417 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 delta 4046 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=738.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=738.parquet similarity index 55% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=738.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=738.parquet index 48b4c810f119c8c4d37f097763f9937e9896b892..7ca9131ba67dfbf1e25a6e0bbfcf5057f73c0882 100644 GIT binary patch delta 1842 zcmcK4c~BE)6aerA!Vx7JIbw*YA-V}**n|*-FlbF^!GuEvIXz+sk%T4zlEx%zOtl^$ z3`f^dJgTh$3MzQ`z5TA8 z*^}m`HBJ80@bN^lHTabG=x7;=`SlFdA1Ft$s`9rx4}$fZINgUqf}tz44eZ$9w*1~V zDAv$Poc#dg%)H%1u|ZxxScQT=?b#ia36gmGPnf{d=m5zK=FTm#mw?+c?d(#J(tBlX z2gtoebNRuBTCp3tag`&G*wXTR$_ub_Fi=jZMzLjgP4}gsv6#zHfnCM5_Afz#hCinU z42q+jy9>I(peQBAeLEF&ctTwRuGGqD$@VD=_uD=hukZ_%QJ&Glq$&vD>Mry!qTX*S!J7-k6Rmi@;6gImFxG^3LeO zhoGFD66({4V)O2P6%Y(A>tWe=;IoV24Pvk@AL(2KK5U<6?OP6k&yOm;4%ElbP&a}S z*RXX>;FHFIiX&ip*;VW&c*D$Wn0gq+zNm`8*x=;xgXvjdi0eYu_QV76Bp>P39iS1 z+YXrhB%s&exJ3$Z+_~wm`@u}#rJ_M_m^e8jguucsDof%M!COoZLI-Fc@}6)F?AiUM z$i9_JU<+h77Q%$_eQP{c->7o^~A5ww4l;FaMtd`ZMK{1+|>j|%s(rg8P+7)hR7lcvmx z6PU$$`MC z_LRX>sx#9~Mp=e(Wn$i^LgT_P4#()|iEUXdAiD%RLLow>7szyl2E}I~@`8d8nNF8) gr2loE^w4)F?ROKehz`K_MY|CZl!hP+g~_3R0M;^{(EtDd delta 1566 zcmb_beM}p582(-9!6AiJOPj&~84SjBfvyy>AmmzDp$y7~3zW_T+QRxlX{)S!Zt2Aj zh6^Hild+8WJceYB}Nzh&;D_}-}^l8 z^FGgecT-(wJEjtng105*@@|owJVeM4qalP97V-yY3E_@U6jBT$INqWehD)A@E4g?# zl405p@1c?z^7$mqNZ18SFC}F-`yd|18(yNN;_t5kmCgMQD&$~RAFULJRERFqF9Vg8 zu&7i#16RTKH63ImTyJeZl`Ik72oBJUxaTO4xr3Wu0jb;juu-|6hep!*6C8x+qXyw1 zeC$M|}M)B2Oq4?hGC^YUlKxHu8W*_pG4Tn(afdhbZH4sU{ z2G<*gDJ8?YMbfAHi9Fe1Z6K z^)bMO4=>{(dTt!26fVI*=$9Wy@`(UiQX@{9woM{=?-0l@1Q)P$A@NO0DdDcIIf*M@ zt;Jen)D(p4i#Y`)E-oJ;3bo*on|PK6kE*=Wurm@n8UlbUXE0JwQUW!$z6+60K7avJXU@X&6@EL9^`iHoGUuN| zchjxsP;qt&+PON{yP(K@ItwA5xeBDDN9HlrFR)t)nN0nGl4h`!h8~7jiM`&0>fHlC z>-;DJwa&*zqn7#MAoMq808ENsMW;6%t6(}C`66)Z-c@Ib>lRn5iW|@m4u%Sz`vZx z$3*f8(FXjWr1Efic*0{OgMkICz_9JVzAiFA-Rut|gz&v7eVZ10s06t*%_m!rU2I-{6rizOs(gEHK2^)^^rlvkp=QdZ2@*?pcsv$rKBFL`^)KXZj@ z*WaR}{+5*gCR27_cK+!s89$n-=BKmNR1SY5D=|rxnVqtmC?&e8s>+(Y7Q3^t*{WQM z&szEE_!L#4NU!5)>bdmB3xDvDp)_lvHcXYE!GNw0ft_Tj8p7>1{@j z)@L>AJ8RVjm05j{6Pj237_rLJW>=e>4F;{>)?DRjE0X`t7AAcdfZ9s&dqEPcx3eIV$&Dvui>_+p EpQRkYFaQ7m diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=739.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=739.parquet similarity index 70% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=739.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=739.parquet index e3692f5da1ab59949f3af78728f7ae9169ded691..c8ef906c2eb7181cc331443de5e3d712b3a243a1 100644 GIT binary patch delta 4622 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 TEx5y%kftqEr_q)&z0CgyT|}3N delta 3685 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=740.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=740.parquet similarity index 74% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=740.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=740.parquet index 392c7544ec8c2d3031736ca662fb995775b61c14..263405e319e3b1381c98fbaa8b55e0d21d2da923 100644 GIT binary patch delta 6045 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 U#4)oL1!TcaF*Y_sU1Ozx0iFS7#{d8T delta 4883 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 VmIvQ-ve=hPa$-9nhK9xY{u4ypFV_G7 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=741.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=741.parquet similarity index 75% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=741.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=741.parquet index fcd858c3e1385df3bc5be6abe33f2a8aa1ea4819..5456bb4f7e4a7213c389b9da1a121eab10fcac7c 100644 GIT binary patch delta 6561 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 R5o2LtF&1HAvC^k2{|DUyvjG4A delta 5340 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 AWB>pF diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=742.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=742.parquet similarity index 74% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=742.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=742.parquet index 8620cdb3434eff2dd58a0fad09937145be3b5dba..9e1787d701f7e5e32605183455a43ee7572b5be0 100644 GIT binary patch delta 5901 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 aP#1LY4`wYAQxp&ou#guJ*h1U7{J#L+dmu*u delta 4793 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 BMo$0$ delta 6571 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=745.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=745.parquet similarity index 60% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=745.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=745.parquet index a177a2edaac9119a566f531747c823f5ed3fb051..0717555034523d521972dde03528d0cc46aae979 100644 GIT binary patch delta 2219 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 delta 2484 zcmb_dYfuzd8oiA((CVmD>aa6}#c=?G1`tM!fYJ0oLz)S$a$8>4p zBN}4ayWj&YRxvRywMB}!YcyngQ?joR(I{$AA<1U4D{F8tK2{{S=OeXSNvihW_K)tq z-*?Wr=lkyM+gwO&yD95Bj>>u9t^rE@p0@hr{{&=mC@j|-(x}r2LK?lKw#gV4b}QN z-*I}CTpKY;M&duB$rqeQB3O9BY1QKHC#F8`1pn^)36x*^2pLauA}Q&=Ald2zFK}v= zFrrw3y!>hfsXzIP(v5n24=m-hD)F4t49D`o@rB%mS;d zVE_a9#A~Ufsf$UYPWgSEj)xeMkwK%w6VNL~V-@&hZ^2A*zX533w%q8xdo=f$eYbQo+;%XEq8_+ji z7=DZpJNt{Zps;u^2J+C%JaFVcWakrS;1F^8W~?Kf!eAT4Ho0R_nskP!yJ8DK6=N+l z=yVlQX;-p}siy1xc07cm-42l02ZKNez1`&`ROxVH_OJ3Pkdd2jQ07?ddhCx$UMRPa zDWU7KihZxN=t=7MvY_ek0-hPj144 z-DsuVXbYv?C{El#=x-WTMDWTlp!qC6WBeXJ5ZW zwb^x-mAqSFEyX&q_s8>UIo!+oO&9n@%{~xr-s%exVKencOrOeAr>#09SZO-eqjB&$UNZ$Bfg?Z<@!tzb%DrYX(r%v#ntXGzfs7uGa0eq- z)E85%) z6ID0(Vke>UtbYRPXT5}a{qruMEQ(JMIkg|EtgeZm>*t+!!wvJB+Km}yQ}hJ@0+Rs{ z1CFD2nH_|Bhrg)Q^SWD~0wWB!;Zx?DsCE3QZ?9lldE7mM;v7(kYxZ5m7JlP2P5Se> z*U&N{;xkHIE&U9p#Ey>Z;AyIF;{JHF4}xwM`kQ`IdFByttoooAI3_iW9Ue`M_o$(# zKSx7*w%w<)JVzfOBs@)M*>}N1T9u+4y}Qy3p@A;BvPAap&P=&onbJ>dgjaqT0DjRtJoLWb4WdhieWdW zJVVsZZVbfugh;AvVESC>+|r2P$SV&M%o4hFtd^EnDdzc*VoyzY4OHE8 z)$h-sibtLxCKsgcKnJ&%p{3c!;AwC6PKFnMqQ7yI5aw$c(3kX&xvvqB5NRYHE$I#y9X;7RLW4 zjYHtSzc_Z*=U)5Y6^pr~`iESgMxmR}eAPPbB2SmWovvGZfZOj^S?dJ z!RIXAzsti-XFzCuEAyQN`7Ukmq>YBLO7d*F3P)AB(`AU)uQvR+%J%z9?kZJ3tXuLf zpZ?=OM)EZ2x#dPF-C}%heq>Z+lwotY-the_dDVq4yX+NCNE?jE%`Oe1?KV%m8+b|B{pXn#wNRMnFH_1)djU?mpL)nm}^b0%g>3cGM82qn@g8OTS`q; zDT&E(mPBBeCc#NkopoNW!{$t_TxX0K(@3$$)L2SW>_r)<09BZlC6vIOl$rff6b-*G zi(X8oG`d-hC6%^isimu|nML_I^UHFrfGt~qro^>>nXMkjEs`Ft3i2Ckt?q_2BR516 PauxiF0LIcynbH3S%`D31 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=748.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=748.parquet similarity index 65% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=748.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=748.parquet index 285d898b3ea7cd3eb25513c03336816562966876..5e5f42cdbbbcd8f8f69f94e5a583a13f8970256e 100644 GIT binary patch delta 3179 zcmcK6dpMM79|v&bIK`HwK@t*j>NZU&R5B=rriRKOIgP_$h^AtwhTTeq$h;lcqS{Wh zMLRmIWZTD1$46>qi)}luNKvUp=l#yU@9wpKy#Ks^yw7#be7^VnJooQ@?t7k@Yo0eU zhR-wV>O2+1(oo(I@W zQuc1G%^FBOHO(u9YaMQ`sfDwPCuq^oIOa&tAS}?&Z7{c|NM_gKVGHPcy1hA1-S(cI zdJ3BE`2K~;o|2Q=FDrzMNtk%e;++w&iE&PE3tV4OWL*X=R5x2Fm=WQ=uNUsqDP2G4 zK#^;7X11v#MfkQOJEuUMNrW8*&n8+rrNTv;4dqqv%nkPX*Dyt*Xf$!6NYJ^X&sM@| z@1_3No#YhJJrKNXkuyaimMp%v81jA$ja>noPBI==!ft6nS`*}m*Y3Il6H{|V4k*1P8s+xP7QR@~ z;}#@G2-CRV5CeDZ{~|gb&YCDqN`Un!l$#>ZPakZ zN1mc@AbpuRfoMb*_hCgpQD8DUsS(ofy1x5kIH)xc#_`1 zUU(?r)CD~bc48$j$_qYjVX~LPy14e&(NH^|t5pN}%`G06phcdSeg`yYWL|v;oi5~A zKZn(fTP;H{bfux0^HkIsG)dnBFDDnq?t{f?uF6{I)tDe3C3Q!E$is0;NZ*{*X5> z-<5S1@8K5Pi$y$7ij0ViNDhYAR$acA1;gAo4V6R3u}kmohlS1W0}sMTr)$U5nojj9 zt%g~51$tLu`UBH^{h1W0c{jk`0F8gGP#uL0%j7CSJ;Ex-wWJL?ZjPC5J&Piv%svTR zA^XGj`A1>nroP|&^C@DTv!VMY+`K5Zq;EY%dQO}u`D_Dr=-QD(R&dKE;Xoji_?b+P zh9ez6p2~o41j(Yku#I{e-wW@Tj}J-ONReQ9h~ua=2tPe}v_P`}56h%mbIhS{X7!*1 z8tr8WWl;CEW&b*;V?W?l0F6(63@nBP^ZhDYp;l_<_i~5lFCUMCpU#$8R>I1*T|bu|)4 zAHzDJWtDH6aIT7MKc>4rd9F%MPRWa?UFcx0zW=BK_H`JWeg$>3I>%K);fxZUqwqED zYg`NcIxj|@fYTP#2J+^qNK4L{;)RgD89wiox=pM@ef?GB%^W-Ld>GVSIM4$5r|)hX z%~z45k+bV<1S&G#a_+pz0=bIJJUD%|8#-wIwqZWJ+9|r13$wRswr_+Zf8PFphQXKH zquSvIUr)0>*nK7-#3w{W%+nkK8;)Ngqb&sKXQ4PGulHI3P0mT*8$N^=?AltpV4mTG zcUKE(@-OeVbO+@8(A?D}FQQ5A;hb@w-~xXq>F8oys61!n3`NWPoXTObRQ#qE-Y_;` zormpKG22IPrAcNzYsNVE``UG_Q{m}_b*Hmn_1BJ)LRedUrn?Nf`V7?%z^sg0Y473U zt&{D8N@z0E)n6Vvt2ZCUh>)gAo$Z29fwHx=7NvA6n1_rx-hz&CIL0A z-}0b#OQ!r_62h!wOFeR+-Ef+3KJ4guylf*}uz88~W@ymoapXDlar<1Ks-VfK!@tBo zfclqY{g0s2OZ*zb*36O(tgmP?ZL6NX1>E$tLGMJEIHyAr3B$w3z$Fxbra(Jb*V?YKY#CK&Uq1^_TvX_uIA$K>Yk|xnJ9~9=n4+6KxyWzzq#mkQ{ zPj60x(LNN;DX+1E5#kA3!(eX7r=X8;)fakOJP*)B5WL618#Z{BM~dK({Hb+o62iph z9jDV_nfS(z6>z8T#Qmq?-7aBg{y~~N≀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 Y>inz4I;NIcP*JBm zj%{691%*D^86CY9b)43*xND`-8Er?WxKXE%d*?lA=Xs`m=I7)`@_pxf&wJi;?m6Gh zz~3Z)?votyi!xpFh_!zsw`U_6dp6piG2W(XsBjFwEg#7_1#7u!Emv~S^$H2ciJQNW za~%8Q4>%B`WVR9&$4}H-bKDxw;Swb$=+|I1F+!qJ@YU-_ z!r9QI0+Ddy9+0b29py@sZ0u2>cq<<#P>8|P0pi8CDbDpQI*6=ymb-ARu4Ck!tjPl9 zoyP;p0zz;symWIxINNAA2p=2BZ3c96Vq-5NWbAR3cyVIpK0+E5ZX|N-Rw#RZ3>I;x zzlYqUl5Gry1Apumfx5#dP*%EpY?wqnku=qvCUWP`VB)K%ddpRu-`GjWf_H2|jE8e4 zLqPWe3O#x&aoj)R2aKHa2Zoi-B{#9gZf7g8Uy;lrXy|a%NOoufh24*5Ad5VSrFdk3xSwXu zM&81{e%knNh=BuB$7f2gGe%@n2-iJ0VrPwd6U4W6kgNI}p?^%zM?{ywLIOWpS%e?a zm|2V;p=E+V#-7v$f>$>p{=sjFW{%w|L=fV4H&J>|K88(bc(IP6c5nGDF*H}MCs$q8 z2Drv-+(@>bDVqQ{@jKd~-uDQc#GX-`QGGTh5h%fYne^}@TVWF34F|}a0y`gZ9EH)& z*(z~Su&dlQnA+ZIgBG2F@Mm1MQ(2h@@aH}t{Q7%D?Qn7j+GxqzoutFn>338FTQr-A z<4?_#b6%`--RoUwd-0nSfU~K7Zy=xV-TkA4o6L@P#_z@%Ynz)u8OoBt%ieoI?2BGQ z&7+z`i3=x4d$3;NoCE>H$d#lMtlzVj0^IAvhG&&mskE_m zaA8~8kcjlvHFWDI%dR7cu>TH$)Ri|$t#)!B$-LYQn~)j)6|oGQq4)xoF}?pb9PcLg zBb1`NhrOrKa=j`k(flI}Cic{dqgc=PVk7qMwFalyWqgYOH6jSCrzw!E*F+m+$uDTP z#erB4Fvp+YNAeEQAd0a^U6CdG@M~=NylrYy_Enr4e8fF+cM@nC-$KB;G!Hs!yXr~B z>s*DomX&TNud?Qe2sE(Yn*yz9r;CTZqy7 z<$fMVwW^#KPl-2PB3qzG0%~zlHlI9N9YMl$c-ji_ed7YUQkqYLY-5; z4lcrX*u!*EJw0*>>fL6!!gS}!LbQ#EYyVn(A6Ad2ZkW*Ifh{3=YmfA zv&Wi0^8g{s9|G&PupD=&)u$Dtq~QiEFB2*u`auS`#mm>KAwgUgOoPu4>QfPUvV^`g2lDpUP`dHO^7SBLPzd#BG>8aQk z{S`X-Y0_Sj_Fx1|vuqqua0mwe2`+lktAp!8`wFhhh9L=Y7_$t#H69Qr_PqkB>h~^G^mPZY zwrO*PD}VZ;8d#P)gvOdLo#c+ZlTkCy`JD;Kfn7$QDa56tEdM3;7_s3^-o6rL5HI%- zx~wT&V}sCj%)G$O&S5I^;{Id6gZla3SoeCj9!dBG=@@&NV=%K)I;w0l@(T<`eO7r! zL1|8IwY}8gjohIx#NoV;=Vxc7o|kq>$NX<9v;Sy&^X`-zzh>|l6MMjp$DhFN)u{zC zQ~UoV7;~I#FSBR%Qid-jei(CT?<1|AoWr%_(oqZum6ai@G$+fb`qE~F+LBF%-m$E> zqNLQQp6;?p{mV?dx1nFRYe~OY( znY-LrP*w_Rbs)~BsOyKYL1aK|(=TNOVcHL01}+uP-gaUQ?itD#kjdGN&fm z7(FK@Fijg%o0S?`5nWi87hM=05L>9Jh?^4=8aoHr$OtHjsMStME7q6B8?pm~EF5tK zK~=GZaRo~kAOmEfi3-byI`d$0rax_eN{bd6O#*#s1M>~~sQ5yiHgRcIYH(4S7O6f|O=7^m0dSO3#{d8T diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=752.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=752.parquet similarity index 78% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=752.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=752.parquet index 91b9ff7d2b4f606a326357ef724e6aaee4d1f877..bd4eba8caa50f16bfcf4e4bb48e060ba178aa7d7 100644 GIT binary patch delta 9727 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=753.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=753.parquet similarity index 64% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=753.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=753.parquet index fbe8b1acecc276a32366096b4b97094b66d4e9d1..a3cc7e42ac847e3469a275aa841e7727d0220303 100644 GIT binary patch delta 2925 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 delta 5248 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 diff --git a/tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=755.parquet b/tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=755.parquet similarity index 57% rename from tests/data/small_sky_order3_source/Norder=3/Dir=0/Npix=755.parquet rename to tests/data/small_sky_order3_source/dataset/Norder=3/Dir=0/Npix=755.parquet index 1d3477621ff5bf9f93b549f8e3c2190f246daf82..a55384111f9756b415bfdeb8c35d906e2cbdf28e 100644 GIT binary patch delta 1883 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 GmGcMubS-`W delta 1824 zcmb_cZA?>V6n-yj*+skAAjP8MpgQ74g;FW37VzGJm9kQ_Fj|TNr4%TZwo)sClHSFk zYzCcNzvfg7)3NxG;BX3=)2nPsHl}V-iDa7-H;o^0ZpN8qTe5Sy{g@{ExBKJvJs;0= z&U4P~`&$Qfbsg1raAv4aYLX2{$VfCHdncq5!quH)L?;O$r`E6(EfF3o^Tf31)}<(# zzSzA$ETu~$3=~Z>qh>Kpb4kVE-*e3*meU%m8S**x8;jtFTnj7)SaPcvT*?I&N=kD( zw}C-6>5Iiu(cpeSli*iTA)3CD{~9Hi2%ED@ftPe02FCAaS^>d$&HzHVlw+f$5|W`S zgE;q579vOgge*^wos!dxatuB8-@%hLa|w8a^qg=dr=OB4x!#u47|_ExhSQOM`9~B9k?{9w$<%=%6gFX{gI~a#8M=)D_tYG5 z0zL9@K4@ktHq@i^sM&6$N#UTO!%G{0ndwq^0aLtWEe15GU9b*dm4eWLcGNHgoD$Av zS&wDj3qk^SwG&)~f6xJOGVxa+duQ33K*nXPehbP7y7moNG;u;F${Lp2)OJ) zgkDy^jdQ!SzYFLpUgBXN#h(Gqth6nV#9W2l&|FCQ2e^{VTVaFWCT_$2@=Bs;(UoDO z=o#4#exqXt>MAVWDW=I|NEcqM5`(Heaqq(7xXTN70gRE^kT0(t-ptvpc-{v2v>@rl z&VmznQz{85-rfyuWIaMx>ZE;?G(MSr$072-IDoy}*np9nRf9N<6F-AN%BOvd)3}pz0+`o- zit)mSC&eKteR}pO9Av*j0H|KuqVp3y{VQ4M2h^dJJ7ZeR3TzhaBTjplCB3N!1Q4lhSzuhC&{v{s4imT@Vne z@#E!a%a6dz9eW)(q5?Ouy;0pQXo7q6!X0d4pcf*0R^AntNJaW}03lOM_ps$0=L3o^ z5vELuiG@FnaGwqT5=kl(ds0SZ;}Nnu5lXx;q_Rj^esTiqnutX`KA|%6hjy;B>60bbD)Dt7H+e!x6E&83 z^4QZ1FHScdn#{nZ)t{JLF8Uvf&5u30n}Y6==-3Z8Q!#|ZDdmxVhquNNkdHmLS`qHQ z(&_UA8@&O=yo7SalhXPXs$ay({}!uICMas%E>BIR*U{(#$dd?O&=~l(3^k?U`!eEZ zs8Z%C+K61jS}aA@c>!m=tI;7JnVK4YSpIHCPK2K2lQU;YeEK?;)wA%JeSCRlqSRs2 zx0b05Dx2C9v@a}8@9)UG|Li<`y(Mtfc|FK^rWyrg@AF zzB;2v>w6l{bGm6fpTmZ1#m#lbMsthZYEV_rHM)!3`b=ZvDu0=`px)_S1~%(<=6m2= zu(GBlTtIEN6|_36+F+QxVL_UyfejYs7HCbmkh{rFN7M44YsDO=-#^FE)Z}YUSm|mCxP9J)G);;sMHTlAUzC@~SL8)Tk^HHI JEMhHbe*p>%1Kj`s diff --git a/tests/data/small_sky_order3_source/dataset/_common_metadata b/tests/data/small_sky_order3_source/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..2aa9b2e50f2bbdb0d76ff7983b2682170995d9d9 GIT binary patch literal 5490 zcmcf_S#H}#R7i}VP1BziF6&tKA}qZ_MBZDh@DXPSP0^hY|xkpA=4QQE^@QbL20d`UZs zZ2++|w=AIOnTDlbMq!?c%b7by!t~rRwUKV5f!dkdV>du}&LZ44W{R%N6d?bSHXI-~ zoj&qje5$@aOuU;fN%2>+V8d|ADEyfsnehy4}O~>Z0g&ZHqZxE6>j}otu%&=DGpqThB5%hJ*3Ti zVkooGgf@K3R42;B#eP3_mC0nZM4uPNWNMBagy!D8$-c>^p$n&d)gfg54g939QwPsT zr*kI0_wMn7zn^FDdD-U)A#M1>=K~=pgz1wiA$`L3DU4wv_$2}>H~4nl+ruZ7Lh&3S zO9FiGjY7&A$izJ%&C?pJ-f^}ymutdFH{V*Qbz!DDP4moTRL&}mWU)HcYSu}2%@sK- zJLOn@sODEWRV?-tv3MnS2bSh?Z@KCWNCXE-}?S|5+AWSr4DH z^jZ~UbOzjT)Hht-Qtj44u7N*j6Uz%iMVg(le5ofyY+ob2SeTlDT`a#=3xX@<1@NnF zCfc4rqt&VqyXrb@Bg7@!8hSERN0@1KE9~P~b=vtB%V7*=GT09MSt*Fks?=aHC!1Ij zQ_Gifn%%Ox1%BZ9Este!b=A$^LgO$4)$R z1z)CW9pYF|jvLg_@T>MgZY7uco|ONX{_XtB_G%$@?-xH+9AE9SE5Lofc+DhH+f`oy zE~&0!zQY;IEe+w8{E9+W5<3IERte5z@8c5B$y^e1eogRDCp+ui#4}1`mlPjIm@6Wl zw+re|Lai?(du&Ms|18|eo|389!cec4#o^|f~ z(&=e-Wmo>TXue+_gP2^&V)Lu^1!pxWuivImoT&vK?h9_0Z4rD@+;kCh*56fYIqbV< z_vovgn&s~53jr=EK8|pEZAI~S>hYf(W^C-L_p9Pk>3V+ej?1QJZ}&_uZX0~`&fL+{ zdrD0hsCBTZdg`8ir2TsP9LDDZyt9+y1@pztS=+WRa$hF(2>^;X>$TrF=cR1@a_Zq;&6mW?4XvHyi^%*$PVt%#*Ll`-VzP4mR% zoGi{=gw*{z6vn7B&QtX^3!hUQqh8|J)m*|D1(O-zG~Ac_I963~pM?eCQ3x}|C5bD@`=HkxUXkT_A(Nrw9E^kTFz4^QeVe0` z9t?8u&?Q|_c@UlEl-?t4!WV-x05LFM7@j_p-RL7LN|l%|oMXrb%oob%h;#1qx0_T6z8Hk_ zMc*gtt%cs@hq6$@JA-)n_W0K^{&>DwlzPMON^L*ieJ|gDWzlJ562JRfk-g(<}Hec`T>5ZrzOhsA1@ztlR7vWE0fQ2WA<7bk6+Ulvm^h->&Sa0 VJNy^^wRxA{RBu0(I*0$Z{tszrzJmY& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source/dataset/_metadata b/tests/data/small_sky_order3_source/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..1c4ddcdb98eeb57b6f0eee29162c2a98a9b38b85 GIT binary patch literal 77195 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 D(YN#( literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source/partition_info.csv b/tests/data/small_sky_order3_source/partition_info.csv index 21091ba3..fb8323cb 100644 --- a/tests/data/small_sky_order3_source/partition_info.csv +++ b/tests/data/small_sky_order3_source/partition_info.csv @@ -1,44 +1,44 @@ -Norder,Npix,Dir -3,264,0 -3,707,0 -3,708,0 -3,709,0 -3,710,0 -3,711,0 -3,712,0 -3,713,0 -3,714,0 -3,715,0 -3,716,0 -3,717,0 -3,718,0 -3,719,0 -3,720,0 -3,723,0 -3,724,0 -3,726,0 -3,727,0 -3,728,0 -3,729,0 -3,730,0 -3,732,0 -3,733,0 -3,734,0 -3,735,0 -3,736,0 -3,737,0 -3,738,0 -3,739,0 -3,740,0 -3,741,0 -3,742,0 -3,743,0 -3,745,0 -3,747,0 -3,748,0 -3,750,0 -3,752,0 -3,753,0 -3,754,0 -3,755,0 -3,760,0 +Norder,Npix +3,264 +3,707 +3,708 +3,709 +3,710 +3,711 +3,712 +3,713 +3,714 +3,715 +3,716 +3,717 +3,718 +3,719 +3,720 +3,723 +3,724 +3,726 +3,727 +3,728 +3,729 +3,730 +3,732 +3,733 +3,734 +3,735 +3,736 +3,737 +3,738 +3,739 +3,740 +3,741 +3,742 +3,743 +3,745 +3,747 +3,748 +3,750 +3,752 +3,753 +3,754 +3,755 +3,760 diff --git a/tests/data/small_sky_order3_source/point_map.fits b/tests/data/small_sky_order3_source/point_map.fits new file mode 100644 index 0000000000000000000000000000000000000000..98f611ace65438e6303ab5c764aae7328c3e87ac GIT binary patch literal 11520 zcmeI0&x_MQ6vx|DJc;0c@W4Y?Sll1Tt_XYRkF-0xXP+XmC5CR5qsLHu#h zn}XoUn}35hZ~h5__}};@X>7BbEL{afc>~kDd3p2A%x5NHUQO0)>l(m5WE2ZFVc>fw zelQL}`cP+<38Cbk%>z3l9$gh?wOKbu?;h&$AmB5wx#S>c6Opa5@EYYVGqIUDzAe=A zrsKW{z&}Zpow4vj$M?d8$daXXEzPLq=vhmFE1Hqmim?<%1c(3;AOb{y2oM1x@b42) z$4Qg5jD09om|>MGx>j16)h6^Ej|Vf5yzdGSr!qdAE`_AcKYD)Nx%~M#I*)JXoS*Na zo-4ee9I5lTot(r03%T`&8)~Yj2ubJ87OY6m3=EM=Mov&(Hy|xyuM=8l(miOP{!7Ex;z13;P zdWZ8azom!Cpc*00w{)PDb(I?~>uo~foj9k$bwVyNb-Q4!txiqrFr$HbhGtqCrgCY$ zw$cGVutnf_LkI^WF%}yj967=?QFX+3?8G7#fQFnq+LbMui3)Z)w&qHCWsbv!Eey*mGlSRSvak^gSrmk9FNV z>Ydpy=EE8O$MIMMe7M*qNhm6}%N>iAKSX-(WmV1Xurk!73*_+#(UKR%cuBKyn!(r sbNgw0z1l4vs_0JLeGbKf67 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=264.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=264.parquet deleted file mode 100644 index 4d41cddcd6f6ab91f661260c5d200dd2eb4bbee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12068 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 U7=91Gsei=F4-rHO{Lh~M05xjSaR2}S diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=708.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=708.parquet deleted file mode 100644 index b94fd1fc8291b3723892d0f0657164a41b3a9e42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11056 zcmd^Fdu&_f6~9ih;o|#N{X(p|_uBCz*AM)N zr z#|O=ycZE$9Ubl}(Pnx2w^i2n0!Z5vu-ZN%1DiuvTtVh0Mu(n(nh&tRI=ImrYE8F>goy=s`e3(R~!$hT%a`1l@5J z-P3E$(z_oz8lK}v_dej5Y+_?JuP&i=c6 z^vz!^o%6lgny|w2g+Kl9XYc=f>6{*>!m*hZ8EAx_s)PBR!8S~b9Lsb@(BOR3%zXPA zz^ND3L&erOlV@-Kg6qOX&w=En^J8yZ^!)w9cb^~q{zcEolW$$~ao;~YuE6cDzy8IG z2H{jjK=#UG&yz;h)j43C+tr%lY6ea!pUkEt^aZ5XCU!gL?8!8~>e1;Yi(_tDn2 za+_JN?m)|WIbnMo*iK>-2jf%OX?wiYY+s% z1gTtIAQXiWbDnwssy2${^&rC4qSEM&@5u0HK%EL;e+l_zS5^Mj(JA ztAjUHNe8tH#IHZs24RswC{;;9@zPDqqc@`+o<=sr1{_e9Fobf!vH-MaM=6Z6xXnI~?>bk@!{G@>J^K?S)C43Q!RT-lk@ zKyB=QJl;;={@J`_%{NWfr%cRiw=z%Nisl$e+1jl0J=PiuRCqS^4J^}|^^U!5)q;_ap+n1_i5T; zineIJtDN+$X|W^%_9Ds~m!;?-m_&BQ{Zx1iP)JhM%}AE2)^%BGyF@}84HD#PwBH(j z;RZ8o*pe753H!%@86>h+siUnx0C#IJ>ahNXv}W(P|U9MILuD;D9q0F70eFy0?bv}p_v`rVVND@ z6`7si$*fP`XtgkA>z8aJ6g7I#wxr$v)%C?unx{OhKJiWpWR+m;a8#|YcO5QA6WVuF3+QI5lsmaAor5eT+ zs5MMdS?|?JQt6-w-60at^z_RQz{Ke}S%TBZ2EbC|4EbGe>n%CRGZz6F{L3^IkqEy31U`yODJH9SN5- zCMY^;L0_oAyVjk2d}f7<&#a~rIZF_>>=L7tOOcxMt*(HS9ta@joZ z3O$sHM;sF0DW(H{kP*!V3*~I46%zSkWGxi{d(kFeC>EPb))##t_e!k8_6-~#pQ`0m zyL_Pyek#^Vx?+H9Id5pY!5AUn2mkpuv^IiY9Fc+~gD=JE!n~-(Sm8^{u81#)KB%X_ zc9`!-s=irwhkY0q#g}YeaJijAF(M|WLOBU{s*;MYuO?iZj463@d@-66oNh-Z;S~{Y zu$Zdx5YJ6)EAjz%EB<4`Q2a5$s0s@6xZ2f2z2?mP~BV ze|)^M+RHALw|oAoC*wk|{8D*FdDVp-)|j)IiER?!c+8QEM|0`GoVq4g?r-8cX(Z!L zIVVDpCq45$k870p&d5KdSc8k>dOJbz807j|vRDz5Q}SB4B759DNZjH^lF-EzhU1tWq5*ypha~Vr?MJUeoil1)G?!{5{$!aRTu%&(KS~ZI6)u|JU z{8R|`i(oI?I`~F@OUE&0*fw>tS(RO64Ayp>F^ zd|#buatR4{Z@(xtTVFFJzbX9AJ+ntmU*Q5`Q*cFcxDH_-5qsKZ)F zaSwyOXuXmwg>ph^mGpzqTfuv1EiLsFu2dql!NuJT((e@JoZ$l7Sb+Wy`?>rBe!H*@Keh~Q zwYP~g7V(>H!uPBIFKh*G0n(38<16XEXE)rFlSkld&WEFMDt_Qix@z$7){}`)3F_Jk zsSoUIadK^Pk{A`(YJRz6KGriJ#PO&>=7+lGBbpBV4*1mQFS=W>XP^xBez0M(iRX#g z<;j)FNgT-LkV6g`5^`m*CHb*Hl+2T01AV z@LN5h}nh%01*qhH?2vgmLNT1^8ED_~-C# P{h`j>N>NMje`Ws%o2f2` diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=709.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=709.parquet deleted file mode 100644 index f8f4666a85deaa24480b75683afe47a5b11f197e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11865 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 J$cF!{^}iUOi_HK4 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=713.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=713.parquet deleted file mode 100644 index 3f625c89c8944f51ffad5093e263636c7e2b284f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13494 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=715.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=715.parquet deleted file mode 100644 index aade981a752d270a36beb51eb2ba17dcc8b77dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13678 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 YUVuLn!{5Vi>Oa=Y16iyw@PAtU4-i>stpET3 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=716.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=716.parquet deleted file mode 100644 index 78efb13e54a93a7a64c9f8e1aff9e15ddd8d4979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12331 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=718.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=718.parquet deleted file mode 100644 index c4cb1f4011e9f063627def745a8e1ec4c4d0b2e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13712 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=719.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=719.parquet deleted file mode 100644 index c905563e0f3baa47aa4ed85dc24f5a4320faae38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11778 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=726.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=726.parquet deleted file mode 100644 index a4276a9192edf0c45569cf9f521b715293091803..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13736 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 T;h)2|^@lotkfIjg|H}RkYoaeP diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=732.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=732.parquet deleted file mode 100644 index dd2ac86a132c36190be7ee1bb287cf85407c371d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12936 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 Rd{F;b8*gW^=D`0!`9D)wJaGU3 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=733.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=733.parquet deleted file mode 100644 index a94b0da2e04c608e2c841fd134ef1acf11bff3b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12072 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 QlKxdaw&hqMdKK#4on%S&Nfwf9 zSq|xh$IwovWuQZulm>=@l$K}HmZ1e^K%|8Ukf!~E0m@`(hGrNjrZ7M$q?GpCy@yV^ zljBgw|MVu=+xx!#Ucdcz_gf`9X}`@_Z#<+k-l!WinvBHx1QBW;x?D%-boEc~SfQ`K z(+y3`1P$SU=G1m*_6$Jt@>*y{SFOHUoaK_01VHP*Lu5z7rN<`ucgsVo;8O-7A% zCX?xJb*54s`H+s(pNW;0O%O9-tRtW?z>6RR44x=s@L}*zD}L~S^|L&+@}>MAH^ckz z$9Dfwcn6<&EdGbj^VD50j6S>_z8|{ijU$urKK|$af1V5U`g=DV>4x{d<||I#0QBb{ zXg|<@DoCdtI)|Z5;~vMk#9GUx77nYYK1k- zEC`-gFFE$0p@}N}^={9XV=Jfq$#!y;$52m|PBi`a*ZT>o zROtEO!uS8(T{_(1-*E7g?$RrtKl<`B|L87#ZR5pFP49J=HoSBdar@idB{e(}$E=rZ zBEQvCZFmkhmEma=lP4PE6!;u$B#)u=QERMWXF>Q(UvK^8-a~WLIY&00zwE>umAJL= zdG510>YbZ9GT;2(9QE)!4=0{|ZI0rOt-O8p@j2>ekGL+W6dPDC4s%H7+kJNSu=^$y?6_ zVAQH=7+4T6P4AvOdJWY{J^Etw<{uT>sf#Yv54^Cxle($(wbUBJ7V6z~Z@KPxv4i@{ z?7z1440lk!i}K^o4cMqpUy7~Va$yH`z3tX#x8Gu;MjVHp-2btay640Gn@+r7)c{7a zWY$Z%k>6^nHZYH`QUb%o6&Z8q1!U##%m*5{CNc))@4ji#~#X1&BI_fXVoDhRJ=6I|4p2=bK{ z#V$U{j>ovXw2S{%XDaE)-s%jX}j6!d0mh!2-c^NoS9l=&&eLbR^aa-l(V28y3`R-t>i|j4t;2q4sL}KbD!~Kg zD#%I@rRNVk`1Riq#J=5cHRzj5NB2LXGc;2p|9MmgU%IuA>GXQyKmxJeU-k=~L0|e7 z-vFei?{Cm|?jv_Sg=8t_1iS(Cin36EOW+~UB}-Z*;IS*pL9QH4Br`dVf$bw5jS1l% zt~33rj(mLsd0@Rb4Jy5w;r?$adTLWSMbAw!*?2NNTAiu)Z6Z%?T;fc9sJ)C!n^*!oF=Qd)FkPR++b7TFGNp?4G1Up-pQdTfR82i!d+G zafw)pF}6WHzphSkS0Idyitj8Vd@IU9fq?2CsmH_#V>1ZhgLEA+*a}eyTII7#)G8kX zqSo?`3Reu!AZ}jkOoNYHpojaFpa$(A>so9gYL-dn{=t6@&5VDV~QBW62mF9j&AZRz~y13>s*e zN+-F=Xv_km(^IKTQDz8d8=|LTc_zx_85q9D5=+DIWIB#ycVFGNd7EYL-m){5URdN` z@Q|7cXDV4$J|)xnt(|I*WU|5`6zJYf;FlPrq&LgdG%2vEOpfuBjHXcqV*zI2ZdKE+ z$XjH?P{*h(ip0e>#l$sC3B*Mw1QP-Qjv?5Miq<&nAJ>D(eBwvQsJhg#WeKZ}XU2#lv zIxF}EMC_IM9@-;(LyNUwKF|s@$iW*aafV%}g}-!f4rtCRJt=-F;tq6%?7nHXKagkB zL&@Q!llAb9Nhai+4cq&yA-gcf!&`G6mv@}C&)C>t*BBG*nuvrFJXiE=_4MUIS66}! z?nd%c(cnyO&_yRBDV}HD{xLSymyhg%aqcb~>nuvn$l$@8aA@FP&uV-s>VkpH<-7_^7)NbodjV@yU3s=;hgzZ#v=zf00iv zZy?Yc&JVl1j5C-`O_zv>cu#C-&W6*`>MZ%I!a(0J}OZoUvhc_X_9mzz3 zGZP{EJY&+%1e@|FIGe*73psfduO}7Bu`r+W_?BYbjzqL4tcfqgl4JV;$9`?xAdkjR z>mST*xQJudn*S>M>iLhPW~RfTGsBM!W+rO+CG(aJuY5Sj)yglKrwXh(697!e>7?1WjG7({oq?lkJ7wK~-d{&Lo$|dDG)4+S5{WATr1soq-i zry8?#^C)975eW{R)<1czYR&7}*(ZkC4lkS+o?56ZCs>1TfJurxJmrVGqc8?KE}BD z0%!Ln&^m;3gsl&=^G_F35u4?4r3E}F@N)7}J^p1}1W)K<{|X+LvMNomj_Eva>KaK9n3Aq1~u7mc~IBSJHi` zG#@HJ>Ff%lGMYu@bT5rc=@Im8M`ifH2$a>%0+JX;-*f@KdpPLO8PvFOJ>H4Bxc=^$ zb+or{gRfo}8jVEJ2Wo^T2QOzn9P*}NUmL^w1KpEqpKfo*PPtDfKUpD<_A?*^(NzP> zd#mJ8G!^!(@Tst$aungrKsxAM;6r->-6wiR+Q-`4(Lg$ZIQWtw#D_lt3V1^HM2744 zjYFL--Wfo)|4LBez@wZyp^w5J@d%+|D((t=)b`>%5Px5X>?8L8WP}I2CHuP(5#x(G z;2>&n?7l(SUa-m@%qBbvdnmMCaX&$Qm^~C4=!G|A0ct$68^!tS(Vjnyzg!QX^A_B3 ziT=9i!PCi4fDxxG4>bpT_Y`IMVOhRL{#44tod(HsqC8Dwr06(+g7I_ufeopT8U=nh zv~UXUIEaDsV?^Nh&VnS)Uon1+pCW(Jbr$j`$k8#JFYp<6S|xk*3{od}p|FSN3)STG z0GcnP-$SQ&LKo-95H`|}Ma%Pr@5lYV>1fD19tk*5{X^4uz6JT&D*5X9b|F<|`C=IF z12ErlVZMRuLP5i297MxtsiNS}VwIeb@(+Qo#LtVq<@=kR$9%{ikO%z*q)&W=`M8QO uw`G{@byKnYW-gQ2jDKWk6MsZ#6MkNRenm27)(^9kr5>vK7r@*y9OOx~g!J_A;%}o>9^kwtXwVPMlv`LyKZPS!> z=m@yzAhIG1gQ%tz6DKQ z1vG(TXjIoi^WjQp_7>%dh@Eqh@V>gdLZN>dfZkgJ&769GUzq!M#QeE3Va;`UQlY8_ zz(0{gb8bE~hvq?Z>-EsQuZN{8=9UsIb4!KGR^& z73Y>nMeplbj8wF@h#g6Yavmr!DRE~(TPMiLE8Rxjr7S=A@B22&j%Xi$e(eCj$-iWm zh=s+qL~dcRG%qkX;E5Mh8IE#R$5ITZjefw;7 z+_#?{f1r{w|LBt;wDKX>*@`cR&^tGtJGBY=CoevHsOhUAwD8R(M>j$L&8^M9vixNT z9XUn0&=36KdWLx8w|MdU==*-|<||E0v>kI6YR}3aN;* z89Oc=I(4iL6vbneAKg|Cr#&H9pIt-lEr4L9bI%}idck_GdhzkBKSa>87Y2flo{b>a z88JEeNCZv3_$Se!$q4#()5D8C*%?7+cVB&2zCD6Ap1x*7{<9JE!-5lzW1AxA%X_Mn zjX=M%zhzG6u?V{5zc)Pc!NCZ+@sr)ZE&6o?9V#At+I=#D-bDFF#D9*UGfynKiu!#7 z<*!)vKR5h1f^v86f3x~OBIwgy!=u}O5kbec9saUuEAV;gj@xg&J%WyJb~TFMkD!}< zo$mR0r_qV`ecp-9K<5m22EP+Qix-Y9>O2%dTfe{ioew^WAlZS}y$Am>!n3hB4pI@P zJ9b<;bn0MDNaMlE_VmY2KiE=7B;@DwAWG?MGYFerl-_&%{K@@&)u?vO-j`~NtvWDy`1fcvI`sCsM=IQMw72Wwt*7kO z=njG7*RFXA^v|1xyXK)PB-}gj?%j{e(Thuq?$zv(p{oiEH~&-JYE(70LfdlUB3o<-yf#dt5JvCSZiH%j&5`etzfbNw$a#J6flkVEte za_YzN#E+X1+_>Q2C>K}6@8de6Tre&b^a5@{Gke=+=QV9{FMVd@u>*S?0)l+`TP5Ox z=+P~-S-otEJtL4z3dj#j$-7ERVmx?ND-|zm#@8xTCWZAi*&ql$G1n7fiFjdL9jS<0 zAr*0JupiQ)z+_H2tFR#Z0x2NxTb57_4BGmg_F=9XcwHcQOF&L6CBtRl>2zKhBus4% zV+)i5Ob=H*csIoy4kHzDYq79&C_s|U`IqbBDU%m9CwgPD<~&G}Czpdc>AW&Xn5H>M z6J}V3nOla>9Kb}y!rGXyBxssBZ>)@)lOHvQyHr?vo?AhlFX!w@VwOP!uRS7hL9;lE z$u?mDPBI9|Jh3F6VRb~g5W}TR3xmAUENJTlf;xiSUs)o~ispK*e$el5`kAddCYcbB zFISNJD{!(W((@`&C|#*?3M6|4lC&cK0dWLoK(b(U}2(K5qVrKq2A{jW4y%bwM9<8C1dpBh!fcG>IJWt zNW$x-jUdosV_V}SL4^PFdyQ)7(W_tQiIz#`sqtjOv?NDVKva~|g2DpgBB>FG3MN+O zwh2TcwC0mMk?6qv?SewlMC7F$fc)YDK+Y}f5P*+==>@`YU1cW_hCjUVCZHgG&;{?9 zhm3$gVX`YnD%zZ7z??qL2I`4_IF2b^Xfq0=<;2g_L>pG7>vuV#n((}B0z4z`UYgZ5 z30_Qk=0wB7;Bas`gQj}YJh&$A*sHtyT)u$a3dfk&;bdL>o=~z+Nbam7w^VbXPnE&z z;=gWN98t!%#axfo-|O;rr|yo=*OEup&hqZ~>iW31@}qhsZ<2ejCqG=rc?zd{;#TAJ zRMOu4^b(td!%0Ql2)HM1l4ov+Yd44UTJl~wx}JP+J)<7SBY_*Add269Y6)p>z~1Nd zSjDCAK3$%b@b)Fd`3ZBsm7OOP@hkurirmQBONa}Ah`HLA6V3R%V!6id&?wi~B^2cv zKgHq63>=~d=5k5%kLHWuwrAPkQ)_t%fKUv?oERyvlw?o9V%Et?mm(n{@(Eo6NF7DaT>O#oWoX!b=V5aHs>kqDFFj{nm^kSyYP19`~S?S7-ua8e-u+ zmr-sMH^YLVj!Bmo12L?+~7vd{#?G{o{IX;ki&NmBNul`EAYc%6; z+Kh6qL~PR?ntXkw<9TepywqZDQNPnVJm_a`TDQyQxB5f)qVDm($H09gZ@Su4CWJ((R>H_zO}k6h*beU;J&Ls2WPu zOVJe7OEvT|FqJ9^AH+a)46miM>>OH#3xfw(kODgBF%y-!0k`m%QU?I0TBG&2M=Tmc zjY**&wKW-rZQd4Ft4n3mx|M@glWN?opk*cnyGHAl1+)#iew$)UZZp>QSdFy<7E_0#hi+h;R&Vfqn=aV*f>K)Ea)x7()a=&^a|VM`~h)6~jsnjq#AGy}car0;Pw zxq}R@K_|C)+`zxXt#t)^fuG!FQq`KOJ8JD3%$IW66uKdcQ7>cha<@Z61CNeAZU11e zGo*9dJo-_K2K2=`HRucmwRyO;L8t67B>3*UM~^4!2!4_2`&k|~uVL8Uq6f5^KDwKAWeb&n{QWoFI#WOZ)HeH_oY)0QeCcR>~+4I-1 z*=Wy{UojkCUZvO$drTg58ZHrEqd{gicJw(k>e!y_=?vn1GGaE$qdB32Jjs~vF1$w> z-|_j!YZ$Q_@qX)K?BU7vQM1SAHdjaY!nE{Jx~v{Uzk^o#EbJcfSdE5&g;pl$oVJE9 zmlF3GkFVS#mzn2LTRM8|9(AVprLCF0IL3T3U@^8#sb6fb^2PPaoD;3KY8~7c+Dy77 z;raaLFyff?X38}=K6hI$<6P~~xI>xFg&2;{KVHM7b1NA?tuy{6ugd4llR@XMg~g;Bw;GirOuf^umN)lPBP~$>;d(CaPm9~`)%$FU z8iq%Ut0vgo-{R_Nr!=@U=GMWGsibLKnzsa@bZ#)?GTMgAX*GpQ>2^F<;4*weJCxO` zAf{-=b1De)Mmr2BA8s^EJzj%{O#R(BuB@tB3o~^CUX4ld1UKv#fKD}RHtD=@uJthI z1J&rM8m+2gl+sK^KbS<1&oclR@l%7L*QL;7Ym(&4V45J`qYS~Ffq77!phHyqi+VFZCV3Nl*}qs8;r5}?ON6}2FeUs zJZ{y@8OY3suzai@I2ro`dQN^91~UG|15gk*jP3g7m^@>OJcuTI3G%RM>gaib#}GYi z8t{c4vH&;Q@m10IHS))g@qery!1pbv(-76Sfoh(LegK51V)RgRz`QXOqi>DTXULyq zdU(@ddV7?fq8Lw6z2Fqaf2s~ZL+axu!GDZtW)Hk^FoMaCb{4N52TCS?qxLiYOUPgR zoQ3=`+9@ZKFEH&@$vAn`7-q+6ksyzW7p}>v4LDwyzn1d0!H~(17Dh-DLmH14^FD6U zk2*}cev3hg>mQ0@;?2^Jr_iUyy8*L`(}&E=IRNqQW#bLl25dAu#(~s~w<e~8DH5JVgNxBUMFXI$`O diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=740.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=740.parquet deleted file mode 100644 index c8e3d62de6500c73a401615d761ab1a42a976981..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11581 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 E7g?BYumAu6 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=743.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=743.parquet deleted file mode 100644 index 5869992df140f207b4907ae06ad3f12e96130b1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14882 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 diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=745.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=745.parquet deleted file mode 100644 index 7690b434da97ecf8f089dc7dbe161b3a265df745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12675 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 U&&2S1_>le)Jt+iH2LJuyUmFzhmjD0& diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=747.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=747.parquet deleted file mode 100644 index 5cfbede44ecb7f417defa80f9e96a3d5c153e4b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11601 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 F{vVi$LfHTS diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=748.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=748.parquet deleted file mode 100644 index 4ee34f146475475ca91a826d2bcdefc12e02beaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12194 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 JF#!LQ`F|fO$nF3D diff --git a/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=760.parquet b/tests/data/small_sky_order3_source_margin/Norder=3/Dir=0/Npix=760.parquet deleted file mode 100644 index 6f9cb8f3ce34155bca077316d51d11ff42c9206b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11825 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 diff --git a/tests/data/small_sky_order3_source_margin/_common_metadata b/tests/data/small_sky_order3_source_margin/_common_metadata deleted file mode 100644 index 340931ceef183fbe78dfb715ee83dd07abc2d7d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6691 zcmd^ES#R4$5Ec?6Xw$SvTR63gJQxD})TFwsBnnWVOPyqF*-~QhC<=p@B+4Yk=%S>+ z|DZpm|D=B@51m<3G$~R(3db)cY>GRxGv8dhJCsgHJGZ^H`}zA~YUj~d?dz7jy_eeF z+JCU~^>{cPsrs3rrM4f3#v|DqKlb^Wu6l%r*1(_o(2{$p?I$3#rO39npE`V=O8Huc z%0O2qms7)H;hkyV0)ekE*4=cuK|2dF;4@g^0$C$6tzB}t1 z&RCTJ&(`!X7gc|2$)lcOpCuwZ_L*^@Z&qRvyl1K1C%Z3p9y#E!Jl^@|>8CWsJX43} z)UwCvw|jr2qvoXle6g4I*q(hlo%Jbg%a#uF?Wt+PjIN=Z+F6w5p`1+?4o*x@Z9^Su zdKzZiQ_EQd3@@5UxAcju$rBl-e@g2%OgHQv%AS6xy?m3txVSVXYDGGz15^_+Cdyi~ z$*?D{4&oLC-fbxiU425eyjNR5ylDfcLiVIq7NiPeD564o2ToobX*8p;B*6!W#LkoV@WW_HY$ zxq*_O=M=u!mHFbiB=k*n!MMrVWMUWSTW>;&NF6EWEoMM@vziqOH+XH<$MPQ0TpHBF(w^*z5ON8;z_LjH<5Hq%$Ec3;hvvbw;S=r3zYV+Hbgg>9BnFZH#Gm>6I1 zWvnzHj*aBFK^+aQwGVPDE~xKG`Cr42=U=ksGf}u*{1o0f-(*+7yT5o%L|)xgUjZ+v zuGV~qHI{Sr&K3FPJ6Vx$_qBR8Sd-oNF0PZQ$mjf;;Gj-6*1Lggl*TS8K6Ym+^SItl zsXqy|J`*j+6bt@ZxRE_2L$*2ttyXd*Z;ex&+pA~S?$^JJ=2TZiXS~QH|*(M zxo)~@zS+lh2L|PM*i=)7T~O6t>!}FYgwhh;u!{g(cBSjuCLnXv>$}t3ZA){=JgbLN#K?; zUz*Z>XHd-@4#@Nf`akUFF5@Ygs@-&y`~lT*WE{AMgCnEcB6VzySM%VJcG5L$&5vAY zoy#J&(F(THRf4T_3&(kE!{4=_t!7-5IL0w?VO&w+fjD@p(|-H_A8G$xS(Y-HH!!M} zaW;zL0B_zkh7V>U3Y-o5T9@t*q+(@enG7|mex3X#2@F1IT zh49d|s=uG$Gh`241HJGGRe(2k`HP>wN^<^a{DXb~&s#93?Au!=hu6uU0|*nyL(c)@ z$|8_I4&*n~PgEY>X;5DEQeoM{3#kUAyoe+Z%Z_T-mq^6U97qpC~!g-G`S$al}nH*m}7G`x(1sEA7yox{bt zGGbMK81!)bI2;G>Z+VmQp?*Lf^t-6fzr1|>mfG2Ko!k+i_ X!tUp%@C(eX{!%~voJyU*&qMzLar8Nm diff --git a/tests/data/small_sky_order3_source_margin/_metadata b/tests/data/small_sky_order3_source_margin/_metadata deleted file mode 100644 index 9178e54bf1228a3a2ef356528457a11bbe84332f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71600 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 X;9rE{pSy49Ki-2&c)SkyAL;)OFhD6! literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=707.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=707.parquet new file mode 100644 index 0000000000000000000000000000000000000000..2e61a2aa3567be47f16b225875d74e1f124bd608 GIT binary patch literal 13357 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 CoiybD literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=709.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=709.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f40b28a1b6f89cadbacccf7bb6fa9a6132244724 GIT binary patch literal 11902 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 Y`&9z`MHv3veO~{FHN^yBhW~l~Kf$%M=>Px# literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=710.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=710.parquet new file mode 100644 index 0000000000000000000000000000000000000000..cbae907289e0d00fe12bf2c9878a6fddf7a3e171 GIT binary patch literal 13853 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 A0ssI2 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=713.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=713.parquet new file mode 100644 index 0000000000000000000000000000000000000000..8c4cc59ad4f6357de79665178c2c5ff864b05171 GIT binary patch literal 13584 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 X0sci8{<-_1{v#%KCy0Fbf1&;#yFii^ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=715.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=715.parquet new file mode 100644 index 0000000000000000000000000000000000000000..77e3c592e44b3975132af93b00f96d8dbd2fae7d GIT binary patch literal 13770 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 D;_HC( literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=717.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=717.parquet new file mode 100644 index 0000000000000000000000000000000000000000..1751ad858ee5690064d7e91ee9bba9acd1f878c1 GIT binary patch literal 12111 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 OuydI}&<_7A{eJ){Qt;RS literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=718.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=718.parquet new file mode 100644 index 0000000000000000000000000000000000000000..1c9cf4e6b9082f44b68211d215cd82438d50827e GIT binary patch literal 13805 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 X0sci8{<-_E{-ezvK%*7F|LFC9nyKWS literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=719.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=719.parquet new file mode 100644 index 0000000000000000000000000000000000000000..9804a73c0fb546e522a11ad61fd3167b0f70f0bc GIT binary patch literal 11805 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 G@c#prwpTC! literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=726.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=726.parquet new file mode 100644 index 0000000000000000000000000000000000000000..70351a35389dffdaa378d822320fbbc7d4aa5d40 GIT binary patch literal 13834 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 JbMXJn{ttzAE-?TA literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=732.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=732.parquet new file mode 100644 index 0000000000000000000000000000000000000000..40ef7c1cfcba7954af8136cea442440148212c83 GIT binary patch literal 13006 zcmcgT33yXg*6B)DC`f960;SML(Y9%lu2As4*K|qf-qJJyEJ>QSX|s_w-Jk-lj0z%~ zGIscpp`cX(70V){nOeXN#SI)6L3(fx9p^3_a=1?*;ug!v{Y%(+fbAiX+$o9bQ zNig;D7(fw4(6n%&VaH zgowv5Z_%s-FIX6o_`E-~m43mIC^kYUk15!iSolqL>9nFs)xzrS+6CWsElOBjtKQrY zh8Ysuf@0W#y4kPf&Sa!{VSkfI-2Oa3;Kh_I}T_7J|Fz> zQ3CL5+4^Hy&|h(6TGuYr0-KG+HP)W=VKxoCk2 zC5x8LdI8|WCv^N;fD6a}Z+#rVinTR|&doQW4M%5Q;4L(vnZJH^ly|oYZ9o6uHv)h^ z>Prgs0N*M-`Dk8^30*jGRWt!$a`w&FWEoO&bADl z^O2>`y=gp1nP0!B;`^!lDRaPMX{t~5Qs$26^O5tQzi?U4+2ehbdE`_7ng9LElzC=T z=jLBuqRdYzu5Ei3;JFdgjr!e``AXWThvx63%oAqpIs9cWW&Y>Z_U=1+DD$?rpSGOa zM49(~Ho)GzfimCo#Hc5E0RMW|)>Z8QH@>zvbMZRLd|N`#Pw%dw%&$Gu*Z=cllzB;Z zweg45lv$j*eD=xvDYMG|#hG&-0KHCL{CU-Vl=;&u_w3o#0r+jn>5_XX^NX|1b2>UH z^TmIkxbkotW%f)O8-){M^EHl`CwAybb1B-9G-1|_rdFkN%9<@~;`k`Y8c%6Hbhyc^ zS@ufl|1BIfh#oh#44jP|M4_WT5w;Fk(7MyRD!L!GpgrB|`!>ICK^wZ#yWf4og2pvn zewM$a=&b+22_JM@(9hv(e!1;F3o*m&WHd18m2HK!*#vL-;=Xg`=>lX-L! z(a(W&@f71j_)VtE+hbevANovyBu|_^*msqW9@-r|s<)4eKL5)<+6)U)(Ox3-)pzzK zqpJ9$gEOO&(X$oT!r96c^x=E8`u+vUh&+=LQxqgX@9#lo6Ujrl`#JSl7g7*QwfUQ% zi>WAW{FsXDclhYt<|Ut;FX1Cy^%-5^cLFrc6kl-Y=KELqW9~YpoBNdx7o=HW=G#|f^yMvF6Z*C1Qy(~b9<9As0Z5E&dUE}v= zAL60(z88Af%Tm#ZQ=&t2b$m1%g(M_z;iH(hb%)1~6rh*>jv9>HQqT|Uh&u-}1ZYlL zZs3>GxoBVEssH(LIuEHo`1+ZNf9IjkPaPA>CZ(W_7dExle4L72O#CYCtNv6pZ^G-U z?YomvJkftee3_4S?rCeyTfj$MOYV!`I*^J^{Cn1gSLgD)q>IfHoDiE2al|~aLr)iT zf^)ja>z#I&?+9Yc6i63OF+PNQO_ywTb|E{0E<7hi;YzI2FNkII3(Bs?9TRTUxaokc zHI<#|sNvFC34Wa%zj~mJuVpH?Hi8pk z8-u;!iG|7G35?o)lUV6~#QJ2Xx>2uaR4H3*b>q8!(I5K}%aaImBKX^rmk$XyHixz$ z!GvfCHJPV5HVT9pKQI;x^TYzi)tr}jj>HMInqw_#7;`qK5GT1feeeUaZz$m=%|Svl z&C*Pt#%|HEQLMsXtlb(1zzCdd5Rx(MXh(*nvl0R^ov^|ofUd5%aPOpLN%k!8o%f#VeMrS z+cU8`-niUYtuGua(A_^FHX6tN2AVmmWtrtrE3nw0Zl}G(=ym@r;^UdLUS8OE)eCOV zZg(-o%Mb26aJ4b%Qh@QUYXCnLekfmmtud+MA7d{b0+^9JRX(-1DXD8fGk+z(bY6T; z55VvjCw=h_z`MS>`}_9+e!ntu_i=zLRxNpgcn-!rvMe|O;KT_}erg7&KJl+tE&<$a zy!uP;&ZeZmo|nTG{iaKrvE}0u&UN+!_CzKB;fgT@}*-KET;^&ryJ% zo!p)sw^N^V`i;JS-T`o+f5ONvfag~CrLO>(bmVg1et-$;Pg>3bgxqtxzuPFB5Sy>@ zD)Yob;D>k@+a`46MtDtwO0I$YsNrWhoqX?6#Qn2jse6j^p@i48`D07{VxD8EM{4E9 zdbO^`eZ~JZkGPmS%qxDY$l<;)t6r`P|3CrpaKZn7;oFW?Z~Kvr<~V%a7XHb(4(-Bi zUUOalm&C+jF|D2#Zr%bp?)TAYEKYE;(2*gJhK7U&XR4@!1yc5UA z01DYr^e*UzbIyK-ook}GadnEeJ0mAgJ4n%$<6_4B9yJ^v%!uLmz(Nemg`D_vFL1=4 zTk!v}YJ6B~WMVifS7KP|$y-tn61T2~BW_{cMGVh5P29qBmbm3-BXR4`v*`Ye=t?3a z`egc87HeE0C)fa2W_dGbf7FsVwXRmxUZd1&Oj=!Y+|1bdaZdG7+``1zIEGe34^+`Z zmc;4gS``e|nKT+0QKwdEYHM6^jEI_+4g($-XVR&a`dU>SjMka7h7LP{Io&W`t7?(g z%3I_xd`X;22gB96dOUYtWnNNdTvwMv8CNah?0=ELY+RIaCAsOO*0rRkdTL}xJ1K+> z?Mei_tVY`S8s$DkG9)*VbsD|gt57GxO^AhCs!zFA+AS6gm5irEEAm#0lGl3?#UO97 zDE#TjQ3&~BYJsVw@jU9cxY_an7mZUBuH<3=c=ql8Sa1&y^ zCaG2KpOd7_UCGnG4!oPCCU9dW9`9-X47-H2|2?WVZ8(vH5Kg|@2%{c+3FR1dP7XnVL^McdIgA=+y&t#bd2n7aAW z^~`c3da>49GWqm0eQX+4@)o_3K3X+ug;8$oz$dGrLvA$c+px=9RmNtuUWc)~jO3K$ zlsGu=;;gcri2P*uiR)r)QN=xrF8Yo`~GBBl>5&4s1|u8o9w05KCvl!IINC526ZqcTKVjY*bYm0Ha&ZdDXi zwJ3B&>Jl}j5NWdXGD%*uGGCKg-6={FX;PX+IpRhIzn!O$q}9nKX-%@~292^qlrG9^ z0X}IB3duY?*HkNMZ!XLs)iSL{qsT9>Q)u&AWEC(jKaHozZ^L}rq%dDvU0hdNplPFN zIbxnds{#Jy8j-rK9{BMT)l^!wpgc{PkNJ{n1z)^aCMix~=sZnreje~BZxA)=>s1|M zjY3=8D$56ZuueJRs;XRROG%D6tFFpL_f9-sB4}3I^~w=QhpWKRi^f;yO%M_ z{5XGzIn;PV{UEl|4%&8a@pqH&8Go6!y;WL0H2*0ih9+Nn*=fV) zuNJ99=_|kNG;ew3W;?7gUYn}wI`NfMrAQ^^4Ym2X_BB~o(T3NFNh;x4b3zPx;xpgX zc#YD&^X4C2l}Rqa>unxwkC$9;m1+$dsld7xZc3jlwOm`(Seut+kTGjSE0iW6mO24T+zEVdSRKD`P zDXmRj&DibRFSb3~bI)Y_W}~~FnLhUPI(dFogQ5U*%FFC1si603&voctAK)|Fo4=sG zaI7^?{ant=o7y9I4N7gTL7~ZV$r+DY1I|}zwO9xI>ngQb9gy=(yuInj#4MG`2TvVc za&Krl=E{BNyj{QH&bMlQgGMT8hrDX2D{5@=wI;pgfw#SuUVDF}=Bb8rNu(|AfO<1U zArRs73TmKsgH$JOQ0kiK+7Id|co(} zWE!Qe*r4F2(maaPsU3w-rPR^&u@qOrR(p!9MKL)K%4M<>m&@XMD3z&ZTsD{CK1D)b zD8;q40hiqcbQztB`$F6=#`Shi6E3Y4xDnDtI}k{+v{b<5Vse>?mRx|5Op#8%AIO_nI`+Asi?1g5 z&OjCmv$)($c*)J7jiRv9*l^p^3@?;x&XfsBZXK6PkC;cdx!hK|Pmv9D9|wWCkI-F) zAH5&a{hY;EKCP)x2>x)EPh*|rLkvlZwmk)8a8ob?O6n$$4hnt$q4|^f7})j)1|`LT z2EMdvw5u9RGpz9|qJ?_IkM_UI8BCHzg;sqvJ|G$`ODZ3mr|Ne1Ke2iSJpdDQ19t@A0eogSscty8?p+;B0sRw?{Xmj42&-;bvN literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=733.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=733.parquet new file mode 100644 index 0000000000000000000000000000000000000000..425fdde7a1dcade383b19b73ac15faff93193e46 GIT binary patch literal 12111 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=734.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=734.parquet new file mode 100644 index 0000000000000000000000000000000000000000..95cdf175cc77b152c8897834520813b99e3546d8 GIT binary patch literal 11396 zcmcgydu&_P8NW``;v}UDP#cE^ni_g(*QS0YZQT|1UfYRdH*Z?M21NJTj_u^yF}4%O zDP=q=K$BL11gK+x(5Si%2I@A1U`SxPf!e~l{efU(RfkxG3WSFWW4t!)JLf)pukUr5 zjxo1xxtSZBCH*K05uh)W3~w7lfnKp5H#*K7oF&4y)$WvwRto}E0$ zq#s$yKN*R28dMO{yuA)uqpp5wvwhdpfkuKLkJhys>RURAWz8+7hWx~2E*c+6#SC>u zqw#|}W4VreLPzS)M@!2_@R=~w5zsV4M-V&)&sH$_H29Z>pL}BdvOujkUifo6^hZ9k z55Eq5@Y$ymfBLFGJ@o3xliT3^i7VbdIsyI3zxDk4VxZSQw*Kf2=xt*ZmCWYIMXACcUT&p`)g1qqFa#RzqVIIypu}=kq%9y`|*6^#G4rU=20% zg6GYvPW-C5i7Nl|5#N7D8>lk#$nBS{T1J&Kw?^++^2Ls_?et1tb3Ijlr|GA^J3vt7 zqUV##Kl;y(@)5`I`h%bED8KR5Q?I@FuN~#@ZMd?j>BAl6^~bLx?t5=XSq+cKG3iB} z$Zj=N8=fOg6?htjmE2$a zD*xpyb>>b-_NE`tQcs?FGWpV5vsCoNiu+cboTYy8^xN(mbstfO&lYA^ADpGOzHobb z^IfylD|-%7y60!9-|GiIy!-K4jr0*`n)KovWVf2Cjn5s;6?~SY$E0NiiF0}dx&LAS zMlGs_f_VYc^#1ABZ=gD;r;f$;Jy5hzS6r>%`Rck3>dw};(yN;{QSYyP*M0vn2lbDc zZ?<{{9Mm6T+}O)IZPXXX<102@?x1e5?SE<8T{ddSdHDGQpINC#Kkd2momZ_Iz=)bm zdQmpATTRsl=9!gpV3>p~V;;PWEMEe^s72LKpb3oK(9vsX#9MAlGujnrbW6AA&_fC} zCDbHfIkXzuDtqZ>Vx4Zrq)PyAMF+oAE?L_1^EEfXK6&8sR>N{(C#Ywc3?IwKbjCwE z@`#ZWUMMf)nDF$b0eE ztH@toC3>L{RYQTM7ka~TF`w#}F99Q}J=jdFt4DMbZmX<(#@uSC6S8?(|3oep&*3FF zZM;oKo?Jsdvj(NJe7>d;ilhb=_@iM6A2HwxVDbayv48WLN&+wOqFb(|+pZ&l=et4pN%eObZ@gwN(IX*+(1O29Y-L(%v|8CRNH)ZGz z8@8MN4t+z%v5(I{e|F8GWA}f2qW$2yU8d)thX_>Fh$6?N7j+uJeKi%_*QgQi-B3ZH zX(SnEI6z{=?v(A?XV;StuY;ski>#qY6QJ*w)Ti1jNqupe$t6;mk?P#OtDQWxaglR- zzqJBiqhOaZ#SdA?FE;)EDSmQ}6c>3Wz4%m>;>Yb3>zYK=l$rjnjr^?*n|PPe2uu_{1a#!*ZB}kKVOJZ!37g zOO;MLL8^3c2vRG1FkDJNg0S7KHTM4cGCkbLcrj?tS=$OEN+RL)UPY5EwjlBTdaP!%5qUEKXNfDGjdTXCvqVw zA9CTU6>tM2S#rV8MsnfLGvnv2MkA>=9=~!WL9}c%Ez837kI9>!Z{A~0 zWn%H^k>~_Bna~Of z>TR_qfvBNIYo|eac=}w5(5+pqNu(~QD*4v0+DfaKRf;87lu%0KxjYoF68LKzwW}(2 zm1-$mO4Sm19;!8iDd@crF|EQ1_L3KKbev~npn$K*=rWX+bC zTyCO>AfJlo@~MdoqT04>vTm}P;k+{ox@AoJCipS$B}~id;o*VcHvWoi`f{}ef9PJC zrib7ceRk4x2klDG-87w`-3d%{xfJ{&B6dmq9@@vhLyM(gKG2FZ%!3{YarxY+gPc=#)8xNUN@bJq&bfD4v(_w?n2~x80YP@vECw* zQw+oWaHxMY*25Js&+WIdX%6HMbG}qD0rG5Y$kiEg40lGoNG_dX?f#o1!G0^xw{bCV zH^>-H`o<;_@sgio)BRHsFZhFOa{B{;u5e+%?RSm_6t>Tx@j*vECE4Zn&#;a_DQpjb zUqdNP+cm~Sz1@Ia_l(>|z{T1>#>-$cfkL#0llz!uGeh=%w+~@Zh=A=d-x`*%nRfQN zQA|WE=~UG2v_;eXT*%>1@_t9Mk>K=r$UeuIj4R2ehm%p8(;5%CIOMM{9m%uy?zwDB zvtDO1<_T-!3%=yp9>B3j8#l5UJQZwIE zXpLg*wD8FUCYc~wZ@aNS8o53dPG`BWLs$#*vd5WX(t)v9w=)~z*GQTP2J(?^r_5&6 z7_D5AuQLs-xXJU(bHSJ4(P+A>R{T_B7B7wxCgYJ{-#P7*)~Z%qFU&qMz&iYJUifO+ zrr>Mg77L=7C2HlG4eh%F=drI2d%04reL>=B;gbo>om)!&y!QBA8CN!5E8oXEi%f|3 zyEZQ3o~_<9dE7+4^31HUr;jq;K$7hNo4U7_2Cm2ZwR#;^*9Yj#*1`+wi^^J4+ow1$ z=e0-JlF@W5%W_Ud&Zue)IA6mde+J}_?n*mLkn?=JwQS^L*1_k4+D1k0ou7?eOzoVP z>|5-73)z!gI5-V?l^pFG8?Ut{wemn~uf=QcyVN`(IG23s{u0!iR@UJ|=M~gI)7fyw zpNwY4aqS0n6g>N`Qo|)qH8C*nxH!a-S2T)EL-8B%Z;6K zA)}Gw;wKLeE@jRPd1%Y1#ezrd#%-5n3ctJPBz{Lh;O`^&m6wP2L;UW(8R^HCdOU!K zTtBAD^g|437xvu>IxJQsz!k32hl7IeKUhBPMV+`m@T4#bG|0uKVW`Fiw+Qj;!%9{0 z!}u%CV4Cjh73}rVQ|FqG@t5Y8!svalGJlISzefHj=Vv3xk^UJ$KkdRsyFCC3#;;pD zerS{n*L-L?$`8N^58X8gQ*r+C{==md^Kpk7A%7!9*Jc=r;_aq;c8U5tygqCNe&pxj zcomrR5Iuq7g=8e$QDMG|p2nl1sFlSF?!`1M-HFhB0_Nd(U-Eq#~#9*G7+{uGgXkb_M@G(H~mb=MK5 twk(soc`{yTk7l#&_zQ(L;R}N{{;LG|i!l7T`@H@U`&JXgApHO1{{bWb%>DoX literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=739.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=739.parquet new file mode 100644 index 0000000000000000000000000000000000000000..74886140b28fe0733ca56061c52cc6b62d2572b0 GIT binary patch literal 12229 zcmcgS3w%@6`AM7Bv=nK9)YN~0uEM24+ayg|np*JQBu$#q_bW|wc6qf;o1|&dSIS>u z^7tWR$U|6FbW=Abb57aN2|ku7>R)B(9}!e0>R_8}VKPBQMc8-F&CTQ;iYH~+>IVfpc8Tn_pj$)cfvBPbP==YwkLf@DE*wvhip zElm;fM>FWBOimsP7MNt)6JRXiCZ*)8r#8s*cE5bz3i0dO$DS|k0X%UbF#H@VqB}b6Jfgv3LheP}JnZ%H9&mMcA zfYSf^lRk3MPi^P(zv?63z4^ooJt@=&Fg+B7o`O}AA z1A6AXs`A=z`pEloFD7jQ=$-e7_wI{*WZLm>R{jg%LT%#4;&1!N{kDg8h=E?%JFWaK zfWGqIxNZV^lFmM#cd3tDbK7a_K7fa=d41M?fNySkAnPQ+f^E$eYFK~IV%--OfJ^*q z_b33rTD$rWw#$8_`FCe7ALY2oq<=rW@RtC$f4wz_&vla>UoTz#1khtc#mo@$8Jkh4 zVzJ|g>QHL7AT=sfZX*+_O-aOP3gJtFSj94rBXVM~DmgIyndC3kzU1nWrkV%UzPsCr ze?4%o+Lxqhx$E(rYG2J8rRUb(r}oKSyQ822-Z$xvwQ#npeP=X(KQaF&YG3)eSM)!; zTkX3c^@|?wkJLWrvnNxAH>iE?KfYmGvQF)L;iq4`_4`d~AOF!ydC5R8STt=8cfH!T ze8a{+zp@taC$@dO9^m1OZJyZxo5W2|8SVsqE*(Gh@fx*n#*6Lm4AO zm#L5c)2sG9Qg``B4I{vB;}a)a2GqV=lloR3=vVvJJ(u)K!Jyg~8!Kjpkk8nR92bin zKUTXkLa|B>l$FJ54hz=V8N_HB1S^(%9GMdf)^pOi#}fYOC!e|0GxW%LKWRHBAof4( zC-=YjZ~or>e)5jWhvs~;*-xI|e(gTVMnAdY%#7u!&-lql(~esXuk@2&-7S)-D#{e+)Z@ z%t3yL#R8LQd9=dZ#7hL1xMzM?H_&V9wwn8yZr~s{^9Yw%bpzqc1y9HFiX&lsbFeMY z3SbCFJ$N_D9EKv~Gjox!SS(;7&H3%ZP|BnP%n6*Bv^ftF#EAu9PAsoD5+-O4sqtZ! zK77isnFEx7SeP3W7J-d1=dDE{b5aB5Foz0l&vQ2t7xNfQG%Zh%<+#!5ju824Y-q@7_QI@qEJ#Ns%*42o4J{zT;gaUv8xcN z!^UNNwN4_d;m4*HLlg3uCzu$nmR}N5i&yKi4P!6SdaaQVN5oh!W^ouBR=wc%64_zb zY<%!l!R#%CW_92B1r1vY4O^Q(TL$oD>5jE3fNvgJcvJ)M<4<|hHUN}9`|2NF1Nie} zKi|M@-cp!;_WkK)0FMp)bc0-Srt+t05<@2&jb-Vbob3s2X) z0r1n|XD`fX*;4rbt6sJV0KWA3pZ<>EXj%4?T7Wkx-~8DsfNxxP%U1~6sEh@lAijLj(7W3k}>aV|q! zOG6=<*4||`+953MMe?wt=FcU>8Yxs*Ec-Y@S)=vcD(s`OP=!r*7~P#VXM1#^tuG@! zl237=ZC)C3Uur$EY`kCgd|uQT2B4=8$&N7_UW^-Kk~7-ep)l zhDR7Twm@cG%qZpvlRf4xtHUVBfvfIRwcctJ`6Jw

T2o>w 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 N*sz!&I^e%l{~xL?OZxx- literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=741.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=741.parquet new file mode 100644 index 0000000000000000000000000000000000000000..ccb55acddb2c61e8f2ea7e923225d71b49d97616 GIT binary patch literal 13270 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 L3`Q~h?=Sxk@K(^_ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=743.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=743.parquet new file mode 100644 index 0000000000000000000000000000000000000000..4983990596638256ab0b668f38648f278f329414 GIT binary patch literal 15010 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 HAFclf)gNum literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=748.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=748.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f32407767de8d7ceec7b19529c85db8835f273e7 GIT binary patch literal 12240 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=750.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=750.parquet new file mode 100644 index 0000000000000000000000000000000000000000..a9d9cc54d0ac0f33c107964a598b3819d1b41766 GIT binary patch literal 11234 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=753.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=753.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e2002e3723d6d4c0514ab3214f0d0a913ad81533 GIT binary patch literal 11397 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 Cfzhr2 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=754.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=754.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f3bac5f63446906f902ca0fb29d1f163ceb6ca0a GIT binary patch literal 15100 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 udg%8VWqN<933um1-YS13{d literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=755.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=755.parquet new file mode 100644 index 0000000000000000000000000000000000000000..4a96433dc84d7d1892e5906842cf11dfa614d304 GIT binary patch literal 11489 zcmcgyd2kcg8DAM=gfWRZWMs!+BVZwku?`;~a5}q^ZCS!MpexfjT1l25GqhpabRe0KgC>(+aY{;BhH2@f-+Oy#rCk}* z7%$!xP)#V>RTU~?F+l`N_ODYA3PoY_^YTCSd-7#fay z{e2;ys-Uc*?7=x@ZxxU)D@f(_XeqA&=LuB-0Zl1%1i^xFE(6Brfx^9?o~nB|K`q$x zw;$675|sb8p`GiYKXXsd#d8lOs9%5o(G$Obe)VIz@^0v#ihI^=gZ|vSNl;(z zUs~M>{mIsswVyz5z3=Xk&CplALmKx(za>%m_MZI-N{SY*S*_&9Ahe`Zd9;qtt5g-| zpcVJFiFu@Pd485^dv>@y7LpN@H1-nTSwmg!A~bC z+um32{nz

WP)!H`ni*qBY}bD|y+-4=Gh1uYZ z3kv}#si-^(rUg{vEsGyo^kqHu;m!l!eq~foO)h`w!y_x|sQOc97aab*mOB6Bf#N@g z^wcXy-}~%|6_Ej_vpsQR;)Bolh4(iC?#sC zd+)K|(xt7Vo`0!-=N7wO1}I*$TFK8ren_eEK>bQ32Feo%QHplexMD7mQp{}%p^tIY1W+>!OQup)o!O5YiFJx`wITq#o9fx!cFtT% z)BLfMAdjglRVCc+QOJ0rYaYsfPil+NP$vPNVjHK@Rkj3I2q zfXji&4iv}!^EH_Sp3@v+tvR45JE$Pfnu|s zSeG%Yurn4K!zi(K9bZd+Yb~~mpDYq1YZsK2S(VhG?Qic5j;_@vuaOTpo zU2C;(9C>QhN$Aht>LQozUaL*cd*Bg0^dmnyQSc`87hhjDZ~57^+Jz-wzK8l#kEaaX z(6?G{{l*aVmhT=diXr~{zdb(*J-D7zck&#ylD7fno|Fo3$kd&uYci-T=nMKiVL+zO zU=;1-&)!ZRzZH^PDl(5ES-`$pk{{G&l6+yr6Ay%#-#h_ARRWXnQM`s|uS6>xOBGH(PO5N_ za8fgSGF)^(0=NCGDQkari4v}RtQfQht*HbOC6Ms?&!LI4pB0y#XgN|v(aselLOR1L zt0=E5zgjvQ7d>(|u1DmoTq?*LTZ)r6wt)R=mFBEeg5+#eYUHd`QshijLgdUBrpI-x`qr;I{N?@?38=^=2NsrHy^uX|)8h;dqhoS*Acl);1^&2(2c4dsown8KP zl8D4)8I#S*u_+WyHr7im638NhkfXb5z%I^7UT)lzS0&5JQQ03J^2jO`F{Ysw?q_-R za=aN<43&&jBS)NRRi1#1Dwa6Is?g6OQe8YXN7?nIuq0!IGEb^7iC)yh!6?Gw$~!hvN8X4TqSxC!RtlYb@o7$A?A{ z`5lt5$Xz=7;D%#ISoO^u^r7F_BqB9?PfaUj)cRErMI7nv?kqKVVtEw&sav0oKY9d zcR4%zeQn`U%ro2cOe75Qd&AbyXaMBt8KGU1poH-=1arI2!M$ON0cw%(ii+&Yp4^?BG{V zNY-|lFwh?gAbq=sHn5aGJZ3~Nij4{z3L#Nq_Fi5(=c9^eo3D}Go+s!B@ zJeG9GYcT4)k{o;D}{ZRi+_%OY5d)hu@RT^`tV~MvB7+H3B1|E zE9r80^W~Solgq0d-(ijENB#CG;_I;MT#nwL&(b2S$^NaQXq^nZ9C|J%Y>+2;^F4&t zD8^0>pQwG<<3Q_eJN8E=*GF8DSlCs^t%YgXV+?sB_5ok3G3I91NW|l?C)}+@k_MgtY--(@>e`C;Yw0@7tq;(dEr%D>7n!vtwJ+2GtP^+G8|{oShI%Zc zBUGPihbpBX*T*hY33L8*a78h_9m-{T9F@zq0F=t61S*?*(6@<(?`9XOtz)R{Zo_4C zJ^F4&-<_!5HV>lGnn6u7F4}=X)7{;5S}kJtSh40dL}ZI}{ANZxOD3;T%}sYPw`;XV z%xA7OAF0aBM>z-fGH|P4=SOqq0~a1_3Vv%wubKJ$x&oqU3%Z)1I|JR>Y}9Hu!b^)8 zJ7q#fBggqC0WYTPoat$%wf$Nx9f+-)gb{USB^d$6ny`|@@Wg|`2B$;xlo`%E;bEAHPF3*i(dy; zDv2M)KkE#p>5g{JUMoFvt@#*#VSdVmzPmH?Hwg3dW6LInL>)P1tC2Gk}8e zYn6{58fC&YADWKx18~Aaw{^o*oWHF9a4E%n+@XfcU-zh~5k{hTo9VV~yuM~uAGQL& zvh#4flAcHpJ%r+gWCYA!ZoY{g!=t>Y6~zng#WXG4iO_ul=HYnb`OO_U^K;{E%bE{& zDimjkH{=11H?Xb9X~@<9x_?8ckzf`K^djWHIoBVw^iAS>BpM9)Gm7Mc9Bc}rvGJhq xxPwqv$2{>J!~W!YZ!ESR|DaIK{a{ed{*(a!A`JiBeO><%`>F_{8~*3!{{e{H-M;_; literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=760.parquet b/tests/data/small_sky_order3_source_margin/dataset/Norder=3/Dir=0/Npix=760.parquet new file mode 100644 index 0000000000000000000000000000000000000000..fe02123b11eb1a28ee8872e9de37fad6aa8c259e GIT binary patch literal 11854 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 LfuI}yPxAi((m1H^ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/_common_metadata b/tests/data/small_sky_order3_source_margin/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..a4ec06ac19dff75af73f8c1d1fbb985d109cd491 GIT binary patch literal 6641 zcmcgxdvDrS6i01TZEYuYn^GlGrA0{jYi)UjCRD1lYZJgUkc1`}dzvC&+kn9~E{_1I z@{RTd_JQ^t_DBENIoHPE2YGC5Y2)~wbIkC%T^%pAdShR!H)dKNfQCo)!BEqOyU&mQ{Q0||7HS?Ajp6PKApPc(HtLQs3(=lj zball9`bD;o*hFPRs zf~=5DhCP0>7q!SIuNZ`mUcUspJSP`=hss(=mlc9+n*${lbcJyTSSYr&xE}8d1H)2@ zB6`Fx4W)Eqpj_e?hQh@j#ad89VD~HGNX7X3NE9%@3ZeSd7+f|!`KD^|^u`rwfE9vV zsl_1Z3gZs2u|?|Pew`w9_sD2`m-LXQ6A0r0&JX(OlW+18_S`6vM~s1q+i4KTrQZaE z$3zrqLH(jot6P6$D-AJ2z`iTNQ2OMXJY1Yr?BI;L8exZ^{d5JPeexZkW0Sc&T+yZ& z(Epy(P%MLIR)~2=;I)xv$L3I1#)Ba{T1|rvmEjyuR%fmZhl44)cc~9Y#=u5uX8(2i zbvg;>-NNY=X7)AwOI|0oo{~o6SbXdDU|awEl42inLNy`s71T*@}VuTvw|_Lwd>GX{CZAyKBT!#O6pY z6;^DH%!#X|)pZsVD|2$sI`@2Ov{mbHUH&3-zFi*unDk|_cB_51K!*G9qXLek?pubqIwWxi8 z^YTu6M5e1+nnTS(pk^Yy2Ar=_t7?P(_L)_fL(RMSjb7gW{<<|8R|j!>En9p4r{`(Gxg=QiIrN)pniKH6f*xq*NOrZW z+I`mhK_3P0)l1FoAF^_*dZmbk3F~cohqkiHCF&#ByZ+-+_ zN}Kh^5_ZC#KQ*r@Cg;#DlPheOs~u>Sxe>O_r#R*ajEfTX)(*Da71l=Y;kbz7I`-Rq zA6sjRk0NW@fkDX0NiLN__Nl;-D@b&kboRz0ue_{l?77J?{WX;;Fh0Fa9-)@AC%3)akO zk)+zG6q|9*o`QAM`L&kmlxtynC0}+HsWO$B90Er8>?l_JzWZ_l3cZ`&GjB V=V$QulzaV8{Jot>oWLJ@{skP-C2{}& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_order3_source_margin/dataset/_metadata b/tests/data/small_sky_order3_source_margin/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..a79b8e90b43915d3d797476aa85ff0720a65281b GIT binary patch literal 71583 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 Uw`$d_|8Mo(K8{xNT?<41Ke>2j&&VJ54_ug{@ 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 diff --git a/tests/data/small_sky_source/_metadata b/tests/data/small_sky_source/_metadata deleted file mode 100644 index ab2d06bb5246176cc3bf1b61b349864842495e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28968 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 diff --git a/tests/data/small_sky_source/catalog_info.json b/tests/data/small_sky_source/catalog_info.json deleted file mode 100644 index 97e68711..00000000 --- a/tests/data/small_sky_source/catalog_info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "catalog_name": "small_sky_source", - "catalog_type": "source", - "total_rows": 17161, - "epoch": "J2000", - "ra_column": "source_ra", - "dec_column": "source_dec" -} diff --git a/tests/data/small_sky_source/dataset/Norder=0/Dir=0/Npix=4.parquet b/tests/data/small_sky_source/dataset/Norder=0/Dir=0/Npix=4.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e52f7e2e7fc49f011a656d527997853d3728401f GIT binary patch literal 11523 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_source/dataset/Norder=1/Dir=0/Npix=47.parquet similarity index 81% rename from tests/data/small_sky_source/Norder=1/Dir=0/Npix=47.parquet rename to tests/data/small_sky_source/dataset/Norder=1/Dir=0/Npix=47.parquet index 62081204da11ea18dc2c60dd69c392a12af744ca..ce27adeda1857b9ba9b82e6c6f7e5a5a9096a537 100644 GIT binary patch delta 20146 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 K*){_kmH!320hRLr delta 16067 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 diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=176.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=176.parquet similarity index 68% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=176.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=176.parquet index 822eb36abab5729f882f620507ada31ced9497de..b2503107447bd2d153810788db32a73c6d11ea06 100644 GIT binary patch delta 3890 zcmcK7dpwj`0|#)oTuREdp_(Ki9uY&x&`{(W#%<6t#$a5=G>9o0UAEiucA1D2OP7_b zYlIX+Qc+t{Nt?G)BHdQ$g5KZkzWaXm{k;3{`^+ET-#K%hbLO0R&Y90NK9aonRI+k- zoiNwbU46T(x`c{^#2(TCgVl*G55KJ<-rkr~+CZlg$$|4{zJl{3eQu4zgKB!^(~_j| zUuO~Sf#-aw#9eQ0P#fghhcmk1zO%ji$KZ5L-l@-!9>3V6%#TWJOtQ69@TU^1&op{1 zgHh5Ub*50*wCV)e9ATR*kFpw4wiVl~g>Iy(CN6Av>fxOXhotXh!1sLJ`FV*uWkK4$t1zSwjr;3K3fZZDe~Kot^W zc^N&V04mX>*Jrp0)-ze3Eun(Rk{^Z8_`=(7dthPLwW}xKz;NSK2{e>^;dLEW`&G>v zh8>PEpFhHV{`SHtc-MAW`5Fe5@ctKM)@OVNW#5+%ro%$FLlLqeLMriG-DXHW zgi1W1hCNn;bGN&c=)sqjUk1G)-Dd35+~Dco;HTy+hfmOzAKoV++(0ER20eFP3^P05j2Xj_ zY3~Xu)QZ!YaD@dHQbZcm_EBi4hCQ^^FB@RjeWl}#u-=z=`!n)t$S^lxwp+acQ>Y+Bm=&vq@{V;Ii=ktbV z?1++Ht>W(??=soo2UuD@WAFqF5X=|0*CDK}t9dd4`)gbb$fb4!&1sNKg<8C4nQLJB zw9yt{c*LP8EgaeumTrxLue^?X^B{Rb{^AzcsnT`+I4tfRDQ|`rOG7n#Alued|N5*SHBYrZky8;ykei^?5mudJh2E}D3=Jqj|)LcXg zBHI(bHx_$Dz;RxGXab!5vY?JH_BEwO0Lve2Zq9+m?>eG%~RFGF) zpwz&EvdD+$q0=UA=MzXt7^ZnqFmTW=9|oMv8%me4uqS#HKU9hxELAF%hn69kSLVQ9 zmoHYC3lAIi_LHGEgO;Wbo2D!+RzZ(=&(l<>taCBI-9l(jyzk3Y^+$#5=m|}+lf6nF zVpXbLbQ#dgE__ii6jgFt#cn#VnY|Mx36EqQf*;S-duGGKb22XF!PcF9E(Nf{&Uw)t z7!i9~_AY#S&uISx_&ClaX8_h+_e>uYA|&6W*uH`ZwH=cmV8uPU*%b8lW&Uim4mTQV zaI@e^Wx41Qc-hgAbPiS=wcA?@kF`I`Zh+*VGtVx-zSLSq6U>g$eD(&mcJJcLx!M!w zrGHaZfSqX$+r)axB$0))5C%*uwyz>2RJ2ITdP+evK zEhC4PnZOSHtV7n2)_wMz4LqgHKg)v#Io)kZu={g%S~8s3JyI%w>11u+9pbXb?STEz z@STTn%~1pg2iO#}@*fj$?2_AOZ8v*j<$9-o8o>NtJ{1|ln>P}ijbP=pu;ju) zgv~NK1t*|sU{&@Ytnm!ZRt>W!-t<@>CPC5Ul!-13eN#I|f$X+ybz7*gF^%Q`i=X>m zafDG1lY0Z<$})~zIINPn?Z}2o3qO!!;Gtg*D#gMDjJ?|NkR+7hka!3wdMjH6@U5lf z%`Gru>Eow|Ax-tx=6tAAIz1tF6~VuC9P%mGPZvPeNp-hENX;I-bsEmtvHEN|yrH&B zk3>%O*{fRZOo<32&2(Mc)gaD2Cq>-@z&HyT{0 z0=q_UWiEi%a?aE&hsKY1-KNlC;oCzLxc1oY$kp)7yL(^6y7*+8J3yyneP+%ufnnI< z1D7!FCUU~D|Aj-lv|>@Q+4^J?9~LJG?redN=1f){hWC~DSzVCVak#M$2G#mJ?uSEp zN_M|NzRKqrsV|y+1 zEn$Q;z@+xC^TG0Qp`I>p=kcz2JHx( z*`CGIVkO?FH!p@abDQlS?5;Nx1VaJXM`qdugwXIdM>AnUIR z4p4fJY!wrxv}vWVpn~ra+D7>4=!W%~P(rU=w*orvs_Qh`B zYf$n4zvvdUmmc|z9*vc56}A;_Kq#v`(k7Pq-SAmy4o*OixjluuOER(+jO$}mkh`pkXoQFqiG=_J6Dr5D>RzTjN@@qL(Qz!r8Kt7YSdY2T(#1h zz9XgAenM&i>2JFE`_4t)fvTbq-+slvc3I=;$C3Gej%cfqF)04ndh#0W*QC@WBs2+< zERV^JU?!4o&fcQK;YP4iLsa?|CeI_YTt$55f0*!)CJ0#|&G*>b#e(j`cWG#{V! z0XB)OXm&i4)S_h~zKo(o+Dtnsnzty7sjJ9xh@#OPXt+GAL_Y>`crn$X`g(Z$gMxd*Oxa`7pus{}so3l9Xjx4}8c$u4+q=?^fs_~7TD{Ux_GzpS6kICPd%uX_9 p@p#5eK0hHv``_!Sz2f(k)*KKW;4T&wa%B}H)@Vscc+q@T{0o1}?%V(X delta 3084 zcmb_eX;f547Oscg@N`-Q71D6fU_%H-R8|GzQjH@5A}A^}twNvyX#^TYWRr9WqDGBd z#~5`SWz@tCMad|m7+=H{jr$%)V_afP4(`hk6X(0_nR6yNXZ}t9xLxml-(Bj~z4hL{ zThg9?O7-`mt&Ki$u2qh%tP5jvwPP7mB+Kgu^^CENcjKSopZnD(sAZM@oLZJeW1Cvm zu=F#Dl2#+k9mfF3dIta>va7wU`t&YP(Nv!#d1;i(J_ewX8wkB}fQ-ve09MYh6v;~# z_q#!*JlKC#bzt5hl`anE@&8eA^!Kw~3U@YwuJEal99i!Si)65JUTDs!D8LX0I{T7=Nz7kA3&LQpMp%2_8l zYsB@<>m?v_-9ATJRFRC|A;pjlyC5LAgCNYpq%oJ*|)9P-{u`T4H z`}D1&1FBwv;t1T4a#9e^D z8p{DHFV0aKH4YV2MC1EpyF3%j8GoVuvqR_@`PqmWMBSMTl&wo8&S9DX9<~MrR_N&Y z-DWi^-`1;A3X@sOIH1b;65<%=&^nIlD84%l>RYA{F(=AdltmW#H=yZ0-%3s4q(4KG z5SxXJ#0!`6Rw{9G7tq*79a8cbLKe{+l25K6^`q60%K4vZy@J|NNe#RpMawLn23%yr zHw#HYnb?v{a71Mu+^8)?T;_5SnezVjhKrzlSz9(Ff42-UtBkuOS^Z?;F%}jB;Yeke zN}Oj@UFBgtt)E;X{;{VxA@TQZUcb@_HHPYF4{K`yi4RT_*#~VZi)7SXwe$fgvS||d z;{D$0FuA3>ADv%<4*;h2CAiEV%+_$VY?WEcV61DSAXox0{!1yA>+RRV7foami+fEL zXYJEgcc7P)BeTvpQJFu+y(Nn+h$@fj_#X9G+8{D;F_ZqK1^T0&y)n^h8b7gi2pmVG zL)&Yfz1X_U-ra9PR9oXwD;dmS9MM)gG?QM!-{ zoK)2hv&hHA3)&Lw_IT}qDr07nU1@F8J(yCN!q=$&D zkgV!UNRh5UDk@yKG8>3$YWSitRceFkr+m`iz_wI+YCE=yE)VWc7q%F>iZpe5kYa3H zwZvs*`~=dZ)RBW*(kxt3wG}Wu(o9CBbYN`Kb=?2x=ngeVkr{meKb;TpXa!|%ahXju zt+5x+a{w7c*faN;hqcn1+MPL`Cu;MWIp{P+wI3?J@;Icpb&W{%Hz`1eKhIVBsf@!& z?@gB=52j8NC++VaCA1kaN1O$dt&~2Zmi?(6V0Ka_>Tyq^vJtdCMej3~OT`k8TOgH@ z53u7SiSwjrjS}iRALqdD8{w{UGBID$04m#lglm2*U;#~dNiZ2-p%&pq<=DS0zNbB~ z{$oD|F5;=mZ0syZB_G9;`83+75`=IXK5)Q73^v!(n6jK?NHO9ltz9lb@|kxam0R|P zHRJeYUi}1SVnXjl7+IyDKUCrn23JUM`w3!r?eb%VUa0)TAH~aGpp3q!L7>CZDE+3 z;_v&{qYl0Y*E#$TU$z~FuC^)3SO4hY9nZL}T{*tt8j=lW)&DWr5Vy-WC_7)-t?4U= zZj8D6YaI*I3o_G-v{yS;=b^v!)iAEd_9`3j!9bt7KY@J~1&NIikpvla-&Y zJ>k*M{?ps~We#?T)Y~kXJ{n8pB)vXTk6*mSwkETubGjk2JS8Y9zz~#IY#g2x(r_ZP z)v0q{i76;PCo?L%Fe5)PFUvN_tnHc?ZuukG)--v7)i9=HQcQk)nK3ykAR{=&oM4U| z5R+e8m{Jg%V=9=8XT8}JoriVo^vtrDqL`tvK}JJtd3thqaZIjdQcUi!z_?s}@yMaE z;c-L39Ug^DqRI`y#ynF&d|^gVh~39Xb4W>C?nra?XzT#H&__q+AUj)g{s#f{_-0$Q z(CZUO7=m&NP0{hWDTc)C^yJXVMgwTk15lLkhA{=s?W94roGCq=?4@onl~pzGW7_NhdW|KufTko z&vmO%O!d^0n^}6qkcBzJVu2nJle0TsrBIJp*_3-tA1042#h!%Y?avN`6zY-0Bx~PW z1aT%>H#Qm$w_iytgI-iB3wNNDE8nAsu(@9&=_Qo@TodyFt`{EK{~h`(Fx_A;)+1h& z*ZQi#n-*RJYtq}%1ssBlWu4i~cl3xzIk6j?ps#?uj4u4u?$2s-htwmU_0MpU7?j@` z(u#xUSNyK@K&xvvhTp?K`z}Vzz#A$9K0jfoYfR%jq-c`&817;RmFO}UAth^gS^y5O zD0qs(11>v%9)iwU-VP@ruNZG<2z(SDbtw|+i9D(=AQ8SB$@|ZtV#xWl9@u^KiCQ0g zW;ftI2(8&A%2%P4lzs=@Jw4+7_fcn7xYL((;e?t_Dr3BGhVsjw4?Z=vk&uJ3Wg*ha zQ016s>6-PoRFh2MLWAQ&!FRZmh?>Jf$3jw>S2sh{6qKm5reaqu8KzSXc#88Y5X zRW*aA#~CXu;HK^8IGo^OP|F_|c>MIetaGr#rPPJ{F}!XQDV@H!qwweNDvfS+Cm z7~g|CdgfN!V8PvAWZ!GVViYB(3trSMr~d=>D8VlDRXFm;$14Tlo_$u+B9Qm<;IJZ0 z7uv0I2})ESsZE7O;yl5H(C^5KO&xsDs-V>XH8n%%UcgTRo+;x{Sy)eh3eprgoKC&3 zM_lnC8={^frgy6se1%EWJaw~h;c?~SA~X_Zd$hS)j~F<8++7sPzjYgzhi^8z))~SX zm!z}CFy)6&g#~1zKFweYzm(FgT!oEA3ZoC8pB=}@V<>t?LEjo<`p6^Ioi@z5l&pDQqh1~zMUHmuUYOMY7D2HB&YMCUNpU75lp>%i@Ovml%|{A zfjg6`a~ohH{l>*!_$hK5(-eHk<0dc-h23U_Hq~RhJtNZGkbGv-A}!RQN3;|=pB9Du zF*(BJBXDpFr^=`vp>$--<6pBr5z|-B_UpMm@%_EerbS2{G`tkvqED!@Y}_9M)AaSP z<-vwfpQM}6Si(2-KHL{xl2Z+Xqb|-gLO)_yvl})P@Z9cg(I*LkXo|)F1}|QxzZ!;r z+o=;4;CRfdFMsx2vsUkme|9^mPgq`?jL*R!C)b0k3UV#k<#xfo zFYiVNpikz2$L!j2(UpCaclyNT7A2!y(4GHgqAjdEYc%Zu#g-}I?(q26_Qz*o_>PWI zKPaJ?pBe=Vq9SOo!BVbWik0w#m~HYbiP-K$Gbq-nPlQD8qYHz^%GKR@@Z+@zl@Bnc zH<@t|-Z~Pya~Lib9!p&FXqQ~YIFy|;emVg!OYpAG@6jjLYo~o{g*(}${(OcPUP?;M zLJ#&YU2|}7>bmR-tenaoC5wCYi4y4+u?ZL~Z+(=p4;zMM)5*bIUX9HzP{FC5aD_Ez z&c}Pgy>GmQ&p?^;BQuR~D1;~+foYdM=6!^}T8oSkMo`heB4lCq?;E7v5(9-Hs|UpMevJkGZxD=o2r83zEcP zLO2;ZVuaYG%pjEt%apzqWWxT+?|=HCbYhm`803}6&|A|zY2*vtpgy5|py3QXyl+}p z&H=C4d|~l}7pk33oQHmUCS@YwU}S!GA$-`xRagfTQmwXi!h+LkEIsf9IYE5p9nvR0 zQ8%Xwz>Y5rzeJ$aQ0a3?__Z}O*dE5`#yeetenV};iLit*SFs5Wsx}WaL(av&VbsI= z#Ld@YT6{3kW3%`HxH&l1N&(J`2=BIoUS$Se_ON@=nc@sd!Y6nv3=y%le0M6mU#|K* z4YGLc^j@ttA{=^-xHZ%m5f2)-n|^{m6^B2qnZX*qG6~f$E;<_284+=pY9o)s+}i`{ z7EqdI(;@SEBZ8uI=YcDnYNB^M1LN9;UaV;&366M z0lk7=eH?;?tUC^kLtR}vz7@!I>3QLrIgJ{l^bJPDt&s`5aTyUxGsV$jFgCin<-pqV zA0t->s1Yxh=LWYI1e(M{0p~&MGFWHv?QU5EX++$!q|52TAnjR?$}n`|3^!ec&nTwM z8yk&?0|s_UJaCuMzhDvgCG(S@IIJD}cU1*SClvLouPt}*o;?CLU1VUVeuN!~zk6F4 z&aG4KG=@rv@xGogs6_h-%Oq15_Vscz`d|7rhM_>iYplli+5VRWYbAUE706&b!4 zuEZ!NYr%W&34IRGPf|;j^g|rZ6bH8>#~n0E?twJVyPhC%0< zja}hOR#vhu1i>#8`!o{L|0=D$3MGoHUZz36m3_RMCvdHbAF>NV^@KyRGH}zkWM5af z!~30i3^Y=kWqk~F6bFN!LBj8RMl&qEYp*&8Go-oh%T5{*Pg5UWJ_704?|ofE5PA4A4LIfXW8-rsZZJv{Y|k?%L83W%+hoH8QT z|9Yl>4sO}w!gUcY=P@Kj!=3A|TuOwaT^FUY;GL+E&);F0Kr71+$V~?Rh~b+yBD6A! z=C?w}=5r$&@PhzL_aSJ&eqdA=UVT<6YzxauF4;N4CtQE6f?=m-i(?c#d(6W)6K)A% zNVox~AHI?=gtbTMw)ZQQPwkk`i*Ndpu^0h{MtivN7=0ckiks z7%pfyTntxe_vVKFUR(csG77q%DQ2QtG9ozU&n-2q8WEmczRtt&@XqD;-(hQtu;41x zzPj@cOQ{KQNaR=q7p(m(b6gfG9D4755FSin{i|JSLJ~bMnx&6nVAY>(;0`_a2z6h8 z)~EKcr^1cKBQMh+G6EvmS>N57K*KO`wt3ig zZ9X^Up$XxVKB3YCpU#DR8H9?*s`vhdw+(`{Z`YX+PLD#5K7zuVH->aTD`wNJQ_!0; zOLqxQ$GnzhH#R3ew%Yz6w;;q%e=*ttZR1%=)uDBj%5WrH-`Qc)0xJfZ{Dh+{2);+X z4AGF1N%@)tZQWHnGNGj49=l?gvuq?uMP*4GD*UCk0SXuhtq8%W*xw=B;V$dN;KMNQ zor#pwSmRy^gP=XBdjOVoA#}LaRL#Xjau-ya}$5d-M!@u)%KfK@(zCWh%YwJbG zk=hi*;oCvEnJ|FcNjeK|Sy5QL4P|5NP2RvN_E)ERp*@e(6uH5YxWJ+`kN|DZIPA!P zRNBmKl`w}-lldh~lw?i#0M`jLQVl>|y=nt4YDX#Itqt=aha7479h|e1a!We7ms%uc*&c z?dq^3{5mQHCE#Kyz=i?6-2U?~;7N*mPB zw{HCiFB$r?%|ZE?+L{HJ$eLHcOZHn5jkMYY-tg)i=X5SCV(bU(=={U_t8nWx9jg>L|CKfFCS-~b{#ykH`WM?4U`+x| z`)_!a`G7#kkR{l=GYy(-%wP`krQgHh8B@x@!+i(mHS82D@@aocmxL z=jU7BU}qK)HU^nqLXwIsIX+_u+*NA14;G=Vi4@wceHS>k8J&wbj^h&=Ipt36`L z^Z3M`S-ftK9yL4&7w7C+)ZnRN&Y@t~_^2W~3~tQyEsuop1xs&Z;p(b~%3CO}R8sj5 zsyyU8yb8;`p7OBGSrYm0l`aawqAb_x?NH#!zFc*9AcL3B6Ovhx-)7GuLPM%1e4$l= zuVDZb+&1_j4jO7Th$O4#V6?V?}7a<;nBo&@Xwe%nvr-A3445Ctm+OiOE}>ep(V2y{NU5;mhxDg}2XJ z66rTnQ};oZx6MlLS8;>}w|=kCSP@EDwW$fTR)pHc!x7o=z|D&^`H*2uh^rC$?l3&u z2gwKecAwy@v9>BJMk~VZYsf!uSk7^~#SeByd;YLxBCUw1b>}oLGFcHS;g>QW!OY*c zx>+__5pF$FZ2Zt=YPb18sAO2*8Uke%$aN`@ZlOh?!< zLn^zbG9^g(T@^HfkEK8VIt|A+To++vu_D+r|ELI&2&pGtTt?9Lvg|R}wdE!U_au0% zR4a7|_J5iXYf zF5$Eyf@hl)nYpZpujGw*C8+k7h4&aV@-){XJrUv({WV_De;3!%IVf5rlMo1{ZY#da zfOg5M1~=hzDUD~PP~P+N$J@~VTTbX#NOBZwtw3Gx-PROtD`I|EeH<$+df@pRy2P&nkK;c3l*(n?a_ufz1Gk?+bORX)SzSCA!J zGvyO3Uzcd}6Iv_gi&F7e5et7i}@&tImG#l7u?XK zl$Z#!P18@N!w9p7&2Qn?h$PxEc&RUVf|<{X*ycwi#SZJVKS(J;ZJYIV2JqayzZu6M zN!o={!V$B)<`Sv!PhSCj>zbN&&9kslPW;zT*q_C>XBoN$k90}!F5Y6vW}CbC8WY^cQ8T6|r%*!88l> zFQeYT2Ib#QCTxbs#7%<~;U*TbQ%bN_lIguFv^um)=EPPjl6dpII}kxM-w71TfYQnV z);FMVn8v9pIK-cPbE`H^VHwrr*Rv>R41r|JlkR5pY+qp-Coyz6hJtq)nF4NcY*d&F|? zJbXQKjy@W)?5mcGfwTV%o|iyPwZF2pkhfEux)-LN4anO?u_1144fWT8;a808&clTg z>xXO72DSSK!)DTH={Y==ml#5JBYdJ`5}4Q75V2?YSp^}(H0{m(@B+=Gg(mEl5mPt} zHHYf{dcYIW(sk!y;?`^0B(xtSs1jg+P@j4lv@3r+`w23>Ftu8Mj~7l;q}SUJ^Dj2V z$wMaH%?ET~p32TSh3=e=4M zmC(U1i19JJyW_&HS1_EQ#J+()w9Gr+!?aJGch=L`5UNgHbn3et<^qws#l6bVxtX7oa4UlDvg0#te2-I95G|-%HCu{ z?0@&Iz8tn4aGY4P@5ocz%d9p;iJo2#H5;z=$cx7tq3!F0YE?MD{Aor54sAdFTMPD` z_oxbkqx~ZcHNlR=S!TL7lkg4^H0K%ONJIqmKBx*I9f_$5P2u|(Xh%)i*TAZ87b8AF z%lNum3oz-!Y$t1|BO(9u$!P<)#KWX!0pExBiuuBiS$;N=@W6#F-O*6nb2TLvzB;?l zIsqDdU_Ma}-%vkat$-`54W;+s81oPDRua+M^iXgNcCpJ@&cdhn&0@yF9ElK(d8aKA zj)Yrtf4l(Hl6>}b%`=II)(gYey@KZyVZTvV!%679YZ6lc>jU2 z0w}C;O5g$fsPi+u9?p_3A*4v8BjIjvagz)buv)mbCWi}ut1Mi9V`lasEWT?#WS>!KZrNL9H32Kb{S^uSigYW;Uk2+GnPl{SLs-@a~GQ?yRj z*ceJ}v8FYHEipUwoM2aWnX?z{Pu-{B2QNIL9xZ@0U$V;=VP9jtvT=+fv4PwD_>Ndd zV!Vaaicmph1^LNa!avrxlkMPPs=t};P|YN8TPSRkBm$%0In9pkE3jak=fJu+N5VAc z>@qLRy*J+~4CyEx!!q!f>XYuna7u08$_1F!Wm}mBLmsA8UxON>=Z`*z-$_e`<825V z>*GeF@J0V^fuGPcU9gM!iX-v!-{}|oAwRuXtSXEeHod|ck4sa#F<$~|bdGTxfufly z!GW;bknvXtoR=}sjEA|Yb$-e4S$BBbb=bSM}qN<&d0yd zoN{W5P&!VPQN4;IxZxROR(cuI0^8GfPPW0J^Ge$7 zaD(&8*lT#<@n3`YFtK2JXFqff)N0zD;YhILOz+Rga3qQF3Z2yg43anXUmAg_?0y?L zGaU(r{9BjA;fLj@r;^ZkBw)b`2633Ny1+~QqYu5{axMRfvv9)}>l@^n>m=yI;hE*P z_e$V8Z3m~D@MPwcreGGHW3JmziNKkKO`93+;Pt;*=T=t5IwzudHzkmo&WTvBB092W z?^H{fC~Tq^B(nlVmr@3-b)Wx6QKGRE|nDc#Flxr3R=nMeX4<- zy;R2rq4ABkqF-Ph%gbZrGUA@${teq0ortGW7K-w4`Q~Mkg#TJ1h7;kDCcV-$cu=9| zXCw5TcpEbW&+v#=QVTi}G&v1@iqL`EzSkMPRe#j(3pXcvU1#6sL?}GX&*g=BR!VmS z;rJg8a}ju;MVn+6MG$)M(b}a!b%0-7b}qZdZZkY=1eU4 zH$B=5`8CP;&xMF{m0C{sU_-82^EjNJ)wNiH2LmM56B*7#2|Is;B&4EuWIY7gSnTzdj7h6S?3Evo-gIhr`Sq_MRrVm>%)q6;zd?@b|;n8xGpvpk!&VNQ0k zJ9s08ME|zO!SI01ahXtN$41r?Xn5uZ&n;+qiZ`F#X-K;sz1oOpFbx)|e<@Ig8sw6!e#E(s$UyPuwh zHCDSf2SDlbbx|>Jm{G1g150$-s4Il6ch0$1sh7#Ieq$zmRQd zqTc7eGx2YKSg{{;G#eOz6gWx_1r1?f!Wmrn=9VQ~CNGk-Faw74!+ z3_E&S)mvbMkSYC3xM6vGvIBm2dZ%O>niopl_zUapR;gB@bhY2Z$d}Fptu)@83blU<&{4Lg;8nP@<<8mfvz&@nn;y%B8g-mGK> zKXX|rdBILS`bmFSS}vJD1|q)m9n+11lp+P51jsX$pOFG9BV1)0q3g>rw^q0(>6zvt zl;AwhBK8`mQuxz7mJw&7!1vf6Vc2%}x~BsS;*INcg70r0P;!U%;adx{;7cL<&UWZM zAYb(knmIftz55V#7DYwhVYmXn3hzg}56qRMZifs{)4dI#9oamwSnEk#`BZDS3`O0l zW>3_45)&4>JMEynN5pj(*ho7s8U#-$Z`+a%r@9;Oc0%&zzF1#51~GL)@dH(6Kj zNyPGy%qo11okCw>4*8tK5!* zM#{^51yJZqK1V5}CAWV{s_`e7!=%5B!3a$im+vr*r(030&Yx(tjh=FZtUA((7hpKq zmE=8(=-9ROl489-(bUISstFn1^F2HZM~U6;SE0&!os0%(@Gy|=2^{p!m3R(4V~=pR zLA{N+%OkM1ZG-MIR57_iOWWX2++1QXq=Quf^t>X_n{TB+3AU^Lqu4|8dXf-TEFxLB z>T(_oRC_j7096WNFW18lJ2~h(;aRe;bP(3=h@7Bm#JnzojS0^07w_5xHy@kH;)Co% zM{`7=l+LN315oEPwXg!bcA_@-8vRM)?i9<_DGW}8hb{eqTGR0t zRv|tudMx|MpHO$bR;L6NdzT(wO5Kx~t5AQ_ z$*Z~tA zy5gkOR2a2+uXzbfve=kHu7&Tjum2vvEl%ABTOp&q4Eylf+}niZ7i4fK%43@LC+vT> zB!@uC-M`NDFiYjK{4;psue@3-blAZ7d=9ef6kYoTEtP{##?1H=>k>4W;^4M${oOa9 z*FOF{ZT3Kd{TdA^V1Otc(%#C#5lC>|XFs$F78fV%WP?ISuJ7W2(TX`5{7|c5kVX_n z?8;Fk;1x}QUDmMRw8+IpI3K@GlV2r}@Ybn5v;&sB*xjWHt&Q{lS;E!XXPy;MvLvpg z9ttjypEmwL*qGTcEx~8m$=bVA0|`z?_L_6>H0SP=D5&P7+42(B_~7#^^+2Ni2YrVe z6nUd`{3PU=Jbf%49@9_>NP!C0Q;jxPr}#NdyMT6KzWCqp@%4t#E^{KXv#pV=bn32n`(<}Sd% zHnzK$V8+Y%Pg#(|!1zuf6!-a9^9oLW2>CDwHGg^p%)q9DMvfe33dYs6^ z-$H|kLf_4stkZ)C-TQ+sjnGJ8spTnD-xe3W0EY_W9<0I^FRg_Q890JC3#~oyS#RJ4 z1DJ2{p__!teQp(3AY0`C>ow?kQddi((r5(gRAWd#w&Z(Gg?z?SCul-*FxZVRn4j7nwPVgSv;-<^LAJ>CeUy@3~I z9=eW0PC7;TN%$sz{e98wAmZBN&Lnx*upE}84S6!z41%HS86Mx*Y%+*Q9w$%T!JxZT zzPSTV(bO5pT?-=q@&CAD25;Zv5kCnTS9dJ9!_zLj8W&*V@26)&;I0t!{x~>z_`=%< zkV?E&UqSs8}WYWG>OQPTaI&r)Dxxq{9*it zt-}}L=Id_KDe%h2&DkaJz|Pkq_u+Xq^Bv8we}$_071S7^pLh#32P!#ut_Kl)o2xc% zgGqVKD!ZUg-U%l;c;UzSJ~MdoTTkCPSX}f{jZ8;4_nO{lgEI2Mhd!(=+vl0dr~AhQ{Z{$<1PnB;Kd~s8~ChzowPrc{>~^K z4U1T`W*%Ha6!VBl(Tw8BcruD(=l?8l(f!YV=W|l+r2BuTl}$~Obmn7W4163LxTUFR zHgR(?+Bn(Ux_LSK<6poz)^WCN;p`uxa83_VL@s}#7g;K#ezT*$l2qx zy}yl}r<5Nq?)KRFKQ~VMt4vW( zn^vPpP-N4#sZ;m`B=$-O1yOM^sTvyUo67sxIoZ40ay9YnTf2!lrdg^}l-8*pOUqWL z2s7EKIjX9vsp6)4AgxWEvW>~YRLjTikeifQppJCSKXuA9Et84UDQz_`d#wWj`bKG< z+LSFUZgQUgxm{Yj4uvP}l{SSbE&m9GZN06jbefwEMSwIB_t8;5>|*C`;&l3uT!4;? zr=xwqVIN!5!vW@Iho#q+bv)Fh(E+CkAOk>A?3PN&=ro$U6@Nm!U24zx9u^ZoC~aMAJAb(RXy@eo&CJ0Ml<|Fc~hMVDeD zZnt)L|9y;Wp{jax?TeX&lbgAzzn`s{lY_2{tE!)Y5_Bn>)>E&wYFe%V WMF1zZ$$+w#&X|Xa%0Sg{|9=6JYg&E) delta 10127 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 F`Cq#Fk=g(N delta 10835 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 Za$5u?C+_q22ud+plU)=P`pSk9{{@CpqG|vD delta 11829 zcmb_?XIK?U7iL|!U?VMq0Yot%Dk5US1ja%I#e|{)Mg|cTMU0rWTg99sCd3>u$1zRm z7%|NlP*BV{=j^!ed%xX%cE9J@f6I@i`s6xw>YP*6_u^W|Rnr~K-Ig6SjdhzXE!=WE z-9!N)o+MQlLbbU*EAK8LM5Fcd9W?E5uZ0#(SLH@5vS^y{-sYrfC#o)XaJ9A%aMG-u zuQ>pjIeCf2Lz64h__EBp)Z(g{3krc*+}Mt%eDw!N%U&inFnyWDS63sm(je7*Q`A@v zvFiR6h<%~bA$H6OaG101f>`|V`&!C162N|R2;tV#AS_*Rhs8@1b0i?@%Njs}y6ps^ z>OT#H*}F-2eJ_#0(5cDRSsa&o0K)P4c3A>7b73(ME~)^qA$gEHB%CT3n463{$td#@J2(3H0u^`#Q3>d13a?! zFz}>)gu-!_#*C1ET2tVe%|uqq2AgQIJp>3<>Lg{9Ul3|BAY^#nCa}vNv(;s(GA-cv zz42tZ%-~hUo)BKPVM_-u>&YM{qT|Y=AK# zH^_TZwq41L4SEJVrr@CPJSB zX%6;@gx5`jP7<*bY1+Z3FsD_%C|K6oo#3vO@RS=n5qW4CMW!@}2A7PGkk)kpX`XHb z(=*Qw@Pm1!D&sHDZBUA8_c|h`)XT4(5L42-Y-i4*K_Ep9>_M^V$HBN@co&P8E?!UU z%KdxEF$PppgaU7lZwgs;np4Nz@gTjKFn|W9V?XG^&<8W5HnagvO9-+K{F{?HW@yP= zsk7^7tX6mkh|JkAR$J3IprovUkiDvn6DFZDALn&2G_Ao>XHH`4K{5`!PpUyr zDg4|poxzg-Jd{s+1HRRIK5o0|`@O)R1|J3Joo^{Dy7aE@4UY8rg}f}MwPwL?h^N42 zoaG^aP5-FE;1hSdO8PVt+fkQpRf0J`;|IgQ49kyj*3{-I)b3jwPgV3N5MtxPMqH@* zIpnF>t}!F5i6w+`&J`!YgTkQ>uG&RQQ-H+DqU4+#f~Twizax<%c3h?N8z=9(leJY@ zdAVxMr*Xon<`NJXV%I&0QDbK4aFtlUl}tTeV`d^1lhu?3`AQRAK2rY_PZts~sq1od z{@-Y__efe1+tLfZuR4O`b@kv9O@{TRs8;Z&E|RxA}GV>QnBL!idoRO0%Nd17~ttQ3F)5g@8F?*s#g(2m1HI8w|b2Ow(wd2WbS)v z8CtY5wp2gnH!)}-r7cZ^s;N_}0DSBnhD#P!*HaE~uLi5k z5N2T&GL9nl-lFKvodX@bwBqhT(A$5WgJx*z)=sD|%YtWCA72|9s-t%3qT|#$@IdS| zijz<3Vv$|l>to&I!88gTWlKvx^#*WkT0ux~@}?GpIze@xuwv$w<|#t zwUd(DI8FeQ&jBEp8x9kpbyy6|rJ&QL=5xXPD-k`$XtMwz zEnM57%h2Svp8%ToCZ^Kj{i|T$zx5YkEI)@pqTOm>Rh_eo!7miOEyG@tLHA?-VQ#2K z(CzLZ&9tp!>1s=1vuuy4Xytk>qtNSNSBpAxz3LBMT sns8 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 I#)Q}Y3D9#NWB>pF diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=181.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=181.parquet similarity index 76% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=181.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=181.parquet index b783a0a99143b093ee4ff6992e33247d1ab739d2..a124074aa942c1320335cca490b49fbf25ce8c7d 100644 GIT binary patch delta 8029 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 Xo)+7sgj(iw=?Xg0cz8C_o%H_;!Yg22 delta 6491 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 CDG|#6 delta 8722 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 diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=184.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=184.parquet similarity index 79% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=184.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=184.parquet index 4b87714c664403383bc91d5db26a5d4c612545f9..df02fae29042a07b7f03b3a126334fb422addf17 100644 GIT binary patch delta 12019 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 delta 9461 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 X8xaN%#Pef>!B0!6Dnys?u1)?6JWkj# diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=185.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=185.parquet similarity index 82% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=185.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=185.parquet index b3576459ceb4f30ae5ea49a6512b49f668e21e10..d112aca5c3890152bfcdfec5c1262d7730252026 100644 GIT binary patch delta 24525 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 D{z#zJ delta 19356 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 diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=186.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=186.parquet similarity index 70% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=186.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=186.parquet index d769ab8d7c7a8c45fb6af32835883b52dd9cd734..3964dc93c386f82b350380a0f155daf6e66e3351 100644 GIT binary patch delta 4391 zcmcK7S5y?)+6Lg3BpD=$iV{RXU^a-75p4relw=bm2u*YdB9hV8K_nR4QWOvr2?i9E zVAyIK*xp3jt_Qo4fH@#0r z#)C_Swv=q02E7ic`gp@PH=HfgVZ^gA<`wwmuh*61u&lc*cZw&M$PYb{v4Y(Rhu?*H zayg`RhxYf4C|sJne~|;{Y<*C_Q!r+UR~Nz@sn(@cP_E&UODCL^_SO9eKPF!tlUvIr z_qJV+RE8~IZ}$s4Vx@M$5n3TUIG<7%H>O;t?DdS9xN@9Q@RDm+wI)mLNi0B63UB99DHhvlDBBu(GJd>Z5!PZWkjdmDrGzrm;r zUi=eqFy)qC2h3mhyhrN=MGCs3Po9Jg+Z#*H!-=Df3Zu~VwtFFG3_+Cf*lf{DiX5HT z8Q=?RWu0`o;M4jnpHb*m=^HQxFY_i^Cx9&sGfWZPOs%#%@XL$U=0D(AMusr! z6GaZEwx4?lljEP{i+rXCm6+8W1oK3)ZeD~x4Ax{lhW_>ToR!93DDv`oR)sIz%AQye z0;@0Hof!`Yr&(nQ++ib{!GrqQFEwsL`Gxxy2$XtvKIbmH(Waa79Qto={~_{~B8sC) z71HoUn|Z)A_(1+xoFhybkx+7mqf_>Yo`Wqa9NWwR1XI4&sKf|bHED;zRv)cpqAWwZCmf5(G6SWOBrJ3>-wHVicOc;O0%X67hH!A?@z;PwNZ z^!U0s0xmwNZW0AKZe1O3(-2P91T^f0J@(esJm~RN&#fDlg}##%`$-Wsv&C!Ja7=2m z-fpO9p(0cWh23w_cVM-nMDPfdwyp?UJ3$eli6BL9NLcBa0+Tk@l?rU!a*Z7Wxkq*s z?wX)D#Ekdlw@MTyOT-@DftN2IW`BkD{Tt#$Cn<8I=gqyDu$Hjc+hEZyx*`+SIW)yi zV;sbbxIVIkuCla9F!Xe@dy@@gsHP9H*?DADl~Xf;m8y5B9C-ix>pIKaJhFRp#_8f* zP97-{m)LU#h32vwdX-S!*Lq3^tUb(aeghj$4~Hro&m(UdpPkZ#!o%mp9bnZmgFYfw@JaT1u()e@8V{M=P8m@nK`onuTt;tzN?Gzr|bLOfpG)(!laxn*C zb+PtNXV{lwcyp;+J~?P{XlMw=vobV3K}Wfe0c+2E!dl5H_JD8acWNDn9&!FY=l$!* zptZJiGc>z;i;4`aBbi&5GWJ6mweIZ)p|G9w)pn>GS=8PKXSH4ynuJ>lwQq37tZ5Q# z*KYnDR@1A)c{VgLZohTp4Rq+acSpyTCXB`V2N%ID>Vs?TAUCO1KMsZpNi@d8YQ3WR zG}wD@&}1*1BKG7%0Zh712Ag4US#x$9tYH{1+To9zeUUezyMH;S)M*J#0$8a5yI}Fd zyuBA7O?}-{11-;e6Tb_sr@rsy?59b0uS--FEEp>EYJdlg{CM}_n;0R7F?czq)L(~7 zlNkpTmN4O-<)*LK!J3zSoK0}xP!{tKXt2QW;<^Jg**eJKTh$>v&Y=?8;7uR@M|a_; zO&amTaNtO<_c+Y%bC+dMG;wp?S8fI04Onj|frAb{Vz=SO(x&Z}2WcWnYdU(u@*fT- ze}huWU7Dhm2WdZ*CerjN0Ax(}H zOP;reUDDi%3(I#~VMnU` z!mrSJfp-5lSZ5|%qh3UlGUIPso8S-eS=;1_(SeNP0~%2HW_-OS%x9@DGlbQ<*E~H6 z_s+I^*9D7S6=dok(j^f{{dSPO)kFQuAP5jQN=FNo4 zJ6BW*Z01`?*>IX@@_OScxl_>Ts@$pL%{1BlfOV`2S{wuRc(0mBXF%CoYr;FB^yKay!y7bFE83Ah?$0Bwm+~7o1@MUaTkW``&{N?| zQ3t%(uKnwM=pCNhHZ_n(`p?y7t%3^m8`rwSM`_PL)xh~4W~)1(*x8V!ccJTo+BB~? z9(ncbGiUnm2;7me%n`WBpQ~jNj~fz;6q!(JF#VS>c-=B%PB;v_knn6bTqV)6y%qlP zAlX%VGmkKqT4gD~KWM!3IbdCp&gvFU`<1dO)cSEQ59BX(~(%ih8_ax?qqZ9zvl&m@Qi zLhCiBuj}FPja1$#c#ZTpHo$?P`sUk^pHbWM2)+!m{%F6IM}{s;4_pm>TEFde;PA+v z_A5_nAtQ2zv9&m#7{z|0cR>l7qKl!wS>4+{sID`n{U^M8J|pZiHNRSb)iW6 z+2c!~_FR!jKNxGiwl@i;KB+%B25k*`7aGsylj+9`!kp)F_$2c|_DCWMW`D~0ZijWX z&((Lq)y@X@?m)+)9kUqPd@^t3ah(iona*#W3G>so#2Ue2^THP=poLeCWhp$-(|Ys_ zyfpdI>?aJl+An^39-laA+B>`I@X6CIuLFrN==6@0hdBs6NwKx%a4=GG#%Xvy?Uwo@ zSY}*n-3R69k3DmB`K0~TgrTw?pKLDNzTF(&@3cu=1B2QFLet?MgN#ELq0P!vuUjzO zU8iFNYRJyp?>8Uwmd=;i1wUu{TAhKvnhuoP#Oq^1+9rvYZj)5dcRFs8Rn z2pOVv`X&{UFsI^;wa7NSpznrs1xOh=E9?Dxpep|FPe~Pqp7?)OYnrDj3VEI43acrL z%rIq$$Rb_;!lDkYNH(OYzxJyV)^}lTM-#4cggeX!q zK~JRrxn)gxaHPop@`*Mo5A%ib+B)JYuO@|*7>pT)s$v_1VnTxARl8);v?60dLX!j8 zu~7-pG4Wbf8tb(Fap0PY@K2&T|9^fhLk+F4$k3>ez?h)uP)z>kTq-VNIVBNeGR2&- ziJ3jegqUb;VW>(o-QCxCS;ey>LZgFJn`RmbE`x9?DaKZa=|<5p+S2T0;Y{W-CN38X zsy{|k+Ski2o^2ns$UD{1v_>^{aHa1`gxFiA2$qGWIK>Bf zIi>h`JDL8yP0TV={B!xT1 zEQ<(^c8_2$ur%@Yc1jKMvP}4Uj}49qE|H5;9Ak``f}=4V{%;md0|mOWK#UJIcVlARs<~v@;;+a1js%Mp6lR4h{o|fM7Z&pBTP! zR1%eoZ}a-=TJ+MSPANW$L{rodB)eki^?|QSB)H$2?!CWTe_#GMbM{`}`qov-ap>Rh7;v=E_)|X98ow;FN@kM;MdNRZonCSUE52j)FzVOrHW6>+Hfpl;4a4O#J(ecsbAeIVEsBFO2;O zWP7(xC9>Pcux}Mk_G0T7k3>$*vr`rqUgmfh-qINVY1k3AAEm_)uS_T2eMvC?HH9Kc zK1p&lztka_SUVlTB(A(f(9aT5IJH7@e8GsUHvLEj=RQP;Se;6ILMK2hA@Eh=i`wL3 z<@x1tvnfx%vzaJISXP>iA2u>RhnO2`iNNbJF{?)xfY&g;Ot*!K;{QgO<>bm9h{!i0NxvPTbq7f+O3 z;{p}zPXFsf)u`{3BYy2qKawC5B5s3N;Qm5z-F%`ikGw+##2q5v?&$mAmwu@u(o@*t zSv9B?!jrHEa*ga1f+@s_vmVmfj!-|M057k34A_pqpNW_^1Hd}MegO-sq^=NalAc&8 z=P9oNCaLDQ@N6wAVe1adl?rAF=;nNRssFp=mk|CGNMUUY`8BF~$ZgVGEQB>&FBVdb z8}wtJN3jIDv`J`uh2&bvQNOJ5a**@GJ`UHUQm@KCMTmGGE#-OXhSis9-&^5_UJ5w? z>2@6?Pnl)}-4>^Hw5T?SXx?2b@GfdKZxCfe&Jy?uht@Ae<|kEE)G?i9q)F*AJjIXd z0cN8M>(CP7UAjcl^Uwlq8L&gH_Vsm)%Az#CJZ8lV;n|W?WZQ8s0o+1)+*Hb`N=)Q< zosiW~+Cm)>C@Z7g_`THooUoWAbxx!xw+CC1-e4OA>DL1l#9{xq*G8pw+(xO}J0GA) zGuA$&gu}P~ib9W^r*J9mPdKHOXMa16vU}(n2tVH?!`I`wk+$$L$t!;1Ou{oS57#~+ zSu9dzn{Qzu?O#pmDZtn-JWYxH-7?*1)TW=gRFIcDBn|nj# zH1wM2Ur2i`_9iJmi{S;g5(~Yy~28DG|e)osk=i?X2>Ev^3EBRQj4w*wlSzZ~m`T97NW;;TztHx!* zRU8*fi^k$CD(&KQOl5_5#mz*T>})o}haIIu6Iz?|iKozPLGhokhAqy7@u1WaIF+(~^cJx0sp;$ku>SblK@4xH_I zWg)@b4!n*Z)^?D(F~gg>QS85x(08hVmdXb=ViX&fo+Z@fRGO$_Yb7$czK_U!lfETc zBHJ*36w;?}o~PnW?iX-G#ymXOVHaL0>AF~l{wzPf4%e5jTjB%~VG(H~Cb;sXw9y>~ zmY0C@s2<=#P1E(bAGYp)@C=?N?*Z^&_o`u@F!Nbl0<(t(b2Uyiw5DW+Hz8*v9Ya|U0h6b`E+7iBQ zUW_o~hFYm!PLD0=?yN>ar5R5G^?WO#-u%7^s8|_3Kr-uxZ-bUqY$I&Zs53O_on4y| zQPKyU1;8@~cF|)Gv`cIt&^!D&xrTSY`7JO)_aR(mej6#rfB5hs!b*;h2#PtN5NB?< zgce@&2?c#|aC!Roaf{)84Bjf%m%|#4_RuoLFg17jVqB z**-kBRb#62?33>yXv@;aR95Fs`)nUhXvt|T&2}j}1@@yuFkH~jp=1cx{zl-u^B5L7 zLAtH!g0NCY05rGq!c_>XkT%=A$l10ZsjwP+#Q3;6AE+UOSK3E(i{DEm>W9!@!LB9y z5qk<1!`h!6L7t7xScqW}0aV$oK_kI)QzcR@N!tk)>%GKY%kE{g*ZCRkz0l9P9KPaD zw`di#dIhmMV;J*dZ6CIz%(#_MaK&6mn!F1+txvARdgW|FRM%p62~7sJyJ!_YfvY;m zrS^v^%Ai?VO$SutzlJnxy#nW4`C8()>HrfbhOeV^tQNK&0O8UYP)e>8sDX}IsHoaN zlkLW8>=Yj$k1LOC)Z$*dH`6)!>$i}ffjWxS&aR;{&TR$>%iN7v*6CYu!=$_G$uno& zHZ)xQ^g2q#=_;cYKyl=p-im5j8s#;!0|70swPAVtQ zG0d0$k6DdR{=fg_uK&V$phNWg%N;#cGWXHUN$IX0kd|vIEY3)upJuXTW-U-TxK%p4 zozc5(9OHAe$HAwz+2N05|K+j;}JeP*H7o_|_Kfw?5#QmhTrysG_UY4soEJ&^1Ew^*%C zqs=yDnKRQY>G@f3`ICq3je_TGeFXuwXN!Vg9vu)E5U5=Qm)~Qim1fN=HWgUNEf}^@ z+C@yQ&?hFwr-T(}LXW?=0^6OUp~`e) zM8%BY=s;tzxg>Q`a!9?$yt~d}=CX|7xZKR>(84+SiRP?GL$M(;CO6mNhWlu#>C`>;&A{PnUo?G}@AT58dlwS1uczPIva|<&j$K}m1CT6FnjGmin t1Z?tH=oDJNW1-TK8*lq)@nC1W+U{+(Ym0~4x)wXRuw)O$67-2d{{mpU3RwUE diff --git a/tests/data/small_sky_source/Norder=2/Dir=0/Npix=187.parquet b/tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=187.parquet similarity index 74% rename from tests/data/small_sky_source/Norder=2/Dir=0/Npix=187.parquet rename to tests/data/small_sky_source/dataset/Norder=2/Dir=0/Npix=187.parquet index e8f5244672e9de6bd919fe820579a15d4bf0754b..d1ef8c78fafde6f0085cfcb8c92233f2b6c7db5e 100644 GIT binary patch delta 6310 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 JjuuY3{{glS$6x>e delta 5057 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 X(zCNP9zF*9dRHOFnz0W8qCEZy-A+$o diff --git a/tests/data/small_sky_source/dataset/_common_metadata b/tests/data/small_sky_source/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..2aa9b2e50f2bbdb0d76ff7983b2682170995d9d9 GIT binary patch literal 5490 zcmcf_S#H}#R7i}VP1BziF6&tKA}qZ_MBZDh@DXPSP0^hY|xkpA=4QQE^@QbL20d`UZs zZ2++|w=AIOnTDlbMq!?c%b7by!t~rRwUKV5f!dkdV>du}&LZ44W{R%N6d?bSHXI-~ zoj&qje5$@aOuU;fN%2>+V8d|ADEyfsnehy4}O~>Z0g&ZHqZxE6>j}otu%&=DGpqThB5%hJ*3Ti zVkooGgf@K3R42;B#eP3_mC0nZM4uPNWNMBagy!D8$-c>^p$n&d)gfg54g939QwPsT zr*kI0_wMn7zn^FDdD-U)A#M1>=K~=pgz1wiA$`L3DU4wv_$2}>H~4nl+ruZ7Lh&3S zO9FiGjY7&A$izJ%&C?pJ-f^}ymutdFH{V*Qbz!DDP4moTRL&}mWU)HcYSu}2%@sK- zJLOn@sODEWRV?-tv3MnS2bSh?Z@KCWNCXE-}?S|5+AWSr4DH z^jZ~UbOzjT)Hht-Qtj44u7N*j6Uz%iMVg(le5ofyY+ob2SeTlDT`a#=3xX@<1@NnF zCfc4rqt&VqyXrb@Bg7@!8hSERN0@1KE9~P~b=vtB%V7*=GT09MSt*Fks?=aHC!1Ij zQ_Gifn%%Ox1%BZ9Este!b=A$^LgO$4)$R z1z)CW9pYF|jvLg_@T>MgZY7uco|ONX{_XtB_G%$@?-xH+9AE9SE5Lofc+DhH+f`oy zE~&0!zQY;IEe+w8{E9+W5<3IERte5z@8c5B$y^e1eogRDCp+ui#4}1`mlPjIm@6Wl zw+re|Lai?(du&Ms|18|eo|389!cec4#o^|f~ z(&=e-Wmo>TXue+_gP2^&V)Lu^1!pxWuivImoT&vK?h9_0Z4rD@+;kCh*56fYIqbV< z_vovgn&s~53jr=EK8|pEZAI~S>hYf(W^C-L_p9Pk>3V+ej?1QJZ}&_uZX0~`&fL+{ zdrD0hsCBTZdg`8ir2TsP9LDDZyt9+y1@pztS=+WRa$hF(2>^;X>$TrF=cR1@a_Zq;&6mW?4XvHyi^%*$PVt%#*Ll`-VzP4mR% zoGi{=gw*{z6vn7B&QtX^3!hUQqh8|J)m*|D1(O-zG~Ac_I963~pM?eCQ3x}|C5bD@`=HkxUXkT_A(Nrw9E^kTFz4^QeVe0` z9t?8u&?Q|_c@UlEl-?t4!WV-x05LFM7@j_p-RL7LN|l%|oMXrb%oob%h;#1qx0_T6z8Hk_ zMc*gtt%cs@hq6$@JA-)n_W0K^{&>DwlzPMON^L*ieJ|gDWzlJ562JRfk-g(<}Hec`T>5ZrzOhsA1@ztlR7vWE0fQ2WA<7bk6+Ulvm^h->&Sa0 VJNy^^wRxA{RBu0(I*0$Z{tszrzJmY& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source/dataset/_metadata b/tests/data/small_sky_source/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..e0c0930cea3af63a3c657d86226c8fdd199b8077 GIT binary patch literal 28990 zcmchg3tSad{=m5pFBjC6Qf9H*{;vD?zO@!I+rF9E$g!YG0`G78do$yv&e0YqV^BDM$J|a9JYKq;mJM8R)ttLjSi;hf{w<^4rwko_PTh+oA z3;~JBQPIg$xMjP?8*ddiqgx!8Jmn4uEs{d|fTXw#i`eKjvC-jXh_7+;wBw5MwG;a% zcDww6-{gYXvtTRm8-H-Y+?h$?$s5w5Q@P<$cR-1_+ZmiDQib5G<)XL>BX?yKD$^t5 z9WKVO2Q`3WXXj$<9M3Otc2liH?Iuol);rrdYwh5d6Z{1qxdFnZad$X7S|B8ciwL`o zsNi>~*&Z08Ljzk=-b-8LVr>6c(fb$b(-vU{HmZW5ccRQd9cv0A#|72j0uZs=HMMuo^`8ZiVLRRMAGPcj6qUsU$tKcc<2L-sijd^zFw&KIEw0`{+Z@aLR< zQUq*NMfR2%boTHVDtqrVR6Yf=-*)J>b>n;HLiVhe?u)Csb0*2oMpa}#Hv10eF+wFE z?TDmr(Qs`VbaEEjI_r*kc2hN*Tr@E%HeN7?s^n6eBpK>7T%!hEb45p7VFyR+NF}$E zm+--5qbe9m=gGzEAoT+jL#{jOoC^$upbpn^aS1bs%W_l&L#3z8;3)S!6hx5+I&+T* zk+q;vNC!(2gd(Z}VqpFq&RXF}3;i7d$l$UxsAN7GxECL4J>Fp#@>@lY!u#a|j(bm% zpisk=YEbn8boD-*fiF^=MOspksbP_viFC?TsuK%Q)k2br-w&KhTvCxL+h0ya_w^(r zbk@*QZeNN{nBee5yg7E6=k_co7o$V`op0veo#liN9~-qo!5z4li$X>&-*bYU9r)va z1b?{E{&2l#o@9{0Kgw9LMgc0@z}0$i1Aj#4ClZCENea1ii>wefY6a@X6nPKJRa>MW z65%OYJ<#xK)c7YTn+bQn|CskJsnEVk%bpJk^GhL}7#mfEvAskib0|e3ffN;J(1}NY z zgQZ!ZAlh_XhYt1SYZ06&jVPBJwt)WUAcb@iMf(Nvw^16@0=Ma{3`!`kb$qRL=iINilKbx}&=7uV-c$90{JT4CX` zPGf_Bh?-lqBbw+Q$wcMZ(B(<(P#V!er_=U(uJfdZE6&!ShDV8vQY9H}q-4ZKt)SVG zkqpvx28zk*kOn}y0A%2#1`RiAQU8;;|C?CSnzQW_e8%_jqIb=IfF_BHiH)jasd!&6 zvnY*3!8GpBqnaLk%&MoqcPt`h88pSRQ71NjE=Y-us)Ffx)gZ$NQlcof!T}#_*5kg( zb93qnqNN$#U$&%g=C#B|RZ*1Z7-Z!AXPw}nB5=KCpkkZQ5MJna4p*uY45p@SEELh?>}_6&kMls3RB!)Rg_b!-#6~kkmAsZ%a+h z6S<*F8tzKI1|5hcYI;~wQxc^nHfjaUmYQUc?(4SH1R%ozQuv()m4Bf{Z3S3Orq4h6 zX2Yr!P*e2Kp$WRW4Ma_BR256pWt(cEV6ul~{lilVR4fXc35HF?gdiEtrm+P0?S&vAm9*r+OsoKC8D5=KlEMf01`NA_Yh z9eQMU^EcP=m`Uq%_s%PJyqegkDvD!0Kw+sSz!-Amaz>-7E+abfxhgfu^|15;)kBCv zh{KmWAy28EYto^-uZ`%$Iow#?BsCqR)Wk+r?QGEiRpcTGxpV*|y*jR1hjRLjsIO1* z0gRLc9|-M%^kIsqDw6uk6p2zzxDIH!6Iyisk`eWME1@*v*1)QXj;cZ_{sB-}H30@u zQ|%SFDu3lB)FfAg<{znwAgBq_@M=0SXhcX}?=}Wb^6*q9!(Kg@(&HI2sxd zsHwHfaYQwFN@{8@wWX%6+qvyqwA=x>YFe;?sA+?wrVW&u*r*jWTWXR)T3^x0r{#)k zcmPrfAhlbxsQ4=UDZ^@Vzc6X%J4yKRMZ%&VBNwzJ6E(3>RV*i};J%nRf>Vx~D46Zn z^=SJJtfup`7ysUGk1sUF);~V`z+DGdG~yu~8&w6<^G|yjMi@0w6nnP9c%^z2P=qCW zJ9rZ{1uiqrGz)5Cqv|O3InWej)I?J}beWTIV{Qyzxpk~x0*Tb?8A%)dZ6XfaAbJujJtJwjSzwZD$d%vWnHcCxw zRMpOQwoyf{P!o{U>$!d%Ds6Q@{VkY;^j5LbRz26OLybor z(5@pAN+WI!Bz+^_8u(>8stTp015j8s0R~Z1-*E@jbevQHb)zP^B3wN|RRlpzkcL-N z-U$cP^(o17bE76X-@ebOe4?79goipEP)R4B@J&*d_;Q}Oq^cavAc9iVrlx z>XOgqEL<2sl*C3=q3k|M4I>35Neor(T9kJUGeoa+iuEHx`b+nF>G^_?*r+Oo;zsIx zK^QAZ3Im|bXt@F{>T1!Up%3wS$UTyd+9@5eQB^zJbC@b{g^qZVJT0ni zgFXHjlaL_D{j}J+M^OmBW?*K{UW|4kYz72s*-hOYSb6{8Webd`j}%l#Zx;xt~+{L>);9 z%R1ri>1TYxeWWb0j>IKZMcG;p*Mr2GZlNQ{3q3w`wavTrsJaUu)@iqY{L~h^g)>}? z8wdM8_~uoI8RSkX6Scy^bsW`m6^e<6D>ewRPZ})=t&KizZ?`m zY_v+U(c_ej*r*jSTQ-t02H=*tbsGsB1vzkU>7WLk4uCRR_`s8QKKB)Fg$K7hv2E;h z-bZXy6-s+2B>|<6D3+5SXi-xKwt-ty^ZL84EP{48_0Z2xy>rlq7>SLlf~h@8bqRuz zD2nEfbx>`v4^}_D^4;MHcnV!dQK-vi!AWdX6-7Z0bxBij5=Bw|i5_L0#+CQX%Z8WF zl3Pn3<^MTgoQ}VK$3|6A)bs;|rIi5Vh=J=gpqgGi>O7}cV;N-qlWLueMQ_;by~HO zBC3kyz>gG((n^4`ouK3l>QU7X63QYIvpJ*j1VevIR>iIXH@GVl7*h=D( zs-mpPfg1xhtOR*+*N?m0hVMq9$}D^p=EcB09|UGR2431;Qk?zJsRxLc*r*j6Zm`g+J6@seB(i@u^-t7rq_CCHPf7Rs;w3g}g@$YCF>(jSgO{31jU#$#j^w4%NE==n zxP`k?4HFF_(H=kIr9{a~DU_Gks1-0mjKpI#+b@#0)pXr2?i#70$7biDu+mR?~}ar9_1xAs%mGCyh0VZNJ6{>B)u^I0w!fw7*O8Jl9%K! zBMI$+bYP08Dw0d|Y*3|_0Og97gX_pul?J%QDxqX~N?zhy13^(lRiU(2L7}i-0u17% z{?`ns8K#8JgD)oGBjQ4StI9M~O;rTJOOS^5Qhv1ob^rZ0@RD5dYG0@FiC&Ttw(K&X z(p`MQ{gRi&B~?3k`ct@DZDYIydBrYw@Ev<}VmCgpk5={lYw80(ftP+b8oH=$Wh3zt z8?{2ibv$k425tc_Wi{K6=q33ZuSFR$o;Xe+4YAvqD>w{3$UxUZh?kNiFa4GB5*xJw zX3I-5M)rrcyaXJDz_IhN1`YgOi%w=j8Qo&9-z=IrIfn6G#^~kne_s?`OKDBA4>+*E{OniZs zjas4MD$Y4@-Ok{ptJ_ALBJSZXjh9NE03nFpRETMK23J|D;|iY8qD%D}qNWTb+n)>-{tb;3?&oriQz;j|h?KIxv9LrC{W235A zYQBR}uJws{0!$si^AMGa)#*=d zC2l(W#@IiF3u7iWs*0lb2cWQY6JWI8%5~j}dd`kR`De$eag$sR%dbHSsYTFVUxGZX zMsBY?I)8N>>KhyfJ3C);)4P033YGd6TU6E zNnBD@l*d}e%R6Y{Cdi9>f85RO&K{4-itvFA`tg)gfqoOXscT8Ymk%#85jU|>D>U5h zixarv8Q`YA+VLZfndE0YRNW=xi9#SJiMjUNpoy!v3+3KPymWQ7_?Vzl%1dn23YRS} z$rMBDs75G!y_aZ-r^xd{-QnocR4AV3hl(Z{HTd-K?RopZFy!*5hip_8M*ALW28MFD zB!TRGO@j`Zf#l&OzJ;g0$1QMP^VmAWkNlhmHmZtb_hpJi@R5X2Z~^8d*5G*;_I70< z%gKy~>M>tL9TRNCMpZEkzeSB>1sh2WCwFVneRBD|!!}@z97#NcVJg12hD(Bs2szs*0rU5JjSN5uj9Q zIe6m15L`|yYnD*tnGK74$(b2JQAAat6nz9Jtcw7HxM*LC7UjdW3)R=}k_goTH-=yV&Ou%4799w&)Qs*1AuS-49f%GSa~ zkQcgp=xFnDb*SPfKCJ%=TlasrW*q<%Ezhs`(0RhM#6)b=3JcfqqK?b82NRvXKH@VT zJmhZ{SHRPwL^y?sPB?NEQ5-x!s%1Jc(RyiwluMb2jauQdWg?lPYzNixiWo#iJjUKA z)Lf)N=kJ38y1&9L^RAb%i~ba}vFR4!D}!uQ6-fD0bQ6>xQV8Fplt>O;)u6sg+zGdC z-Ty@ed3N2Hl(!PTKIl!FARASMQhAX=5o9DWw815lOS!ndOby%7{bw>XdbWL3wK&az zjjCcOgPFF{Xi<=n#Lx`iQ8_<=86rOPn)?PB7){^vcIhQOFC#XpilGE1r!q1Eh~1;O z+EJ(u=INe>DZ|hc*?gLvjcX@z^*it-)kH-Fkn=IfvzN#yyIY6KzQFhIIB8(iM9GMa zs@mB-Fm**LaFIl82tcwOu9Th9p#qqZBPd9|XeYD;(rYQAsz@r&Q6x$kNriI$tPW+J zl~Cj-*){SlfuJa&s!)c%1{79CfI(zb@wE;O_TI#laJeGv?xQM#AR|b_%c$W36#RwX zU`n{0?|eU%Pn40AaOfKyYW;>!_>LqaaY$WB$BQ|PX(RXvH()a`{U{yx7 zQ@Fx&TJH2G8nhF>J&P|1nI#`(P(EU#R?u8-1ahX1x`Ct6kpNPCPKzq8>rnl1tO3Uz z(D-KYv)esV0;7U=O2q{$xzk90saPmD!f*YSnP1(K2)C?&B`HM@E(7eK^= zt}qgST-I^*I@GasENb2|7C=ZR1(WTBC7~s-Q8gfg&rl#rApyxT9ap78-G3X4+Vdn5 zY90gM4tOESa~`~`-bK36v1u;^64pmRL40(1+gQ}PZ7dla;j1?;dU6fN%1xacCCYk^ zssw_LAPcXfqN1_r%(EoTFT757qjU$Jr_zZwlJXrX9*Zi9`FyiTLE@p2xTNNYW)D-> zqb+0vX>pH_JGX|Waj3flAJiptH1Cft+%n6>n6m5Lw;qchH4EQCVxv}IxWa2rTeANJU%)#JSsdj9Nzxec{_H~!`poc{{P^QCjFMuq^ngCR83l}Tl?78= zLh8J^ERhtZfbfn!J{`D(ofNm59Bwluzse%zT61E!)uhylUyv3a^KLV*u zJq^yo$45$p|D6RklNkL?Q_)>N)0JARv`8%Nin1uBu;m_-&OA9fJT)z>YxqsJ zLe~44Oz9^09Q=(pvN#g9iC>#c%RPKy=^np$b6S{h(A*HWfQ=DLgHj_BmdCA#^NR2@ zdnSej`=mtrn&*aW@^kky&rb34_Fos_mf;!^?7lWU*nNFiNUS+B({G-iPbzH3JvJiv zA^h32sNjs0W!|Q^uz0gM!Z&bjM7&RG*lKv6ue)o6Z#v#idMJE8G$dec)KYUgS?BHV z8WC@X?FX9u;?iSad#({7UhW}t0^K8h@pesd5pMn)!h!>4^XpyBQNBK~jlfvHb%`<2 znf~U8_<)UJzOX--$=g3DXh~@53U7bUwLuE@P5Ax6b5i0YE^q%$5p#kvL*0U4zgERr zWw-L4NM9c)JD*K7Bb3YRfOY&fA`*g9BbS=#eN2i-SmhSr?T5=CH4NC{^Rq*xvdQpV z=8cbuSeB-^NHMhi1@(RNLSC<(IH-DyuW_& zVJQ)AJ|nTkNBDZiMlBAtTE4I^DG^Jd9G6-zH>gAFZpa76HZ+s$yS3wQk)J*OVeuIo zLqmRD`9%aLt+&M`t^4nlS88Z*q^$$Kmfomh%yHR-R}c4&EifSqlvyx{yoZfh)`!k5e> z;uw5dwFJMO4GSiJyb-SyytoqoA}3{wSIt^GYZkolGR2Z$B>qj#$H+_5GW=JFTdX-W zI0KG*?Aqn))|=8-&Y3lfoX)}NApCf(yoZ0i%8#7s!HFFFkVUdYwzq`T8}fR?MmWDD zP^R=*una*l|3mlIHLm}rfMxI@PyEspY>^L6CgF$5hj(>}`^L!lKyxHsHkkk^ z25*<3;es>yZJIV~mIo{>Sq!BGNyYP5`~v?Z!XGcG55;{H6sott>up+gqtCBbd>;B~ zc)d7N`uqy%^WN6;D?bnCf%x;0!sksUQc|WEe5#HUc?H66eCXkaDnGL6(0Dj6#4E`8 z`6_<>l1=bQdjCoJk@xd&T@HVF;d1~}G(KLqcw)R}i}_3$Rzi4SQLKNs(CPBSV<3}s&g*6->!JR@=b=8O|7=Z|G?jj$fTqhWMDQ)7RNr~;onmK4v-hmrvo7& z8Rg_~D&jOu;&cUB>(RbX-DU;PUo+gWo541;HD*QuqkvJsC}0#Y3K#{90^6^EPA5Iq zagU+aV6Ja999mmj)jkZun9BtyK8OT}OSMc+*G!7tf0{oZ-aUWL^6`2_{`?$yk%-4? zqVw?}&%^=kt6Ii8EalaYw0~thw6AJiyL0Yh9=}1oFqX-D1~V@CR45_K>xGlsc=dvQ z8LynO^44!L>NLG_|BAe2$c#b}1=UpFzv$9zKWcgPvL1h{2XEN(Tb*8e$veB6@>e`8 z2DOK{-r6a(99 zNQV_Gn|g~rE9gb_2y^2$cr)B^yyHOFx}wgfG?LOmgnX1qR(4Tq)9Z-RQnyu znxE@>P0JSRdAdTcJRhx4rV6s%fTyr~00W+iKrgMdIaY=%^RIrSG<_d%_7?l|77i)-=Xy%<^9}EPA>{GbtJQtprd1kWjRHmiqkvJsC}0%$e-!uy DazK8_ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source/properties b/tests/data/small_sky_source/properties new file mode 100644 index 00000000..38156a25 --- /dev/null +++ b/tests/data/small_sky_source/properties @@ -0,0 +1,14 @@ +#HATS catalog +obs_collection=small_sky_source +dataproduct_type=source +hats_nrows=17161 +hats_col_ra=source_ra +hats_col_dec=source_dec +hats_max_rows=3000 +hats_order=2 +moc_sky_fraction=0.16667 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:47UTC +hats_estsize=1047 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_source/provenance_info.json b/tests/data/small_sky_source/provenance_info.json deleted file mode 100644 index 4424f019..00000000 --- a/tests/data/small_sky_source/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky_source", - "catalog_type": "source", - "total_rows": 17161, - "epoch": "J2000", - "ra_column": "source_ra", - "dec_column": "source_dec", - "version": "0.2.8", - "generation_date": "2024.03.15", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev8+g9d0bfc4", - "runtime_args": { - "catalog_name": "small_sky_source", - "output_path": ".", - "output_artifact_name": "small_sky_source", - "tmp_dir": "/var/folders/x4/rmzh8l_s0zxc74nwr72z12340000gn/T/tmpax37bk_h", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_source", - "tmp_path": "/var/folders/x4/rmzh8l_s0zxc74nwr72z12340000gn/T/tmpax37bk_h/small_sky_source/intermediate", - "epoch": "J2000", - "catalog_type": "source", - "input_path": null, - "input_paths": [ - "raw/small_sky_source/small_sky_source.csv" - ], - "input_file_list": [ - "raw/small_sky_source/small_sky_source.csv" - ], - "ra_column": "source_ra", - "dec_column": "source_dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": -1, - "highest_healpix_order": 2, - "pixel_threshold": 3000, - "mapping_healpix_order": 2, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "header": "infer", - "schema_file": null, - "separator": ",", - "column_names": null, - "type_map": {} - } - } - } -} diff --git a/tests/data/small_sky_source_margin/Norder=0/Dir=0/Npix=4.parquet b/tests/data/small_sky_source_margin/Norder=0/Dir=0/Npix=4.parquet deleted file mode 100644 index b215d052c35e53da1077030cf0835dd263ef31fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11552 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 diff --git a/tests/data/small_sky_source_margin/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_source_margin/Norder=1/Dir=0/Npix=47.parquet deleted file mode 100644 index d1fade9fe86491c36e6e701835599cfbeafeee6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11503 zcmd^FYj7LY6<#@xBO8;tA*;y7Bt|5QnK-c|+ews~vMbq=rT7s$M6XiZT}hT?OR~_z zvYduGg-{wE158MvotE&*KuUn284Br;YDzjSFi?gj&_Y_$Kd3#Oxknr?&`Ix z#BLq`=}vNY_ndpr<2z^1Jy*$QW=Ka?lCLVrJ&Inkfh3j?M4&daQb8ybmG6+%%F5e!g!|-}13@=?-t?aCCQ4r|5d_8|B39^Y?*#d&=$SSg` zQLSv=#BHe}DGmsbRQp(Ehb~2i$j9cN{vZjnf}nPB5v~IQ_!o50PJ63-1^G@%r^^;`H+U z^jqC<|N0@-nW>gIz3-tT*Bn?Kr?;%Cd-xY{fBLEqU)~3IDO#dtwNjje(2`Q+(RyZ4 zBUw{|R*V(V+P#4KVHNdICBP*WSVql^;QHXmofjVX*pRvEpRe7!;|V(R;^}vlV+ZKW zEmoaj&tr7vqrSg*E`6NN9Q(nQM-DznXVk~mK6QFGo$1qMPyOyzI+=-g^+gT!-Dn)?hPvHtKC z>g0t0lvGq11v3Jw34WMfaal?QGH0 zoyR_T^Lb-Ceb>?-QHP&wmjO!TsFk8Dh-Srs_P-E-+*% zsm>dsR*Ey!N^uVIUP^_Zw>Q`Y*bMN!85ivmZ^RjDr8oyElTv|Fy%= z3TEid^u`PpnZY$x&KsB^sD(K>Wku9dZ=Sj|?@f*1jaW^2clI_>Csv5=6v-;1LDn55 zS=&oi;8d%uMTrjSwS-jV(`y~kT#4vvJiU+1K1 zT0!l*j5?!1nO?YF)`&WCsc3|<5mewy#t=Sqz!lKsCl(sCm&&K~g03KM%^eEWJqqfX zRn*O^kU4Tv&TUpJuS^afrN~p~o?vpJS+6wb&8qB=1}8B}yj|~IPCb1&wo68gtX|$~s?^uqYE{@}v^c)p#rk#EG@} zguO7##{9v^aB1G&yp}q#2Ip;o7+G89E^qJ9<?%&*N3_%zt+PtsqFn^C178qZ zd;w}jl?sJc?O7#3$BIkhQP~Z@sICUQ|+esku!~keb^j z1gZH#3x^tzAk?%~s@}&gQo?S`i$R5DRU?q-90`BaCA5;PFW@54#o1S)p&$hcmLXsY zQO~nf4fT!nU)IgX0gsxGV-YnkhY9NZw&2wHZCwAiE^}U*KWaXDGHPC0r8#MJsJUxT zs5xvYsPnQ{Q**f2QggmPQggqRsg5pJHBd^`^opefQQxAjio(f{jjLa(+or*N&#-4a zlnh7WnvG50&=j{sns2r=X?Ql@Bl+;GZJG!h_QCu}G8BRtBSBxtJ6ufTwG1cHQ8ZDL zj08R7UY`bLN0Q-aI>+GmHbf8m60Da^urPg_#utIL}fuP7Aq}a%s{Pdk_vjyPm=OSCMmvodWok=fN=wwU+ia&d^Rtk+m>n) zh%##ADh<-Z)6b>|9n7VgMCzQXDyjaGYAWT=se19~hJUesywiq)T#SvS(MB6hv$5EC3L!Azi^YTE5k%Fsuhp*A zX<+-)2+9kXdf>HbwiD`FW@u=@v5`M7t8Z;;MOTXHV;E)-{-SFW!?ZI-KVxPXKV$M^ zn$cLqPa$G=j&EhG{5yH{3l0R0oHb+^XPw3=m)@*(>iId=kTz~L*+x12q>giRjIbcf?F@uG zY3n+xIRUad0-R$jTA%bfCgZ&(Cg=`_LY!r2gbSM!?kzCS(xKxlDI`a*rGLcR6G~y8 z$)@ANA&@^5vIbLrkf-CE#tvuOP>08Y*%=Om$rqt zaQ}qc0`?-COg6i{+m#qF*$gB0BHO3Xd`DY6n6t}do8sE+X_wv(ehmg?ZI_wjv6ulr z^HiaYfQz<&l$XIp>#`#=gtNzeK+@{_gPPgv&WQ{5VH+tejmr-u&T}a5+5X@+-%a z%c~OK;TzMXeD<@%*J0PX976%Gr91acj%-Px?gK;9Vll0 za=E5Mb$4JEb#=%RN|&n(Ii4Io5&PM5tC&Bd8h>@f81*W0|kBeBdr8Ses zP2?BvnPqDF2x|$YJo^3s`VL_q36-@?u1`RF_dMaoIm~G{^e0Yj$Aky$^aSzVB2zPT z0Z-T)F~!~JQu!>r}ntY{B|zGyP)ir504$QbSi zp|^r(+k}_zDfDiqZHjdmlDOX)?bh~=GReLzHt4CKkIMCG?vN+aALaDzSVmv4J=Htf z7aSSnJ83g&&HGX&hB3KN8_l71x|@M_;KREfb<~>%q0Kg?(24=vVW;4|%Y!=YC>kud zA8$vGzyQ{ip|y1bJan6IKMqUL3mW(<4mV@M<+Mehj*Z}Yz;uOMCt6!^dv7_{`thRm zsD1&#fsPt@y{%+D@}@|?7G4YVhYe}iBajSc3)s+_Lg$ID!Pb%1Ry2_bAP#@X!2aP^ zfC4V3J`nZv^p8ScE}RiyZO?iTV!*SEo8cL`KWOD$!&Lmp^U>IiYaV{T4(Uhc!Qlqs z0e4aVRzxh&--X_>@BO_weU1`+_)x@$8cj#%E~JmIALtpPhg<`>aEB~FgLP`P5Wg<@ z_+k8W`#;)W0WXtauZihB*ZMI~V$7|F9s}OH(z*2mx%Fl8r+7V_VbFSyu%2NsQj8x! z!T1@6fXy&CUkmWVuDQZ+ron8KpMyNU-BYj<=da*Dju)QKPesRB$RCG?@!@=dSHDp! z>SHGHEZKOW9-P^P;)Uc}naE~%#QD*OmGt1H`TW4=#qHOHCq%X0?6OFFHKQc54KO!{oKQF*P6T`oU&*~5H@Ct(1 I4FA>nKd}7nAOHXW diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=176.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=176.parquet deleted file mode 100644 index bdf00b6bf0d07d4a2e4a231ed306b5e397535e9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12317 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 diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=177.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=177.parquet deleted file mode 100644 index 724ef9d45ccf2f129f90082f742e94d9cb5a6b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12192 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 YFTg(&!@q}L*B|T$w_;c){NMcl1z-L2UH||9 diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=178.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=178.parquet deleted file mode 100644 index dcf3cb35fb05eff51da9c0915872fdaf7545db3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13706 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 VCWgO<-`0P`+Q9@-2>%z>{{l@iV!{9b diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=179.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=179.parquet deleted file mode 100644 index 6ba80809812e5159d67c0fa1619aff3e1cbfcbda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14489 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


MisB9}NFX4BmIKycw}QZ9<(IYv7Dd<-9~2 z8_mAJBwQJ+UM{ZgEaJG2FCl(a zSm5T4v%2O>xV#%I>CWW31hafyS#G>qk=>E9L{*fhHrbApyO{nfn7q>?d6!>@`aFVf*;9 z$P^#nU@1xKAjP;Ebm}gUEQTOB3RvB3gME^_EZ))NR(Cxu?%GPbbxi;HOx{Og-mWC8 zzimW!pwOwmY>sy-he_u)%bUJUAUOV;n~Yfug10QCCx>a7 zU2d`xV{V?&yj)E2pTXdfQr;3No?iAMoEqZG@v|Dj?g?7x2jc5sjCp{8Y>BYBXIrC= zq_xfwmjsQ)qQwmVWenbhRNjVEY?3oUe{R~}%=+;Bb~MdOVfG(Xa#i7+4guU!#8Bs{xRnO zNlXaHc4f1^I1k-X`2}dn1wTPA^mhO8u7Ru`4H*CE3|5mRndl0)kN4r7ob_@U!dU^7{undOUW`r2|H*^x-Dmum$BbmQ*NO3%Fzul$I|O|p9LU}Y zE?sGaZna^jF#n>|S_YR*))oN@^*W5rWamx?lLKmSr(d?tSm-)BMC zYNyOz0dk2GpWsgZw0E*oD;ZpGw2-w9+jw>O23L0Qpo=SNK_hYcpIGqeg)3csS%LMK z=dH(pAzc5x4tU7Thc+4QJ zQ@KUanwKw4EYuiE)k@e{^tpMK487p#zu1FE%6UsNEVIYKBBvSpKd&%X#0zOj}So9Ro$F@#K(3vZ69)o?FsP;INxX@>uC z25+H~M^2(GcOuo!K zO<6#2yn%_X+xiiycxNz6wN*YAskWNHBDHnXgv)Y}VA-4c`KNB`#)h9<%wq87(61+; zkPSsI%I$FNCWIXoi*B2g?KIeBg&i9XjD6T!N$|@+K+k{&zAxmb1Kta{apk?3iz?o8 zKHu}6^ReiEJgB^wg8}b_6yh(a{_ULNmDh>YCa*KgL*Db*(|Mh_A@e$a2YnuUoBx#z zSeSWi|GG3kf(RJQbu++4g0hr*%=e8Tx=5O+F430h^rb<=0>=imt)GI%4-O16lg$NH z9^LDWAiYwT2mSSBS}pX**W_t)C$`0zwM;Zs8F0s-GQCD!lA9LUPODXkGxJrtB$MKG=qHYfP>CzB9E&Zo{M=-1 z1x<^WMyPaJke{iQXetUoUW7^>7bTC(j8coST#-g4kWN-)%lKw`gf>^41pZ_eN{UJf z@~Wg-l}=W!5QDwgrg&*qR$`7RJzg4Rml*?Wan{%JSzHA`(SKys%YPxjek4+j^nS;RhH+-pDli>Y(sHJ zcG+kzE?%abY;{NZWurOEt9HJ_9E+&P%X-52W@qtpvNH>F#fi2#ng4nPo+o8F*%6kU zkV2kxnC}|AUeK{~79V|9nKB#Cw=uLoPIA3GM`zIHL|W#;Q`r-vQR=daa+6{V3iBM% zDYLUm6-hC6HaqljmP_{Y%t@@YWzU%B7GE;+)w;xv#?PV8iyKE;ZLT^S z*XOfNq^lyOuwO_zvaJo>S=@57@t75Klxq=q-A#Xnbv0A0t?Fo9u+f~wN1yfN+-ggI zsx^MJKF*NWQN9;PRVd|VzdMeLberEl$>qh(fh4*PznIyzo40wK3E16!s-5Epz1m z`&i3iuaf9wRf_B+zA93J_b{l7Dh)Y$X`xzQOxJ@@Tfw`uJl9-P2o!Q@wK6-VjIMWz z68Wh`qO!EtrBG8r9c8Q46k4@jW>5))w2U;3up+f6O_QHtuB4N2X`WUQFA~M);4)f; z%jrZBd;=Z61-PP4$$&CDt^#wU(-n3Fd?%=JrES2Cn6Af#_!S61s*VW{kA|1Tc)A`3 zR{Vh*^HT~S&XgmU>R}zrr`H2ff-bx~Je)4?#ec?M(uNOq$AOK?7Zbo_1mKi*#nm|j_A%B1$ z@~HyLvpnYU7(s9Y4NBwWvOH6$+F%H!FBt+Ymk5F8>jn7T7=9strhi0ZAA%SK|0(gm D34XN2 diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=181.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=181.parquet deleted file mode 100644 index 0603070e0f75b1d085b2db5e453cd715ab4c6911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12763 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 diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=184.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=184.parquet deleted file mode 100644 index decbfdbfefb0eca1909fbe9adddff4cc97ce3f07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11808 zcmd^FdvH@#8o%j_v=*lziK!N;0WPmXlk@>`Q14BfqzQeO=A|o>SKG8nnkH$}lwm;u z2Ni{pRS{ubaaCBw$1KhuI%|Baj*n$s#1&;1A25n*baiz_1!2E)?!9^4n^Ls&pS=U; z-1~j!e2?Gx&iTF*XrtXsfOlhB{U~5foAVi7&~ur3DGpUWa+GV zA_6@}u3>r!Az36*Re;hGNr9xGOeQ{{WjHeN)+x-Jl$a|(1tFJOa-bze`IE{w(6_4R z?*8+(l?o#w?aVEc`aY=Hdr1bk->9$<*I}s^9A7!N#01zR` zA)qONjvyGo_T?l2`|6$@3u)_PCkCkb_j|sr_+fxLeC^3&tD%4V>;ronejK1Kdwa%# z)zC|47?(Dm8lbkxPv_qOeRRfy(M_iZsNy51R(}co97FELnx6)!e6x2}-kAYv-3_0) zpMn0sq}MOm5B*>7*im{6`h{DTYjrSgtzqr+p0fj#^N(Mg{W}q)^1t3W=Mm`d`ti&xx^Oil^b+M*5mVC2*n=bZ+{?ntg?$O1Te)Ed;#!b4| z%%bo5qPOW{{%4OB4&SPa1z&i>v-oCRY}u_F|MALtT}*s*%SRiaKR9JeXd3h#ijJpk zH-VlrM~;8AP8VxGS+wW#s4n(k%h}u7Ms%@-8=pAVIjDNpsuuK#e^&JT9S zscTQ%^~scX;#ASR1^>S0$v9Q8dHdT{e~D9{Z3z!;d^JuT-0;i~4eMe2OE=$i!%cDO z$Ug)AHEUsV*&y>}h{;CNghoH+|+V$K%iIG;Ky&KsvCanAMi zCXNdThHez-Ad|a zk?S4LR2B7ywRu~nQk7KR*1q>{e^g1mICILK`nwg>q+-)`zpGtDz4g@-yQ3?rs8H*v z{+e~w)Pl{o%>q0X|Tg3b4I9C4zU#$k!z( zf_W0N=n({Xsbp!Rq!{O~D@suEh>G%wZc+Zy5%dv6%^+$#uv6s{GMRR2iMgT?nW!6h zQz#~>cl%-Eo>?M-jFpv1irIrM&tdm7q4A_hx>rOVznt87d09e$pk3vXS&b-v zKwd3bTAd48;E`}WA(2WhOWGn6b0cJ8ZVUo}PX!?t&1I|=<(`p>$jviS(q6x#*X;~* zY41&u^pJ==J)L}RI>5}Al|{q3-NC*<&cprp11NSf+~GJfF*g<|<5Pi>?#|=#WV{rz z?y&iVacA3={X6=B>!pRIw zHE93*WKieUdl+jri=$4dUQRr(C0ddA&QEb4o4P^Nx*rxQtt@9CW_W0!IO9es!FMT>_*}fA z#}f!S?Qk0TU2X=cw{oSsa>?H-$Tf@D737H*MCzAC_o1p}bWir#gWVqgip(HCts)Pp zCOF8~)h5v@V(m(g_3brey!z+IIxI1Mgtj2ZlZm;vj98B?Nm_Rihgy2bA6`uET8z!( zWTZ$FTFBDVQ)&oVLCD$T_Sq%naG#o;lX6!hBt}x(p2|E1xnA0h5Y)k|iZe%Sum|OvH7UoQTUFIU!da^1>GS^(;_+ksZ1K5DJ4m<^y8V+2%@w?RuF&- zqCF&gqhzHVmpdz*{oX;JKP11Z{5pAhB_#hJx!&l1Pei-iYccZzT z%XJHv$XBgO8k25?Jn;)E5|d_3IxE8_k3U>n&9^8)PB92Mx~c-~Vx8pV2JKl@GOP@h zUEY4Xpwbk^7}UbGEUR9YH_nQoj^S%$iQ}!x-YuYtA&#>u^jisE7e~!dc77quiC~-f6Syy%1~52Q)o>@%aKipI>O=X}umt&>oDUL>q|OgTej? zLSV=p40-zfh^nk!q*$bsL;91m%2Svs;8n?25wc>sy}iYJ6?0#fZ7i=uPlRrwX}S&m zqGuURSJRqqT1V5}bX_;5X*6m42qJ0|d;@J@zM;iZFdt|U8s9T_?o2AF=j2dbUx-iJ9>2a7l(fmP|c{tQqM|*5Ouh*e(?{fHbVOs}` z)7K~+`UsN4+S1(RYVbxdug<7+_`D#$-D~hfx~o4HxR z@ReSdUI+fP_ZWKnyWLTv*Wqg(vgyHIWK*5dWYSv0Ep0NfcH{w(^_n>_UdBmI5HlaEJ z&0*F>ZBU0juBGZ7F=OR;Je<5D(wJj^tc|cMz6pC)`+^YatXX>>u@~|Q_%-%m?s3CCTz7B z{cw(T;q!p5_f-y6R^swrf3ErcY4g$f1q3s?YT)_CjQPl$H2n(rOwsRCM_#p$}h*n59O;(Y*`l zW6lrs4y%V;1G&&c6rjd1vVdK`dg1lM_$Tr|%CCS|9cynL-FU9~eV{~>m=84ueAh=4 z^IH=0v&2vOe7M7)`A&8|O=G0!ZU6=2r)dW^P2+e?!4JD;^}(G6vr&AuG5BgnU?z@V z)_=TScsw%{U1uSF%ud>k;{`suH4082J&Z>Qt{1Ao>1AlWkbDE}Z-rMJA5BpwT)fxZf3oKTZf#6%Q#H6qFs)h zW57T!DCC&lJYC={Xum=YQ-Qk7KKwu&M gk)fRZ5uu#(^J82&x{y#5dm%^-+Y_`l)*1I~|F?%m4#Ue$gYo326cbu-n?@|VW#w- zy&s%&@9+IO=lo9iSV$WcVxjoGG2$Ir_2OzVF_9qtEXez1qks?yg!^XalES@(FqGW{ zLy0_>B)*v-75+q%D-s^80?=b(7))9i24=w^p9jNrN+7#&La}hGBv(WfPe4NB9YDW* zBH#w6+>IA{d5l%_ZmGbCZC;&odfs78Bws z@%$37QzXt2=M+lG-bEZnN^Y6Ry-A2-9w-PYbZ5a>Ey&I->Zb=(#lQKN4a?t1@J z>g>A$f_hX~C>9n}5;>v*X>Opi%kOY5akYrEB-N5F*^&Vvbv%nAuSR1*2?Ul9XAv-n zU?K=E(8tEa1AXDlziG0U+@lDfFaLV+iJ&}yq|Z!qN?=~J^EKvZSpZGB@J9P%FjpQQ zES*srKqW@v&97z$kYR9e*Cv?nJ#&Bky)du)=zn|<&k7)$>wW8&-}=$i!rV`e!#t#K zzAFdj{m;CWe;>^6e*M;=!i#>?arWL_)9}2#R{8yRe$;&Dr!`aIyZ=D>#r`4wV%L#^AjzeJ4b?2dasdJr+omQy0zD#WbOS@Is~MNG}JTTc&>dgf3gI%d`oxF1dPbx8Hoq}P&)glF^wTjyJ>%V>(0@hf8M?D-)AAp5%+0TTJ&n1fV`~26 z;QO!1)J#`kX!n|%)y#put>?l8YNpvNIk^|+RpNK=o{+C*ra$@qpO0j#nW{_S_oj?h zGxr7WTU?)|W;C|l+LwQ%nFq;-{`wi z?#4xyU5nF^ki54=)CYNxymaXqbY5BVk+q>Tkqx<)oHS5-g(M`X4 zeDnErVRU5oUNmlh7zLghKRxHkFrxQ3$L~5HM&M;74>E80iP#B?V_t1e&Vf4bkLuU@Wy=_2m*i+aG4!X$Dip|B_|7MLG^OaIyz%q3MRK&qc#+9pDo5vk=g8hL ztqh$tOzAdMl%dL>-S*{=7ZphT@r)p&Obk@ zK%XC8x$$^aDGJ~H-rT1`73g242=1Cu>noDH)}~flP-EpS9Cd60>G&OIT~KOr~~Cf~=*B&7h1o zYxBkP>&1C&FELq!Pvt&AHW3nJ&-ddG7arR1&;=VyvA86Dp3fnQ1$|OM8{qQmxzl<~ zZvVp*PD!>5GPNxxf;u596z4^@dZFFse4OLv$qt+Wbm3M7t8CRb--#ERhA7n#ARN#e|^DUh5JP}`hDgZG?k7-7OXagiP_CobpKhcl@D8Q@mBvs9#CqGAQBoixlV8i?i4&6z1WA0WT(s zCGnb@Llg@!T*{8{l3T>pm7toSPL~#nvm$FC$I$6-ar)UM+$&inpdKovPS3`RAd#Qf z2$48HY6MvbD%gj|5H5#+jRceE7Cwh=Uzb&%yYLD4eSA> zJJ!eqWZo)|pjbeX2>mge%p*4T&J>99h|PnmFlx47HAbm+!tJNwgMPp;gAZ(mWlEe` z^5gbDfULV#WRoN@Z4+F5KKUe@EJ3I4eDQaHKr5%d1gy+AYXOhCU(F_qSFIkKEq)#J z_CF1pn28HT0uj0DkjO7nwGB(e*`!dk4ddS%K-nT;0a#VR96O3IC;D_QEq)zx zophVxvV;vA*u&;JV%u;xrw3K>IA6D<-Q^27Y_Q9DTbx|PFA62Qgw(flslyeKN=Vbe z8*#Qk;R*$NHCc$yi^ximh$r!_6ifln_~OV)$tNfQ_2#_zTAARn`P*FHB?(LB7Xryz z0rhD$_513CHN#5EY!bI{|IRgY;nsN2#zhQEUON4^Qpe_B)zXoROJj$du#CtR%!dME zA6zZ?N!=}R%A+_bS;i6JF?DA=jN;~wkH#^&q;|2#?}^)~b+@zj@<`;1X2GQ!DhX*$ zz|rpX*u+I}J)WMGaP=m{;}X98Htsv&j=%wM-x+Wn;Mn-Aa!joF4VQ{u>Za$cvM`PIt?aWEiJqNigKY zgt9KL%hB25lmWH3%i{~h5ZvL0;T~tu)?y3VfPA^k=>>9^w+-_yzO#0Am2Aa|xG~9A z$YQ^UV=+m_B%@Mna(RPuD$*^AffEeEj;<&HyCP0T<@#+IRdT2lm96eh8?Vv?#1*K8 zdtXMq5!?tXhDIh`V+1(Ts%&jMsyN^XtHM9hr0a@8QG$4jl)ws?Se2?Vfti0W8lkq z3GH^erU;Nn4c|_K^>FaZDZ;-Fq-%;oM^shH?w_`srsGFcee~|e{%n-)avGXP`QMt& z_$@c1-fNND^nfNGU+H)rpRca8*i+Q+v;{l;>`Ci(+5I+u2p_b*kj?M!?7I34b*FBm(}BT+qK44yQem2T?BO6N`+n9 zgXKhQF|@YSxqDcgMz64Y+#uiR*13AxK%T;GR#%$Kjg<~9mP@pD8yoFTp2?lE**wO}u{NuzIWuCW9gHF{NRbCT_SnBG(#aK-G>==<#D%^{1j z8T@K;@!HNq`}RFp5~60T9wbrtr3sS z)EuzZsuFBYqv5Ni#C66KD|gpb)_KGiW2?hclPP~`G^3ZtSWK2$O%21^7h9`*dA&CK zM5Dc259ft0lWj?OzPPoRaL(E?)tUnDyNy?|uNt-PP^Nt$hU1HmxB2q5m5jflJ^oIw z+ULwv?@KFtY-Y~y%yEhC+39;G7q=)r`OM6)r?=X)?jDEI(2mz3oFndxw(<1|`0O5~ zxY_qc|2@}cIIDCX zL&$2XmD|g8_zZ)-sMlxl>f0UOrEEV4y%oIcyIZ)PLTNSY`)npv7u)Z2)X3{Q=&puE zdg!U3kBaqbR=2}z@Y$6Wtc(U%MNfT4gR8ZP>!fROYu?bKp=pf;x6yXoPS?=z4S4ug z;*R=`CTO$OJ(#1B?XY{`dw~OY+CDsJ*?znNzXAeKeX6puDtM{Uu>Cl&;txDwiIjBW3=!|`_}@#Fmq0499ZVEOea{Mef${c`wB(C<-&;EcdB z=tW>dSr5KXENCigEi1!>bUVgymkicF_7g$@k6GF7bJQ6+pf8Wy5rDUDE(lSvRO*HB zj@@t4ajvmY_Lalqv4-9A*zaXnKQ<38H#i zOrw@ z27E6F#rPXz{2A&enIG;jnBNiMr)f4)bQ=VPji1^GXqsm0H6ebiYZedOX;?I_&n7Ou zHGROz)^EgrHeW0~M~bhrP(LOI?PTi(KHJpts6M)vrQ*#O?!oChaK5m79qnBRuWWrZ zuuAG!)_8re_v1Q4cZ*ryVQp67eut*nd~^JLDg3GV)?iU_{*a|9lJ7Py-+;%g3#Rw8&@kFY9s! mXFGhp+3b%DMUfv7inyN_;NOYiAH=Wf53y|uK`ey-Bk+H*Dn1MV diff --git a/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=186.parquet b/tests/data/small_sky_source_margin/Norder=2/Dir=0/Npix=186.parquet deleted file mode 100644 index b4c00cda5f9171d28c4f1401549843409b1e5806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12147 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 AU;qFB diff --git a/tests/data/small_sky_source_margin/_common_metadata b/tests/data/small_sky_source_margin/_common_metadata deleted file mode 100644 index 6fd175d8c99b62cd64d9f0190558eab96a673f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6691 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 GcK<)J;srkd diff --git a/tests/data/small_sky_source_margin/catalog_info.json b/tests/data/small_sky_source_margin/catalog_info.json deleted file mode 100644 index a20f2c75..00000000 --- a/tests/data/small_sky_source_margin/catalog_info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "catalog_name": "small_sky_source_margin", - "catalog_type": "margin", - "total_rows": 395, - "epoch": "J2000", - "ra_column": "source_ra", - "dec_column": "source_dec", - "primary_catalog": "../../../hipscat-import/tests/hipscat_import/data/small_sky_source_catalog", - "margin_threshold": 180 -} diff --git a/tests/data/small_sky_source_margin/dataset/Norder=0/Dir=0/Npix=4.parquet b/tests/data/small_sky_source_margin/dataset/Norder=0/Dir=0/Npix=4.parquet new file mode 100644 index 0000000000000000000000000000000000000000..b1ccfefde2463c9fdef27f662d217390e0fb431d GIT binary patch literal 11576 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=177.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=177.parquet new file mode 100644 index 0000000000000000000000000000000000000000..bb27144ffa37bad57018373af0667abb1d6d7197 GIT binary patch literal 12240 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=182.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=182.parquet new file mode 100644 index 0000000000000000000000000000000000000000..b1b8fb254780f1be30bcd650335e544655e1de7d GIT binary patch literal 11561 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=183.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=183.parquet new file mode 100644 index 0000000000000000000000000000000000000000..2581c714f165b0b1ca246901b4a1b1e47effd342 GIT binary patch literal 12739 zcmcgT33yXg)-P?W>84Sdm}13J;Zd+@v$R05mHU#kO=@?bX(HH3(zHpN&9v#JNX2D3 zDhz_CIEc!y49FrXtEf>c_`9MaIJhy2iWn3fMVa5hIrqKnd4cv52=eZ`=bU@?bMLv2 z&pN6>D&PvdT*0w~DuG%+Tuu;=C!{@}$ssr#u9QmVap!B`@nJbU66)cxbsRjljDg3* z$?))94UZ%VJkk}(JYs4(pV*y_h*9Z0?!Cg~Y~r%?Y;N*Z$$aAJbUydvl4L&j%~~Md zc?A&j(-(0QZvfEtBA6|Q*{_$wtZ)(#?2^J`@3jCgPtWD5#sPO-SUjK!FMQKmt6~oTOBgou)Em zsaNJzeNj?3u6m|)40_VPBn45FnS#t#D3A0bVyGids`I>pxZJg~v_Z)P{T40udShCuY6O(GYjlB;m)#fpg|e3;?CZ~M|G-)t=PDxA}Krxm4Mn_61F zuB6nv^x&c8hl)$RgS8!BB@~o;55DrDcx+awx9_`yo9Bs2y+>~6CvQwI^%~vxUcZ+B zx({}jt~ycTowrb*+WB3HS1`CeY31*osqoI3xBANi+Z5hQ{`TJ+zkNpGoz~I6;y+I-yjMTCn z#F0MC_<#H8-`noK--oi_DN^?y^Pv^Bwh#aNn-6X8x;Np)lRo51d70XiejJUPwDsf@ z>wU;!Ax@uK?nC1rQr4He>q9l$C#>G_m=Aqbdi0a^ulSJalgB)bJ|8;v#?YO)Lq0Tb zYu&%+TzVYc@9rA<68J3neDjRu_xRA#xs#W_3G|sAzpj%l^Px2U!>>+z)rbBy>hbaF z!#-48bL$=A)Z^&KhR!dqTi`>58HsBPe)gfo<3B39i8zk#y?vgme4h_}nXvoHcR`<@ zQy2X*>JA@Dc(il*t=oL)>TwfSFWT!vmvXz;r|j~fYt~vc89+B-*^uMzbv~5G-*+Pd zIq3b8BbvoNr2qVtjmviW(EJyMc1%q;L%@b$OJS|7BXLMKm`H&oGANqXvw$n27(O;hLam_A7jpN@sK8>G`*3I}m zRbY~!_ug)CzC1f0QAZ?M)fdUpJI^AohmxWJ1JV%6i?gXY?g<^z`46 z#l1>`zFR_Gdwhx67d2QB3^(7J0ungi_;~H<_RJqgOim&u9+0pWI2uPW>Z(7$vVst z9^sG+Cz3Dcg41KU#gTDVvk2&Rc{@Cab8#M#>p|Eg0@{>VvuF$uig@%J&|;CXP=G|6 zwO<^{qGZ2W{_cS>Yj+-b;#x2(mRlSd!!v83)QinRDlg60OCOg}(V{Ux=ob#OL6H$q zpo=zZzBFW3ir=ijsmR!Mtbklm5U?wPT^u2-cJTyhRe}UM3%O}HVIVk{3xuJZn@r?# zFh8JM`Y~lz1CI<)j>$;NE8(`c}GU_JjJp=rm zHv(^ga6!m^2rYIQ|{Bhtl!ijR<6o?XW9Qd z#Cc60$zO+Y$M<(!bpXbt_EUA=!no!?1K+=P+9Cce(dild-639faGm+V^-i&DzwOGu z!FW>qjB_=Nuh|b(Z-#OCW%~EugYhoW=G)$S(kT}2{dL>UO-^yH^@FZ2VT4?Yy2b`D zB3{6ExN2gd5XfO)V~&b1!P_(gv;)rKW0J>h_f(u6n zQ!oC)6$(bP6|O&XQ*-@=D-E_Ob-DY((hgI;M9N~Q&@+d{_pu$R+<`iEg zW*_;3C45p9@?wf#vB*kZs3JdAj;NBe1>>sl7Xfe>zl7`e$5#Ic$r0^1UH~WJ1*m~I z(t&#_LVBhK92h9=RUF|44tc1Ye59OKl!YIg8#8~qtcVaLb($<@yFri*UoFNbgnbbq z1Sw&2w}F|5U78pG?xF*4hBiWw28-wpWjs-Zw^xR1um$jQ4W6BTuAxH*KBNE#|NcH+ zShZmk4;;y`!JF*(EC8V(h~D6$VBzJ!u#3#OD6U~~k7g9+=@3e&&dkdEjej9NB#{^5 za|L-pF2&@5^Lq6n&u@eO#~Sbp(hidsqB$imNUL~GT0QdIwP)lxY^lf#b8w&2BbPkq z$0T{~4>aK-xlm2=ghR3ng2>DhCAr|5Z0Hp2ia`DuhxpPCxL~4-}{HF@cCPJA=RFqCu zN7v-SSdD_Gonyh!%EU_a z1JAW6LmP`I26&D|;m<{}vI5X3VIxc7n2ZVbd9eZ`P*GBY*%(5Nh45E zBExbqQfL@r7-CtI)Gzn^Bq?)miuG>@9%ZQq+&C4}N7@+#pUFySxML;xfh=O!b{Z^) zfuBhb{!S4qDF8jEqQbZSn5{Gl86`MqN~9};;4@hmxJ%FNxmcp&bu7H>@cJ(AO7UbB}8ddLqn~08goY${d#o){iCWVimHdd_;&+E z6;g^es+^+QC}kTBQz#iKo)&FyXO)t&>g_h0v7({XXfN;5&j7lLBB`;W2lMIC z!FpX&O>2wV)UZM;7 zrnk6CiDMG*C1o|qilrudjjc&uX<_WvyY$-Ljwaa|XdDWQ(cWM&NsA@sCWQ^#tFh}l zjk5AH>1H=p6kA$UI#&OJEuBU+_)*R7H^`y(v+4)2)%DS~v&BD3er){p_TFw?)5!d1 z)Vez2=@rCXIDd8Nw5E9Z6~wXSRg~>eW6~aT;~CE!-e7?wW8R)f8dTA6bdI56%cbx-WAT;EGr~Og+tSc#vX{k+UkuHKi(}9y9eQo`S@jFnDqCF7 z&puIWlvl!ep^2wk1fI=rEm|D2ws^TF#rtmU2=>*63R_>ieIbZr^N*wP%()ebAJ!f} z)1h#gUW{@tx0CF>9oC&SC-c5_KtWp$(9Ffdo5jif28MWf^$h@ zujzw+Q(}~B@OcG2P_IkpsI-_I9dz#peH6S`cDFG7gG}F4*>BJmd+6S#y-Z%!PI;=K z*TcPAs7~}YlcUCEloirEs;z~6RnVoh(*3axcfx*qs{KtdH4EBhsvoz@m2J=}D>`x8 zT#x4p3g#*u?yX(8?N-xmbRnLr@Vo~1+sY2yS{w00MK|q$ps2b!c|ie2*K26WY7AtW zboxz+aTTGw#yvMxYrM9gpqR!R&$b?m3a!UE2l^V}R>7=yM6Cxb{Ag9^Hx+&jtq;@{ z02Mdjs|mg{P&KOJf`X~=Ql_MhQedUA;elT#yeJ}brd~xAv=$W56tn1OSwS~FS5Ovu zj)TD5N9ZZTkKPaIx$KKwp{`;3M80;LKh{E4hnt$q4`r4 zcnItd3`mCq4SZ?UXjiq@P4UOCnid)pKidBhXD~%oSNZkTP~B%+Py0W(zE6keb)ofB zg6retPvm-+9vf2A@0U+0Xr+}Za0>0ea`yOPDh1v1;pI3#z)v*k%sN;~=PzSFTuNy? zJ>Z8wfAu|z$v}zYt)$d51M*aiJX#C-m03r}tIJ@or<^!mm`9t^A#9dbtL>>I^8~+1AoA@*U literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=184.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=184.parquet new file mode 100644 index 0000000000000000000000000000000000000000..5932f039a18fa41d2d4c538aece6ec96f6c24686 GIT binary patch literal 11838 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=185.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=185.parquet new file mode 100644 index 0000000000000000000000000000000000000000..9cbb61701d2d3f8624e795714a40ac95563d1ae9 GIT binary patch literal 12371 zcmcgT4R}*kmM^8PDU_jNlL;6B13bFeHa~5lfui>%ZPUayEd`n;ppc|#n>I;9(!Z2N zz~2ryjtU3@Rs=;Hh1HQo*ip$cfQ+JuBkDMO$|wtt1Z7uckOAFu@5_H)X!$G+a?g9` zoO}N7z2`nYYnWQOAXV`GFu|^rO2G^PHJYNn;${A}nn&??sr&OX_^JEEFi3BPAy<~c zr!I^XrT$u-k(GM57*MMPFc>s2th@~d*-RLIr2w{@M&_h$6=q~nIU`YO?VZ5Cb2QLa zjnCloSC8ZI*72z|Wq=q_3(Q-9`GH*Ed1NY}y63>qH!Fi*a`(+V3jdx_vrs?@iUlRP zU}u&fU63vo@w?}+6cK;RX!c1+<#1p@h}e+=;|yL}#)MvGr84J*gBzB}-qybOM)BEq zc@+J4s#uUZrie<<8Y9Z^wsm-{wuSZvL5gsOa7&tSWh#9lh2~$2#xc1NSW1vW!H@-j zqS!!xGAt74^Jo5|PFr}l+>5^Z*QIssGA|N6Gsz|dIA`~3{^L?F8h`$c=G6d;POQqG zlJ7;iwbYy6=XsHS)v7(404_SSqH+6i1?BRwVYkFXA*`x%N19C^q{)AUzAOR_ufMV8_%xypj_{;vD*PY z`}`e}F&jKcDdZnZf6{}_-tAKSH^48BJf~M~@}SF~d?zf}=s{Vv+0)Jd{Ohgxlcoax zc=>bkmjT}1r|?aA%7YS97xG-h59z|GOT_k{y513D!SJ}$dCZ~I?M$OT$e=$>gWM$w zPoi>Qx%+WjPHW?H$baT^rTFKkk$-sK1M6n?A^*1DoZmsMNB&puJ3MLW1= z?~uRS*SJ&jTjV#K-L>eW2a$jA5<1Jg9Qhy88Z#g3M*gyAx1R3f>-mu} z+Lz6%Oi}sO=DnI7KQsOZ`H%eL!z+w`Yu;M@4VM{zV(vl~i})cMaUc`1{pW7^=t%B{ z2bW!g%^H=wx3lOEG9h`1(v#>MSn_079+jUWK-#xMU zn>7J+bniYi{6GMCpBgba{mB4gUbl_d^GyI1%)Fm(`Z$2fZtjpj+8aQZCrWaD{$~Jn zAFl4bcW(e)EPsCLA5H|&v{PS}-f=j9@}5vEc=DkDn!MxgiJzj@m!<%(nrKg%_G3 z;)i77Kqg}QPu?X_BzeP}E#ch~mfV3~(?@QCtR;#~qHJJU`_)I=MlD`1MV;akso!K4 zpy_j}kJM;nXsdoz`}B1MsO|ZTds1J?Mqc8ujt={&c3>~2QK3-iYM>g?0e|ue>k50;}zkYav482}^$)DXSL*M*|HEqKr zDLShk->EN@qN2NQ|L*5Ya-{ln%GUqcUx2p1q#3?ul>(LQS#kT$^9uCzL&x9w)8lgV z^?UbhJW-sF0t?=s{*Xt+ zN(3d9f=tp&jLX8Oat|+!^6}D2Jov?qhbBC9z{Zjz$c>!m)2JL?kBHXukx z`{>A1!Y!-(|b0k;yRCDAc3xBSSD-9kD)5sXy$Y>LYkp#Wo0 zIq-&6#$bUj-mML}5x0g1-3lE>tY7!uM(>^)@+(GM5+$5|@dcTcf)rAPshPN7z>CoW zVWj4!Q8}p?FCrs6WK3Y|iZ_FzPv?sTDZw?6u5a@+*gRwjcMF&E=tuJD(|LFiM9=3m zB1@1RGJ-D#739ZZ2%AHo1_R16MjO;Cj}-Z^QafwSqdehy9=%ycpO<2DxTN%N)?QW_ zSA6&(nkf7P%+Y4;E{K?ws(0JFNt9T--c!(h3St+B7*4z3iWJ+qe{1u+FsfG~U00QM z?iqmh^|t&~WgzEND02k@BZ5Zwpx@sHELl5CbpfAf0Voy!6Kqon?k9RUCO@AFp| zZjnfjpSxtab-P45@0BAze!TB&u5Qbfy3Yary(ul@3_#W9KV7&0&~j|Na_!e=bKiXa ziO&xMTz2XYv%UnlZvNW40syD2c=05|9L#^=mDDeq0BXgrre>EO%wHz5P09h7zTnS0 zEda+ot^SLl>|p-d9qISm0lv6k)-FlS!Tejsm6hiKocY|e&LV(Esvf&o1rSOi?$Q;q zSi}$6jEg@J3;F2h(sfxGNzsUf%{H?G(zH;aj5?AI71Qq(!iq~2pF}BV_DHeAbqw}> zz8If9!Br;|jOAK&m;-(za)PTao1%I2Mx61xff()D*oB#Og>hQ%$z+v)SOu4x&{1o`2EGF3`t@Je1~V?zBg2;+BNyvRc| z5nmeQ0uaB;o@OHEjtIpuv^@8aqx=G*UqZxQ4vAdR9CP``B1)9*wKm(FX2ArwYEMpy zy2ew2;Zg4%Gy5KO-(V5AhYdZMnl}KL3JJBL@fE{y{=; zkDe^7eCZ}W6d)@GZ(t+125207s+U=4e`H7X!|1Dd7`jW4k57rNCXnM)htn0SI*cBG zYR+T^^F!B%!(s&c*|8xNh3{;O^?mo-sT}ktHW;bm_0sxvbud{kEg8*hrH9~ z@!H#57%QKiFUyxn;JlLrbw?2u`S3@wloDk!wYAlT8SEWdbaA|t{Fq9HVP?Z${JWE3 z3K>-sQ_e6=jJk>7RH_(y7ev{cl!TU=H4YP-s!btv0RhH|e}<0!1}(H3bPGOt#xYq2Q00X|KU+@k5ia=MH# z-&n72Y^ZQ_5t>>jw>TXjzt*9(cQt`LxusrJR9{eAWYu7~jNPKpEjAhSGL|lPG-%2} zMs2gUrLD>4(>W|oeWytS{$QKby1KeDV|%q)r);c?vAqZL8w$Mkuw80hkENi_XH?XI zU$gC;wsY`UHRTYy@}6iLAucj~3oFCos%y7aIHG-YTU@ghdbJkEpxp$v!+e=B9Gh-s zr5fiX6idc#RVd|Fr`}OtplfFRHn~lP?$&z6Rd`&gW{b17*(z7cZ1pM!_E+mPc`b_a ztJ&tXXq3$jrAE&9f-hc61;nv}J8n=zE&bXDxi$KT?_Bwh)1R1sle4?iSbuHtvl!g1 z$?OW#hAv+1MuRn3eT8XUbrt73tTB0)t?nxMHPp$BhT7%^O<8zNHqPn7>!ibIkOyl* z2X&IP-tBmelGt&@$5q#1HsJL(kNCq;>zziY+hHsSu7v^FqqLiybuA6$O1Ft!BTloS z&TA@HM%kRe!&OVs>x?5-j*e@r^Pn%ajaFw_viv3R3|$_>F=;g!s`|AryjHpLdVThZ zYD<9*&I@fa+hXWkaceN(oHZq@H96jQtFK{St<^Yu$@YaXjVnH`x~tb#EPX(G{9KpH zZA(_~twmktde-mcaS83&iF+m+w-7z{%uKSUH<~qd&6WzVsl3=%J%{YqiR&=FKfq@; zSG=IVh^)0l`(n<^0qqg;W~;NoZE+}LY9^uAfb-Q@uXBO?#<@`x^2YnPg>pC0Q{y|}?*Y%hU$_~=ow3HQ8wlE!4(Cgve zEwWBb4y#M=wkQgTj4FGfuM)bHM$#V}aVH$~rz+SKGxMNbW_obDtZRZ+S>?rT^KAUC zV&J{hh979#mxsQ{D>*!sT4m(=7-i5AXRtb zs|mg{F#1xZR9XxVWoqJ-3LA|b5BJs|$f$_#GSDHFVF4;*oIa8ia{nRn84U)Z{eeXp zaiT#kF^z<(rDl3Ce^o?jLjFknW6ofPsj3Xxt7SU-n@{2&p6@f__nOH3>EZcF>L+%- z+k_p__XPDbDq^&{6oNwHSI(V3%%vhdAD)iu1L8zj=hnbfQopSKa498p0`L&5UsIQA z8gSx#tC@tg1^oeJj}@(p!B@(pAyb{eX+3E#gV)mSha4EzwTe|5Y+cZc3K2RXzPjAQe`%$h}sCb-R>#T~ZxJgeKCM?NS_2!1e_z?y{67go-R}2n&Ha{ofniGs5NzScLax z{{OxI{@?$=xZg&8t63=NB5*nI~K zhwEXOLuLwv6J`noWkTYUA^@lrFnn(b4DaV=3W-gVt21)+nK>Dz0s!eW2q}W03K6v5 z3B#Id7`8M_7EYFD?4OgFQ}L);K%n2lDt0CbvYf0a0-18iiR8pQv2aTRixCUwknEF) zDByttkvw-Aj7q_T%>1>?I#t2m!;h?#AJPBfkQlL`&ZXy(8M&pz#GG7lW=~hI-|lE} zwUTKfrRa2q=yW>uVj3m95stY5ufO=W>;gYM^xe{Bg1>dsOFy8l48v?X{_zi1!+f-$J9qQBZhHEx z6P-qQKh|kJbtlOCC-EIJHOS9(O@yLY7+Hf{!-axjMsdyKS$Skul570dh-*H}pw0=Y z=O=(~xWrSi9Gh=;y?^w;Oo1-=Qm3Ku>NRb!{(;kbpL<3d{Krq%EVyrM4IsBr(@3okQ4uk!criC$rXCt9$Lm}F+Xv^x{4I%p7pMBLbYtngo(vgha z2iJt?#@YAP4s8w5IbAOu-0^CN{?>x|>({*%q8~f2+9deOJ?t$(h&Q4e=yS zWT#jdkr^3^3mx4#TkeQCC*9K#J)h-uC|r`u@+h?mE$1LcdjbYS^Sw(0RwK*REWY(gpujICbM@6!)s)bkeLv00ISBlY{nfw3Tg>B?h=gKcM0R8-E_8ISyf!P| zE7tb7Tv?k(9T$UFxMWi>Q&m{8G+9tP3Sjs_PT3I$|Qtd=e& z3Iu~!g-n?CLY8!Cdq3NOjrQe7G(?TV^CO^ zq#Std{=%4YSz+ZOWrcOyxdQ6P1rhBM2&Q1etDTU{t|8N~+cL6ok4BKwNKq{M783;- z2rkAWJY?px5hhR))XAbeGA*1D6YIMCtqwm<<^jf}O{67lq#U`^eIW8i_%!Ir&qdIX&w}awhO2Sq|}FtkT}u3aa2YZ>y@xvd}2j# zVqxSdNvxfUm{=KgKGy)Y5-Zm$a%!C%%N5xiM}}7}xR@mN(1au;TJqXb>EMyW_XlBq zvTK{>%`cZqFFL;XpOY|OEi?Y%6PUj}@{R0EFz->8t=@KZsr2ZXdv_m$*?9W%k>evv zr4JwdQQrTexmr+o2IfyTT_M(ewNyIgt&8*5!@Tn{Q~VUnJDSCTJuu61rxxvnx!Sqv z-c3(0lXkctdR0{TYia2lp%J0*l=LOnziXz!{HBmvln3*~U%l~%LYS*x{d;~1%9D%N4J}GlT=Drw zDfNmHGKxz+1yf${e7%giq>5$KWRKO~?(()IC)T4X>QebQC)VzYnEA58awX>1YfGt( zOK&K@^2vEM=!ys>Bd6j(IKK|Y@=Qd2BjFqpMsQ+bWHl_FR1iLoBt(vYy0k1N=cI`J zA_@1DK(tRlty@MNxeE)*Lyym;x!0za65@$HcBjK*CG+7LJ3lS%icFAMaqoUB`yO`} zU;(KAj67M}2{Ict;Vxo6QG*UWmTI&>hp9&ET9|6A6u`|ID1=Yl`J$SA(}iG2mJB-j z=H~&3j)L&9lLU*;1D0H3$R$yY^LsL(I7`P+B4ut~?zNop__9Ea#}%0xm%AQyYcDO- zt?j8FtN5dz zbCf0_lNd);Ni<~?d_4^#R|)(ziK{9Hoy0oou0+;R@EBP0Iy21oR`@i@mWeeh3CW`^ zUofS#G%lNdhc(dU$EDTnviYt4K~!0NgI2%4s~?%X&*ATJb$Jm~Q6`m3t|pe%!r6uuR$aHWhy%XrY_Ta+`SfEbBRe=*JrD44%oc4u6mc+ zrgy8lEJkgQUFR+_4e3kuZh4PhW9YCc2NX7AX`9tp+G#O4-S$EKV!bv1bV{8z;|jF5 zx79e%Q=?&A7LVI)(>1l(JlcTe9$2Rh)%y5_M1(0ZLQVrevH!?6gH0==r_6b zuKsqQr?8pSrKaMhQo9b(Wn4C;q1$4tle2h*yH%$J8cj}pM_0RJ(BQUt>iR4?&&*p7Z)@k&}1_2Am4*TWisBH#RH5%lTh%FhHU8z#oJ#}tVvBAme zZSh%*1Dz)2b=G**PMfF6X;-M^4wKrA^woPTJvOEGda`+JI+e4v(#&gL(51R);N zw;RMz$EfmwZ_R^PcRv3o@#p&A;u+{On{Ld0HlwdIm0VHW_}MF9Hri9gR}{w=S4p}< zjw$*b&DZg-u~}|5HaS~$RneSmyQd%JNw3+c2*-p0;v{9fyHJi|+ws}Q+uUn4qI_F{ z_2G&2KC{Q?HW!C;VNCLehu^O9uELv5Z%$zlRu@s+YJhpQ8-e8=E zb!lp|d#Y0TkF#d{{1~-Kr^Q%1s(jI0<@4*UIVb9E#RjMs`c$$d;Q8#m`*@qLA6tp|F`epIkUNECTq6{ zKCxz|IMds#x@M=X8f4Oz57ys<&ueZTCie%ZX7kw#`ioeuapg;>mt#636i&OR)n{|7 z5@LqaYe0Q9n+#r{-?rSN8ibf<{mmyM>$4Iz9=I|l#NLg`SY=He^HKT6JKju6r`v2C zfVgtD)pm5I%1ORB;5%z^?tPt}#{_jr@2MMvep7BM)}wj_J@_&;-cH>6K_3Or zhQ3y|e^6RXh9Rp_)r)(Zj;i9C4yLyjdOg&;#qz}BwtMS*Hf0H>QR^xhtbs124fn@p z)Cq_6sSP*9%nE3inIY6J8`_~&R`;N`xe>jq8F;TWqu$zw+U{!HMwg)XO7vcb`fW`o zYOQT(sKiY>AQ+~hp;#tE=te!}T#bNila8M>2&aq1HR`#UdfP&oOoj2b(e@)&vHd9K zKwcZ%D%kzrr2T+}9~K2aRiek({zzT{P<=PLnxH!aQ&*{y$;#oON`sYBBcYMvkzWry zs1swRv67Ls$z*uN3OrWH`tZA&apHI61ol3HUs-ziJjCysZp0r;T3HG9i06-?as0uD zj2i1M2OcsxBA_-W@xxBR_a983(V;1FKCmD&ax~DzqG3~YG?az?SBsf){D3sR(RD9oQxW1%&bU=(aWEx-TJDmCu; z&~_9bU?;qEc>`?4@yqHDmr{(!6B@$tYw1@nhLyy`97<^ pyVns|WcT?N;SUP=;SUD+?570y7h(A4?i>1#_~9IaXn_AK|6fmtAa4Kw literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=187.parquet b/tests/data/small_sky_source_margin/dataset/Norder=2/Dir=0/Npix=187.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e1742ce8fb2ca1742d21cd78c7289cd547ca4be3 GIT binary patch literal 12031 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 V=V$QulzaV8{Jot>oWLJ@{skP-C2{}& literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_source_margin/dataset/_metadata b/tests/data/small_sky_source_margin/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..1481b4fe21651d96da2c5e6134f4fbe970363111 GIT binary patch literal 32184 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%0D1NWthah% zLbByFbf=M98CrRX&5j07(_uSMhVP1&^We{bCi6jyvtfODrYBc&o{_LDCWR?3e+BF1 zZ6^^*fz0QJ-{=Yc^T@wohG{YdvfM#^9BETpDb#&vH2HfGmGW_IA)ZwzSmZ+*-SXy5 zy3tp`n{@kPWGJ)U(@(0Xr{7z z<9&;FKZPtkJxLJiDbXA{H&WJMEuglM*H`~~yFR*%qV6haOW*16lOP>gj;1FY_U6`? z@S0eT`XzWsy)*T*kYz8uicmypN4oVaL&LI}v|0_?qWbml4)6DHK;mZ7^+)|RD~L!g7X^}aS1SuyEB*%#JLY8&cNIUHGi zHKvlBVqafv;fmzh)_-!~5%Nann`~}9bjiF@yO!@pF4h0i= zQk^O{Anex{6Eflm-Ou6oK#{)rx{RRBhx7YI56jmfzYT`y(jWvypiH3o1Nad%9o7So zb6lX)!9>a%!Q;9EjX{uo^#n*q5P!wE96>wPgI+s02IvbB{Tbvp$m@0EkXrS9@=Nex z@E4fG1=qnx`b%p4iwJtOC$q~qQ}wg|MQmPAAr5=C0ke_SL4Ko1eH`V=2cCn!fPXV{ z`qYJ+DaZm!_w!(dxOSlr%8%lhdYdZ0(6<}nGw@-Bc`*fjqgM*YFrzLm164p?EnUj9 zzL94+>9aV+W+6Lk$5cNeU)D2}XDQg@l=2#xK=$awaI%qe(nIT}5xwrS4SKvqjk2S) z4ot@pE`dLQ6*rrY;g?~}-UNG*ywj1D5tVRKS@s%O8kG_CZ)*&KOJ$eI6l88?s=3JX z;qQU|rY#QE1t)>lrl8U)9OX!Qou$3%ViEb23qd!^N?lgQw`5 z2J0!!^YAH94)i!<6Rf{F4u&UyXMwWHYWnK>pJ~%$q#R`J{uA&e_?CLz%@!c{kexJW z9e5w;lec(S|IouQ(4US2DW3o}U<~$CjOatp{;;l7B#QUKQiO}UJyv}1%I zWM!vx5K2^P8TxMi0PWY2&D3exa=o1d<3;WJPYPEl$VXp*m9gY%`jeNX;2q>SY+*BO z4R?X%mLAH*@-6w2KHOB!kaKHAk>=JL34a>i$&#=qQaJ@kgX!{YJ(x(LkO{2Ktv_*J zM^>JbrXB$O1^!&Pw{9Y?=z1mvy<+r-^)pJF`4es{U6)WuGUF<2;#uY2cq)8YvHWQv zl`=+NW0NJpt*2gpm!RY(b;>VYq;y4({<$XU`x=n0bY@=;H=0|Yke);C%z$2S63}0X zybWK1zkw5BSuq9HDL@O*eyWiFX}piM`8EOBkBR3{e~_^>rmpz_=&y`qM+L)HvjTw! zKG=5@4xN$``vfjT8~JvLhj9{?3#2zCyDrR?6!AwAy#KLUMva2g)Z{A*yD@*CEp z51dkw>wz8tj)SG%7Uuph?T=CCMp?oBII@CVvC|zn3YKrC1AY1;kA4~`@hjHkVtO#8 zJ!wrvKwh$zx(V{Zy%g-1YiPxKHUC`Rs?c8btv9(YY))C?5E~CeR{V`^ylwHv{m32I z;Ja{4W9wmkG4dNMx(ACs%3_AG;T6<{zzbn5RL=^fz-6Ebq?vW5;%Xim=7p1L zZC`>vKpf?zu+B(Rk(KMSfi_eME`ss+X&^qSe<>+W4_jqLWhf208R%A6Os6$Kp8f^U zKk1-M_3~)FX4(b2m|O3rN;0D`f_|~DLS_M+=lG{fb#C#X zFhD1fM1(Z35llp#*A&&w6dV+(`kKLw!pGndubrX|o2fZQX}yzUCyV3#MWHu(h=vu+ z3t5(yIf;&CKtb7-I&EnvI7MHa)jDW=jJ-u+Q5;64#KS19JsmaIL1v0&Ke@=Vt@QOe z<(H&&C3~4dhVIFRwER!OXcVX4oe{_};7y>vbn6EHY;N_!?)2|Vxf|s$Wwcy`r>WdR zkI>b>29J_Gg7Gx04I%IiCjAv8V;~W>q`jLQoF2Q`T1W zwSZP#0qa|_9>|y3(*Ix=${Db((KyG;ySEz zq14qF>!NicYf)Y2%&NuGHY@+%`U~b7h;Lv<^)MXJ_lIv~D3*v1zseZH&(Ciqae^ zt>V%;Cbt>n+`cxgPe|Luw9ch%0-QV4r}eLFo0`_OsZEHpjZL~sh;>d{w*aeXXIo>s zN2PUPT90I_$86l&C20<&Rx_PD#;5yLwkuET-DEY-xl>m9;E?v$()t9njd$)` zls>$&{oS;_$!(W8cd1Pe4C(M7t$%6TWaqB+>7y$x9wbLu@;?jMR+nsXmRl9apNXNuE=eC=+Wxk4-}rS&m7UAeM>e&;@7ynI-SUtw z*U|$6I@CM&FIu;vvdi7{;N%Vuogb@RmlD$TLHg*@4o%Jj>esEV?Anq(rm2I$#o1h4+MeBD|c8^;-F4=aFi)Zcnf{-4GYbTW22Do_DuisnQBX#YhCfg7f zqfN%ake)efrv%tVyO@j_M=E<3uAP=_H`&EII-@wmp=9m!QoEThKJgjHD;>($&Sx*B6=j^Q>~(kT?BtHiT>NV@%0hZSSUab*W3tP@`izT}y<67K zZR(ijGRP*gD#X!l-TZ(~SuTT(nKhM;PU{vVcgl4c5}jEW(#Lzp!Ep6&t=@MYG;meSIIqQ}Obg6X-G;a8|vR~o47n8f(a0!au&=AtUWZjC=F1KBR z<2N)`_Ag)ea#NT4E~BzG{2cPwwRI^0UF%&&7j5{h^0B+?RwZ|R=<;~&hUSm~57woZF29bLoYvpQF~1g+oDWbf=6k(Jdg)HQZ}c0f0yYh+QDLzQdX`i;rm2DwJnX7vem zOI&X*?H1rVwmz$Wm0RliElu4*T%&EWT|(V+*5?Iuk9LhQW_wh*7p~uy+ z%?=Fpda!T~8)`J`r?Y;ve{ooTaieyDFw#_51wwXU;_8y8mj7G|7D z?sda8E_!1^s9#CO+0tIOU1!H{OseuL&p6-I>%Qw#SsRy!`d`Z^3+P?%I;UvkiYouR z85POBAG$tWyD=qn;Dd~drM;V6=hkmrT{W;Jx4o%FwUfL(XZBhNEy;Va~Gv9CO6XF(cV?G!|ds^xp7oX}^587vncyuL=y>@O@Li18y&6ZN3>A z6uY4zpns9uilWW8s)FJ+{E*!Ll-tVM&38hB6E`%L_AhmNxqkD#s^HWOKQ;BQbW66` z@@43#oDDw*JXY(LV%+j=)u_S^za&3)!!0#>OGD`Bk`2F=K6cw}Rs5F5s?p^e{%Csa zzT1DYw)`CW__Ynq0R!sYRu^sgt?Kc+8y+POSo6^BmD(-Mp<^Cw_^Wh4liQm5Eq_&w zY1!~k(*T2enoVw-un@bfHi6DI?&-$dc9%k&vf8FN+qWbpJtsQP6c$;M`CFV>hGX;1Yt>3=)(zMi^NzJAZk0P5L2g9Do$(a)99qmzU+;Qa66NNd`QoJX7 zltk|+4x3(*Gri1vrpK}P9mg+CFVC6L>^;xp^{gGI!=AjBGb_+1-s5=DjFJxXnMeHr#t&c@||{iRmS{w)$^P-txFkX?|CUY-!^={_oj@pL5`l)@%f#r=Lc=t&^*Z5^Kw>x zxA13TH)RJ7HhR_+NicWqNa;Lv!_>qP~_tDn2OX?M!dWuEWV76gVbda!A4+0bOq_v;HrS1)SW zw7+?1n&%Ch!qD(|JM+Q7VOgFxjfIib@lNK$DZ_F-KZq`j2~Y4gA1ND_@A+YT;e_gh zAoJ1YVFx@v$|{@^o)~K`4jf+Od8?>!dUax)`B=*EQ=T8!7S0M^oM=8?HoVmHllsCr z)r(WjC!2>?dfv9#JwN>U9P{bG5w)IojJp?BKVN7*lQQCl=iTVt3E@d4=CfrZZhL+j zzdNZqsoZ?NdBlCs&$4ze4_|W4ToyR8-t%73?iJNb?wTu7Mn3fXymog=_|gaFi)AC5 zJin;ly}Ej7i}~&5kp{2(Hha>;m)UKu3JkFE`qH>3qk5Us=IWFHd#|se_hg4J_ugDn z7U1ahb^IQ4_41(2SDOQzy}rrXlNbI%?B=?_K%>{UMSFHszYw?ios_^qUf-X%feld0P`^|wNUiCJ64~D;#v-xIVP_$Qraqp4pmkKw3m=ZME>p}G1 z;_wwEn{Sl`&Gh;qe(&+>73G^hX%3p__1~<$r^8oX+k7W5INqzVXz$tTm3KFPni9Os z>&M!?W#KPB*nF=nIN9r``n?ycUvAm_MRRbP*F&3qRpH5YTfPh&mF4xbabHb!veTBY zQ%2=_{V#f7U3iN3mT${O<$L`Szwdf=O3;??n@1h+`Za6c&G6LNEe(OAi@bg-+IOou zHEzofDWgw${a(B8PWYNiRqB?Xnnzc9HQDU{GWP4^yX8^Jn1^0}*Y0l)U-MwgUu9#Oy#A@*|5x>zmM#A@k1-exwg=io zq}k=R2@0_>wlN)OcR9@|w{2>Oz0oS>fNey&cW%4#5JzL%gae%~rw8SBXbEvPT4x{V z7O^%q*ET5BXlz$}z~S=RxZIAZp@WR=>kjmZSeKaFxjZz$*rDM-|I6!AbGx>Lh8S&Z z54uFG&≪6c%l?H68T0yuL8EM{3w)qg~8FQ$$8du0wg)Ok>A{gMODY%5!_Sgv~Q{ z%04(aBJ)~qpP=w~W9Q<7!!Kvv&Fz~SzRcLA?qFcVh6lO*%fpk6T^kOLzPzC&cR)*c zn$h0&P-sM!U7kx&M3%9e=}_e5ET=rT)QDVT_n1R55!v2(9_11F#vTcWCS1-A%JXW8 zIAH9VeP~KVPHdhjD6+`tP<&|m<(#-YpVY`x#$I)YW<_jF%=0UcEH(CSI5g+-#?-ul zEs>Q*N87{mBR1va4GxN`HTE$bUU+#^VcyWxs2fJ7n8OJX=90YOeUor$lUdkT<$~Y?E<7!{ODJ zx3uJqX&GxUIorOP9+7LeH8d#N#^hppHRE!w)7J3RXnT`u%&XZEdEQ$i%cC7lZV9iN zFXshq9orJ^Y;wLBzJitrN;)0!&^F zukO9PEp_XpmY5Ke(e}u}i0wIBrv$}Dn@px7M=ozK+&V2acCyJk=16hGj*_j@%VTGn zd=icvzr3S->x`Dzc_!cNBc~&FUfVh=Xk5I>ulUH>%RBFGot-*vnaRKINLj?L2V3Wq zk4rWUY&df9@~)Pxb6duxnFiUuRuz$Nw{3pV_$@C^0qI}|-+os@zqm7sMmT!BxW#WC)sO+OZN9?<{EhT7Dy=ipu(cdobySr^w z>ZFIJ$Lo$ZN9=#FZFTviCexUPqkmoA-?D8@%Orz$h;31u$OCrU(}O14c!!#b+SMFz z+P*Gzvb}d$Op$HmLGSGu<&zz~!xM@+*BlJmzM*BZvv)*xQMbrLvD>qQrWm~=i;Em; z4#jQXm^x*UcT`2D+O_QkLDS;B zClnVCuX*k6_T8z|mU&OCD-Mi2`e6Is@@dK5lNyRg*BouxzQ1K!n)hVelF-N^yB!CE zp2+f^Vk(KODRSCzIQ5BK@2N2*F_FdIJC2k;k?%b%p=3f$anO#VEl(Wqej>YMN@Pjw zj^d!{Mc&hkOQzS9#O*kiI{lRQlXWGtB9A5RI9@)z)O$ul$()*FsXI=#Ot18wX?tvb zpjbKY+=pog*(oqK6%4CF6LN5(pZ*ovAHcXw2z&UonkbltI($deCtTr8i_ZZL`CH9f zcXvHXo%_(|mAaG7k#9fP^;h}aCZ9D8C;zH>yJgouEprXNX||`@L{-}5w+WtS|u8-!2_-5Ijc8R*2liw}) znP}f^(`k<@mkaZIta@g$Z%)ik~~)p-|qR6LvSyDj0330LZZ3cMaYd%$;l z_8U{8uEiFZf)^I~?kIj^`ju;O1wN}5p7PyU_r|QKcM=QyDi)Ud?rL~r&Xspk3kE(~ zSm~Q@duD#ryEz4egP*JQEij!~c;(%~f}yLPyWv|Hb0#6`dP%|Xisx?o?oK$9bme+^ z!N^C?-S^#-eP(&od)EpAgBR8N?kzsE;>vq>3xZcIdg!~a?o3M5`wt36S1fAs-QRF# z^_BNq3dTHIWbiv+`(}F74ZFh7;CLIqgQhn#uH0}c3||#*?{_HX&FrX~-i47B@s56n z6W%mmxfxVA_EEgE->cbg=0$xFTNo3ZVDvju{N|1;AH)@oTa_@#@3p!&3!*+uESyl0 z5a4&T;my5QK1?l~^e7?3ugLc7!KjaN3a11oM*9_;&K|k)QDNbRFvPSl+( zi~8h2;hc)a$$lpr&R)FoNlW3}M~l<^PT8KTin?vLdw%fqS$?NY=W4FpcG|sQ)$_T2 zZ^WFdi@M{zdtt@%`F>{-&RxH9CusMgN6#Pddo%mo&8WMvyAy(wiu}$NpSyMCZrtw0 ztCCLnovS-{C+gG0-ANTmrGDod&fUB6Y3lB!kCH0=N^Q@78TDDt?&ZNt*3|lyna+QE z<+H-wFRog0!>>H%d_&Z|lHDsRmfZHMNI2hkV(qHSHBF}v*FP)XaCFDrQODU z6}u-pc)8KPrnuDM>Q`}lHm+Je$p1=RX`iuQC+;yes1zwme!M;$Lf9 z<}&u1oIQELFGTy-naVt_ep9$-+o~5P`(KMGGmZVWWY3O@7iRjulThY&_1p42yB@tT z&;Q-*vcY4&ySAqw_{Dht>&0cmuYPxT&+b((F7tn{t}Jlu_Yd~$t#~on|NVxt(O183 z*|Y!Ai)sEhY|BH(*4ynp82nO}|4mbQ|1hC^ z!qtYLy+KMIZ3cd6x{z`8q0_$VRmt`P zzlyn#J@#kseKi%yjsw3=xM05ebI`u4kCL4Sev^G6Z|whK_tgcb7zch^d|}7c|HbWl zXI09ef#20#C>Z-o;=bz@DFFk&Z@94c>MyDL-hY%5GO*tE;=!@M=Ipx}oEkl_!F2J+ z)n5zueYh%h^1uf%7mLUKRTh2{BS*E#mY<#6F1P=oWmxp6*Lvj_ zFSo1j|2;G;cGMgD@~X+7^!Gn02}>OHc2W7Y%bzUv|M4X(ZPdFh<+YPPJM4dM8J<1r zeNOqU%bz{=zX%P_8}*^8{LbVre*0TX!iz?Id|rO<@|TePe|`yHTQRC#_RPb{9Wnb~ zTSiol`lNT}$>olu{cl4fYDRswKl6O@*WCT@OClOaeOYv-_43!^{U5(XJQ&rn<;?5J z->Ub2vRwOY)YqId?=OFA+W#eVZQH1CRcAg;{;OsG*OImEqyBn+=IiCZKJWkQ%UTIc zc&m`Kljxo%X%#6Wl+>^2S}CEC)+H=bK`7-=A!{c&EUjy4q?)jcUqz2fNz1fu9g*5X zK}?0Boz#>xS*vxr!mha$DwR^6Y2Cxt35C+t6@BfxEKciDy3SnKt)-%0WtY&jULEUf zg)(wy2iOU=rYTyjw-d_hpB+*uNKWe=w%$=F=WtffuIu46mD2U@!tQ=&M^tt#N$bi?n{F8-j(sTFzQmcKedn zzhgtBP(kk8SUZ{S2L@Pej20^DpPN`Iqj6wR*v43)lEXQBJK13ehLmnh6!!KzH?30E z^1#rJjcG#Vm~%7jj49+s7hg9{qqYd<&zH>g+j9fJtdoqfo=| z{L;!EB?rtpq8v`qCXsgZ7g#B{Qud3{M_kd;C<~E^L_4ze+y*uRkV!30R0P_Dit)+$A?8L7z}i{u*FVsSo*}$ zXf=aDeiuZQik9h2FG03X{R(L-QH@8uECJp3%e_oJkzIyZ4nyiRA1O@*L!jL zw9+l+218pe?5pe@nm(gri>-mK+{FWS%3ITCTE*BI=;>cPRH>Yt?i?25XrS+KF~?5j zaJp-0jJv@wzl%pJRZ7xlb;S4>43D{Z+)njM`fRJMz6K+5FP^May_@bCw$@~(9Q-+KTdaYh z!=);_zQYbKDBYH5VB~k{T4i6$gTHiaOEWNzxm0VXKIPydD^a$AN$#avmFk`c7l(=R z3{0yp-LcbHd~j*0Xl;>!S<9t+l^UT3mv@LN49w*&KeW@_dT@o+_DX}%`j?+nY9=3C z8MeK~z{273bGv?r53VZR-e_Ryce%B)U&+DM9orumSjAj^ZKrkR;2NtP&kU?{FTbzU zx_dA*Y)6}cP4(qZcKu%*3@_c$ZZM|h^4H4#Uk%8)4JX7@D%ua6lCi~Vr>^0| z+)9D5)E?T5a|*jKtM*lqcwp!i zb7h77$Sa3VTkUyfI4AeYs;ZH950!-NX*2Y$zOu%C)Qdx9rF+^9=eAr4uNw8`(3y@s z5=K69SJ&AKyJw!YN|Z7BN&o7mDxpT^`LILh3B-&&(@fdxb^|tFP|0H(H!|t#q%s(Jw7m_f;8% zX5Q%7Yir~yckO_^@z%^*t0X(4Mf%qcRT(E|-V94}H1cz}mSb;nIP+F%lDpAjziUUU zOiD6ucO>~3Es42y+}`v`<{hhKU!$eD*G^WM-p#xlmh5k|toqt%d$Sjr_ezt4jh44u zE2}d5lKERla-@;J-1W2e=H0U%TBSrAt-VsfSfc=k>s9unhh;q}O-VFb z>398F)o9DCKRQy*VT zz9OU5E!Xc=S%zl)*|D#}C|K^sLwl>OS+A{9D~;CZ-*{4Gm7Mi9EVafc#Nozsd+Wnl z?@Ln~jY9oyv{qS{WPR*NeP9$8bK|wW&6TWAR{NhBh3DRQUuAPQ>r2@FHlv8@8=vgQ zyvX`my1(6MZOe_XRb#$n{nfEw!Z=c{M$*Byd$y!?nvC%}{hF@Twi?-8!qXIt*E`h6 zI*c8b-L))D&3J=fO^@oamf79DrfC~*jHyv{7&j$b*7|_1@uu7wmFjVx+1Wnmm~7Uzs8J5*%6r=@OA^_0+@QC|;L7$?fz{K;YJ)*J)t%u3_E`ZpI; zPfgA-3eT)DPI9=p$YI*y9FwxlM&o3^n@g*wmE@Rx&3s^-5_5Bf!}KdTqph=^8Sl%z zxvF~l-5ksCtTyA+>YHmEX1vI;F3V~+-rsUFyn4o$oH1XsBuvue>eo3qcF!Gaoh@T> zK)-%dwWCJv`0#86lXQprEe&1S1+obX_-6uYqqvYMoj%q2d62y_SQMN zCWmtCcUL=k=1vLE5t?LH*Y9<3UYt9vEXUj=tEGNlwR33hjITMiCfRbg4mh}M&7EnT zYiE+9f9p`SOLDGrc&?*KuEVVy2iL>7u4TFICWrlQ9j$gP$({8z*T>{Y%&p@NZdY<= zTOal{IhuRxWVPGfT+i^s{wBw&Z=H6S^&)pp+2LT5Ut4aKRnPjOk9jaU1#i3ju#5J} z<*NdIUhuD7v}4PpRV!X}(MfwMrSq;EcGCXuxitTW88-j8leUbC{8SYw@g~{=c}~y4 zJRVgQ^&jT&m`dmhn4l*9523qm7yQR&4xK{rv;fJ#RpKI6s`)U8Nc7G?T$^0!L_rKTf^XDIGCz$TPD7aH+ zoz>g+xr8~I3B_poff0*>;w=O!R-~JaS9S)7~@1OK0^LL`!za-@R zcax^A7yQs`JN5S;cFkWW&{@Auz|Qcma(*cBAJtgXMI{Ow-CKye=rc)~3Mq-MlH#e< zoD+Bhr~x<$wI1M1NX|3n^gYf+ znJ=rW5GAD;C8ZQ4)jLW`IZ6teQH_%76D6e^9&aBAg9mwFRdQ zp&Ee^>dk8Yj_66oD8T^%);Srd0Inlpv$Tl^a~7XL!V;a|V;$PT>-R3@M}oJ^o> z2LTgb1;5$j7*_|Rdm$t}1tF;Y_X}P=*ni}BmHQx5krwMN)#*paLyWEb&W-MHV_Y3;4{f@U^z5g0#n-A;OW3> zfYaZ(<@82?9(56r!4!8+n$E{W?qtkcz6Y6~L%ag(V6O8Vumt!ZKC9p$SYoAzHP{hp zkIB&-B`+ee3ET|_tp&qY68A(HVF7MUHVa{xMIuNfBN#YQHdrumGEA3%7%pdRi(H(Y z4p)<~N0?3HEc_d&4wucKGb^EFdOCaP7vKucI1xAlnbqVM8^e(o9bEj;k-7-We?W$Z zNsLFCY{Fi|WrDd4;0Ewe98YzzW@FVcg`O4KBjP7d5AgYr-SEE1bKcyABbEDj4OKruU5)>egS0>k`olAC|hTIM1IfDnaCW^mXp@%;K+)y`O z-E_cq;57hSI}EE&8G{c4VXaska%r^0HpHp6`iQ^2TJb#}&+{Ibh_=pInkMdiU2PWO z3kpO!<2$riFbnAdc^sHVby`~SuTS^r;`;$;{#y+uec} z6-|;Y60f>JdmD>7KUACt`3B^-VA?biGF#1$OlbRS0Q-N(&~V4FI=WY`5EQsg6X3ya+3D9X0sqZcR(k*wc7;0n-88KqRf^(Kfq4Wq~p zOW3{GU*7?{@KKHsnZ^Pb^ThWJ6I$EF-$U{u#JacQs9U z03U&Ct=Oqbia0fqo%p*+E)_>l8V{^N+E~PM zleuDq?*Q(tY51VSPOKjGElqU!E#K3r!+L<8!yX)peBF`e4Vgx}3iQGkRlk5U06(0+ z(+>XP&(eHQFM3x2z{NF{087Zb0V(7)0uKToMSG{A>?nk3s;4-|a_Eo8Y4B5Jx<3Q_ z_OB~=5WtgO23Sc&RGLclk#dLyP0B) z!Zlc8Fh9kif6^=X83|>3y3lk8+=BTOb7W(nxqt|MctgW^0_>Xp$Y96iX+scr3Ye?o zYaH%P$ORd><;e#`z8A5xwu!HtA5jv&RPK%bfU6WbRi*e#tap&P!UvcAc1GL=ggJQ3 zL0Ah|51EalM`K3}vE%X>?&lPYvQI*$X3&Qu=Af3bVBCF(KUU-Rpen#kgyoPo7#s$$ zMI4M?0$W7rn?N088zJs(N z)SKhPBY@{f!ZB4~d8Ca2uLf@5T&-a4Izd8A?^<-i-o`QVW0tM1BH_Q9w8Je46AMm`h*MlyPh^7sYf(fHvC&2>BV7 z1B9i(1T>Xj+0hAd0Xo89_NbpB$fBqrIQl$v!@mDBnjuxmvjRyJ`kl2$yxx z12|CI0*t?iFn3{mh%5Osgt>@*5x5c9jRNcdYR&}l^pl<7YVZP7XawZVz#W8Bs2S>> z3!zgZVZZ=>y2(Mi7WfUAguea|;CJoR`#f+om@e=qFk@*pnw2IVd9moYf`kD}V9pc3 zdw|Ot9R;)RaMa}H3LM$!f)kMD0_N$R=}ff76JP^fk4GQExW*6K>7?AUcN#bj_zTeF zse}-w0POp;5x@SYzTW^*u+11=FhUSG1aP^^yWri(R0wtevxmk5>^H1mJKzOJ=Q`ya z4CuR)d9%3&LJuS`aT(+>;7Bk#q7-DVsrLY~D!4y59`0(06HbCmZ+ZbtMxisoRNryH z5y!0sk4N5Nyt-aP;4$z8n1F)l9wy*RU;+3Rn7iMykbM9RxDbU%0Q^3AH^3oK5+`Oq z;&Pc6!HV3ZRS$wW5D3tSwE!28C`K7`q+u^0pL$$;$Cn1kkBT(+jUid zX}tA_IMoWU~??+RvrXOSEn2Et4eU>-M7=MRE3#681h&}F=AjrjJKt9Aa2$fp4J ziCG4w?au&hKneU}G$08-7>@8pfSU4!6GefS!!=vMhY-GmJPIh|Z)LoNzsv!+(jD7L z4RU3J1~3;~@&*?J@M^)Yz4f%krt69fa)=ZGGmwcLji0zL1+#O8qcB>4=KBTmI6B;M z1QsE{aYqA8Epvsg1X1VjA_FityW?gs9@HaG>(tu$GmJ)`gA6niJ@N|dS_8VYm=j}oDKfZ4}5UiCnYtC02)GM^7{^vuH`t%1Rr4yX*D zsRdiKHj3*q2*WUKNtLqPUxAHCqa9%{39c4IbwvW)>WHorjk;+fJ_K?Ez>(xS&cVeq zXu1{Z(emP-QB)PTX2J&Zg0k`UmEyjngEO+_9Q>XGG~(}w6QO45kniDA*a7Yeb^wP0 z>i`3!PXhY^PjDs{zL;YZjUtb#^#{| zBrapmfjJe3hkTcdJXk=uj!I31+5(V}3{(J`II%sL-nbVCK>>%scY%{Ekr$i`qRw07 z*N`1|D&T(|(CK{m#RQo*KVyJ*kS*b;^nitM;vJA{U_lNmZEzzl@|FPkBI0N@t|>VY z%#K5APC$G%Sd;NQJiCK;rIwlH&`S3{u}^~F4_7FcgYH3hoptM9q%>pGUVa@zvhs+QUJ^6 zRyW(hy0C^3cpKo@+WGryJ!EdxOphoMb&fAm;9n4?>dpgfU_MlNiC#i=@wpgP(+?*# z2Acu&blPevcr(D&*Q~*}fo5PA2Bbo86F|%NK$ty>mF8nW+KU%89?NGKbf@b$DczK- z8x?`4g1>b1+Xl0GU|HPtY9KiLpZ13*j_?=60t~P~CeKxiCmMy2J}a4+H0c_oJwO zfE#4ib3BSjL>i0y`^P8y?rwno`yTiTn2S2^z>?{+rw}m(ir59FHCbONG}sJm3pfHv zXmA7?8V4jG{2Aaa*<&1c2B5h#JO9 zJ^ZyqmGkONo3gqikVu(hp$ZP711AIJz*StB+O(=F#2q{u5nNPufvEG|cMzC8;t$|0 zz(It1xCw}tfKr3tipWhs39t>y(*&lYdNk@ZFwP(zft{gfB~hnGD}#lIr!~2=fCspR zVNqvS;i&Wh;3j&3z-Gu)@H(W^d)d9$poLGsCWxcQQ|^sCtj9|@S0%iKU7brncE{k# zL3=A6IUEH44xC_IYrA+v)`BPXL|7g1CV({%gyU?1W00Q$zo5*WV6I-m^jQGAe<7g3 zJGRLXeg(KKRx$W8peKT7Bg|E$E+EXM|9(P2^!k?oZ=$Tgv~31Z3C!feLENESbH+V8|9C0UsQ^0E!(i0~g0-4vTl|X+~hLso#!~i1TD9p^kiz;Hps1a72 z14=xYt#-r^zY&}ZbjRSO2hIc2v=-{w^5R?ZO#V^;@(}6DhY~cx9Ng@$0RIU*g-qrn z%Yod^ho_@Yk41z9kBCB!-U!S=BuD4&yj>Vb0WVjWy9a((Sb#qQBh<6SuOuaAAg}{a z$CDG*@I253azAh=a28KXf=~dRE))gm0#%T?O1~dK=jFzwA>apqG_*ly77vkBmmNUw z;X2r_(fcDuCGGi zIKst=X;A(G;c)T-;Ll;Y)?WY@vsnXv2oynX0JEA;u#6J!`fxOhw*rp`?*UjcpR&?t zMv3q+5u5@v0udMiyb!k&PR+$1X`E@efBFTSh8}eZ%rl!o_5jBMJAt9-afiW*>OS(~ z-}*Gi5rFMcMrK{GC%{aMuLc}Z@QCj>XH?)H0N1)Z4qge)0%#TPBYz591Mr!L3c7t6 zWO@rNv0`bOxMEpLVLSe&bgwFssP|yQ_)!;^ke&AIA7jm24+WDB8oh=h! zb?MsSB94n~xaV#YKYURH_eOjWuoSgLKEZ?mdTkQi@znsJ`KjeM(1Sa|Y|1ETm^v_D znl1j3FbOil9Db~jXE*p5Al;fR_VO}Cnbth9eP*HhtRhs5VY*FxPcW;sbN`n8h#QM4 zECADfUjW_K2V&=<-gMCXL*NpWfsQ0jAKm&)d;^t@G&r8%xv5?-bjI%7`9v-q8N;EE z)vb6tOYf6Zx0M$UV;rVVp;}zfcpmx!D_sGM+bMzn^yF)R2T~@Xf{`d(X@YF$PAt?3 zYq<>IUh%wI($o0%m7AaNQC|kavZBr<&U7GCH&O_@gXO^r;G1CnQ1XUMk9bLj26llz z0o<^|3Oo&<4?2kO6Oy+!R{VDrZGMDU?%~Flq3mdUq1FH%gPeT;4gpGt(*_R*xC!PW z@Bx4~cQ?VZD2ETaZ$q9e>U>*3MNDgLljz>sxhW|(3K)sF@qjCE0j*>WB{7ao1ha;- z;iB{c`Y@MV>wwDc47K->h(+OkIB^6L;=p^rytOU|v!iqHb4S2K?n|fQVVZML-r|TQI7Qp`>#}^`(qjj{s8zmcV>q4R8wJ>dAA!J^+1)e)SD; zRO=DQT#J?~@R>nog{(#2Ur@28PXVq~&%&+%O32Jzlb%8DipsDsWz-(NEl#fmcc%x_ z9WsH30Dqesppfo-5U>OhQNU?{KkJ5oX?f})7*;|56{M=zM~m+dk0J6Z@EZUPvlhF6I{^3nWamE)DD&yj8VHd< z5K1+NH#Ne8*5W#~0v(FiD6TO29P%b~tTNyw;tX*y%mi*j{ta=Q96{9_MH~x$4!lHX z3s;$`_sUCKpkN^%e z^haw{a0ZzE22}{GM&xupWbThvY(gY!whgUH26K1!M=e?l*L4CV}l4d4Xe0Wb#+j*U(Q`kIT(@l&&N z`R7&0B;NK28MdH6c9mZc$6wQ*A!kCnm84=NM4i8O=qU#v)4hHMUj&ckFLy0u z)(18sLLM%#9K00F?m87FX5qd#aTu6m!vVk*6>bOSVQ8Y(8-RC^xr>r5WKGE1!4b$~ z4<$^2><-Z7HUaD?{PFM+tOa%k%YYfL53O?Oi$i!Q${P-O0>C_b0XAeP6q*kH9c6Rw z2OoT~ZX9-6fjnLb=&OABtqZmWRzs%S971E*L%E-o4H`ZZ@*{u~sHTJai#l%=PlLDe z34;U@SR;1vzKG-ji2$E%P+OXaGXPWlg(#Gd=$s()3b+i+rx47?U$bdoR%|*8Zbk;~ z_Y#YO?xQ9T;m{M|=(I1Fv!4UL0CYwC7%-icy`5^jf^_aTP8ISVoE?mtDl3A21~@#k zqiCSK0brVGH{ijaz$}3FTnkX2ZGaDSy$F?|nqH%(!$qAvi#2A;LJ&{e^T`hFq%FeF zSMYE?$r%aZ3eXI2V}c&QFOa!@uRhoX$OMXkxiB7AVyEW@0jl$&s9pEZFhC2pv z7qU{MT?T$eMel$kL^v7D!3W>!2!96pAkH0}0&GO<`youPq^Ea5KHjub;}Ng zg$K$h0nY<(2eUCJFq#k7Qg!V7sn>`YuAmIV3VLyJr4SJ^bd7ijOy$H1DuZLsBJe(d z)_BAD6I`?RI0DqVE3Uc$V0MEgxD;m~?I;?{rw>_(gnP{y5bfU^0DP7q^v}>c7ds~2f!16_L%&=q%72cPBIc_aRyT* z?3mpVo(1N~WB(g5xj|pT*R`A-ObrE#GMuAyn5pVD~ zAwUCQJ!^r<$nX}t`a5%69EPv~Kz|jX-hYAh_*lRL0;|BcuxuE6w&!>4@eL`@!WVXy z{Efn1#oZUZzJ*a|q&);|S)n{S{yu_YH6h@qI)v9pr5Q zUCsb$dI{pdl55x*GqWR-pczCh;X&sao#wuyDgoey~7 z83QZzh8N}_pD*srlz{z^=_`D@IS@Pp_yDkuQpkT8OoOSyli8hV7rvHnY{m4O)<$tl zcOhRL;yG04L#D@YlFCT13BWK%&Wz35i8Z&F4oy{ z$n5xho#P80iY8cq!+>2PKI(0ks6>;f9zEQ_y5XjiR~BzHNflvT$WA~ka2BB32+(vo zF=zkK`)QYIfX!sSWPmCi%8f3EL7*=#hA!z_UBKLgPz%-Gqp0UAzEp4sdJYVQBOV9S zfSiFM0LK9=?J^9>KGz1E##s0lco@b&`Vn`0p8_XfKcw*vK>iH&MR}LOd>#bn#mUtq z6u^oA=bK&!KLQMp-w&LC{A>x0wio9wMm&vZi1=UOAYUPKi-{2MWyJ9vQ6I>^0L?%h zj(G*%4^~7PwK^A0$Cs`1As+y8f!QdFnp=iCtm3bnP2Ur^Pbhb>%L3>L?*N{VjpYnP zH!$;_MjW5Ya@69i0cEf$K=a%L95^%wLO2YxqXzSVi8zSbV!>RV{VG^a)cLDM70j_F z3GP@5W*$4#E*?w`*dRZ(%eS~1V7j0rPCOjUmf0dNhmR1ExElzvW-Q9XuLKG4lSHba z1(=S+Ibd-=z`>D_Y4%YloPG2n@=xIAAa4-hSr?1&^c>!~3UVPF|25bZoCPihSWE8U zO4~NzF*Vx5!QK)4X9m?P?p8wK`8cqPD2Ky&bkNU@0bb)An}(-24H97Y@` zkXl2wKsDxq8vwc>;}3#w0pEbN2y@1S3S_!MJ#S6o_#A?j3>NY31w9x!xL56B#6 ze3a31MLVRih}jAL0A9%PgZ+u_!bXVr?BEQ9dmLWbdmch9y%?}TAQWIX`~nBi(4GWj(tg&J6q~UH1b77bLKg^Qjk|Bm<}ccHxe(1+2=O zgHaIP1EUe?1*R|F24pbXO%Y6O494>&6YzL|9&!qJ2o#Fa#0|_BW#dN+;oFSNN z4r#=X#i+l=P8DhspASLtjY}$c8GK@-sMGU=U`3z{Fr-Ik16T+8Y8#Ls>cmzsuYs{( zzD=d7zrmWEM6(+*pI-IERgB8|8CU>>0qb#5JqPXp1Q_v*!QlYiguiY7#PR)cab_6~ zxXRIWIMq!L+kYPzhUYtM`!u{SqKA9}xN$q%!}RN|ZQ@&_G(6h5fN(9)1NE^1 zGtUN;7XxM*-9iIl_N6hrmD&&C4!~Z=c};Xpx}pqZc8+x@Xd`$rPRQOp0F`hD2O`{U zX|VWKNujk}{I2gf;(H-J78rr=f4(Bz8xN$`gMUGootKV#3-}1+pph4rrs35jE>1%c zL9Ouw+ribq2oyw5m%E&41GLtF6!6Fwo* zgUs9s0DI7U+(Y~VJ^={$vrraYjJ;(o5DiD?JW@6(2l#`7_gpwHZ~d<$f@9(;l+39! z`$f8fE(3ESF(~MYFYBz3K3w<^xB`&Jsg8nq;26lOz_g?^I=3>I)p!Eg8oj?5GF!*D zcHHJk2l7HdU(|Us^&GM-;-`YCXS(TSU^ND$Y%sfpIoz1%rN_)fg)f5pgX!9=+X&p) zQO{q1SvY6B$W}1LTrW~w5pD-G8VM$7z$`HPf(PQ*eNTXC2tJ>m4Yoz=eZd@+Xr$?g z&qW+vDiF$GBgf;!Sz!8g9k3YbQ2=f54d{vrP|aHa=4%3i5qAo#!|#0fke}PqO-Do} z@B&bUwg!Ra5Z?-pM1ilt{LwWR{1?8v7JlDXrR{(ASIM5Ol0W<3zPk?k*X}ASf7o5+ zzhm*ib^Y*n&Z^(Pyp~@pfloiMmA0dVw7-N*tb`mqy+)!Z=1M3?DhVZ(9VJ!$CDmdj z)$=4ZYb3SWB()W!1`4GHJ4)&JOXE}reuaO$rCM8tpVkqol?AXQBzl(Wn7mK_u zRyAF0+Pc^(2*wEo6C4GT`~`Ng0*5@o)EdF`Hi4r;S0`at7ssw{{$1T;yL#kx^{VOW z-PYAdL3*B0dcLFdLVs!BSZTjJ=_NJN%i5&<6}kloy9GLS3-a$49NR4Fg)$o*Wup9LqGM%Z@?^Hv$ZT(uiB*t|6UxRr$|m^BCdSGp<;kYh$fmZ*rYXp! z3*|B#qR3pA*Vo zaFoB~FJBoeU!5m^wMPDWn|zHzk2+zGddD6O{yiFFdo<dcJDw*{0Czjj-1{$6g=&d$q^*`kdFRqo&ulwq6p73Q`6Nf|&}^ zD->jQD##sIkgrwf`C36iQBlc2QF*4K>Iy}*or>zm6*X%WwO%V~D=G~%P#Qc_NoR$U z?oK8B<4VJ8l}5f+5-RpKH0W(Sv$yGr-sU@dTO99gRomO93U?6;+%JR9t4NxUEoe->KqpT*a$a#rw62kD}^41J(I6RTr*M_1&rJ zcU*Nzt?IJZs{V?70u1^D&g>JkqEGP7J|V~Zgw^(mc-<#bQEk0}+Qyk`Q7hDtnipnjURt49xl^{XeYezqWm6|If$!chvU(_PW1>lD3qgw!leSIzU?{PFpTtTfR=a z=NoMWr2$HY1C*Txs0IvBiyNSxKR~l?fYzG<+DZcl8V(%nG*BmCpl;ki{rrK$>jsW| zGf=2B$k1?*vC|;afI;SQgDmm~S=9})c{9jXY4AA1!4sSYPYM`p7dO};fAG}0!PDOi zc2pYTWH`jdX^30E5cjwt9{EGO>V|l~8RDa)GtW?GzLU-st!% z4Gl0H8t61MC}3!C+|ZExp<#7HBi;;+RMK5}M*WV1UQ5sQaIHKNZ zL_@%c#<&qp`6HU^M%;fh;(^l0M}{LGJB@rAF!EX4$d>$(FY89WdNZ<3Y1A9TQSY2a zeFzxU9yjW9{-}<+QQzK-lISgzG7<`$h0-g9GP{IwCxr4hg+1R26?z*e85t-$8>p@{ zP}^moe!@WWrh(R51MS|11C0y^I~(e(G}PT?sDHw6_)Wu+Zw-aLjSP*9jGc{4R~nh` zGO{>fWOdWX=B<%!Z{u-B#uJ>4C#^KL+hy!-kSRNHVZH^3v@OMT4@%%%Pi!C zS=ddph__~uz0KDfnQwG9k6LLSy~{l2g!#6c=G)(z$Mzl_XEZwAd33_c(TTf8C!H9b za&vU*+tF#gEz*rFGMp_kS6XE6vdBGQapb1Ov9}g^y)E;NEDM}13s+he?XoOBVOe_9 zviz-OMQ^KfMphS`tuC#!s@!E&eZuPMO{?o~t!jE(*BM#YJ6kubv~JvG-E_jb`KI;# zx7H7O+dML|dF*WSbfwL+T{bNzY+l~9dG*$2ZCmd#Z;Zyga~|_y<(T$eV?Li4({Xdm zx3^;?lx?MqZ3Qm2(t)-z@wRdWw(|A1J>S_XD34V#9;@s!RyA;}TKrh`g0Y(QW3}Fm z)m9!i(0JTnmvK6Q<8+&3Bo!FmRG@{3O4ENlWS{Eqgb~UwLwX@#H|4$w7gWgX1TM6ig1QpB(XSa-_1| zdSkndE_P9YcG2;6F$H$p>g~3_vx`->k2AK9cd<_hv`>t;Pb#oaskcvkXP>6*kZ$ad z;o^`P=#U-nkXztzq~77!JBK{wDfz}z3S6cX22Lr8pHf^frL=xZ`MW6<%2Ur7PrcwW z^-|!}%J`|(1yirqPrd$bYK`)=I^${eF4GzUr!~e;Ybu!5TtDspyJ-)Ur#~{D{@7*u z)4=J^;-|M1On+HF{nfkaZOSv=7|(d;GUG$wjQ02$p9^Mm)X(_#Zia-4qm+rGz|~QD zm7~mVN4b-Z^0yp&zIRkmnWZ+M)yJxDOoT+(hrq=tJ+A2;1O`Hb1I_a!( z(%tQ(f6{6AEvJ$1orEgRh9=I&uFj^boXvMTTby*Zy5(&1-q}{gWt@r21Xq_yt6c1M zyEvS5nR?4*`g<2g6;~${R~J`Tw^gq0yInm_x_aGm^?vW_qvAHt#BIK-+rm|DzPsK0 zPP#3*<+kj-o4?Ae0FzmPuCszx%?jQ&zWOlsk?1WXb6L-%}IypP#*6h^xv(r>O(oH-vTs<;Zd1UYQ$UW(C z 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 diff --git a/tests/data/small_sky_to_o1source/_metadata b/tests/data/small_sky_to_o1source/_metadata deleted file mode 100644 index c6a100a2cfc1c06d5f985cdb45a87ed5aebf3b3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7355 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 XqQ9OrOg8FtntyaZhwu^jZ_EDzhy-5e diff --git a/tests/data/small_sky_to_o1source/catalog_info.json b/tests/data/small_sky_to_o1source/catalog_info.json deleted file mode 100644 index 1e424e48..00000000 --- a/tests/data/small_sky_to_o1source/catalog_info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "catalog_name": "small_sky_to_o1source", - "catalog_type": "association", - "total_rows": 17161, - "primary_catalog": "small_sky", - "primary_column": "id", - "primary_column_association": "object_id", - "join_catalog": "small_sky_order1_source", - "join_column": "source_id", - "join_column_association": "source_id", - "contains_leaf_files": true -} diff --git a/tests/data/small_sky_to_o1source/dataset/Norder=0/Dir=0/Npix=11.parquet b/tests/data/small_sky_to_o1source/dataset/Norder=0/Dir=0/Npix=11.parquet new file mode 100644 index 0000000000000000000000000000000000000000..99f122a45a8945f66760f004668042a01db43e10 GIT binary patch literal 111678 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%0A{c~K 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 OLdp*@;eI#l^(0~|3ZFflL$I0hL40C+V8Jpcdz delta 36 kcmZ3(vW8`Y0F#V~o`IgBq>l^(0~|3ZFflL$I0hL40C)KXI{*Lx diff --git a/tests/data/small_sky_to_o1source_soft/dataset/_metadata b/tests/data/small_sky_to_o1source_soft/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..1fa8bb11a3a5e48c3b9d79fe361ecf02f353337b GIT binary patch literal 3503 zcmchaJxmi(9Kc^otp!RX=w0qYB_+ZWk(L&E<-<6eb{3{1qyI1t0YKn#;{Acld#7~lWe>pM$3G&c9rzWcw={@(xnhTbR% z`#GC9AtAxOpiHT=5zc`)TeDTLk0er2HI-@DMv~LdGGX3HpQ4m=aS0el^x3MLj-mGLo8KRG;#nEiMWmA$zT;|0ZYU zt$fhFmr5k{DEAi_}3S`OUNRJ>#dd$WP?xYZzZvUjy7%C*E+HDAQ3bqsfK=lW)^;J>ID|@#e#Uho>Ai?Kgo<_EK&7*uenL+O+A%Cq5HxN=u9;-=?hq zKJ7H|>eAherHD;iUHCL;BGT>+hE&j|PrdkMZ#ir_@qtYaB)SAA35V~E_h$an3u_ha zP@WT+5Hd!;Q0@@2OyoEjAS6ygajj3L6YfG3B4h}jw5>mB3zmig&>w}WZyD--s3N0u ze`t;kY5U)T&fHJYRnR+_T#AfKvHNp!Qib7x7j#iKM6$N%w%+a!X`9Myf0#tb0{zPK zlN~dQ4}H>-G8>*z;-N7(nl}6Z>OQ?KlPRtD5!7(-Y|*yPF_1p;?|KSNY3TU}2~p@M zEp)NA2;%Jdw4@l$NApN0=}cPwXddH)9w9Ro)@pp@CKBA)w;zv^OnM@zRASk^q^1_8 a6LW5Vm)Ga@iNh|0av$`r2BA^Y$cH!H(ANDe&Wcnl4vEBVs=++d+pto zq94n02!tL=D5kVMgd9Q%IrLD14<(cm3Jsy;R7%Mqlwx`)CG=EE@yV3XH?zOCB*!>% z7kf4P-pqXOee=EktYNan^Wvh#h6eAQ%ZbWV-5KoIRXfcd zb;yRf$lqGJPIoOk4-cqQjkpJ3Alwn;h{w~PXA4)#LW%st)(u(ui1v;yOJa^zGC_X$ zD!FQ-K53)u-A?;^ZIB3DPW$(*YKtU}*0B;@eGZ$0aI_L|>wpg!^1>i)?6m}8uxSb6 z>pj%H_T7%+$!pz?R*ed64RHvI(s137#?>owM?R7I(R1+BD(-!hp z3$^?@wYnc+*j0uR+j?t9Sa%PaSh(0MU=I#ZA0NPAdo>KFU2p9O>_MkVpS6lj4u3yH zJvf9pYyn884c&JH^^7$0GE`y7?YV>c$WMDFt81o-hR^(fU*BT0K??nSIE^i>RC7S@C{JNX+x(EEjq2W)(PsxI(_t( zB?_xf^(dBI)U(689mO(b7MiKkVG`@~elNA$i)#$6gLCIPT{&vzs_Ar?RCW6J2zB#F zGs|oBZ4*n^sSdVwjQZgi2GiB~k~&@MGwIu;Q;oyhebm}Jn8TOU>74;HFRM=V+`jFn zZuB>k$X`4r;0B%Qh=04Ohi;5`+|a4ssv`+xYHvu;YRY&~l9JL<9i2a68^;R88s0Zr07oDg!@H^Y{ ztdeDm&d=;uU80f|7N_`}RF;*ZYq;nA5Bhps>f;pl37f3=@v2Kmv%+_Wf2 z*{QlN6>_Rn&EsLBQaUk&hA3q@U#&IELW#|?B^Dr*vLs#W>oFk>&DKJ0a5WK9eNm{z zGwqwe%8=lx+WZXjR{6mf-&!QiSO=yaj|fM#Zv}+jcWRMzYg3^tZ*H}So1ArkcS@!H zR@eY@H%K*JI2&L#jb1F&g20w?1yIRVmn3opwopZ)%vae$Ay+{WEC_|7m{X9|Gt}?y z_qaeyE{$S~(+j>q*EPbqk4_{em|^v`-uYw40J@gwFiq2w@QbcU2;aRXhO4Ah@#=$3^1U~gnX=nv1X~s97PMwEl2*w6ZMrEm- z2`7hA-uMC+NtQU}yf`5SxYWhUOjOovl0VPM2}uYim!fmI8OGx-MuV|A&b#R07@ukz zEQ*{wR?1wAo&euMTFy)9!NfGnOp4<{TFl6j#Dx>nTlL|?V-U;OQfe^a43P^|p#9MYW?N;XitW?0)Fm5L4 zPBV$wY&e9tEoYg<;xzCpRAc2d<5B0E_bu?iF)!j=WR^)5Gh_Zner+A&RxUhezi@kQeE-8V$pyu6>mn~`t^Je(BvsQ9`0l1#NB>StNoob^xVr9^cYcZKsx<&-;-*Xr&6<;`5L+B(;{HT&#NY)N$wKCE$a0l^f*o+GOQqmG?>uoQU?g=wduLR2iQOiAc*)bC2+5 zQn4kL@t5%&bJ6no;LuW3aigsm@5j?<+a8^SZF=++GGY&$0I(ky(R~8l@TMMg4=fA} zz(atZ#YP_8VW57+P(!aXq!IKSfiVMk($V=BjK}d<>IDs_FB#+M%jl>AQzQIw)L+Nf z>YScN<16U=34}I{M~9F#etdpm{UQe)yn_1U<18`?EksW!h&u(a6*qBL8qP47ANDBP zZNwW)Z^FZepoOn68msG8ohMBP@ezqb!+b1VfLYLSIvG_%!5wiEw}Pk{i7#YRvAImr zpU)uc_>vYctwsu`I1-yU`hi{16``JA>xI v@gW<18Q(_;XOH%`_2Ya#e;j{F>CwJ~^r&A?x|X{MqV5k-a1z7?_|LMKS9wKqJp(-hrCJ>YrGmt~l*HorvecsD%=|nhD+MJZJs_Mcrclq3?&Rp` z2*jJ$D!8$-RhpFhWI0a$sj4KNX;SH#X8@FRbO#a1?rx<~?rv3^mDGxuSixpbo~fY> E0F?qEvH$=8 delta 109 zcmdlJxF>MKS9wJfJp(;MrCJ>YrGmt~l*HorvecsD%=|nhD+MJZpq%k!F@<^wPe&kd z1rd&sK#8R5Hmu7VpYo3lx|PnPTCm#Rwa&L&l!c?OP~mDGxuSixpbo~fY> E0C>Y8EC2ui diff --git a/tests/data/small_sky_to_xmatch/_common_metadata b/tests/data/small_sky_to_xmatch/dataset/_common_metadata similarity index 51% rename from tests/data/small_sky_to_xmatch/_common_metadata rename to tests/data/small_sky_to_xmatch/dataset/_common_metadata index 0e44bde4eef0dd1d5720b8c57b3e2ae183c101ef..5e9196cde9f52386766905e5d8e360812e651a9a 100644 GIT binary patch delta 109 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 delta 36 kcmZ3(vW8`Y0F#V~o`IgBq>l^(0~|3ZFflL$I0hL40C)KXI{*Lx diff --git a/tests/data/small_sky_to_xmatch_soft/dataset/_metadata b/tests/data/small_sky_to_xmatch_soft/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..dd16a561691a175fac0da6bbc405f208090e4c96 GIT binary patch literal 2323 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 diff --git a/tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=45.parquet b/tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=45.parquet deleted file mode 100644 index 482c1e86a5b97b1034251c072b47bf4e1eccecce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8242 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 diff --git a/tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_xmatch/Norder=1/Dir=0/Npix=46.parquet deleted file mode 100644 index 64ea342815714d2e328e956bc29402afa57784f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8758 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 diff --git a/tests/data/small_sky_xmatch/_common_metadata b/tests/data/small_sky_xmatch/_common_metadata deleted file mode 100644 index 0e042fab656f0a2b84aa7aacca074ee85e4529ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4438 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 diff --git a/tests/data/small_sky_xmatch/catalog_info.json b/tests/data/small_sky_xmatch/catalog_info.json deleted file mode 100644 index be8e6358..00000000 --- a/tests/data/small_sky_xmatch/catalog_info.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "catalog_name": "small_sky_xmatch", - "catalog_type": "object", - "total_rows": 111, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec" -} diff --git a/tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=44.parquet new file mode 100644 index 0000000000000000000000000000000000000000..48780a6736e7dc5827d41266b3401b6bcbbedb36 GIT binary patch literal 8770 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 YzE(GB6a0VS9exXU2Yyt+M6`ZqfIDa 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_xmatch/dataset/Norder=1/Dir=0/Npix=46.parquet new file mode 100644 index 0000000000000000000000000000000000000000..69345ab6745b186b0404562c6c377402bbcb759a GIT binary patch literal 8770 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 QjX$hz_}hj`_}3%<0bvT%*#H0l literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch/dataset/_common_metadata b/tests/data/small_sky_xmatch/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..32a66606280e31ea9ed243adf94b0c826bdfa3b5 GIT binary patch literal 4395 zcmcgw>u%au5VqQ?>UJxw_L3@*Ds5z`zj_If(1uEt_SnG&8c3n7Z>tsZ4Q#NDYs@WG z-eVu4kFf8wudp-6;D8O;t`x14fY02%nK^T2j`E&#ihK7C{wg#3_s6DV`}*E5%-+4H zclPhN7PI#dUm`tuxog>G^7bIoyLJ?fqGb6UFxJ;Un7U_9JUzCpuH}wnX73Kzx!)Q^ zmK{BPeE#+42R|`P0(1Awjh;RM(r+p0UMqCx8QS+<$JRZdcS{xKF>~Ll+&N?vmTL%Vtoo-D&+BRvn2&@v!BZ=`R9S!3J;1T~RI zS`u#=YE_MSymihkgQhi~N8MoEGHm8(<-xZI+_DSFInE+vX}4aswj zNRJlSkHUoxEqsPCPwi;zjsm0>U%xE8EU?fs*d_EDv-A>v*ehoL5$SX;p%#vM@G9??kz*m+M|(T<04DqckrX za=E9=<)NlHp1G*MstYmLDLaPz33VryJRhI)#MOMyGsI5M@P%0W0CHlvXoxekGgCod zRa!l(=FKRNZxjvR1N$AX?#}vPuV^S-Svl^MO%d%9*C;hUYjUfQ@Qa=$3Sgt-)CZ%! zy=Zub-R09K-K8X0cMR6>i0wSZC_epS-`2qe5%Yb}<)*EEQC_<5*%f%~9{e4E?^w3K~ul zn-*&Fe5jOGIVG;?SE(IS6kxxE%k{iy{(Pz`?NTd=0rFp*+0we7+Sn)w|IHV_>`W1&hF&kPz< z)1`j@Z@$6#87L)bVfvNDuKml&Y^|rvJ_S;2*1YvIlF9An888BAY}BCEYa6vaQ04gm z&Lq^H1U1zO&Eupdx8!iA?EhAG!}8RG+FR~n{yc8-x9xEe&)vnYvk*w35wuUX^^hI; ztLnVQ%B(hB4fj!I$HL&*(Gf1IJRRboiVOTm zo-urJJzbO>qXzpdoGvcfT>EHxbVT`|@RM&Y*Bo&uRmD$gpDq)7v`*-n|BP1;>eP7_ zpHkQGn`jB^ofH7`sDK8}`WZZWQ(42K`S}Qa5&GYPLK2nmG%o5I+)D@%-h(|1x80Vj3mphSo=tLwR8USgtzD;1;KlO#>Iko>FM5~|us1_}5Lp>Ti}<{K%j_S9 odh~f>$1lt{gGkb!@o)X0W_drPXGV_ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch/dataset/_metadata b/tests/data/small_sky_xmatch/dataset/_metadata new file mode 100644 index 0000000000000000000000000000000000000000..669c1475e49015fea8a3062a599cf17adf2585d5 GIT binary patch literal 8140 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch/partition_info.csv b/tests/data/small_sky_xmatch/partition_info.csv index 71e5a5b9..4732c589 100644 --- a/tests/data/small_sky_xmatch/partition_info.csv +++ b/tests/data/small_sky_xmatch/partition_info.csv @@ -1,4 +1,4 @@ -Norder,Npix,Dir -1,44,0 -1,45,0 -1,46,0 +Norder,Npix +1,44 +1,45 +1,46 diff --git a/tests/data/small_sky_xmatch/point_map.fits b/tests/data/small_sky_xmatch/point_map.fits new file mode 100644 index 0000000000000000000000000000000000000000..9413f2f1c8cca692c69e4d396dd2b003d9a7a085 GIT binary patch literal 20160 zcmeI0+isgc5QckvkCl4iREiWkiF%T9;R8-cF}4hmoXfS@*r*s>z*YSAox$CDO(1d_ zsZ!N{CB!g0^RxT0pdCDWFmfy*E<{E1#fg|D@m-QGGm$5vZ~LCeav29Q4JzWv)v^7N zJ*m^>$WGhN0*i3Ym#2PUQSgik~^&&E>)a`Nu2FO49lAM zmfNe*^Nqj*%|h(JScHK92!H?xfB*=900{j11b92?*+ch2G&;8Hw>ys2FlKckreQ48 zjmYIRQbOJ5+s&yFvTy#?{qyP5_s_+Cyj8V-K5u^hKzfmi=lO#7=uv!K8+C^_F74wFs2ApGvR;XmOyyGLDy^;;E+5lt?eQ!0s#SKQ_4~Hv^t|fv z?dxrq%w4FWpkCGYZ%0<~JQ})sG1uSj#s^w{e>fg&^;*r-^J_|bmL3&@JVKgp%P-z&?MK)Wgr8*WW z%okK9aw>HSoh!OSQuJ;;((77IapQeGYZis8Je(biOBu--S)AWhk;?K=M&d|)U&}m6 z$$n4iRA0L7K`~$buJ7x`wA%RX$QNODz{i0;EKl4xB}`@NJ|Uvn+7 z?Av3HEA-m;qaUVOE{dli-if28n958AJhjT^v&5%Fp?@4dR4V7Y zWuik#dDI^Jc6+-rNFDY51H^EE00@A<9}#$g1_B@e0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JQJKM;6HlYCX0C||Rm z8=qen*4EbkU#_CR>@)SsT4vr`y5L;%(EWVoT&<<=Vfu8RnWME#UzKgfX>E=(?W#QX zF%Nxj9dC}y)HXGAtUjB4nlbyz+Gbo?+tkvwjw$Qte%33;u#e-}ug}`Y*E~L*&)0ms lp`)(p*t&l9oA)u}O}m`WIcOjN0w4eaAOHd&00Pe>@DuCgc60y$ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch/properties b/tests/data/small_sky_xmatch/properties new file mode 100644 index 00000000..252e3ae6 --- /dev/null +++ b/tests/data/small_sky_xmatch/properties @@ -0,0 +1,14 @@ +#HATS catalog +obs_collection=small_sky_xmatch +dataproduct_type=object +hats_nrows=111 +hats_col_ra=ra +hats_col_dec=dec +hats_max_rows=100 +hats_order=1 +moc_sky_fraction=0.06250 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:48UTC +hats_estsize=37 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_xmatch/provenance_info.json b/tests/data/small_sky_xmatch/provenance_info.json deleted file mode 100644 index 098f6251..00000000 --- a/tests/data/small_sky_xmatch/provenance_info.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "catalog_name": "small_sky_xmatch", - "catalog_type": "object", - "total_rows": 111, - "epoch": "J2000", - "ra_column": "ra", - "dec_column": "dec", - "version": "0.2.7.dev15+g85ec4a0", - "generation_date": "2024.03.06", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev7+gea60042", - "runtime_args": { - "catalog_name": "small_sky_xmatch", - "output_path": ".", - "output_artifact_name": "small_sky_xmatch", - "tmp_dir": "/tmp/user/11115/tmpkxlmq_3u", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_xmatch", - "tmp_path": "/tmp/user/11115/tmpkxlmq_3u/small_sky_xmatch/intermediate", - "epoch": "J2000", - "catalog_type": "object", - "input_path": null, - "input_paths": [ - "raw/xmatch/small_sky_xmatch.csv" - ], - "input_file_list": [ - "raw/xmatch/small_sky_xmatch.csv" - ], - "ra_column": "ra", - "dec_column": "dec", - "use_hipscat_index": false, - "sort_columns": null, - "constant_healpix_order": -1, - "highest_healpix_order": 7, - "pixel_threshold": 100, - "mapping_healpix_order": 7, - "debug_stats_only": false, - "file_reader_info": { - "input_reader_type": "CsvReader", - "chunksize": 500000, - "header": "infer", - "schema_file": null, - "separator": ",", - "column_names": null, - "type_map": {} - } - } - } -} diff --git a/tests/data/small_sky_xmatch_margin/Norder=0/Dir=0/Npix=4.parquet b/tests/data/small_sky_xmatch_margin/Norder=0/Dir=0/Npix=4.parquet deleted file mode 100644 index b8027a03ced3cf5a2890db315e5589fba48c397f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8973 zcmds7U1%HG6&}m3t7M(VWFxJVRTo!~VWG}OlC5mCurxEWB}=hoTbt;w6f=L4Mjnk6 z{a8{$Xz1h8hkYugkD*T`l+u@N!#;%4huzZdLthFd&wc4Wlom=UW$8J0G@4)8&LX?e zAsO8{=iYO^^K;KVH)M~=M|}&vW#83ppT|dCp(tKFW8+=U)Z-vTxD17z%iG zjxq96Z@W-o`Gpk^yghSs9*X{SF63JX#;L{SV8A1bK9Aqy|J9uT#T#s3%kV={cI=VOvhNK0+n>*r3|bfAVz${k$j%Ciu@5>HmBU;5%hZk$f_I zP);5ve4P{Ujz>>WiIWNxbK*R|Xu$V&xC5!vX?09C{Okh#Z%iPkpef@22R8iXl3~LI z2!X?hUoO! z-JU5PpIoMYco|G_%A2CaH6C8yl3t7!mN2w-Gj36DFCaZY-Y_ud%+uFHKF@f=F6LSt zQPMJI=zlUt|LzL?^h(IK-W7zUBBC;UT!1)p4=0)d{nlqxzxfSWL-Wy`|HpIm%d7OW zs|d$U%E_>F^W9+Synt69*QMNxMS*m&_{ zH(WXoH?20yhU@7y1J^eW>TUr6(uvm=Rx|z;MjAT7?VI(gqEzD1EntL7LXnw zZyT!5Lq=9zYI2>LtRC2t>z{AZpT9|x%Ou7X%j}Zt%eM?~T^!@G=Gc$kqW|*EubyK! zz!CVkc+0Ev0+SI;G^hUaZyD%b)4gU*wLh-VPge*$7in(J3w{x&0*hUtE;TvdHD~~? zd$6gXd>3)h;j{rBcG_riZfKuI3D&;t)eO1|kTWhE*ZteiUiU&%q^ZH(dp!iCI};Mw zIX0RtYfW4fZOtB=22%)4%g{u#`wW)f6AT4ko@IkYpJ@X`pKXIepF;ydpT_}DpWgvY z&*A{3XLsn)Gd!s1GdW!786FPw%nLd_`y%ZBXxZlUI8G59hE7dm z;*3@4w=}0dGiSz1C)X;cRtsy!YHb%Gr*fAGGlrn`pia#O-KMY)nRy%MTldU_d|Vnq z`{UF!Cc3C`+ZU)uqaUXTuOm)PI(4S1Y}LuJ>7D$Us@I!ha!+-d>|nbn|Eke6ZVOZO zo<(e(4z*TUC*Q^9S4%BYx}RqXpcDfH>Cl3;7ICp<(7)n==wX6 zccNh^*5R>o6Eg<9weVvqu*Br^yT$jkt4QFBYd7&3)b272vk!mqf$=)S)|eE-)R<(A z&{)>OA0Tma!cQ_=+Bdw36vEFi%z%M)@JociFIfcdGW=x+T-srn-EJDb-_10Y zekEO4FU4|4{8pjIt2^?p%<>r}(c((%!*VPYDaEuo870!qB(n`ZHjMJcc$EWLl~P?1 zMwwfgR1aju>wNJ(uJ4P*VRt*p$d#s|@acS&Z>D;c4`5z89_7;mlrzSXtBPC7fbf#p zDBn~-eqPDQgBr+-@+CH2TFb|UG|FXUK9+q@Ddr*?KdOl76xfrmXBw@VG|DP`Gj~); z175_G%oYlp<=$>Go2V8n*dOBj;#yap;7VrOm1G8SHMwG;TS+DQ3b+bZo! zad=pY={{v-p}9%q2?6EBBMtf z*prZZ1<0vcRzs%v zZ<8xc&AAEB%|BvMIkrAn`KOBIu8>y7*qt@vp31f*&F-mwnbZJhZV|st_@}8?Zs!E4 z-A-(!SiLQ5N~!%qvAK zc{tUdGt9FI#(Y{i1wPov)9aiymjBnWj*57`me;ZhS#|WM;J8VEQ|wY=U7T z&`%{vo3)4S7K-HVm3N_};+p9QJ3)LwGSfzBWjI1`LK7?yW&T2!s6$ z>Ey7nGg?1bg}ijME;Pk9uO!I+XLk8--@FMh;7Odc9#t9Zv0edQ9-2^XeRl6%i+<8H zPFhodil~hByZl-f`aYb+-o;iH3}={B1Mu92!Df;eMTls){;b1*t#WB)AjEQYF_maT zFQrI8tsa38bSIPCxd~&O$kg$hG_Ayu-Dfu9A~ zCpgJu^pyQTt~O}}9Rl(OxE{8QE)*qBp7*K1N}KCE=u5pDLc4u~T;f*7m$Vh_`WAc{ SqNvmSq3&O!s6F_PF#iRwRM1)g diff --git a/tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_xmatch_margin/Norder=1/Dir=0/Npix=44.parquet deleted file mode 100644 index 98ead377b30f41ca6f4893d18b54103032ce17fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9266 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 F`41iH3%LLQ diff --git a/tests/data/small_sky_xmatch_margin/_common_metadata b/tests/data/small_sky_xmatch_margin/_common_metadata deleted file mode 100644 index 921a7c8896434d51ff11ea362903720e9d4c8fbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 zcmds5+iu%N5EYUjNYkVRS~#$SJQxD<)Fjq5i2@YplCmf%wqz@gcqs~jH%XM26irb# z2mYgePoMe+%|~=*Nl~IGIZomBp+rpW&dlzao!bs`LR#6KdwZXYsonb{y>Hs;&ePP+ zz2|p!?^s4^=OGR}H5lAAOg$Jq@YIg!c|$Llegllv`S-d?^)Xd_)94u1$WQIufqm{b zhMr-1&z~Iq{^NrmQmFvuZrSplKLgS)5$RsTwPtIy?>c?U9qFpyu^hu(<>J75YDuI8^;V(Qs#7BA zll)tSUzAl=?~_MPus4AJQ*SP7{Z`z6!?#I;#;a_Szv0YZ7h0^!d#36SJ$4gNOY>B3 zju(MDSK)G=q6H?VH?oEfQnQ6unOE5~6zg;dzQW7_FQ2|j?LH!{R#SWz^a8t|pB~^d z?Y$?2oWdVIFfI_TM=FH$2;XBgj*Ic9NIZ=AJgEkAc(Yv?zedQEz&iM4o4_wy1aBGs zxT!1_&t>VDkmg8$`J0+e$BNJ{NV&#DtG0d3IkuV>r`2d_s7lsrN!y^4KJ{D|wvhBzA?@x)SWN;RR?)$EF|d;mG2nALM@pqMmc=YZ zIk3?=!*jU4X1Dr!wv;g?ZowNHWjWL*sV~?l(-@puXbVkjXJoO}H-y8;M%@on)O(5L z)ce8N6ju>v=TdHAQ)21%A=^h6D&Vuq<*Hp2dp41!(_AAs1K2-1HQTFtDkBYi`Bl2u zEh^8q*(Bm^@}sQ@rT%qxS<}~7z=v?Aj2y+ttaQXiHlhH`s8i?0*(_=f#N*u^0LSR z1gqUi-K1RK)vJvG)a&r>=xwcMal0hzYMg%~yZN$IcOWjhXON?ii(B(l6DxBC?mQ_I zi^Hw4PRx}p8# z-LmzARmc;vecd)(jh0yclcx65!2zfNPw7kR5o);}>lNs$K@%FRub;e$;j^YOYE3~^ z)M~lDspad?_n{Q`9$Q&BI3bk*=<^l^hdetJBjUjqPXPv8R~6_~&o%l+rQ|{{MNOb~ zC$I^clkmp}Fh)Vr$2n_SnIYLMY-L%EV+8&J@tM(%*6=w-UBQQ*mvHRtnFz1kTf<{c zLC1v;^vHxP>P0}4(b2Fk_S5KiIQj`F!Tfj3Koj<3{%iC#p#i;bC8LO~F7&9E2H~2h zKWxF1!vTz#{mM*f4i~N34?~ALhu(M51K}KO9l{W7B`ByY5T&5w{ diff --git a/tests/data/small_sky_xmatch_margin/_metadata b/tests/data/small_sky_xmatch_margin/_metadata deleted file mode 100644 index b075d3da031a9630d1b9237abc3792d6ae06e7c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13490 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 RdYS*I^{W)M3;#3Be*wHk;wS(B literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=44.parquet b/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=44.parquet new file mode 100644 index 0000000000000000000000000000000000000000..c432c40f20ae8eb295529f9d5423e596d573e47c GIT binary patch literal 9270 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 J9Q?)5{{Y7=Q7-@h literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=45.parquet b/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=45.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e57697ec2a2f14f86f2226fbd8d1ff13cb7bdc01 GIT binary patch literal 9211 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 Dh7&h_ literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=46.parquet b/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=46.parquet new file mode 100644 index 0000000000000000000000000000000000000000..e9a02ba66eb2d48e19d39ca6d6e1ec29329afabe GIT binary patch literal 9175 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 Q*vvm-sD~it;7@w~3zJhSIRF3v literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=47.parquet b/tests/data/small_sky_xmatch_margin/dataset/Norder=1/Dir=0/Npix=47.parquet new file mode 100644 index 0000000000000000000000000000000000000000..91cf49cb892154f53f3b2f29262613960d767d38 GIT binary patch literal 9106 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/dataset/_common_metadata b/tests/data/small_sky_xmatch_margin/dataset/_common_metadata new file mode 100644 index 0000000000000000000000000000000000000000..9c3938564444d854194ea24b77a6a08c4032570c GIT binary patch literal 5552 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 literal 0 HcmV?d00001 diff --git a/tests/data/small_sky_xmatch_margin/partition_info.csv b/tests/data/small_sky_xmatch_margin/partition_info.csv index cb6b0535..04179b4d 100644 --- a/tests/data/small_sky_xmatch_margin/partition_info.csv +++ b/tests/data/small_sky_xmatch_margin/partition_info.csv @@ -1,6 +1,6 @@ -Norder,Npix,Dir -0,4,0 -1,44,0 -1,45,0 -1,46,0 -1,47,0 +Norder,Npix +0,4 +1,44 +1,45 +1,46 +1,47 diff --git a/tests/data/small_sky_xmatch_margin/properties b/tests/data/small_sky_xmatch_margin/properties new file mode 100644 index 00000000..2c555a54 --- /dev/null +++ b/tests/data/small_sky_xmatch_margin/properties @@ -0,0 +1,15 @@ +#HATS catalog +obs_collection=small_sky_xmatch_margin +dataproduct_type=margin +hats_nrows=26 +hats_col_ra=ra +hats_col_dec=dec +hats_primary_table_url=small_sky_xmatch +hats_margin_threshold=7200.0 +hats_order=1 +moc_sky_fraction=0.16667 +hats_builder=hats-import v0.3.6.dev26+g40366b4 +hats_creation_date=2024-10-15T14\:48UTC +hats_estsize=63 +hats_release_date=2024-09-18 +hats_version=v0.1 diff --git a/tests/data/small_sky_xmatch_margin/provenance_info.json b/tests/data/small_sky_xmatch_margin/provenance_info.json deleted file mode 100644 index 339093fc..00000000 --- a/tests/data/small_sky_xmatch_margin/provenance_info.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "catalog_name": "small_sky_xmatch_margin", - "catalog_type": "margin", - "total_rows": 26, - "primary_catalog": "small_sky_xmatch", - "margin_threshold": 7200, - "version": "0.2.7.dev15+g85ec4a0", - "generation_date": "2024.03.06", - "tool_args": { - "tool_name": "hipscat_import", - "version": "0.2.5.dev7+gea60042", - "runtime_args": { - "catalog_name": "small_sky_xmatch_margin", - "output_path": ".", - "output_artifact_name": "small_sky_xmatch_margin", - "tmp_dir": "/tmp/user/11115/tmpkxlmq_3u", - "overwrite": true, - "dask_tmp": "", - "dask_n_workers": 1, - "dask_threads_per_worker": 1, - "catalog_path": "./small_sky_xmatch_margin", - "tmp_path": "/tmp/user/11115/tmpkxlmq_3u/small_sky_xmatch_margin/intermediate", - "input_catalog_path": "small_sky_xmatch", - "margin_threshold": 7200, - "margin_order": 4 - } - } -} diff --git a/tests/lsdb/catalog/test_association_catalog.py b/tests/lsdb/catalog/test_association_catalog.py index b4b41e52..08260975 100644 --- a/tests/lsdb/catalog/test_association_catalog.py +++ b/tests/lsdb/catalog/test_association_catalog.py @@ -1,4 +1,4 @@ -import hipscat as hc +import hats as hc import nested_dask as nd import pandas as pd @@ -7,7 +7,7 @@ def test_load_association(small_sky_to_xmatch_dir): - small_sky_to_xmatch = lsdb.read_hipscat(small_sky_to_xmatch_dir) + small_sky_to_xmatch = lsdb.read_hats(small_sky_to_xmatch_dir) assert isinstance(small_sky_to_xmatch, AssociationCatalog) assert isinstance(small_sky_to_xmatch._ddf, nd.NestedFrame) assert small_sky_to_xmatch.get_healpix_pixels() == small_sky_to_xmatch.hc_structure.get_healpix_pixels() @@ -25,7 +25,7 @@ def test_load_association(small_sky_to_xmatch_dir): def test_load_soft_association(small_sky_to_xmatch_soft_dir): - small_sky_to_xmatch_soft = lsdb.read_hipscat(small_sky_to_xmatch_soft_dir) + small_sky_to_xmatch_soft = lsdb.read_hats(small_sky_to_xmatch_soft_dir) assert isinstance(small_sky_to_xmatch_soft, AssociationCatalog) assert isinstance(small_sky_to_xmatch_soft._ddf, nd.NestedFrame) assert len(small_sky_to_xmatch_soft.compute()) == 0 diff --git a/tests/lsdb/catalog/test_box_search.py b/tests/lsdb/catalog/test_box_search.py index f40f1f8a..5dee4241 100644 --- a/tests/lsdb/catalog/test_box_search.py +++ b/tests/lsdb/catalog/test_box_search.py @@ -2,7 +2,7 @@ import nested_pandas as npd import numpy as np import pytest -from hipscat.pixel_math.validators import ValidatorsErrors +from hats.pixel_math.validators import ValidatorsErrors def test_box_search_ra_filters_correct_points(small_sky_order1_catalog, assert_divisions_are_correct): diff --git a/tests/lsdb/catalog/test_catalog.py b/tests/lsdb/catalog/test_catalog.py index fcd400a8..34e2b97d 100644 --- a/tests/lsdb/catalog/test_catalog.py +++ b/tests/lsdb/catalog/test_catalog.py @@ -2,24 +2,22 @@ import dask.array as da import dask.dataframe as dd +import hats.pixel_math.healpix_shim as hp import healpy -import hipscat.pixel_math.healpix_shim as hp import nested_dask as nd import nested_pandas as npd import numpy as np import pandas as pd import pytest -from hipscat.pixel_math import HealpixPixel, hipscat_id_to_healpix +from hats.pixel_math import HealpixPixel, spatial_index_to_healpix import lsdb from lsdb import Catalog -from lsdb.dask.merge_catalog_functions import filter_by_hipscat_index_to_pixel +from lsdb.dask.merge_catalog_functions import filter_by_spatial_index_to_pixel -def test_catalog_pixels_equals_hc_catalog_pixels(small_sky_order1_catalog, small_sky_order1_hipscat_catalog): - assert ( - small_sky_order1_catalog.get_healpix_pixels() == small_sky_order1_hipscat_catalog.get_healpix_pixels() - ) +def test_catalog_pixels_equals_hc_catalog_pixels(small_sky_order1_catalog, small_sky_order1_hats_catalog): + assert small_sky_order1_catalog.get_healpix_pixels() == small_sky_order1_hats_catalog.get_healpix_pixels() def test_catalog_repr_equals_ddf_repr(small_sky_order1_catalog): @@ -29,8 +27,8 @@ def test_catalog_repr_equals_ddf_repr(small_sky_order1_catalog): def test_catalog_html_repr_equals_ddf_html_repr(small_sky_order1_catalog): full_html = small_sky_order1_catalog._repr_html_() assert small_sky_order1_catalog.name in full_html - # this is a _hipscat_index that's in the data - assert "12682136550675316736" in full_html + # this is a _healpix_29 that's in the data + assert "3170534137668829184" in full_html def test_catalog_compute_equals_ddf_compute(small_sky_order1_catalog): @@ -194,8 +192,8 @@ def test_assign_with_invalid_arguments(small_sky_order1_catalog): def test_save_catalog(small_sky_catalog, tmp_path): new_catalog_name = "small_sky" base_catalog_path = Path(tmp_path) / new_catalog_name - small_sky_catalog.to_hipscat(base_catalog_path, catalog_name=new_catalog_name) - expected_catalog = lsdb.read_hipscat(base_catalog_path) + small_sky_catalog.to_hats(base_catalog_path, catalog_name=new_catalog_name) + expected_catalog = lsdb.read_hats(base_catalog_path) assert expected_catalog.hc_structure.catalog_name == new_catalog_name assert expected_catalog.hc_structure.catalog_info == small_sky_catalog.hc_structure.catalog_info assert expected_catalog.get_healpix_pixels() == small_sky_catalog.get_healpix_pixels() @@ -205,13 +203,13 @@ def test_save_catalog(small_sky_catalog, tmp_path): def test_save_catalog_overwrite(small_sky_catalog, tmp_path): base_catalog_path = tmp_path / "small_sky" # Saving a catalog to disk when the directory does not yet exist - small_sky_catalog.to_hipscat(base_catalog_path) + small_sky_catalog.to_hats(base_catalog_path) # The output directory exists and it has content. Overwrite is # set to False and, as such, the operation fails. with pytest.raises(ValueError, match="set overwrite to True"): - small_sky_catalog.to_hipscat(base_catalog_path) + small_sky_catalog.to_hats(base_catalog_path) # With overwrite it succeeds because the directory is recreated - small_sky_catalog.to_hipscat(base_catalog_path, overwrite=True) + small_sky_catalog.to_hats(base_catalog_path, overwrite=True) def test_save_catalog_when_catalog_is_empty(small_sky_order1_catalog, tmp_path): @@ -229,7 +227,7 @@ def test_save_catalog_when_catalog_is_empty(small_sky_order1_catalog, tmp_path): # The catalog is not written to disk with pytest.raises(RuntimeError, match="The output catalog is empty"): - cone_search_catalog.to_hipscat(base_catalog_path) + cone_search_catalog.to_hats(base_catalog_path) def test_save_catalog_with_some_empty_partitions(small_sky_order1_catalog, tmp_path): @@ -245,11 +243,11 @@ def test_save_catalog_with_some_empty_partitions(small_sky_order1_catalog, tmp_p non_empty_pixels.append(pixel) assert len(non_empty_pixels) == 1 - cone_search_catalog.to_hipscat(base_catalog_path) + cone_search_catalog.to_hats(base_catalog_path) # Confirm that we can read the catalog from disk, and that it was # written with no empty partitions - catalog = lsdb.read_hipscat(base_catalog_path) + catalog = lsdb.read_hats(base_catalog_path) assert catalog._ddf.npartitions == 1 assert len(catalog._ddf.partitions[0]) > 0 assert list(catalog._ddf_pixel_map.keys()) == non_empty_pixels @@ -328,7 +326,7 @@ def func(df, healpix): for i in range(expected_array_length): p = pixels[i] expected_value = func( - filter_by_hipscat_index_to_pixel(partition, order, p), HealpixPixel(order, p) + filter_by_spatial_index_to_pixel(partition, order, p), HealpixPixel(order, p) ) assert value[i] == expected_value @@ -377,7 +375,7 @@ def func(df, _): return len(df) / hp.nside2pixarea(hp.order2nside(order), degrees=True) computed_catalog = small_sky_order1_catalog.compute() - order_3_pixels = hipscat_id_to_healpix(computed_catalog.index.to_numpy(), order) + order_3_pixels = spatial_index_to_healpix(computed_catalog.index.to_numpy(), order) pixel_map = computed_catalog.groupby(order_3_pixels).apply(lambda x: func(x, None)) img = np.full(hp.order2npix(order), default) diff --git a/tests/lsdb/catalog/test_cone_search.py b/tests/lsdb/catalog/test_cone_search.py index 188d556d..2be0e6ee 100644 --- a/tests/lsdb/catalog/test_cone_search.py +++ b/tests/lsdb/catalog/test_cone_search.py @@ -3,7 +3,7 @@ import pandas as pd import pytest from astropy.coordinates import SkyCoord -from hipscat.pixel_math.validators import ValidatorsErrors +from hats.pixel_math.validators import ValidatorsErrors def test_cone_search_filters_correct_points(small_sky_order1_catalog, assert_divisions_are_correct): diff --git a/tests/lsdb/catalog/test_crossmatch.py b/tests/lsdb/catalog/test_crossmatch.py index c942ea84..2c5ba410 100644 --- a/tests/lsdb/catalog/test_crossmatch.py +++ b/tests/lsdb/catalog/test_crossmatch.py @@ -4,8 +4,8 @@ import pandas as pd import pyarrow as pa import pytest -from hipscat.pixel_math import HealpixPixel -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN +from hats.pixel_math import HealpixPixel +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN import lsdb from lsdb import Catalog @@ -72,7 +72,7 @@ def test_kdtree_crossmatch_multiple_neighbors( def test_kdtree_crossmatch_multiple_neighbors_margin( algo, small_sky_catalog, small_sky_xmatch_dir, small_sky_xmatch_margin_catalog, xmatch_correct_3n_2t ): - small_sky_xmatch_catalog = lsdb.read_hipscat( + small_sky_xmatch_catalog = lsdb.read_hats( small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog ) xmatched = small_sky_catalog.crossmatch( @@ -96,7 +96,7 @@ def test_crossmatch_negative_margin( small_sky_xmatch_margin_catalog, xmatch_correct_3n_2t_negative, ): - small_sky_xmatch_catalog = lsdb.read_hipscat( + small_sky_xmatch_catalog = lsdb.read_hats( small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog ) xmatched = small_sky_left_xmatch_catalog.crossmatch( @@ -152,7 +152,7 @@ def test_kdtree_crossmatch_min_thresh_multiple_neighbors_margin( small_sky_xmatch_margin_catalog, xmatch_correct_05_2_3n_margin, ): - small_sky_xmatch_catalog = lsdb.read_hipscat( + small_sky_xmatch_catalog = lsdb.read_hats( small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog ) xmatched = small_sky_catalog.crossmatch( @@ -212,7 +212,7 @@ def test_crossmatch_more_neighbors_than_points_available( @staticmethod def test_self_crossmatch(algo, small_sky_catalog, small_sky_dir): # Read a second small sky catalog to not have duplicate labels - small_sky_catalog_2 = lsdb.read_hipscat(small_sky_dir) + small_sky_catalog_2 = lsdb.read_hats(small_sky_dir) small_sky_catalog_2.hc_structure.catalog_name = "small_sky_2" with pytest.warns(RuntimeWarning, match="Results may be incomplete and/or inaccurate"): xmatched = small_sky_catalog.crossmatch( @@ -245,7 +245,7 @@ def test_crossmatch_empty_left_partition(algo, small_sky_order1_catalog, small_s def test_crossmatch_empty_right_partition(algo, small_sky_order1_catalog, small_sky_xmatch_catalog): ra = 300 dec = -60 - radius_arcsec = 3 * 3600 + radius_arcsec = 3.4 * 3600 cone = small_sky_xmatch_catalog.cone_search(ra, dec, radius_arcsec) assert len(cone.get_healpix_pixels()) == 2 assert len(cone.get_partition(1, 44)) == 5 @@ -337,7 +337,7 @@ def crossmatch(self, mock_results: pd.DataFrame = None): # type: ignore ], axis=1, ) - out.set_index(HIPSCAT_ID_COLUMN, inplace=True) + out.set_index(SPATIAL_INDEX_COLUMN, inplace=True) extra_columns = pd.DataFrame({"_DIST": mock_results["dist"]}) self._append_extra_columns(out, extra_columns) return out diff --git a/tests/lsdb/catalog/test_index_search.py b/tests/lsdb/catalog/test_index_search.py index 20481703..eb6ce357 100644 --- a/tests/lsdb/catalog/test_index_search.py +++ b/tests/lsdb/catalog/test_index_search.py @@ -1,10 +1,10 @@ import nested_dask as nd import nested_pandas as npd -from hipscat.catalog.index.index_catalog import IndexCatalog +from hats.catalog.index.index_catalog import IndexCatalog def test_index_search(small_sky_order1_catalog, small_sky_order1_id_index_dir, assert_divisions_are_correct): - catalog_index = IndexCatalog.read_from_hipscat(small_sky_order1_id_index_dir) + catalog_index = IndexCatalog.read_hats(small_sky_order1_id_index_dir) # Searching for an object that does not exist index_search_catalog = small_sky_order1_catalog.index_search([900], catalog_index) assert isinstance(index_search_catalog._ddf, nd.NestedFrame) @@ -20,7 +20,7 @@ def test_index_search(small_sky_order1_catalog, small_sky_order1_id_index_dir, a def test_index_search_coarse_versus_fine(small_sky_order1_catalog, small_sky_order1_id_index_dir): - catalog_index = IndexCatalog.read_from_hipscat(small_sky_order1_id_index_dir) + catalog_index = IndexCatalog.read_hats(small_sky_order1_id_index_dir) coarse_index_search = small_sky_order1_catalog.index_search([700], catalog_index, fine=False) fine_index_search = small_sky_order1_catalog.index_search([700], catalog_index) assert coarse_index_search.get_healpix_pixels() == fine_index_search.get_healpix_pixels() diff --git a/tests/lsdb/catalog/test_join.py b/tests/lsdb/catalog/test_join.py index a147142e..7f9c13cd 100644 --- a/tests/lsdb/catalog/test_join.py +++ b/tests/lsdb/catalog/test_join.py @@ -3,7 +3,7 @@ import numpy as np import pandas as pd import pytest -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN, hipscat_id_to_healpix +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN, spatial_index_to_healpix def test_small_sky_join_small_sky_order1( @@ -19,8 +19,8 @@ def test_small_sky_join_small_sky_order1( assert (col_name + suffixes[0], dtype) in joined.dtypes.items() for col_name, dtype in small_sky_order1_catalog.dtypes.items(): assert (col_name + suffixes[1], dtype) in joined.dtypes.items() - assert joined._ddf.index.name == HIPSCAT_ID_COLUMN - assert joined._ddf.index.dtype == np.uint64 + assert joined._ddf.index.name == SPATIAL_INDEX_COLUMN + assert joined._ddf.index.dtype == np.int64 joined_compute = joined.compute() assert isinstance(joined_compute, npd.NestedFrame) @@ -83,8 +83,8 @@ def test_join_association(small_sky_catalog, small_sky_xmatch_catalog, small_sky assert col + suffixes[0] in joined._ddf.columns for col in small_sky_xmatch_catalog._ddf.columns: assert col + suffixes[1] in joined._ddf.columns - assert joined._ddf.index.name == HIPSCAT_ID_COLUMN - assert joined._ddf.index.dtype == np.uint64 + assert joined._ddf.index.name == SPATIAL_INDEX_COLUMN + assert joined._ddf.index.dtype == np.int64 small_sky_compute = small_sky_catalog.compute() small_sky_xmatch_compute = small_sky_xmatch_catalog.compute() @@ -229,7 +229,7 @@ def test_merge_asof(small_sky_catalog, small_sky_xmatch_catalog, assert_division small_sky_compute = small_sky_catalog.compute().rename( columns={c: c + suffixes[0] for c in small_sky_catalog.columns} ) - order_1_partition = hipscat_id_to_healpix(small_sky_compute.index.to_numpy(), 1) + order_1_partition = spatial_index_to_healpix(small_sky_compute.index.to_numpy(), 1) left_partitions = [ small_sky_compute[order_1_partition == p.pixel] for p in small_sky_xmatch_catalog.get_healpix_pixels() diff --git a/tests/lsdb/catalog/test_margin_catalog.py b/tests/lsdb/catalog/test_margin_catalog.py index 0487f65c..ff4583da 100644 --- a/tests/lsdb/catalog/test_margin_catalog.py +++ b/tests/lsdb/catalog/test_margin_catalog.py @@ -1,6 +1,6 @@ from pathlib import Path -import hipscat as hc +import hats as hc import nested_dask as nd import pandas as pd @@ -9,10 +9,10 @@ def test_read_margin_catalog(small_sky_xmatch_margin_dir): - margin = lsdb.read_hipscat(small_sky_xmatch_margin_dir) + margin = lsdb.read_hats(small_sky_xmatch_margin_dir) assert isinstance(margin, MarginCatalog) assert isinstance(margin._ddf, nd.NestedFrame) - hc_margin = hc.catalog.MarginCatalog.read_from_hipscat(small_sky_xmatch_margin_dir) + hc_margin = hc.catalog.MarginCatalog.read_hats(small_sky_xmatch_margin_dir) assert margin.hc_structure.catalog_info == hc_margin.catalog_info assert margin.hc_structure.get_healpix_pixels() == hc_margin.get_healpix_pixels() assert margin.get_healpix_pixels() == margin.hc_structure.get_healpix_pixels() @@ -21,7 +21,7 @@ def test_read_margin_catalog(small_sky_xmatch_margin_dir): def test_margin_catalog_partitions_correct(small_sky_xmatch_margin_dir): - margin = lsdb.read_hipscat(small_sky_xmatch_margin_dir) + margin = lsdb.read_hats(small_sky_xmatch_margin_dir) assert isinstance(margin, MarginCatalog) for healpix_pixel in margin.get_healpix_pixels(): hp_order = healpix_pixel.order @@ -38,8 +38,8 @@ def test_margin_catalog_partitions_correct(small_sky_xmatch_margin_dir): def test_save_margin_catalog(small_sky_xmatch_margin_catalog, tmp_path): new_catalog_name = "small_sky_xmatch_margin" base_catalog_path = Path(tmp_path) / new_catalog_name - small_sky_xmatch_margin_catalog.to_hipscat(base_catalog_path, catalog_name=new_catalog_name) - expected_catalog = lsdb.read_hipscat(base_catalog_path) + small_sky_xmatch_margin_catalog.to_hats(base_catalog_path, catalog_name=new_catalog_name) + expected_catalog = lsdb.read_hats(base_catalog_path) assert expected_catalog.hc_structure.catalog_name == new_catalog_name assert ( expected_catalog.hc_structure.catalog_info diff --git a/tests/lsdb/catalog/test_nested.py b/tests/lsdb/catalog/test_nested.py index c6216dd6..8dde0048 100644 --- a/tests/lsdb/catalog/test_nested.py +++ b/tests/lsdb/catalog/test_nested.py @@ -21,7 +21,7 @@ def add_na_values_nested(df): """replaces the first source_ra value in each nested df with NaN""" for i in range(len(df)): first_ra_value = df.iloc[i]["sources"].iloc[0]["source_ra"] - df["sources"].array[i] = df["sources"].array[i].replace(first_ra_value, np.NaN) + df["sources"].array[i] = df["sources"].array[i].replace(first_ra_value, np.nan) return df filtered_cat = small_sky_with_nested_sources.map_partitions(add_na_values_nested) @@ -32,6 +32,3 @@ def add_na_values_nested(df): filtered_sources_compute = filtered_cat["sources"].compute() assert len(drop_na_sources_compute) == len(filtered_sources_compute) assert sum(map(len, drop_na_sources_compute)) < sum(map(len, filtered_sources_compute)) - pd.testing.assert_frame_equal( - drop_na_cat.compute(), filtered_cat._ddf.dropna(on_nested="sources").compute() - ) diff --git a/tests/lsdb/catalog/test_pixel_search.py b/tests/lsdb/catalog/test_pixel_search.py index 41c4e1ba..124cdb9e 100644 --- a/tests/lsdb/catalog/test_pixel_search.py +++ b/tests/lsdb/catalog/test_pixel_search.py @@ -1,6 +1,6 @@ import nested_dask as nd import pandas as pd -from hipscat.pixel_math import HealpixPixel +from hats.pixel_math import HealpixPixel from lsdb.core.search.pixel_search import PixelSearch diff --git a/tests/lsdb/catalog/test_polygon_search.py b/tests/lsdb/catalog/test_polygon_search.py index 4dd775c9..c1f6086f 100644 --- a/tests/lsdb/catalog/test_polygon_search.py +++ b/tests/lsdb/catalog/test_polygon_search.py @@ -3,7 +3,7 @@ import numpy as np import numpy.testing as npt import pytest -from hipscat.pixel_math.validators import ValidatorsErrors +from hats.pixel_math.validators import ValidatorsErrors from lsdb.core.search.polygon_search import get_cartesian_polygon diff --git a/tests/lsdb/core/test_kdtree_validation.py b/tests/lsdb/core/test_kdtree_validation.py index d47efabb..51c4ef16 100644 --- a/tests/lsdb/core/test_kdtree_validation.py +++ b/tests/lsdb/core/test_kdtree_validation.py @@ -31,7 +31,7 @@ def test_bounded_kdtree_radius_invalid(small_sky_catalog, small_sky_order1_sourc def test_kdtree_left_columns(small_sky_catalog, small_sky_order1_source_with_margin): original_df = small_sky_catalog._ddf small_sky_catalog._ddf = original_df.reset_index() - with pytest.raises(ValueError, match="index of left table must be _hipscat_index"): + with pytest.raises(ValueError, match="index of left table must be _healpix_29"): KdTreeCrossmatch.validate( small_sky_catalog, small_sky_order1_source_with_margin, @@ -55,7 +55,7 @@ def test_kdtree_left_columns(small_sky_catalog, small_sky_order1_source_with_mar def test_kdtree_right_columns(small_sky_catalog, small_sky_order1_source_with_margin): original_df = small_sky_order1_source_with_margin._ddf small_sky_order1_source_with_margin._ddf = original_df.reset_index() - with pytest.raises(ValueError, match="index of right table must be _hipscat_index"): + with pytest.raises(ValueError, match="index of right table must be _healpix_29"): KdTreeCrossmatch.validate(small_sky_catalog, small_sky_order1_source_with_margin) small_sky_order1_source_with_margin._ddf = original_df.drop(columns=["source_ra"]) diff --git a/tests/lsdb/dask/test_divisions.py b/tests/lsdb/dask/test_divisions.py index c5649762..d3213d31 100644 --- a/tests/lsdb/dask/test_divisions.py +++ b/tests/lsdb/dask/test_divisions.py @@ -1,4 +1,4 @@ -import hipscat as hc +import hats as hc import numpy.testing as npt from lsdb.dask.divisions import get_pixels_divisions @@ -8,7 +8,7 @@ def test_divisions_are_independent_of_pixel_order(small_sky_order1_catalog): hp_pixels = small_sky_order1_catalog.get_ordered_healpix_pixels() order = [p.order for p in hp_pixels] pixel = [p.pixel for p in hp_pixels] - pixels = hc.pixel_math.hipscat_id.healpix_to_hipscat_id(order, pixel) + pixels = hc.pixel_math.spatial_index.healpix_to_spatial_index(order, pixel) npt.assert_array_equal(pixels, sorted(pixels)) # Calculate divisions for ordered pixels divisions = get_pixels_divisions(hp_pixels) diff --git a/tests/lsdb/loaders/dataframe/test_from_dataframe.py b/tests/lsdb/loaders/dataframe/test_from_dataframe.py index 0a9da329..39eab9ee 100644 --- a/tests/lsdb/loaders/dataframe/test_from_dataframe.py +++ b/tests/lsdb/loaders/dataframe/test_from_dataframe.py @@ -1,17 +1,17 @@ import math import astropy.units as u -import hipscat as hc -import hipscat.pixel_math.healpix_shim as hp +import hats as hc +import hats.pixel_math.healpix_shim as hp import nested_dask as nd import nested_pandas as npd import numpy as np import numpy.testing as npt import pandas as pd import pytest -from hipscat.catalog import CatalogType -from hipscat.pixel_math.healpix_pixel_function import get_pixel_argsort -from hipscat.pixel_math.hipscat_id import HIPSCAT_ID_COLUMN +from hats.catalog import CatalogType +from hats.pixel_math.healpix_pixel_function import get_pixel_argsort +from hats.pixel_math.spatial_index import SPATIAL_INDEX_COLUMN from mocpy import MOC import lsdb @@ -44,17 +44,21 @@ def test_from_dataframe( assert isinstance(catalog, lsdb.Catalog) assert isinstance(catalog._ddf, nd.NestedFrame) # Catalogs have the same information - assert catalog.hc_structure.catalog_info == small_sky_order1_catalog.hc_structure.catalog_info - # Index is set to hipscat index - assert catalog._ddf.index.name == HIPSCAT_ID_COLUMN + assert ( + catalog.hc_structure.catalog_info.explicit_dict() + == small_sky_order1_catalog.hc_structure.catalog_info.explicit_dict() + ) + # Index is set to spatial index + assert catalog._ddf.index.name == SPATIAL_INDEX_COLUMN # Dataframes have the same data (column data types may differ) pd.testing.assert_frame_equal( - catalog.compute().sort_index(), small_sky_order1_catalog.compute().sort_index() + catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), + small_sky_order1_catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), ) # Divisions belong to the respective HEALPix pixels assert_divisions_are_correct(catalog) # The arrow schema was automatically inferred - expected_schema = hc.read_from_hipscat(small_sky_order1_dir).schema + expected_schema = hc.read_hats(small_sky_order1_dir).schema assert catalog.hc_structure.schema.equals(expected_schema) assert isinstance(catalog.compute(), npd.NestedFrame) @@ -68,9 +72,9 @@ def test_from_dataframe_catalog_of_invalid_type(small_sky_order1_df, small_sky_o if catalog_type in valid_catalog_types: lsdb.from_dataframe(small_sky_order1_df, margin_threshold=None, **kwargs) else: - with pytest.raises(ValueError, match="Catalog must be of type OBJECT or SOURCE"): + with pytest.raises(ValueError): lsdb.from_dataframe(small_sky_order1_df, margin_threshold=None, **kwargs) - # Drop hipscat_index that might have been created in place + # Drop spatial_index that might have been created in place small_sky_order1_df.reset_index(drop=True, inplace=True) @@ -155,6 +159,7 @@ def test_from_dataframe_large_input(small_sky_order1_catalog, assert_divisions_a kwargs = { "catalog_name": original_catalog_info.catalog_name, "catalog_type": original_catalog_info.catalog_type, + "obs_regime": "Optical", } rng = np.random.default_rng() @@ -166,9 +171,11 @@ def test_from_dataframe_large_input(small_sky_order1_catalog, assert_divisions_a assert isinstance(catalog, lsdb.Catalog) # Catalogs have the same information original_catalog_info.total_rows = 1_500_000 - assert catalog.hc_structure.catalog_info == original_catalog_info - # Index is set to hipscat index - assert catalog._ddf.index.name == HIPSCAT_ID_COLUMN + assert catalog.hc_structure.catalog_info.explicit_dict() == original_catalog_info.explicit_dict() + assert catalog.hc_structure.catalog_info.__pydantic_extra__["obs_regime"] == "Optical" + assert catalog.hc_structure.catalog_info.__pydantic_extra__["hats_builder"].startswith("lsdb") + # Index is set to spatial index + assert catalog._ddf.index.name == SPATIAL_INDEX_COLUMN # Divisions belong to the respective HEALPix pixels assert_divisions_are_correct(catalog) @@ -211,6 +218,11 @@ def test_catalog_pixels_nested_ordering(small_sky_source_df): def test_from_dataframe_small_sky_source_with_margins(small_sky_source_df, small_sky_source_margin_catalog): + kwargs = { + "catalog_name": "small_sky_source", + "catalog_type": "source", + "obs_regime": "Optical", + } catalog = lsdb.from_dataframe( small_sky_source_df, ra_column="source_ra", @@ -220,6 +232,7 @@ def test_from_dataframe_small_sky_source_with_margins(small_sky_source_df, small threshold=3000, margin_order=8, margin_threshold=180, + **kwargs, ) assert catalog.margin is not None @@ -236,6 +249,11 @@ def test_from_dataframe_small_sky_source_with_margins(small_sky_source_df, small ) assert isinstance(catalog.margin.compute(), npd.NestedFrame) + assert catalog.hc_structure.catalog_info.__pydantic_extra__["obs_regime"] == "Optical" + assert catalog.margin.hc_structure.catalog_info.__pydantic_extra__["obs_regime"] == "Optical" + + assert catalog.hc_structure.catalog_info.__pydantic_extra__["hats_builder"].startswith("lsdb") + assert catalog.margin.hc_structure.catalog_info.__pydantic_extra__["hats_builder"].startswith("lsdb") # The margin and main catalog's schemas are the same assert catalog.margin.hc_structure.schema is catalog.hc_structure.schema @@ -304,23 +322,29 @@ def test_from_dataframe_without_moc(small_sky_order1_catalog): def test_from_dataframe_with_backend(small_sky_order1_df, small_sky_order1_dir): """Tests that we can initialize a catalog from a Pandas Dataframe with the desired backend""" - # Read the catalog from hipscat format using pyarrow, import it from a CSV using + # Read the catalog from hats format using pyarrow, import it from a CSV using # the same backend and assert that we obtain the same catalog - expected_catalog = lsdb.read_hipscat(small_sky_order1_dir) + expected_catalog = lsdb.read_hats(small_sky_order1_dir) kwargs = get_catalog_kwargs(expected_catalog) catalog = lsdb.from_dataframe(small_sky_order1_df, **kwargs) assert all(isinstance(col_type, pd.ArrowDtype) for col_type in catalog.dtypes) - pd.testing.assert_frame_equal(catalog.compute().sort_index(), expected_catalog.compute().sort_index()) + pd.testing.assert_frame_equal( + catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), + expected_catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), + ) # Test that we can also keep the original types if desired - expected_catalog = lsdb.read_hipscat(small_sky_order1_dir, dtype_backend=None) + expected_catalog = lsdb.read_hats(small_sky_order1_dir, dtype_backend=None) kwargs = get_catalog_kwargs(expected_catalog) catalog = lsdb.from_dataframe(small_sky_order1_df, use_pyarrow_types=False, **kwargs) assert all(isinstance(col_type, np.dtype) for col_type in catalog.dtypes) - pd.testing.assert_frame_equal(catalog.compute().sort_index(), expected_catalog.compute().sort_index()) + pd.testing.assert_frame_equal( + catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), + expected_catalog.compute().sort_values([SPATIAL_INDEX_COLUMN, "id"]), + ) def test_from_dataframe_with_arrow_schema(small_sky_order1_df, small_sky_order1_dir): - expected_schema = hc.read_from_hipscat(small_sky_order1_dir).schema + expected_schema = hc.read_hats(small_sky_order1_dir).schema catalog = lsdb.from_dataframe(small_sky_order1_df, schema=expected_schema) assert catalog.hc_structure.schema is expected_schema diff --git a/tests/lsdb/loaders/hipscat/test_read_hipscat.py b/tests/lsdb/loaders/hats/test_read_hats.py similarity index 67% rename from tests/lsdb/loaders/hipscat/test_read_hipscat.py rename to tests/lsdb/loaders/hats/test_read_hats.py index c1de547a..66edc730 100644 --- a/tests/lsdb/loaders/hipscat/test_read_hipscat.py +++ b/tests/lsdb/loaders/hats/test_read_hats.py @@ -1,72 +1,72 @@ from pathlib import Path -import hipscat as hc +import hats as hc import nested_dask as nd import nested_pandas as npd import numpy as np import numpy.testing as npt import pandas as pd import pytest -from hipscat.catalog.index.index_catalog import IndexCatalog -from hipscat.pixel_math import HealpixPixel +from hats.catalog.index.index_catalog import IndexCatalog +from hats.pixel_math import HealpixPixel from pandas.core.dtypes.base import ExtensionDtype import lsdb from lsdb.core.search import BoxSearch, ConeSearch, IndexSearch, OrderSearch, PolygonSearch -def test_read_hipscat(small_sky_order1_dir, small_sky_order1_hipscat_catalog, assert_divisions_are_correct): - catalog = lsdb.read_hipscat(small_sky_order1_dir) +def test_read_hats(small_sky_order1_dir, small_sky_order1_hats_catalog, assert_divisions_are_correct): + catalog = lsdb.read_hats(small_sky_order1_dir) assert isinstance(catalog, lsdb.Catalog) assert isinstance(catalog._ddf, nd.NestedFrame) - assert catalog.hc_structure.catalog_base_dir == small_sky_order1_hipscat_catalog.catalog_base_dir - assert catalog.get_healpix_pixels() == small_sky_order1_hipscat_catalog.get_healpix_pixels() + assert catalog.hc_structure.catalog_base_dir == small_sky_order1_hats_catalog.catalog_base_dir + assert catalog.get_healpix_pixels() == small_sky_order1_hats_catalog.get_healpix_pixels() assert len(catalog.compute().columns) == 8 assert isinstance(catalog.compute(), npd.NestedFrame) assert_divisions_are_correct(catalog) -def test_read_hipscat_with_columns(small_sky_order1_dir): +def test_read_hats_with_columns(small_sky_order1_dir): filter_columns = ["ra", "dec"] - catalog = lsdb.read_hipscat(small_sky_order1_dir, columns=filter_columns) + catalog = lsdb.read_hats(small_sky_order1_dir, columns=filter_columns) assert isinstance(catalog, lsdb.Catalog) npt.assert_array_equal(catalog.compute().columns.to_numpy(), filter_columns) -def test_read_hipscat_with_extra_kwargs(small_sky_order1_dir): - catalog = lsdb.read_hipscat(small_sky_order1_dir, filters=[("ra", ">", 300)], engine="pyarrow") +def test_read_hats_with_extra_kwargs(small_sky_order1_dir): + catalog = lsdb.read_hats(small_sky_order1_dir, filters=[("ra", ">", 300)], engine="pyarrow") assert isinstance(catalog, lsdb.Catalog) assert np.greater(catalog.compute()["ra"].to_numpy(), 300).all() -def test_pixels_in_map_equal_catalog_pixels(small_sky_order1_dir, small_sky_order1_hipscat_catalog): - catalog = lsdb.read_hipscat(small_sky_order1_dir) - for healpix_pixel in small_sky_order1_hipscat_catalog.get_healpix_pixels(): +def test_pixels_in_map_equal_catalog_pixels(small_sky_order1_dir, small_sky_order1_hats_catalog): + catalog = lsdb.read_hats(small_sky_order1_dir) + for healpix_pixel in small_sky_order1_hats_catalog.get_healpix_pixels(): catalog.get_partition(healpix_pixel.order, healpix_pixel.pixel) def test_wrong_pixel_raises_value_error(small_sky_order1_dir): - catalog = lsdb.read_hipscat(small_sky_order1_dir) + catalog = lsdb.read_hats(small_sky_order1_dir) with pytest.raises(ValueError): catalog.get_partition(-1, -1) -def test_parquet_data_in_partitions_match_files(small_sky_order1_dir, small_sky_order1_hipscat_catalog): - catalog = lsdb.read_hipscat(small_sky_order1_dir) - for healpix_pixel in small_sky_order1_hipscat_catalog.get_healpix_pixels(): +def test_parquet_data_in_partitions_match_files(small_sky_order1_dir, small_sky_order1_hats_catalog): + catalog = lsdb.read_hats(small_sky_order1_dir) + for healpix_pixel in small_sky_order1_hats_catalog.get_healpix_pixels(): hp_order = healpix_pixel.order hp_pixel = healpix_pixel.pixel partition = catalog.get_partition(hp_order, hp_pixel) partition_df = partition.compute() parquet_path = hc.io.paths.pixel_catalog_file( - small_sky_order1_hipscat_catalog.catalog_base_dir, healpix_pixel + small_sky_order1_hats_catalog.catalog_base_dir, healpix_pixel ) loaded_df = pd.read_parquet(parquet_path, dtype_backend="pyarrow") pd.testing.assert_frame_equal(partition_df, loaded_df) -def test_read_hipscat_specify_catalog_type(small_sky_catalog, small_sky_dir): - catalog = lsdb.read_hipscat(small_sky_dir, catalog_type=lsdb.Catalog) +def test_read_hats_specify_catalog_type(small_sky_catalog, small_sky_dir): + catalog = lsdb.read_hats(small_sky_dir, catalog_type=lsdb.Catalog) assert isinstance(catalog, lsdb.Catalog) assert isinstance(catalog._ddf, nd.NestedFrame) pd.testing.assert_frame_equal(catalog.compute(), small_sky_catalog.compute()) @@ -75,13 +75,13 @@ def test_read_hipscat_specify_catalog_type(small_sky_catalog, small_sky_dir): assert isinstance(catalog.compute(), npd.NestedFrame) -def test_read_hipscat_specify_wrong_catalog_type(small_sky_dir): +def test_read_hats_specify_wrong_catalog_type(small_sky_dir): with pytest.raises(ValueError): - lsdb.read_hipscat(small_sky_dir, catalog_type=int) + lsdb.read_hats(small_sky_dir, catalog_type=int) def test_catalog_with_margin_object(small_sky_xmatch_dir, small_sky_xmatch_margin_catalog): - catalog = lsdb.read_hipscat(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog) + catalog = lsdb.read_hats(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_catalog) assert isinstance(catalog, lsdb.Catalog) assert isinstance(catalog.margin, lsdb.MarginCatalog) assert isinstance(catalog._ddf, nd.NestedFrame) @@ -93,7 +93,7 @@ def test_catalog_with_margin_path( small_sky_xmatch_dir, small_sky_xmatch_margin_dir, small_sky_xmatch_margin_catalog ): assert isinstance(small_sky_xmatch_margin_dir, Path) - catalog = lsdb.read_hipscat(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_dir) + catalog = lsdb.read_hats(small_sky_xmatch_dir, margin_cache=small_sky_xmatch_margin_dir) assert isinstance(catalog, lsdb.Catalog) assert isinstance(catalog.margin, lsdb.MarginCatalog) assert isinstance(catalog._ddf, nd.NestedFrame) @@ -106,90 +106,90 @@ def test_catalog_with_margin_path( def test_catalog_without_margin_is_none(small_sky_xmatch_dir): - catalog = lsdb.read_hipscat(small_sky_xmatch_dir) + catalog = lsdb.read_hats(small_sky_xmatch_dir) assert isinstance(catalog, lsdb.Catalog) assert catalog.margin is None -def test_read_hipscat_subset_with_cone_search(small_sky_order1_dir, small_sky_order1_catalog): +def test_read_hats_subset_with_cone_search(small_sky_order1_dir, small_sky_order1_catalog): cone_search = ConeSearch(ra=0, dec=-80, radius_arcsec=20 * 3600) # Filtering using catalog's cone_search cone_search_catalog = small_sky_order1_catalog.cone_search(ra=0, dec=-80, radius_arcsec=20 * 3600) - # Filtering when calling `read_hipscat` - cone_search_catalog_2 = lsdb.read_hipscat(small_sky_order1_dir, search_filter=cone_search) + # Filtering when calling `read_hats` + cone_search_catalog_2 = lsdb.read_hats(small_sky_order1_dir, search_filter=cone_search) assert isinstance(cone_search_catalog_2, lsdb.Catalog) # The partitions of the catalogs are equivalent assert cone_search_catalog.get_healpix_pixels() == cone_search_catalog_2.get_healpix_pixels() pd.testing.assert_frame_equal(cone_search_catalog.compute(), cone_search_catalog_2.compute()) -def test_read_hipscat_subset_with_box_search(small_sky_order1_dir, small_sky_order1_catalog): +def test_read_hats_subset_with_box_search(small_sky_order1_dir, small_sky_order1_catalog): box_search = BoxSearch(ra=(0, 10), dec=(-20, 10)) # Filtering using catalog's box_search box_search_catalog = small_sky_order1_catalog.box_search(ra=(0, 10), dec=(-20, 10)) - # Filtering when calling `read_hipscat` - box_search_catalog_2 = lsdb.read_hipscat(small_sky_order1_dir, search_filter=box_search) + # Filtering when calling `read_hats` + box_search_catalog_2 = lsdb.read_hats(small_sky_order1_dir, search_filter=box_search) assert isinstance(box_search_catalog_2, lsdb.Catalog) # The partitions of the catalogs are equivalent assert box_search_catalog.get_healpix_pixels() == box_search_catalog_2.get_healpix_pixels() pd.testing.assert_frame_equal(box_search_catalog.compute(), box_search_catalog_2.compute()) -def test_read_hipscat_subset_with_polygon_search(small_sky_order1_dir, small_sky_order1_catalog): +def test_read_hats_subset_with_polygon_search(small_sky_order1_dir, small_sky_order1_catalog): vertices = [(300, -50), (300, -55), (272, -55), (272, -50)] polygon_search = PolygonSearch(vertices) # Filtering using catalog's polygon_search polygon_search_catalog = small_sky_order1_catalog.polygon_search(vertices) - # Filtering when calling `read_hipscat` - polygon_search_catalog_2 = lsdb.read_hipscat(small_sky_order1_dir, search_filter=polygon_search) + # Filtering when calling `read_hats` + polygon_search_catalog_2 = lsdb.read_hats(small_sky_order1_dir, search_filter=polygon_search) assert isinstance(polygon_search_catalog_2, lsdb.Catalog) # The partitions of the catalogs are equivalent assert polygon_search_catalog.get_healpix_pixels() == polygon_search_catalog_2.get_healpix_pixels() pd.testing.assert_frame_equal(polygon_search_catalog.compute(), polygon_search_catalog_2.compute()) -def test_read_hipscat_subset_with_index_search( +def test_read_hats_subset_with_index_search( small_sky_order1_dir, small_sky_order1_catalog, small_sky_order1_id_index_dir, ): - catalog_index = IndexCatalog.read_from_hipscat(small_sky_order1_id_index_dir) + catalog_index = IndexCatalog.read_hats(small_sky_order1_id_index_dir) # Filtering using catalog's index_search index_search_catalog = small_sky_order1_catalog.index_search([700], catalog_index) - # Filtering when calling `read_hipscat` + # Filtering when calling `read_hats` index_search = IndexSearch([700], catalog_index) - index_search_catalog_2 = lsdb.read_hipscat(small_sky_order1_dir, search_filter=index_search) + index_search_catalog_2 = lsdb.read_hats(small_sky_order1_dir, search_filter=index_search) assert isinstance(index_search_catalog_2, lsdb.Catalog) # The partitions of the catalogs are equivalent assert index_search_catalog.get_healpix_pixels() == index_search_catalog_2.get_healpix_pixels() -def test_read_hipscat_subset_with_order_search(small_sky_source_catalog, small_sky_source_dir): +def test_read_hats_subset_with_order_search(small_sky_source_catalog, small_sky_source_dir): order_search = OrderSearch(min_order=1, max_order=2) # Filtering using catalog's order_search order_search_catalog = small_sky_source_catalog.order_search(min_order=1, max_order=2) - # Filtering when calling `read_hipscat` - order_search_catalog_2 = lsdb.read_hipscat(small_sky_source_dir, search_filter=order_search) + # Filtering when calling `read_hats` + order_search_catalog_2 = lsdb.read_hats(small_sky_source_dir, search_filter=order_search) assert isinstance(order_search_catalog_2, lsdb.Catalog) # The partitions of the catalogs are equivalent assert order_search_catalog.get_healpix_pixels() == order_search_catalog_2.get_healpix_pixels() -def test_read_hipscat_subset_no_partitions(small_sky_order1_dir, small_sky_order1_id_index_dir): +def test_read_hats_subset_no_partitions(small_sky_order1_dir, small_sky_order1_id_index_dir): with pytest.raises(ValueError, match="no coverage"): - catalog_index = IndexCatalog.read_from_hipscat(small_sky_order1_id_index_dir) + catalog_index = IndexCatalog.read_hats(small_sky_order1_id_index_dir) index_search = IndexSearch([900], catalog_index) - lsdb.read_hipscat(small_sky_order1_dir, search_filter=index_search) + lsdb.read_hats(small_sky_order1_dir, search_filter=index_search) -def test_read_hipscat_with_margin_subset( +def test_read_hats_with_margin_subset( small_sky_order1_source_dir, small_sky_order1_source_with_margin, small_sky_order1_source_margin_catalog ): cone_search = ConeSearch(ra=315, dec=-66, radius_arcsec=20) # Filtering using catalog's cone_search cone_search_catalog = small_sky_order1_source_with_margin.cone_search(ra=315, dec=-66, radius_arcsec=20) - # Filtering when calling `read_hipscat` - cone_search_catalog_2 = lsdb.read_hipscat( + # Filtering when calling `read_hats` + cone_search_catalog_2 = lsdb.read_hats( small_sky_order1_source_dir, search_filter=cone_search, margin_cache=small_sky_order1_source_margin_catalog, @@ -202,34 +202,34 @@ def test_read_hipscat_with_margin_subset( ) -def test_read_hipscat_with_backend(small_sky_dir): +def test_read_hats_with_backend(small_sky_dir): # By default, the schema is backed by pyarrow - default_catalog = lsdb.read_hipscat(small_sky_dir) + default_catalog = lsdb.read_hats(small_sky_dir) assert all(isinstance(col_type, pd.ArrowDtype) for col_type in default_catalog.dtypes) # We can also pass it explicitly as an argument - catalog = lsdb.read_hipscat(small_sky_dir, dtype_backend="pyarrow") + catalog = lsdb.read_hats(small_sky_dir, dtype_backend="pyarrow") assert catalog.dtypes.equals(default_catalog.dtypes) # Load data using a numpy-nullable types. - catalog = lsdb.read_hipscat(small_sky_dir, dtype_backend="numpy_nullable") + catalog = lsdb.read_hats(small_sky_dir, dtype_backend="numpy_nullable") assert all(isinstance(col_type, ExtensionDtype) for col_type in catalog.dtypes) # The other option is to keep the original types. In this case they are numpy-backed. - catalog = lsdb.read_hipscat(small_sky_dir, dtype_backend=None) + catalog = lsdb.read_hats(small_sky_dir, dtype_backend=None) assert all(isinstance(col_type, np.dtype) for col_type in catalog.dtypes) assert isinstance(catalog._ddf, nd.NestedFrame) assert isinstance(catalog.compute(), npd.NestedFrame) -def test_read_hipscat_with_invalid_backend(small_sky_dir): +def test_read_hats_with_invalid_backend(small_sky_dir): with pytest.raises(ValueError, match="data type backend must be either"): - lsdb.read_hipscat(small_sky_dir, dtype_backend="abc") + lsdb.read_hats(small_sky_dir, dtype_backend="abc") -def test_read_hipscat_margin_catalog_subset( +def test_read_hats_margin_catalog_subset( small_sky_order1_source_margin_dir, small_sky_order1_source_margin_catalog, assert_divisions_are_correct ): search_filter = ConeSearch(ra=315, dec=-60, radius_arcsec=10) - margin = lsdb.read_hipscat(small_sky_order1_source_margin_dir, search_filter=search_filter) + margin = lsdb.read_hats(small_sky_order1_source_margin_dir, search_filter=search_filter) margin_info = margin.hc_structure.catalog_info small_sky_order1_source_margin_info = small_sky_order1_source_margin_catalog.hc_structure.catalog_info @@ -247,15 +247,15 @@ def test_read_hipscat_margin_catalog_subset( assert_divisions_are_correct(margin) -def test_read_hipscat_margin_catalog_subset_is_empty(small_sky_order1_source_margin_dir): +def test_read_hats_margin_catalog_subset_is_empty(small_sky_order1_source_margin_dir): search_filter = ConeSearch(ra=100, dec=80, radius_arcsec=1) - margin_catalog = lsdb.read_hipscat(small_sky_order1_source_margin_dir, search_filter=search_filter) + margin_catalog = lsdb.read_hats(small_sky_order1_source_margin_dir, search_filter=search_filter) assert len(margin_catalog.get_healpix_pixels()) == 0 assert len(margin_catalog._ddf_pixel_map) == 0 assert len(margin_catalog.compute()) == 0 assert len(margin_catalog.hc_structure.pixel_tree) == 0 -def test_read_hipscat_schema_not_found(small_sky_no_metadata_dir): +def test_read_hats_schema_not_found(small_sky_no_metadata_dir): with pytest.raises(ValueError, match="catalog schema could not be loaded"): - lsdb.read_hipscat(small_sky_no_metadata_dir) + lsdb.read_hats(small_sky_no_metadata_dir)