UAT C1243729749-EEDTEST (harmony-JASON-1_L2_OST_GPS_E) #49919
GitHub Actions / Tested with Harmony
failed
Feb 24, 2025 in 0s
2 fail in 4m 13s
Annotations
Check warning on line 0 in tests.verify_collection
github-actions / Tested with Harmony
test_spatial_subset[C1243729749-EEDTEST] (tests.verify_collection) failed
test-results/test_report.xml [took 2m 7s]
Raw output
harmony.harmony.ProcessingFailedException: WorkItem failed: podaac/l2ss-py:2.13.0rc4: Error in file '/home/dockeruser/.local/lib/python3.10/site-packages/harmony_service_lib/http.py', line 450, in function 'download': Unable to download due to status code: 404 and content b'<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n <head>\n <meta charset="utf-8">\n <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n <title>Earthdata is currently unavailable</title>\n <meta name="description" content="Harmony error">\n <meta name="viewport" content="width=device-width">\n <style type="text/css" media="screen">\n html {\n -webkit-font-smoothing: antialiased;\n }\n body {\n background: url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUIxREQ1ODMyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUIxREQ1ODQyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQjFERDU4MTI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQjFERDU4MjI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAlgCWAMBEQACEQEDEQH/xAB6AAEBAQEBAQEAAAAAAAAAAAABAAIDBAUIAQEBAQEAAAAAAAAAAAAAAAAAAQIEEAACAgEEAQIFAwMFAQEBAQEAARECITFBEgNRYQRxgZEiE6EyBbHBFPDR4UIjUvEVJIIRAQEBAQEBAQEAAAAAAAAAAAABEQIhEjFB/9oADAMBAAIRAxEAPwD80ydjiIEBSANy5CoC0AgO3R291Ovur1u0XpHZxmFWVlx9CDiUdOu/WurspanK9+PC7bXGHlxo5IOUQBQoTnM6AQEAQFUATAUEQFgCiABahSEbbrl1TjZvUoyBEBIHX2nube29zTvrVWtRyq200gKPc99u/wBxfuslW13yarhIDmEatwxCen3fH0AyAzoAw8TvoVE27ZctqEn6LAURAEyAYFomgoAviQMLhPJTP7cz8fBR6P4/3S9r7vr73XmqPNfRqAPV/M/ynX763X+OjrXrTzaJbceCFfNTW6leCgAgIgnZSsJefUCX+mUIQt/aliE50U59QBzCxrlAQEAxtuUSiVOVulhkClWHl8sQoxG5RBC2tlCAnZwk3haIDMBQ04nbSSAClK/BuPsTSb9XMf3Apw/XAGUQbjr4PL54hRh6znbYAije8NON2vCegFBQAIEEatXi0pVpSePVTAE4lw5XkoapWsk2qpuHZzC9cSwgxC/UAYFlBUA83w4QomZhT9QBAW2...
collection_concept_id = 'C1243729749-EEDTEST', env = 'uat'
granule_json = {'meta': {'collection-concept-id': 'C1243729749-EEDTEST', 'concept-id': 'G1256120893-EEDTEST', 'concept-type': 'granul...pecification': {'Name': 'UMM-G', 'URL': 'https://cdn.earthdata.nasa.gov/umm/granule/v1.6.6', 'Version': '1.6.6'}, ...}}
collection_variables = [{'associations': {'collections': [{'concept-id': 'C1243729749-EEDTEST'}]}, 'meta': {'association-details': {'collecti...e': 1440, 'Type': 'LONGITUDE_DIMENSION'}], 'FillValues': [{'Type': 'SCIENCE_FILLVALUE', 'Value': -9999.0}], ...}}, ...]
harmony_env = <Environment.UAT: 3>
tmp_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_spatial_subset_C1243729740')
bearer_token = 'eyJ0eXAiOiJKV1QiLCJvcmlnaW4iOiJFYXJ0aGRhdGEgTG9naW4iLCJzaWciOiJlZGxqd3RwdWJrZXlfdWF0IiwiYWxnIjoiUlMyNTYifQ.eyJ0eXBlIj...kbeJjaBKhl-gvXjLxBPtaCk2P7777DonclMKd413HI-jyiaz5c37cMfsCgU10L977PjAOk1emdrpg1kIeREr7E-CI7jPFq8qqe53WwNZbDHefYeqcFgGFQ'
skip_spatial = set()
@pytest.mark.timeout(1200)
def test_spatial_subset(collection_concept_id, env, granule_json, collection_variables,
harmony_env, tmp_path: pathlib.Path, bearer_token, skip_spatial):
test_spatial_subset.__doc__ = f"Verify spatial subset for {collection_concept_id} in {env}"
if collection_concept_id in skip_spatial:
pytest.skip(f"Known collection to skip for spatial testing {collection_concept_id}")
logging.info("Using granule %s for test", granule_json['meta']['concept-id'])
# Compute a box that is smaller than the granule extent bounding box
north, south, east, west = get_bounding_box(granule_json)
east, west, north, south = create_smaller_bounding_box(east, west, north, south, .95)
start_time = granule_json['umm']["TemporalExtent"]["RangeDateTime"]["BeginningDateTime"]
end_time = granule_json['umm']["TemporalExtent"]["RangeDateTime"]["EndingDateTime"]
# Build harmony request
harmony_client = harmony.Client(env=harmony_env, token=bearer_token)
request_bbox = harmony.BBox(w=west, s=south, e=east, n=north)
request_collection = harmony.Collection(id=collection_concept_id)
harmony_request = harmony.Request(collection=request_collection, spatial=request_bbox,
granule_id=[granule_json['meta']['concept-id']])
logging.info("Sending harmony request %s", harmony_client.request_as_url(harmony_request))
# Submit harmony request and download result
job_id = harmony_client.submit(harmony_request)
logging.info("Submitted harmony job %s", job_id)
> harmony_client.wait_for_processing(job_id, show_progress=False)
verify_collection.py:462:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <harmony.harmony.Client object at 0x7f374ab65b10>
job_id = 'b59c0d86-57eb-409c-b13d-f11c8e49c62a', show_progress = False
def wait_for_processing(self, job_id: str, show_progress: bool = False) -> None:
"""Retrieve a submitted job's completion status in percent.
Args:
job_id: UUID string for the job you wish to interrogate.
Returns:
The job's processing progress as a percentage.
:raises
Exception: This can happen if an invalid job_id is provided or Harmony services
can't be reached.
"""
# How often to refresh the screen for progress updates and animating spinners.
ui_update_interval = 0.33 # in seconds
running_w_errors_logged = False
intervals = round(self.check_interval / ui_update_interval)
if show_progress:
with progressbar.ProgressBar(max_value=100, widgets=progressbar_widgets) as bar:
progress = 0
while progress < 100:
progress, status, message = self.progress(job_id)
if status == 'failed':
raise ProcessingFailedException(job_id, message)
if status == 'canceled':
print('Job has been canceled.')
break
if status == 'paused':
print('\nJob has been paused. Call `resume()` to resume.', file=sys.stderr)
break
if (not running_w_errors_logged and status == 'running_with_errors'):
print('\nJob is running with errors.', file=sys.stderr)
running_w_errors_logged = True
# This gets around an issue with progressbar. If we update() with 0, the
# output shows up as "N/A". If we update with, e.g. 0.1, it rounds down or
# truncates to 0 but, importantly, actually displays that.
if progress == 0:
progress = 0.1
for _ in range(intervals):
bar.update(progress) # causes spinner to rotate even when no data change
sys.stdout.flush() # ensures correct behavior in Jupyter notebooks
if progress >= 100:
break
else:
time.sleep(ui_update_interval)
else:
progress = 0
while progress < 100:
progress, status, message = self.progress(job_id)
if status == 'failed':
> raise ProcessingFailedException(job_id, message)
E harmony.harmony.ProcessingFailedException: WorkItem failed: podaac/l2ss-py:2.13.0rc4: Error in file '/home/dockeruser/.local/lib/python3.10/site-packages/harmony_service_lib/http.py', line 450, in function 'download': Unable to download due to status code: 404 and content b'<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n <head>\n <meta charset="utf-8">\n <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n <title>Earthdata is currently unavailable</title>\n <meta name="description" content="Harmony error">\n <meta name="viewport" content="width=device-width">\n <style type="text/css" media="screen">\n html {\n -webkit-font-smoothing: antialiased;\n }\n body {\n background: url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUIxREQ1ODMyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUIxREQ1ODQyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQjFERDU4MTI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQjFERDU4MjI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAlgCWAMBEQACEQEDEQH/xAB6AAEBAQEBAQEAAAAAAAAAAAABAAIDBAUIAQEBAQEAAAAAAAAAAAAAAAAAAQIEEAACAgEEAQIFAwMFAQEBAQEAARECITFBEgNRYQRxgZEiE6EyBbHBFPDR4UIjUvEVJIIRAQEBAQEBAQEAAAAAAAAAAAABEQIhEjFB/9oADAMBAAIRAxEAPwD80ydjiIEBSANy5CoC0AgO3R291Ovur1u0XpHZxmFWVlx9CDiUdOu/WurspanK9+PC7bXGHlxo5IOUQBQoTnM6AQEAQFUATAUEQFgCiABahSEbbrl1TjZvUoyBEBIHX2nube29zTvrVWtRyq200gKPc99u/wBxfuslW13yarhIDmEatwxCen3fH0AyAzoAw8TvoVE27ZctqEn6LAURAEyAYFomgoAviQMLhPJTP7cz8fBR6P4/3S9r7vr73XmqPNfRqAPV/M/ynX763X+OjrXrTzaJbceCFfNTW6leCgAgIgnZSsJefUCX+mUIQt/aliE50U59QBzCxrlAQEAxtuUSiVOVulhkClWHl8sQoxG5RBC2tlCAnZwk3haIDMBQ04nbSSAClK/BuPsTSb9XMf3Apw/XAGUQbjr4PL54hRh6znbYAije8NON2vCegFBQAIEEatXi0pVpSePVTAE4lw5XkoapWsk2qpuHZzC9cSwgxC/UAYFlBUA83w4QomZhT9QBAW2...
../../../../.cache/pypoetry/virtualenvs/l2ss-py-autotest-iYz8Sff2-py3.10/lib/python3.10/site-packages/harmony/harmony.py:1146: ProcessingFailedException
--------------------------------- Captured Log ---------------------------------
INFO root:verify_collection.py:441 Using granule G1256120893-EEDTEST for test
INFO root:verify_collection.py:457 Sending harmony request https://harmony.uat.earthdata.nasa.gov/C1243729749-EEDTEST/ogc-api-coverages/1.0.0/collections/parameter_vars/coverage/rangeset?forceAsync=true&subset=lat%28-62.84199749999999%3A62.843097499999985%29&subset=lon%28-76.61111249999999%3A80.3854125%29&granuleId=G1256120893-EEDTEST&variable=all
INFO root:verify_collection.py:461 Submitted harmony job b59c0d86-57eb-409c-b13d-f11c8e49c62a
Check warning on line 0 in tests.verify_collection
github-actions / Tested with Harmony
test_temporal_subset[C1243729749-EEDTEST] (tests.verify_collection) failed
test-results/test_report.xml [took 2m 3s]
Raw output
harmony.harmony.ProcessingFailedException: WorkItem failed: podaac/l2ss-py:2.13.0rc4: Error in file '/home/dockeruser/.local/lib/python3.10/site-packages/harmony_service_lib/http.py', line 450, in function 'download': Unable to download due to status code: 404 and content b'<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n <head>\n <meta charset="utf-8">\n <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n <title>Earthdata is currently unavailable</title>\n <meta name="description" content="Harmony error">\n <meta name="viewport" content="width=device-width">\n <style type="text/css" media="screen">\n html {\n -webkit-font-smoothing: antialiased;\n }\n body {\n background: url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUIxREQ1ODMyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUIxREQ1ODQyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQjFERDU4MTI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQjFERDU4MjI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAlgCWAMBEQACEQEDEQH/xAB6AAEBAQEBAQEAAAAAAAAAAAABAAIDBAUIAQEBAQEAAAAAAAAAAAAAAAAAAQIEEAACAgEEAQIFAwMFAQEBAQEAARECITFBEgNRYQRxgZEiE6EyBbHBFPDR4UIjUvEVJIIRAQEBAQEBAQEAAAAAAAAAAAABEQIhEjFB/9oADAMBAAIRAxEAPwD80ydjiIEBSANy5CoC0AgO3R291Ovur1u0XpHZxmFWVlx9CDiUdOu/WurspanK9+PC7bXGHlxo5IOUQBQoTnM6AQEAQFUATAUEQFgCiABahSEbbrl1TjZvUoyBEBIHX2nube29zTvrVWtRyq200gKPc99u/wBxfuslW13yarhIDmEatwxCen3fH0AyAzoAw8TvoVE27ZctqEn6LAURAEyAYFomgoAviQMLhPJTP7cz8fBR6P4/3S9r7vr73XmqPNfRqAPV/M/ynX763X+OjrXrTzaJbceCFfNTW6leCgAgIgnZSsJefUCX+mUIQt/aliE50U59QBzCxrlAQEAxtuUSiVOVulhkClWHl8sQoxG5RBC2tlCAnZwk3haIDMBQ04nbSSAClK/BuPsTSb9XMf3Apw/XAGUQbjr4PL54hRh6znbYAije8NON2vCegFBQAIEEatXi0pVpSePVTAE4lw5XkoapWsk2qpuHZzC9cSwgxC/UAYFlBUA83w4QomZhT9QBAW2...
collection_concept_id = 'C1243729749-EEDTEST', env = 'uat'
granule_json = {'meta': {'collection-concept-id': 'C1243729749-EEDTEST', 'concept-id': 'G1256120893-EEDTEST', 'concept-type': 'granul...pecification': {'Name': 'UMM-G', 'URL': 'https://cdn.earthdata.nasa.gov/umm/granule/v1.6.6', 'Version': '1.6.6'}, ...}}
collection_variables = [{'associations': {'collections': [{'concept-id': 'C1243729749-EEDTEST'}]}, 'meta': {'association-details': {'collecti...e': 1440, 'Type': 'LONGITUDE_DIMENSION'}], 'FillValues': [{'Type': 'SCIENCE_FILLVALUE', 'Value': -9999.0}], ...}}, ...]
harmony_env = <Environment.UAT: 3>
tmp_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_temporal_subset_C124372970')
bearer_token = 'eyJ0eXAiOiJKV1QiLCJvcmlnaW4iOiJFYXJ0aGRhdGEgTG9naW4iLCJzaWciOiJlZGxqd3RwdWJrZXlfdWF0IiwiYWxnIjoiUlMyNTYifQ.eyJ0eXBlIj...kbeJjaBKhl-gvXjLxBPtaCk2P7777DonclMKd413HI-jyiaz5c37cMfsCgU10L977PjAOk1emdrpg1kIeREr7E-CI7jPFq8qqe53WwNZbDHefYeqcFgGFQ'
skip_temporal = {'C1238658389-POCLOUD', 'C1238658392-POCLOUD', 'C1265136917-OB_CLOUD', 'C1265136919-OB_CLOUD', 'C1265136924-OB_CLOUD', 'C1265136990-OB_CLOUD', ...}
@pytest.mark.timeout(1200)
def test_temporal_subset(collection_concept_id, env, granule_json, collection_variables,
harmony_env, tmp_path: pathlib.Path, bearer_token, skip_temporal):
test_spatial_subset.__doc__ = f"Verify temporal subset for {collection_concept_id} in {env}"
if collection_concept_id in skip_temporal:
pytest.skip(f"Known collection to skip for temporal testing {collection_concept_id}")
logging.info("Using granule %s for test", granule_json['meta']['concept-id'])
start_time = granule_json['umm']["TemporalExtent"]["RangeDateTime"]["BeginningDateTime"]
end_time = granule_json['umm']["TemporalExtent"]["RangeDateTime"]["EndingDateTime"]
temporal_subset = get_half_temporal_extent(start_time, end_time)
# Build harmony request
harmony_client = harmony.Client(env=harmony_env, token=bearer_token)
request_collection = harmony.Collection(id=collection_concept_id)
harmony_request = harmony.Request(collection=request_collection,
granule_id=[granule_json['meta']['concept-id']],
temporal=temporal_subset)
logging.info("Sending harmony request %s", harmony_client.request_as_url(harmony_request))
# Submit harmony request and download result
job_id = harmony_client.submit(harmony_request)
logging.info("Submitted harmony job %s", job_id)
> harmony_client.wait_for_processing(job_id, show_progress=False)
verify_collection.py:591:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <harmony.harmony.Client object at 0x7f374a931990>
job_id = 'a35ac622-5229-4273-bc99-59d1ac06ff33', show_progress = False
def wait_for_processing(self, job_id: str, show_progress: bool = False) -> None:
"""Retrieve a submitted job's completion status in percent.
Args:
job_id: UUID string for the job you wish to interrogate.
Returns:
The job's processing progress as a percentage.
:raises
Exception: This can happen if an invalid job_id is provided or Harmony services
can't be reached.
"""
# How often to refresh the screen for progress updates and animating spinners.
ui_update_interval = 0.33 # in seconds
running_w_errors_logged = False
intervals = round(self.check_interval / ui_update_interval)
if show_progress:
with progressbar.ProgressBar(max_value=100, widgets=progressbar_widgets) as bar:
progress = 0
while progress < 100:
progress, status, message = self.progress(job_id)
if status == 'failed':
raise ProcessingFailedException(job_id, message)
if status == 'canceled':
print('Job has been canceled.')
break
if status == 'paused':
print('\nJob has been paused. Call `resume()` to resume.', file=sys.stderr)
break
if (not running_w_errors_logged and status == 'running_with_errors'):
print('\nJob is running with errors.', file=sys.stderr)
running_w_errors_logged = True
# This gets around an issue with progressbar. If we update() with 0, the
# output shows up as "N/A". If we update with, e.g. 0.1, it rounds down or
# truncates to 0 but, importantly, actually displays that.
if progress == 0:
progress = 0.1
for _ in range(intervals):
bar.update(progress) # causes spinner to rotate even when no data change
sys.stdout.flush() # ensures correct behavior in Jupyter notebooks
if progress >= 100:
break
else:
time.sleep(ui_update_interval)
else:
progress = 0
while progress < 100:
progress, status, message = self.progress(job_id)
if status == 'failed':
> raise ProcessingFailedException(job_id, message)
E harmony.harmony.ProcessingFailedException: WorkItem failed: podaac/l2ss-py:2.13.0rc4: Error in file '/home/dockeruser/.local/lib/python3.10/site-packages/harmony_service_lib/http.py', line 450, in function 'download': Unable to download due to status code: 404 and content b'<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->\n <head>\n <meta charset="utf-8">\n <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n <title>Earthdata is currently unavailable</title>\n <meta name="description" content="Harmony error">\n <meta name="viewport" content="width=device-width">\n <style type="text/css" media="screen">\n html {\n -webkit-font-smoothing: antialiased;\n }\n body {\n background: url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMtaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RUIxREQ1ODMyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RUIxREQ1ODQyNDg4MTFFM0ExODdGMzRGOTBFQzM5NkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFQjFERDU4MTI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFQjFERDU4MjI0ODgxMUUzQTE4N0YzNEY5MEVDMzk2RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAlgCWAMBEQACEQEDEQH/xAB6AAEBAQEBAQEAAAAAAAAAAAABAAIDBAUIAQEBAQEAAAAAAAAAAAAAAAAAAQIEEAACAgEEAQIFAwMFAQEBAQEAARECITFBEgNRYQRxgZEiE6EyBbHBFPDR4UIjUvEVJIIRAQEBAQEBAQEAAAAAAAAAAAABEQIhEjFB/9oADAMBAAIRAxEAPwD80ydjiIEBSANy5CoC0AgO3R291Ovur1u0XpHZxmFWVlx9CDiUdOu/WurspanK9+PC7bXGHlxo5IOUQBQoTnM6AQEAQFUATAUEQFgCiABahSEbbrl1TjZvUoyBEBIHX2nube29zTvrVWtRyq200gKPc99u/wBxfuslW13yarhIDmEatwxCen3fH0AyAzoAw8TvoVE27ZctqEn6LAURAEyAYFomgoAviQMLhPJTP7cz8fBR6P4/3S9r7vr73XmqPNfRqAPV/M/ynX763X+OjrXrTzaJbceCFfNTW6leCgAgIgnZSsJefUCX+mUIQt/aliE50U59QBzCxrlAQEAxtuUSiVOVulhkClWHl8sQoxG5RBC2tlCAnZwk3haIDMBQ04nbSSAClK/BuPsTSb9XMf3Apw/XAGUQbjr4PL54hRh6znbYAije8NON2vCegFBQAIEEatXi0pVpSePVTAE4lw5XkoapWsk2qpuHZzC9cSwgxC/UAYFlBUA83w4QomZhT9QBAW2...
../../../../.cache/pypoetry/virtualenvs/l2ss-py-autotest-iYz8Sff2-py3.10/lib/python3.10/site-packages/harmony/harmony.py:1146: ProcessingFailedException
--------------------------------- Captured Log ---------------------------------
INFO root:verify_collection.py:572 Using granule G1256120893-EEDTEST for test
INFO root:verify_collection.py:585 Sending harmony request https://harmony.uat.earthdata.nasa.gov/C1243729749-EEDTEST/ogc-api-coverages/1.0.0/collections/parameter_vars/coverage/rangeset?forceAsync=true&subset=time%28%222008-01-07T10%3A10%3A51.059000%22%3A%222008-01-07T10%3A38%3A55.255000%22%29&granuleId=G1256120893-EEDTEST&variable=all
INFO root:verify_collection.py:589 Submitted harmony job a35ac622-5229-4273-bc99-59d1ac06ff33
Loading