ltrr-arizona-edu / burnr

🔥 Forest fire history analysis in R.
https://ltrr-arizona-edu.github.io/burnr/
15 stars 8 forks source link

FHX file error checking #77

Open chguiterman opened 7 years ago

chguiterman commented 7 years ago

We need to ID data format problems in read_fhx. For example, if a series has a fire scar prior to the innermost ring in the series, this impossibility is currently ignored with no warning.

Ideally, we would provide a means to fix the problem in the burnr library

brews commented 7 years ago

Hey @chguiterman ,

Could you provide an FHX file giving an example of 1) what burnr does right now, 2) what you want burnr to do?

chguiterman commented 7 years ago

Relevant FHX file, Dumb_broke_fhx.txt

Burnr ignores the problems right now, plotting exactly what it finds. It should (at least) warn the user that a physical impossibility exists. For example:

read_fhx("dumb_broke.fhx") There are 2 warnings, see warnings() to view [or whatever the default output is] warnings() series ABC-01 includes an event _before_early-most ring series ABC-06 includes an event _after_outer-most ring

brews commented 7 years ago

I see!

Okay, so thinking about rules, we should check that:

And throw a full stop (not warning) if these rules are broken...? Sound good?

chguiterman commented 7 years ago

Your rules are good.

A stop could jam looping through opening lots of files. A detailed message (with object/file name and series) might be better. The series could be cut at pith/bark or inner/outer rings and those out-of-bounds events would be omitted. This is maybe better than forcing a user of another's file to change their dating without knowledge of the actual error or means to fix it appropriately.

brews commented 7 years ago

Okay. I think we can write I function to check for this kind of thing, stick it at the end of the fhx() constructor and have it check things anytime an fhx object is instantiated.

chguiterman commented 7 years ago

Good plan. Let me know when you want a beta test.

-- Christopher Guiterman, Ph.D. Research Associate Laboratory of Tree-Ring Research University of Arizona

On Wed, Mar 8, 2017 at 7:49 AM, Brewster Malevich notifications@github.com wrote:

Okay. I think we can write I function to check for this kind of thing, stick it at the end of the fhx() constructor and have it check things anytime an fhx object is instantiated.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ltrr-arizona-edu/burnr/issues/77#issuecomment-285060828, or mute the thread https://github.com/notifications/unsubscribe-auth/APLR6gevun3AFwSYqNF9vkMXg337_Sbnks5rjsAPgaJpZM4MRryu .

chguiterman commented 3 years ago

This is still an area of interest. Just ran into another problem that {burnr} should flag: no outer-year code EDIT 2022-11-29: There's no need to flag series that end on scar/injury features. These are not unusual in the real world because samples often degrade outside the scarring sequence (ie they break on the scar and you lose the outer or inner rings). {burnr} capably handles these cases and it does not affect summary stats or other stats, like composites or intervals. FHAES even allows it