NISAR_CV jobs fail when `subset` parameter is not provided

Open Beginner friendly
#3,226 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
aws, docker, python
Domain
backend, cloud

Research direction

Start by tracing how the API populates omitted job parameters with defaults and how those parameters are passed to AWS Batch's submitJob API; the issue points to the v6.1.0 changelog and identifies an empty default subset as the likely trigger. Reproduce the NISAR_CV submission with subset omitted, then verify it succeeds while the explicitly provided subset case still works.

Written by the indexing model from the issue text.

Description

The default job in the API Spec succeeds:

    {
      "job_type": "NISAR_CV",
      "job_parameters": {
        "granules": [
          "NISAR_L2_PR_GCOV_023_148_A_024_2005_DHDH_M_20260624T105804_20260624T105843_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_024_148_A_024_2005_DHDH_M_20260706T105804_20260706T105842_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_025_148_A_024_2005_DHDH_M_20260718T105803_20260718T105841_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_027_148_A_024_2005_DHDH_M_20260811T105802_20260811T105840_P05023_N_F_J_001"
        ],
        "pol": "HHHH",
        "subset": "POLYGON((-91.2399 45.1589,-90.7532 45.1589,-90.7532 45.4609,-91.2399 45.4609,-91.2399 45.1589))",
        "crop_area": false,
        "cv_threshold": 0.4,
        "water_threshold_db": -16.5,
        "water_fraction": 0.75
      }

But the same job fails if the subset parameter is not specified:

    {
      "job_type": "NISAR_CV",
      "job_parameters": {
        "granules": [
          "NISAR_L2_PR_GCOV_023_148_A_024_2005_DHDH_M_20260624T105804_20260624T105843_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_024_148_A_024_2005_DHDH_M_20260706T105804_20260706T105842_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_025_148_A_024_2005_DHDH_M_20260718T105803_20260718T105841_P05023_N_F_J_001",
          "NISAR_L2_PR_GCOV_027_148_A_024_2005_DHDH_M_20260811T105802_20260811T105840_P05023_N_F_J_001"
        ],
        "pol": "HHHH",
        "crop_area": false,
        "cv_threshold": 0.4,
        "water_threshold_db": -16.5,
        "water_fraction": 0.75
      }

The underlying error is when attempting to submit the job to AWS Batch:

{
  "resourceType": "batch",
  "resource": "submitJob.sync",
  "error": "Batch.ClientException",
  "cause": "Error executing request, Exception : Parameter values must be provided, RequestId: 87385bd1-560f-4c83-9d37-51e738e3e044 (Service: AWSBatch; Status Code: 400; Error Code: ClientException; Request ID: 87385bd1-560f-4c83-9d37-51e738e3e044; Proxy: null)"
}

This is likely tied to the changed made in v6.1.0 to populate job_parameters with the default values of any parameter the user excludes. The default subset is "", which may not be a valid value to pass to the Batch submitJob API.

Dominant language
Python
Stars
53
Forks
13
Avg merge
1d 2h
Merged PRs (30d)
20

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ASFHyP3/hyp3

All issues in ASFHyP3/hyp3

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.