mankoff / sankey

Sankey diagram for ice sheet mass flow
6 stars 2 forks source link

Graphical plan #16

Open mankoff opened 1 month ago

mankoff commented 1 month ago

Options are (hopefully): GL, AQ, E, W, & P. Can also generate GL each year, or GL seasonally.

Possible figures

Option 0

Other options?

See also #17

mankoff commented 1 month ago

All 5 in one figure:

image

mankoff commented 1 month ago

Point of discussion: No GL2019. It's a thematic outlier. Just AQ, AQ-by-region, and GL.

Can have a separate small-multiple with GL year (or even every month-per-year)? Some data static, but monthly or annual data from MAR, DYN from mankoff_2020 and Frontal Retreat from greene_2024?

mankoff commented 4 weeks ago

Small multiple of Greenland. X-axis is 12 months Jan -> Dec. Y-axis is decadal average, 1980s on top, 1990s, 2000s, and 2010s on bottom.

image

Note - diagram not yet capable of handling frontal advance, so I'm using abs(FRET) and the front is therefore always retreating. Winter months and earlier years would have slightly more mass gain if this were corrected. But I don't think this matters because I don't think this is a very interesting display. Snowfall in winter is small, mass gains are small when they occur. It's just dominated by summer runoff for a few months each year.

There may be something here, or in a different small-multiple display, but I'm not seeing it yet.

chadagreene commented 4 weeks ago

Might I suggest trying it with the edge lines removed completely, if that's possible?

The issue is that the high-contrast lines dominate the diagram visually, so that's what the eye grabs onto. The meaningful numbers that change from one small multiple to the next are depicted with the body of the diagrams, not the edges, so I think the bodies need to dominate visually.

mankoff commented 4 weeks ago

Here is a cleaner graphic as suggested. Maybe widths need to be log scale? Also, here negative frontal retreat set to 1 rather than abs(), so it's closer to correct.

I adjusted the width:height ratio too. July is too wide and is getting cropped.

month_decade

chadagreene commented 4 weeks ago

Oh that's much nicer (in my opinion)!

Conceptually, I'd say no to log-scaling or cropping any values. If the idea is to present a budget that illustrates where mass comes from and where it goes, then a pixel width of runoff needs to equal a pixel width of accumulation, and a Gigatonne in July needs to look the same as a Gigatonne in December.

mankoff commented 4 weeks ago

I agree with no log-scale. The cropping was never a real option :). I'm just making these small-multiple graphics quickly and sloppily. I didn't want to adjust the cropping numbers.

This display is much nicer but I'm still not sure it provides a lot of additional value or should be in the ms.

I think maybe two different figures might be a better option:

1) 12 months, average across some period (i.e., the above figure but averaged of the 4 rows), Or maybe seasonal averages, as there is not a lot of variability among many of the months.

2) Decadale average from 4 decades (i.e., the above figure, but summed across the 12 columns).

mankoff commented 4 weeks ago

Here are the four decades.

decade

mankoff commented 4 weeks ago

Here are twelve months. Top row is J,F,M,A. Middle is M,J,J,A. Bottom is S,O,N,D.

I haven' provided a legend yet. The black arrow at bottom right is mass gain. Red input at top left is mass loss. The rest may be deducable from the letter abbreviation. It's time to add labels, call-outs, and a legend...

months

desireetreichler commented 4 weeks ago

This is a very interesting visualisation initiative. I'm finding it hard to see smaller (more interesting?) changes/differences beyond arrows generally becoming bigger for later decades and summer months. If ambitions are to go beyond that: would diagrams with changes be meaningful/better able to show differences?

mankoff commented 4 weeks ago

Hi @desireetreichler

Interesting idea. Below is "2010 minus 1980" (left) and then 1980 (middle) and then 2010 (right). All to same scale/proportions.

image

I think it suffers from the same problem. The biggest things change the most, so the details are lost.

I still think this idea (difference flow) is worth exploring. But it'll also be technologically challenging to implement. If every flow can change direction, things get complicated, and TikZ may not be the best language to code this in. There are other Sankey packages: Matplotlib has one, and Plotly (which I think uses d3). My first attempt here used plotly (see sankey_plotly.org in this repo).

mankoff commented 3 weeks ago

On further reflection, the difference above (diff + 1980 = 2010) shows large items change by a lot, but another version (say diff = feb - jan) might look quite different. As I said, complicated (for me) in the current tikz framework, and is not captured by the current draft abstract.

If someone ever does want to add this view, there are a few commits last week that split Frontal Retreat FRET into FRLOSS and FRGAIN for frontal advance, needed for the monthly resolution product. That would need to be repeated for any product, which might change sign when differencing.

willkochtitzky commented 3 weeks ago

Ken, this is super interesting - I think this is an awesome idea for visualizing changes. I am having a hard time following the labels and deciphering what everything is, but the idea is super neat. I like the 2010 minus 1980 - I think that is really neat and nicely shows these changes. I agree with Chard and you that without the lines on the outside it is easier to see - I know you can easily do this perhaps something to do if you decide to put this figure in the paper

mankoff commented 1 week ago

Labels added. See README at https://github.com/mankoff/sankey/

mankoff commented 1 week ago

fig