You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_extract_evaluation_year() in src/pyfia/estimation/base.py (line 597-633) has the same fixed-width EVALID parsing bug fixed in #79 for find_evalid().
The method checks len(evalid_str) != 6 and rejects 5-digit EVALIDs from single-digit FIPS codes (AL=1, AR=5) as "invalid format", falling through to the PLOT.INVYR fallback.
Low severity — this method is used for year inference in output metadata, not for selecting which evaluation to use. The fallback to max(INVYR) from the PLOT table usually produces a reasonable year. However, it logs misleading "Invalid EVALID format" debug messages for affected states.
Called by 6 estimators: volume, biomass, carbon_pools, site_index, tpa, grm_base.
Bug
_extract_evaluation_year()insrc/pyfia/estimation/base.py(line 597-633) has the same fixed-width EVALID parsing bug fixed in #79 forfind_evalid().The method checks
len(evalid_str) != 6and rejects 5-digit EVALIDs from single-digit FIPS codes (AL=1, AR=5) as "invalid format", falling through to thePLOT.INVYRfallback.Impact
Low severity — this method is used for year inference in output metadata, not for selecting which evaluation to use. The fallback to
max(INVYR)from the PLOT table usually produces a reasonable year. However, it logs misleading "Invalid EVALID format" debug messages for affected states.Called by 6 estimators: volume, biomass, carbon_pools, site_index, tpa, grm_base.
Suggested fix
Either:
END_INVYRfromPOP_EVAL(consistent with Fix EVALID year parsing for single-digit state FIPS codes #79), orevalid % 10000 // 100extracts the year portion regardless of digit countRelated
Fixed for
find_evalid()in #79.