Hello everyone,
I’m running SMOKE v5.0 on a QFED→FF10 wildfire inventory. Some of my point-day HFLUX values are on the order of 10¹⁴. When SMOKE writes these rows, I get:
forrtl: severe (66): output statement overflows record, unit -5, file Internal Formatted Writeforrtl: severe (66): output statement overflows record, unit -5, file Internal Formatted Write
If I simply divide HFLUX by 10³ (so the longest formatted field stays ≤ 12 characters), SMOKE completes successfully. My plan is to then multiply the HFLUX back by 10³ downstream (e.g. in post-processing) to recover the original BTU/hr.
What I’d like to know:
- Is there a better way?
- Has anyone seen this overflow error in smkmerge (wrmrgrep)?
- Would switching to scientific notation (and accepting a small loss of precision) be a reasonable workaround?
- Is there any runtime or environment setting—ulimit, Fortran flag, etc.—to enlarge the internal write buffer or otherwise shorten the formatted output, without rebuilding SMOKE?
- If recompilation is unavoidable, what buffer size (character length) would you recommend in
wrmrgrep.f
to safely handle values up to ~10¹⁶ BTU/hr?
Any pointers, small patches, or example snippets would be greatly appreciated!
Thanks,
Dave