Skip to content

refine_binary_events ephemeris bug #57

@nsabrams

Description

@nsabrams

When refine_binary_events uses more than ~10 procs, one starts to run into issues which I think are race conditions when referencing the JPL ephemeris files which are used in the BAGLE models for parallax. These are returned as obscure errors such as:

  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/multiprocessing/pool.py", line 51, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/global/homes/n/nsabrams/code/PopSyCLE/popsycle/synthetic.py", line 5463, in one_lightcurve_analysis
    param_dict = lightcurve_parameter_gen(model, model_parameter_dict, np.array([global_comp_idx]), obj_id_L, obj_id_S, name, save_phot, phot_dir, overwrite)
  File "/global/homes/n/nsabrams/code/PopSyCLE/popsycle/synthetic.py", line 5602, in lightcurve_parameter_gen
    phot = model.get_photometry(dt)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 6957, in get_photometry
    u_vec = self.get_u(t)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 6831, in get_u
    parallax_vec = parallax_in_direction(self.raL, self.decL, t)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 655, in __call__
    return self._cached_call(args, kwargs)[0]
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 598, in _cached_call
    out, metadata = self.call(*args, **kwargs)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 856, in call
    output = self.func(*args, **kwargs)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 12588, in parallax_in_direction
    sun_earth_pos = get_body_barycentric(body='sun', time=times) - get_body_barycentric(body='earth', time=times)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/astropy/coordinates/solar_system.py", line 400, in get_body_barycentric
    return _get_body_barycentric_posvel(body, time, ephemeris, get_velocity=False)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/astropy/coordinates/solar_system.py", line 318, in _get_body_barycentric_posvel
    for body_p_or_v, p_or_v in zip(
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/spk.py", line 209, in generate
    init, intlen, coefficients = self._data
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/descriptorlib.py", line 12, in __get__
    value = self.method(instance)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/spk.py", line 173, in _data
    init, intlen, rsize, n = self.daf.read_array(self.end_i - 3, self.end_i)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/daf.py", line 147, in read_array
    return ndarray(length, self.endian + 'd', data)
TypeError: buffer is too small for requested array

or

Traceback (most recent call last):
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/multiprocessing/pool.py", line 51, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/global/homes/n/nsabrams/code/PopSyCLE/popsycle/synthetic.py", line 5463, in one_lightcurve_analysis
    param_dict = lightcurve_parameter_gen(model, model_parameter_dict, np.array([global_comp_idx]), obj_id_L, obj_id_S, name, save_phot, phot_dir, overwrite)
  File "/global/homes/n/nsabrams/code/PopSyCLE/popsycle/synthetic.py", line 5602, in lightcurve_parameter_gen
    phot = model.get_photometry(dt)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 6957, in get_photometry
    u_vec = self.get_u(t)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 6831, in get_u
    parallax_vec = parallax_in_direction(self.raL, self.decL, t)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 655, in __call__
    return self._cached_call(args, kwargs)[0]
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 598, in _cached_call
    out, metadata = self.call(*args, **kwargs)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/joblib/memory.py", line 856, in call
    output = self.func(*args, **kwargs)
  File "/global/homes/n/nsabrams/code/BAGLE_Microlensing/src/bagle/model.py", line 12588, in parallax_in_direction
    sun_earth_pos = get_body_barycentric(body='sun', time=times) - get_body_barycentric(body='earth', time=times)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/astropy/coordinates/solar_system.py", line 400, in get_body_barycentric
    return _get_body_barycentric_posvel(body, time, ephemeris, get_velocity=False)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/astropy/coordinates/solar_system.py", line 318, in _get_body_barycentric_posvel
    for body_p_or_v, p_or_v in zip(
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/spk.py", line 209, in generate
    init, intlen, coefficients = self._data
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/descriptorlib.py", line 12, in __get__
    value = self.method(instance)
  File "/global/cfs/cdirs/ulens/code/src/mambaforge3/envs/astro/lib/python3.10/site-packages/jplephem/spk.py", line 177, in _data
    coefficients.shape = (int(n), int(rsize))
ValueError: cannot reshape array of size 878920 into shape (0,0)
"""

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions