
Welcome to the Birder's Diary Forum for Support And General Questions
Use the Support forum for all questions or issues.
Use the Wish List forum to leave your ideas for improving Birder’s Diary.
Use the Community Sharing forum for sharing Photos, Trips, Stories, etc.
Setup your Forum photo and profile here.
I just downloaded and installed the new IOC 13.1 2023 list. The installer ssemed to behave normally, and went through the usual reconciliation step to deal with splits. However, when I got the reconcilation report, I had gained a few species, as expected, but I had lost 24, which seemed high. Looking at the list, at least some of these species (I did not check them all) have disappeared altogether from the new IOC list, and are not just renamed through a lump. To take a simple example, when I try to show my sightings of Eastern Meadowlark, using the new 13.1 list, no sightings appear at all. When I look at a day with Eastern Meadowlark sightings using the old IOC 11.2 list, I can see Eastern Meadowlarks. When I show the list for the same day using the new IOC 13.1 list, there is no Meadowlark of any description at all, just a shorter list. In other words, it does not seem to have been assigned a different name - there is just nothing corresponding to those sightings.
Here is a dropbox link to the Reconciliation Report:
https://www.dropbox.com/s/azbtsmzkgaynpso/ReconcileReport.html?dl=0
More details: IOC 13.1 does include the split of Eastern Meadowlark (Sturnella magna) into Chihuahuan (S. lilianae) and Eastern (still S. magna), and both taxonomic list and Rosetta Stone genus information properly include all three Sturnellas. However, this split was not included in the list of species to reconcile in Birder's Diary. All the sightings that WERE Eastern Meadowlark in IOC 11.2, whether they would now be Chihuahuan or Eastern no longer appear in lists when I use the IOC 13.1 taxonomy. Old sightings no longer correspond to a Thing in IOC 13.1. My hypothesis is that the other mysterious absences are all cases where there was some sort of split that did not get dealt with in the Birder's Diary reconciliation step.
Hi David,
Thanks for posting and for posting the Reconcile report. Very helpful.
There were a lot of Lumps in IOC 13.1. They went from split-happy to lump-happy this time around.
So, that report is what I would expect it to look like if you had not reconciled your Eastern Meadowlark sightings. But I suspect that if you pull up the Reconcile window (Features | Advanced | Reconcile Sightings) that you have zero Things to reconcile when you specify IOC 11.2 and IOC 13.1 - correct?
Then I realized that you have the Everything license, and so you first upgraded to Clements 2022 last fall and then just recently upgraded to IOC 13.1. These two taxonomic lists are not compatible in a handful (about 221 out of 31,000+) of Things. The Eastern/Chihuahuan Meadowlark is one of those. It is just a mind-numbing task to attempt to align everything between the two. The recommendation has always been to stick with one, and only one, for your sightings counts, etc. You can use the other to review differences, etc. but they won't always agree at a base level.
I have to weigh how many folks this might affect (99% of everyone sticks with 1 tax list), the effort to align most of the mismatches (2-3 weeks of mind-numbing comparison), potential other higher-severity errors that this alignment might cause with features such as Reconcile, and the value that doing such might add.
The equation comes out to allowing for 221 things that don't line up. What you have found.
I actually have code that will correct 99% of those 221 misaligned things. And since you have already done the Reconcile (first with Clements and now with IOC), the risk of side-effects is low.
I have been doing some testing now since your original post on this, and believe that the risks are lower than I thought (in fact, I couldn't find any issues after thorough testing), and that I should have done this alignment - as I have done in the past.
So now my plan is to realign the IOC 13.1 with Clements 2022 on these 221 things and re-release it. This will only affect <1% of BD users that actually import and somewhat use both taxonomic lists. So anyone that doesn't use both Clements 2022 and IOC 2023, there is no need to reimport.
For you, I can get onto your computer (or you can upload your DB to me) and I can run the code that will properly align these things. I tested the Reconcile report and test sightings and everything appears correct once I run this code, before or after the import/reconcile of IOC 13.1. Let me know what you want me to do with respect to your DB. You also could wait until I release this change, give me about 3 hours, and revert your DB back to pre-IOC2023 and reimport with the new IOC2023, and reconcile. Your choice. Let me know.
QED
Update: I should have been clearer about the code I already had that located mismatches between Clements and IOC. This code has existed for years now. However, due to changes in taxonomic lists, import process, reconcile process and the reconcile report... I wasn't sure that this code wouldn't break multiple things in multiple places. I reasoned that it was too much of a chance to use it for this release.
The problem is that I didn't try it as I didn't have a good idea on how to test it end-to-end in multiple places and with multiple different scenarios. But this post prompted me this morning to spent some time looking at this again, and it turns out the test to find out what it would break and how to fix it turned out not to be too hard. And the result is, it doesn't break anything. So, it is the right thing to do.
I have run this code against IOC 13.1 2023 and rebuilt the installer with the new files. Since David created a backup before importing this, he will restore to that backup and download/import/reconcile with the newly updated list.
If you do not use Clements and IOC interchangeably in Birder's Diary, then this is of no consequence, and there is no issue proceeding with the first release of IOC 13.1 2023.
Else if you do use both interchangeably and you have a backup from before the import of IOC 13.1, restore to that backup, download, import and reconcile again. If you do not have a backup, then remove IOC 13.1 from your system using the Taxonomy Viewer.
Now, download, import and reconcile IOC 13.1 again.
The new version of IOC 13.1 2023 is now available.
Hi David,
Thanks for all the details. I haven't read through it all yet, and just taking this from the top down.
This is going to be long and complicated, so please take your time, and let me know what questions you have.
First, there was a complicated four-way split of Mouse-colored Tyrranulet in IOC13.1, and I had seen three of the four products of that split. However, only the Tumbesian Tyrranulet came across into IOC13.1. My sightings for the Northern Mouse-colored Tyrranulet and the Maranon Tyrranulet are not accessible in IOC 13.1.
From what I can see, it is a 2-way split of Mouse-colored Tyrranulet for both IOC 2023 and Clements 2022. The reason you appear to be missing those sightings is because my IOC-2-Clements matching algorithm isn't robust enough to catch it. Here comes the mind-numbing, endless-hours part I was talking about.
Clements split from N. murina to N. incomta and N. murina.
IOC split from N. murina to N. incomus and N. murinus.
So, the matching program doesn't catch that difference. There are probably at least a dozen of these edge cases; and then a few more that fall outside of the possibility of the matching program.
Second, IOC 13.1 does not recognize any of my sightings of Forest Robin from IOC 11.2. This may be a different sort of error, as the genus level description for Stiphornis in IOC 13.1 brought up by Rosetta Stone has only a single species S. erythrothorax, the Forest Robin, but the text describes a three-way split. So, there is no actual separate description or Latin binomials of the products of the split: Olive-backed, Orange-breasted and Yellow-breasted Forest Robins.
IOC 2023 did not split this species, but Clements 2022 did split this species three ways into the above mentioned birds.
So, you cannot correctly assign IOC's S. erythrothorax sp to any of the 3 Clements spuhs.
So what I have done here is:
- Clements sp S. pyrrholaemus is assigned to IOC ssp S. e. pyrrholaemus - correctly.
- Under the two polytypic splits in Clements, each of their ssp are assigned to IOC's relevant S. erythrothorax ssp.
All good at the ssp level across both tax lists.
And here is where this problem lies... the matching program matched IOC's S. erythrothorax sp to Clements sp of the same classification. And, I think if you run/view your Reconcile report for Clements 2022 vs Clements 2021, you will probably see that you assigned any S. erythrothorax to S. mabirae or S. pyrrholaemus, but not to S. erythrothorax. Let me know. This would explain why you can't see any of your older sightings, as nothing in IOC 2023 is attached to those two spuhs in Clements 2022. Clements S. erythrothorax should not be assigned to IOC's S. erythrothorax. So we just found another edge case where the matching program did the wrong thing.
And now we are starting to see why no other programs ever attempt such an alignment.
This brings up two questions: First is there a way to bring these lost observations into IOC13.1? One idea that occurs to me again is to rewind to the pre-IOC13.1 backup, but then convert from Clements 2022 into IOC13.1, but I wanted to ask your opinion before trying that.
I am glad you did ask. But I don't see how that would help anything. And might only serve to muddy the waters with further issues.
With my description of the issue above, I think the proper course of action would be the following in the case of the Forest Robin.
- De-couple Clements S. erythrothorax from IOC's S. erythrothorax.
- Add sightings for IOC's Forest Robin at the spuh level. Clements won't see those.
- OR - - Move your sightings to the subspecies level where the assignments are correct and matching between the two lists.
Second, I am worried that other sightings may have similarly been ‘lost’ in previous updates without me realizing it. Is there a way to detect sightings that have no Thing associated with them?
There is no such thing as "Sightings that have no Thing associated with them", as far as I know. I don't see how that could happen, and we don't have any evidence of that here as far as I can see.
I ran the Birds-IOC-2023.exe file, which generated this error, which I believe I have seen with other taxonomy updates: ... file already in use ...
Running Birds-IOC-2023.exe doesn't touch the database.mdb file. So, I don't know how you could have gotten this error by running that. Very strange. The solution is to close BD, assuming it is running, and then run the installer again if that occurs again.
When I restarted Birder's Diary, I deleted the partially installed 13.1, closed Birder’s Diary, and rebooted for good measure. Then I reran the Birds-IOC-2023.exe, and when I reopened Birder’s Diary, the new taxonomy dialogue was there, and after running it, there were now NO reconciliations to act on. It seems like the old reconciliations were not lost when I restored from a backup made BEFORE I started on IOC 13.1. This seems pretty odd, but maybe not really a problem, unless is somehow leads to the remaining problems with my sightings.
The Not Responding error is probably a Windows issue. Stopping and restarting was the correct thing to do.
Not sure how the Reconcile info was retained if you restored to a backup from before the 13.1 import/reconcile actions.
So, in short, these last 2 things are strange anomalies, and let's ignore them unless they happen again. They will get in the way of the bigger picture here.
Let's focus on making the linkage between Clements and IOC as good as possible.
My thoughts on this in no particular order:
- Review your Clements Reconcile report. Hopefully that data is not compromised in any way. Please share that with us if you can. If it is good, it should give us the complete picture of how we got where we are.
- Review your Forest Robin and Mouse-colored Tyrannulet sightings using Clements 2022. When in the Sightings View/Edit window, use the slider to view all sightings under the Stiphrornis genus. Right click on the various sightings for the different Things and choose Thing Cross-reference from the popup menu. This will allow you to see what Things in IOC each is attached to.
- Think about the case of the Forest Robin, not split in IOC but 3-way split in Clements. Easy to assign the subsps but the species don't line up. I could create a tool that allows the user to correct Thing-2-Thing assignments between tax lists, but worry about creating a mess. Also, just how would you handle this specific situation of the Forest Robin?
- I don't think the Reconcile logic and code may break down under this situation - Clements-and-IOC - but I am not sure and don't have any evidence yet that it has. But for sure, I didn't design it with this possibility in mind.
That's enough for now. Let me know your thoughts.
Hi David,
I did not keep older Reconcile sightings reports, so I can't go back and look at my Clements 2021 to 2022 for example. Your post implies that I can rerun the reconciliation, but I want to check whether that this won't cause more problems before doing it.
Just open the Reconcile window, fill in old and new Clements list, and then click on the Report button. That is all that is required. The report is built from an internal log that records every action you made during the reconcile.
The concern I have is that I didn't write the Reconcile functionality (including report) with the idea that someone would reconcile the same sightings across multiple taxonomies that disagree with each other to some extent.
What I mean by a sighting without a Thing, is like the earlier case of the disappearing Meadowlark, of the current Forest Robin. I call for sightings in a particular taxonomy, and some sightings are simply not accessible.
Sightings are *never* destroyed by BD except by explicit user action. Reconciled sightings are never deleted.
During the Reconcile, when the old taxonomy has a Thing which is *not* in the new taxonomy, the user is asked to assign those sightings to something in the newer taxonomy. Copies of those sightings are made and assigned to the user choices. An internal log is kept of all such assignments that the user makes.
So, in this example, Clements 2021 Mouse-colored Tyrannulet was split into Northern/Southern species in Clements 2022. The Thing assigned to 2021 Mouse-colored Tyrannulet was not used in Clements 2022; two new Things were created for Northern/Southern Mouse-colored Tyrannulet in 2022. So, Reconcile asks you to assign all existing sightings for Mouse-colored Tyrannulet in 2021 to one of the two new Things. And you do so and move on. And these assignments are logged.
In comes IOC 2023. It does not contain the old Mouse-colored Tyrannulet Thing nor the two new Northern/Southern Mouse-colored Tyrannulet Things; because they were not matched across the tax lists by the IOC-2-Clements matching code due to different sci names. So now, you have assigned your sightings to two Things that are in Clements 2022, but are not found in IOC 2023. So, when using IOC 2023, you don't see those sightings because nothing in that tax list classifies those two Things. Just as you wouldn't see sightings for a Monarch Butterfly, because that Thing is defined in the Butterflies taxonomy, and not in the IOC 2023 taxonomy. Important: the sightings are still there; they haven't gone anywhere; just inaccessible by IOC 2023; because IOC 2023 does not classify those Things.
What I am worried about is the compounding effect of these changes. If converting from taxonomy to taxonomy only acts on the sightings referenced by that current taxonomy the next conversion will also miss them. So, if I did not correct Forest Robins now, they will never appear again, and they are effectively lost to me, at least within IOC. That is what I want to detect from previous updates, whatever you want to call it.
Yes. That is going to happen with 200/10,000 (2%) of Things (only concerned about that 2% you have sightings for) when you mingle Clements and IOC. One taxonomic list has to be the Master, and the other for reference.
So, lots of details here. But I know you are the kind of guy that likes the details.
What I am thinking:
- The Reconcile Report already alerts you to missing sightings in this case.
- A tool that allows you to see the mismatches (potential issues) between any two taxonomic lists.
- A tool that allows a user to re-assign Things in one Tax list to match another. Concerned here because this can get users into unexpected issues if not thought through clearly before making any changes.
Let me know your thoughts.
I am going to continue to add more to this story/problem/puzzle, because I would like to improve this, and one of the ways is to get input/ideas for others.
Are you starting to feel the brain numbness yet? 😉
So, first some numbers.
- Clements 2022 has 31,294 Things (sp and subsp) defined. 10,906 are species; 20,388 are subsp.
- IOC 2023 has 30,970 Things (sp and subsp) defined. 11,140 are species; 19,830 are subsp.
- The 221 number I stated earlier needs clarification. The true definition of that number is the number of Things in each of the two taxonomies that share the same Sci Name but do NOT point to the same internal Thing in BD.
- This happens because of the algorithms that initially build the taxonomies don't take into account trying to align with other taxonomies.
- Now this tool that calculates these deltas and attempts to correct them is about 97% successful. But there are edge cases that don't fit simply auto-assigning IOC Things to Clements Things just because the Sci Names match. Sometimes IOC will switch the SciNames of Things, compared to Clements. For example, sometimes Clements will classify two Things as A. b. and A. c. while IOC will classify the same two things, respectively, as A. c. and A. b. But it is clear based on Range, that Clements' A. b. is IOC's A. c., and so forth. So assigning mismatched Things strictly on SciName is not always correct. And that is just one example.
- Other edge cases are like the Mouse-colored Tyrannulet, where both split but did not agree on the Sci Name for each in the split.
- Another is the case of the Forest Robin; 3-way split in Clements, not split in IOC. Clearly IOC's S. erythrothorax should not point to Clements' S. erythrothorax.
Now, let's add another tool that I created years ago in an attempt to send me to the insane asylum ahead of schedule. This tool identifies ALL THINGS classified in IOC that are not classified in Clements. That number is 789 as of right now. See screen shot here.
This was originally created for use with ABA/AOS which were subsets of Clements, and I needed to make sure all things in ABA/AOS were classified in Clements. When you run this tool against those 2 taxonomic lists, there are zero mismatches.
But the tool can easily be used for the purpose of identifying ALL mismatches between IOC and Clements. Trying to use this tool to correctly realign mismatches between the two taxonomic lists is mind-numbing!!! Easy to use to correct found edge cases such as the Mouse-colored Tyrannulet and Forest Robin. But, trying to process all 789 is hard. The reasons for each of the 789 fall into a myriad of reasons that we have only begun to touch on.
What I am going to do now, is to give this old tool a serious look to see how I might be able to develop patterns and algorithms that can automate some of this matching.
As an exercise for any glutton of punishment, I dare you to download the Excel spreadsheet for both Clements 2022 and IOC 2023; combine them into one spreadsheet with Clements Things on the left and IOC Things on the right; then go through all 31,294/30,907 Things and attempt to match them. Call me back in a year from the insane asylum and let me know how you are doing. I say this in jest. Please don't try, it will drive you crazy.
IOC, to their credit, tends to produce just such a spread sheet each year. Their latest compares Clements 2022 to IOC 11.2 2022. And it only deals with the species. No attempt whatsoever to align the subspecies. And, I have a tool (yep, you have no idea how much time I have spent trying to make the best possible alignments) that analyzes that spreadsheet. It contains 8-10% errors approximately. So, how do you think the IOC team fared at this task? And they only deal with the species!
So, I will leave it here for now and take a look at improving this tool that finds all mismatches and see what I can come up with. I have already fixed the Mouse-colored Tyrannulet split situation using it. But that was easy. Stay tuned and let me know your thoughts and ideas.
As to the first problem of avoiding the initial loss of a sighting to a taxonomy. The Reconcile report as given now does not effectively do this. It gives list of things lost, and things gained, but not the correspondences betweeen them. A very useful addition would be to either give all transitions from one Thing to another,
The current reconcile report does that. It is at the bottom and shows all assignments made by the user. Yours shows Zero. Indicating you did not assign anything yet during the reconciliation of IOC.
Here is what mine shows in a fresh test database that contains Clements 2021 and 2022 and IOC 11.2 and 13.1.
In that fresh database I added 4 sightings of Eastern Meadowlark using Clements 2021.
Then I Reconciled Clements 2021 against 2022 and assigned two to Eastern and two to Chihuahuan Meadowlarks.
Then I ran the report and here is what I got. And it does show correctly every action I took.
Now, after that, if I try to reconcile IOC 11.2 against 13.1, there is nothing to reconcile. And the report shows Zero things reconciled, as in your case, because with IOC, I did not reconcile any sightings.
Now, you should run the same report by specifying Clements 2021 and 2022 in the Reconcile window and clicking the Report button. There you should see all changes you made.
or just to flag the instances where one Thing in the old taxonomy has no corresponding Thing in the new taxonomy.
That is precisely what the Reconcile window is showing! The checkbox in the lower left-hand corner is checked by default. Thereby only showing those Things with sightings where one Thing in the old taxonomy has no corresponding Thing in the new taxonomy. Only the Things you have to deal with.
If you want to see the complete list, what you are asking for, uncheck that box and click Analyze again.
Second, it would be great to have a tool to run that would look at all the sightings in the database and flag all those that do not have a Thing that corresponds to them in the taxonomy the user enters. Call it the Sighting-Thing mismatch tool.
Nice idea. I have that in the Orphaned Sightings feature. But currently, it flags any sightings that are not classified by any licensed taxonomic list in your database. Truly orphaned.
I see a problem with your idea however, and not sure how to get it to work as expected. For example, I have sightings for plants, butterflies, insects, spiders, mammals, etc. etc. in my database. So, if I asked for a list of all sightings not classified by IOC 13.1 (for example), I would get a lot of irrelevant sightings - a lot. Off the top of my head, I can't see how to make such a tool work as you are wanting it to.
Then there is the unfortunate case of the Meadowlarks where I have literally hundreds of sightings that were lost in my first IOC 13.1 update. This is far too many to expect to reenter.
I don't understand this. If you restored to a pre-IOC13.1 database, and imported the latest IOC 13.1 taxonomy again, then all of your Clements 2022 sightings of both species will show up under IOC 13.1. I just tested this and it indeed worked like this. What am I missing? I only had to reconcile them once, using Clements, and then when Reconciling IOC, that was one Thing that was not needed to Reconcile. The IOC Reconcile report correctly shows that the user changed nothing, but that they gained the Chihuahuan Meadowlark. The Clements Report shows the assignment made and also that they gained Chihuahuan Meadowlark.
The more complex version of a resolution mechanism is that at the end of reconciliation, or upon running the sighting -Thing mismatch tool, the user would be presented with a list of sightings with their original names (or last known Things that matched them), and prompt the user to enter the appropriate name in the taxonomy they are missing from. Again, the burden woud be on the user to figure out which Forest Robin, matches which Forest Robin split.
Yep, that is the reassignment tool I was thinking about. Still thinking.
Let me know what you think after reading this one, and the others.
Sorry my responses are so long, but they require specifics, because as you can see, this is a very complicated topic.
I very much appreciate you willingness to go down this rat hole with me. It gets lonely in that rat hole all by myself! 🙂
The query would be all sightings in BIRD taxonomy Y that do not have a corresponding sighting in BIRD taxonomy X. Surely that is possible.
This is exactly what I am working on now. Just remove the word BIRD. And you can compare any two taxonomies. Of course, it would only make sense in the case of Clements 2022 and IOC 2023. It wouldn't make sense for IOC 2023 vs IOC 2022; that is what the Reconcile wizard is for. It would only be for current Clements vs current IOC. This is a very specific tool to solve only this one issue. As that issue does not exist elsewhere anywhere in BD. Only in Clements vs IOC do we have this issue. And only when users attempt use both simultaneously.
I spent 2 hours just now on the first 20 or so of the 789 mismatches, and the reasons are all over the board. Splits/lumps/additions/deletions recognized by one but not the other. Inconsistent or errant classification naming. Mismatched or errant common names. On and on.
But having the user focus on those things that would affect them is the way to go.
About to kick off for the day. Need a stiff drink. Back to this tomorrow.
I have uncovered a potential problem which I was afraid of that I think occurred after I ran the 'Match IOC Things to Clements Things' function on the last release of IOC 13.1 2023. It seems that some tagging information (used by the Reconcile wizard) was lost. Not sure yet exactly where that data got lost at. So I need more testing and debugging in that area.
Update on this. I found the problem and it has nothing to do with the IOC-2-Clements matching. It was only how I creating the test database for this.
I started with a fresh DB with only Clements 2022 and IOC 2023 in it. Then imported Clements 2021 and IOC 2021. This import is what corrupted the taxonomy tagging used by the Reconcile Wizard. Of course, no customer is going to import the tax lists in this reverse order and attempt to reconcile sightings. Once I imported all 4 tax lists in the correct order, everything was correct.
Pheewwwww. That was causing me loss of sleep last night. Glad it was a simple no-problem issue.
fyi only
Dear Jeff,
The new tools you describe should be a reasonable way to address the fears about losing older sighthings. I will be happy to try them out and report back.
I understand if my ideas about taking the burden of IOC vs. Clements out of your hands as much as possible are not practical to implement. Still, if there are other ways of minimiizing the effects of Clements updates on IOC lists, and vice versa, that might help you. The problems we have discovered with this IOC 13.1 update seem to have arisen when the Clements 2022 had an effect on the IOC 11.2 Things.
I hope that you can also augment the Reconciliation Reports for future updates to flag the loss of sighting identities.
Also, I have deleted some older taxonomies whose updates might also have caused undetected problems. The worst case is I guess where a sightng is lost first in one taxonomy, and then again in other at the next update. And the orphan sightings would catch that I guess?
Hi David,
Again, thanks for all your help, input and critical thinking on this matter.
The problems we have discovered with this IOC 13.1 update seem to have arisen when the Clements 2022 had an effect on the IOC 11.2 Things.
I am not sure I see what you mean here. If the Clements 2022 import/reconcile had an effect on IOC 11.2 Things, that would be a bug. That should not be possible. I leave all older sightings in place, such that everything IOC 11.2 used to be able to see, should all still be exactly as it were. If you find different, please let me know.
I hope that you can also augment the Reconciliation Reports for future updates to flag the loss of sighting identities.
Not sure how that would work. This new tool is something you would run after an import/reconcile of either a new IOC or new Clements taxonomic list. And it will show you sightings that don't line up between the two latest versions in your database. With that said, you can see how you might get into trouble with fine-tuning after each update when, for example, IOC 2024 is not supposed to align with Clements 2023 and vice versa. But, we will leave that up to the user.
What did you have in mind with this statement?
Also, I have deleted some older taxonomies whose updates might also have caused undetected problems. The worst case is I guess where a sightng is lost first in one taxonomy, and then again in other at the next update. And the orphan sightings would catch that I guess?
Yes, that is correct. And it allows you to edit the sightings and take corrective actions to properly place the sighting in one or more tax lists.
I should have the new feature ready for download and test later today or tomorrow.