Skip to content

As a user, I want my long NYCDEP HEFS evaluation to succeed when running using the prospective 7.4 RC #781

@HankHerr-NOAA

Description

@HankHerr-NOAA

See #774. Upon deploying the RC to staging and migrating the db, the example NYCDEP evaluation failed. I confirmed that it also fails using a standalone pointed to a Postgres server. The declaration of that evaluation is below. The files are being moved now; they are big.

EDIT: Exception that occurred is the following:

2026-04-03T13:32:59.659+0000  [pool-24-thread-1] INFO EvaluationService - The evaluation failed with the following stack trace: 
wres.pipeline.InternalWresException: Could not complete project execution
	at wres.pipeline.Evaluator.evaluate(Evaluator.java:408)
	at wres.pipeline.Evaluator.evaluate(Evaluator.java:181)
	at wres.Functions.evaluate(Functions.java:131)
	at wres.server.EvaluationService.lambda$startEvaluation$2(EvaluationService.java:696)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: wres.pipeline.WresProcessingException: Encountered an error while processing evaluation '5ZkeZ89gYnLN4wW-S4nNCIf9mCs': 
	at wres.pipeline.Evaluator.evaluate(Evaluator.java:855)
	at wres.pipeline.Evaluator.evaluate(Evaluator.java:379)
	... 7 common frames omitted
Caused by: java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Cannot build a climatology without a measurement unit. 
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)
	... 3 common frames omitted
Caused by: java.lang.IllegalArgumentException: Cannot build a climatology without a measurement unit. 
	at wres.datamodel.types.Climatology.validate(Climatology.java:398)
	at wres.datamodel.types.Climatology.<init>(Climatology.java:363)
	at wres.datamodel.types.Climatology$Builder.build(Climatology.java:303)
	at wres.pipeline.pooling.PoolsGenerator.lambda$createClimatology$11(PoolsGenerator.java:1469)
	at wres.io.retrieving.CachingSupplier.get(CachingSupplier.java:50)
	at wres.pipeline.pooling.PoolSupplier.createPoolFromPairs(PoolSupplier.java:939)
	at wres.pipeline.pooling.PoolSupplier.createPool(PoolSupplier.java:892)
	at wres.pipeline.pooling.PoolSupplier.createPool(PoolSupplier.java:266)
	at wres.pipeline.pooling.PoolSupplier.get(PoolSupplier.java:218)
	at wres.pipeline.pooling.PoolSupplier.get(PoolSupplier.java:84)
	at wres.pipeline.pooling.PoolFactory$SupplierWithPoolRequest.get(PoolFactory.java:2894)
	at wres.pipeline.pooling.PoolProcessor.get(PoolProcessor.java:144)
	at wres.pipeline.pooling.PoolProcessor.get(PoolProcessor.java:61)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	... 3 common frames omitted

Thanks,

Hank

=======================

label: HEFS_EnsPost Streamflow
observed:
  label: OBS Streamflow
  sources: DWNN6DEL_QME.xml
  variable: QME
  feature_authority: nws lid
  type: observations
predicted:
  label: HEFS_EnsPost Streamflow
  sources: DWNN6TIF_HEFS_EnsPost_SQIN.tgz
  variable: SQIN
  type: ensemble forecasts
baseline:
  label: POSTPROCESSED Streamflow
  sources: DWNN6TOT_POSTPROCESSED_SQIN.tgz
  variable: SQIN
  type: ensemble forecasts
  separate_metrics: true
features:
  - {observed: DWNN6DEL, predicted: DWNN6TIF, baseline: DWNN6TOT}
unit: cms
lead_times:
  minimum: 18
  maximum: 720
  unit: hours
lead_time_pools:
  period: 24
  frequency: 24
  unit: hours
time_scale:
  function: mean
  period: 24
  unit: hours
pair_frequency:
  period: 24
  unit: hours
cross_pair: exact
probability_thresholds: [0.01,0.1,0.5,0.9,0.95,0.99,0.995,0.999]
minimum_sample_size: 30
season:
  minimum_day: 1
  minimum_month: 1
  maximum_day: 31
  maximum_month: 12
metrics:
  - box plot of errors by forecast value
  - continuous ranked probability score
  - relative operating characteristic score
  - brier score
  - pearson correlation coefficient
  - root mean square error
  - mean error
  - bias fraction
  - reliability diagram
  - relative operating characteristic diagram
  - ensemble quantile quantile diagram
  - brier skill score
  - name: quantile quantile diagram
    thresholds: all data
  - continuous ranked probability skill score
  - sample size
  - mean absolute error
  - box plot of errors by observed value
  - name: rank histogram
    probability_thresholds:
      values: [0.01,0.1,0.5,0.9,0.95,0.99,0.995,0.999]
      apply_to: predicted
combined_graphics: true
duration_format: hours
decimal_format: '0.000'
output_formats:
  - csv2
  - format: png
    orientation: lead threshold

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions