Nawqaan 232

Wanted to get this out before refactoring. Still have a pending question regarding unloaded annual data and whether we should be handling that better.
We'll probably also need to map `constituent` back to it's displayed name so that the user sees a human-friendly name like 'nitrate' instead of the programmatic identifier 'no23'