Ensemble stat failure - NumArray::operator[](int) const #2536
Replies: 4 comments 1 reply
-
@Wesley-J-Davis my apologies for the long delay in following up on this discussion. Thanks for posting sample data to demonstrate. I am trying to work through what you sent to replicate and isolate the problem. While you reference a runtime error from Ensemble-Stat, I do not actually see one in the
So my guess is that this file contains standard out, but not standard error... the stream to which error messages are written. One suggestion is that you could start using the Thanks! |
Beta Was this translation helpful? Give feedback.
-
Don't worry about the delay there's lots of tickets out there I wasn't expecting a 24hr turnaround. I was trying to set the prob_cat_thresh and prob_pct_thresh in the ensemble stat portion and came across the NumArray::operator const error. Searching that I came across this: More searching on the matter led me to this: Which seemed to indicate that I'd be able to produce the pstd files straight from ensemble stat without needing the grid stat steps to verify the ensemble. I was just trying to save on computing resources. So I went ahead and did this and yes I was able to produce pstd files by setting the pstd flag = TRUE in the output file type section of the config. I had to abandon using the prob_cat_thresh and prob_pct_thresh dictionary entries though because they kept throwing that error. So I made those pstd files from ensemble stat and when I compared it to the pstd file created in the grid stat ensemble frequency run, the results were wildly off. Reading through that second link further I think I may have not set the ensemble_flag { freq=TRUE } and so it was not doing the comparison I expected. I'll do some further testing on my side and if I hit a snag I'll upload what I have and try to make it less difficult for you to edit to work on your end. |
Beta Was this translation helpful? Give feedback.
-
So my issue with ensemble stat is so: When I set up my fcst dictionary to use the prob_cat_thresh dictionary entry, it requires me to set up the obs dictionary too with that parameter too. If I don't I get this error: ERROR : When I set up prob_cat_thresh in the obs dictionary to match the fcst dictionary though, I get this error: ERROR : I included configs for both the ensemble stat run (which failed) and grid stat ensemble frequency run (which worked fine). Standard_EnsembleStatConfig_2023070600_ens-stat-test.txt According to dtcenter/MET#1259 if you leave the prob_cat_thresh part blank or left out, it uses the climo bins, which does work. But using my own thresholds is what is throwing the error. |
Beta Was this translation helpful? Give feedback.
-
@Wesley-J-Davis I did some more digging, ran as similar a case as I could, and was able to replicate the runtime error you're seeing:
I get this error when I specify data in the So that's one quick fix to get around this issue. Just remove the climatology data from the configuration, and you should see probabilistic output successfully written. Unfortunately, the underlying logic for how the climatological mean and standard deviation data is used is rather complex. In this specific case, Ensemble-Stat is computing an Nx2 probabilistic contingency table for the ensemble-derived probabilities. And it's also computing an Nx2 probabilistic contingency table for the CLIMATOLOGY-DERIVED probabilities. The climo contingency table is used when computing some of the PSTD statistics. Anyway, that's where the runtime error occurs... when processing the climo-derived probabilities. I do actually see a one-line fix to make this runtime error go away. But I'd like to do a bit more digging and testing before summarizing it into a GitHub bugfix issue. |
Beta Was this translation helpful? Give feedback.
-
ERROR :
ERROR : NumArray::operator const -> range check error ... Length = 0, i = 0
ERROR :
This failure occurred while comparing a 20 member ensemble of air temp at 2m using self-analysis (a control member of the ensemble) in the ensemble stat tool.
the file ens-stat-error.tar contains the data and scripts required to reproduce this error and can be found on your local ftp at DAVIS_DATA/ens-stat-error.tar
I am working with MET 12.0.0-beta1.
This code was written to run gen-ens-prod on a suite of ensemble files, then run ensemble stat on those same ensemble files, and then verify the gen-ens-prod output against a control member of the ensemble using grid stat.
I understand that with version 11's release, ensemble stat works differently now and one can skip the grid-stat steps and make everything directly in ensemble stat now.
The issue I am running into while trying to do just that is how to use the prob_cat_thresh and prob_pct_thresh variables in this context.
I am also unsure if the ens_ssvar_bin_size and ens_phist_bin_size configurations are correct, maybe they are causing the issue?
The template config file that is manipulated for this purpose can be found in the tar file at
/NAVGEM_ensemble/config/Standard_EnsembleStatConfig
.Beta Was this translation helpful? Give feedback.
All reactions