Skip to content

Multiple interpolation errors during RhoCorrections #405

@oceancolorcoder

Description

@oceancolorcoder

This is a new error since the latest PR. Processing pySAS in factory regime from OXR20250306 cruise (data on the Box):

Processing: /Users/daurin/Projects/HyperPACE/field_data/HyperSAS/OceanX/OXR20250306/L1BQC/OceanX_OceanX_20250307_080000_L1BQC.hdf
Process Single Level
ProcessL2: /Users/daurin/Projects/HyperPACE/field_data/HyperSAS/OceanX/OXR20250306/L1BQC/OceanX_OceanX_20250307_080000_L1BQC.hdf
stationsEnsemblesReflectance
Binning datasets to ensemble time interval.
9 spectra remaining in slice to average after filtering to lowest 10.0%.
Calculating M99 glint correction with complete LUT
Using LUT interpolations.
Calculating Zhang glint correction (LUT).
Interpolation of Z17 LUT failed with One of the requested xi is out of bounds in dimension 3: Unable to use LUT interpolations. Reverting to analytical solution.
Calculating Zhang glint correction (FULL MODEL).
Traceback (most recent call last):
  File "/Users/daurin/GitRepos/HyperCP/Source/RhoCorrections.py", line 276, in read_Z17_LUT
    zhang_interp = spin.interpn(
                   ^^^^^^^^^^^^^
  File "/Users/daurin/miniforge3/envs/hypercp/lib/python3.11/site-packages/scipy/interpolate/_rgi.py", line 651, in interpn
    raise ValueError("One of the requested xi is out of bounds "
ValueError: One of the requested xi is out of bounds in dimension 3

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/daurin/GitRepos/HyperCP/Source/RhoCorrections.py", line 88, in M99Corr
    zhang = RhoCorrections.read_Z17_LUT(windSpeedMean, AOD, SZAMean, wTemp, sal, relAzMean, SVA, newWaveBands)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/RhoCorrections.py", line 303, in read_Z17_LUT
    raise InterpolationError(f"Interpolation of Z17 LUT failed with {err}") from err
Source.RhoCorrections.InterpolationError: Interpolation of Z17 LUT failed with One of the requested xi is out of bounds in dimension 3

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/daurin/GitRepos/HyperCP/Main.py", line 584, in singleL2Clicked
    self.processSingle("L2")
  File "/Users/daurin/GitRepos/HyperCP/Main.py", line 558, in processSingle
    Controller.processFilesSingleLevel(
  File "/Users/daurin/GitRepos/HyperCP/Source/Controller.py", line 904, in processFilesSingleLevel
    Controller.processSingleLevel(pathOut, fp, calibrationMap, level)
  File "/Users/daurin/GitRepos/HyperCP/Source/Controller.py", line 772, in processSingleLevel
    root = Controller.processL2(root,outFilePath)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/Controller.py", line 470, in processL2
    node = ProcessL2.processL2(root,station)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/ProcessL2.py", line 1877, in processL2
    if not ProcessL2.stationsEnsemblesReflectance(node, root,station):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/ProcessL2.py", line 1769, in stationsEnsemblesReflectance
    if not ProcessL2.ensemblesReflectance(node, sasGroup, referenceGroup, ancGroup,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/ProcessL2.py", line 1358, in ensemblesReflectance
    rho_scalar, rho_vec, rho_unc = ProcessL2.calculate_rho_sky_for_ensemble(wavelengths.tolist(), slice_mean, anc_slice)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/ProcessL2.py", line 1543, in calculate_rho_sky_for_ensemble
    rhoScalar, rhoUNC = RhoCorrections.M99Corr(anc_slice['WINDSPEED'], anc_slice['SZA'],
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/RhoCorrections.py", line 92, in M99Corr
    zhang, _ = RhoCorrections.ZhangCorr(windSpeedMean, AOD, cloud, SZAMean, wTemp, sal, relAzMean, SVA, newWaveBands)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/RhoCorrections.py", line 211, in ZhangCorr
    rhoVector = get_sky_sun_rho(env, sensor, round4cache=True, DB=db)['rho']
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/GitRepos/HyperCP/Source/ZhangRho.py", line 517, in get_sky_sun_rho
    rad_inc_sca = interpn(x, rad_boa_sca, xi.reshape(-1, 6)).reshape(xi.shape[:-1]).T.squeeze()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/daurin/miniforge3/envs/hypercp/lib/python3.11/site-packages/scipy/interpolate/_rgi.py", line 651, in interpn
    raise ValueError("One of the requested xi is out of bounds "
ValueError: One of the requested xi is out of bounds in dimension 5

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