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
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:
Thanks,
Hank
=======================