Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

IRSA Tutorials

Make Light Curves from NEOWISE Single-exposure Source Table

An executed version of this notebook can be seen on IRSA’s website.

Learning Goals:

1. Introduction

This notebook loads light curves from the NEOWISE Single-exposure Source Table for a sample of about 2000 cataclysmic variables from Downes et al. (2001). The NEOWISE Single-exposure Source Table is a very large catalog -- 11 years and 42 terabytes in total with 145 columns and 200 billion rows. When searching this catalog, it is important to consider the requirements of your use case and the format of this dataset. This notebook applies the techniques developed in Strategies to Efficiently Work with NEOWISE Single-exposure Source Table in Parquet. This is a fully-worked example that demonstrates the important steps, but note that this is a relatively small use case for the Parquet version of the dataset.

The specific strategy we employ is:

The efficiency of this method will increase with the number of rows needed from each partition. For example, a cone search radius of 1 arcsec will require about 10 CPUs, 65G RAM, and 50 minutes to load the data from all 11 NEOWISE years. Increasing the radius to 10 arcsec will return about 2.5x more rows using roughly the same resources. Increasing the target sample size can result in similar efficiency gains. To try out this notebook with fewer resources, use a subset of NEOWISE years. Using one year is expected to require about 5 CPUs, 20G RAM, and 10 minutes. These estimates are based on testing in science platform environments. Your numbers will vary based on many factors including compute power, bandwidth, and physical distance from the data.

2. Imports

3. Setup

3.1 Define variables

First, choose which NEOWISE years to include. Real use cases are likely to require all ten years but it can be helpful to start with fewer while exploring to make things run faster.

3.2 Load NEOWISE metadata

The metadata contains column names, schema, and row-group statistics for every file in the dataset. We’ll load it as a pyarrow dataset.

4. Define functions to filter and load data

These functions will be used in the next section. Defining them here in the notebook is useful for demonstration and should work seamlessly on Linux, which includes most science platforms. Mac and Windows users should see the note at the end of the notebook. However, note that this use case is likely too large for a laptop and may perform poorly and/or crash if attempted.

5. Load light curves

Load the target objects’ coordinates and other info.

Search the NEOWISE Source Table for all targets (positional matches) and load the light curves. Partitions are searched in parallel. For targets located near partition boundaries, relevant partitions will be searched independently for the given target and the results will be concatenated. If searching all NEOWISE years, this may take 45 minutes or more.

6. Plot NEOWISE light curves

The light curves will have large gaps due to the observing cadence, so we’ll plot each “epoch” separately to see them better.


[*] Note to Mac and Windows users:

You will need to copy the functions and imports from this notebook into a separate ‘.py’ file and then import them in order to use the multiprocessing pool for parallelization. In addition, you may need to load neowise_ds separately for each child process (i.e., worker) by adding that code to the init_worker function instead of passing it in as an argument. This has to do with differences in what does / does not get copied into the child processes on different platforms.


About this notebook

Updated: 2025-03-07

Contact: the IRSA Helpdesk with questions or reporting problems.

References
  1. Downes, R. A., Webbink, R. F., Shara, M. M., Ritter, H., Kolb, U., & Duerbeck, H. W. (2001). A Catalog and Atlas of Cataclysmic Variables: The Living Edition. Publications of the Astronomical Society of the Pacific, 113(784), 764–768. 10.1086/320802