adele-morrison / IAF-meltwater

0 stars 0 forks source link

Overturning streamfunctions #8

Open taimoorsohail opened 2 years ago

taimoorsohail commented 2 years ago

Use depth-density, density-lat stream function to isolate the lat, depth and density classes of the AABW maximum, as well as the strength of the AABW.

taimoorsohail commented 2 years ago

OK, I'm having trouble with my code because my chunks are becoming very small (15kB), and for some reason rechunking isn't working.

Is anyone able to get this to run on their machine? This should slot directly into the example code as far as I can tell.

psi = cc.querying.getvar(control,'ty_trans_rho',master_session, \
                         start_time = start_time, end_time=end_time)
psi = psi.sel(time=slice(start_time,end_time)).sel(grid_yu_ocean=lat_slice)
psi = psi.sum('grid_xt_ocean')
psi_avg = psi.cumsum('potrho').mean('time') - psi.sum('potrho').mean('time')
psi_avg.load()
adele-morrison commented 2 years ago

Seems to be running for me, but takes a while (hasn't finished yet). What about just looking at an average over the final 10 years?

taimoorsohail commented 2 years ago

Yep, I think the issue is that when you run psi = cc.querying.getvar(control,'ty_trans_rho',master_session, \ start_time = start_time, end_time=end_time), the variable psi is automatically chunked with size time: 1, which means you get really small chunks (and a huge number of tasks that dask needs to perform) once you reduce dimensionality by binning. Each chunk ends up being about 15kB, which is way small...

psi.chunk(chunks={'time:20'}) and other variants don't seem to work to rechunk the variable

taimoorsohail commented 2 years ago

Seems to be running for me, but takes a while (hasn't finished yet). What about just looking at an average over the final 10 years?

I'm running for 10 years now, will keep you posted.

schmidt-christina commented 2 years ago

You can set chunks when first loading the variable, which I would always recommend

psi = cc.querying.getvar(control,'ty_trans_rho',master_session, \ start_time = start_time, end_time=end_time,
    chunks={'yu_ocean': '200MB', 'xt_ocean': '200MB'}
taimoorsohail commented 2 years ago

Thanks everyone, I got the code to work in the end. Here are some results using a lat-rho stream-function. The AABW appears to become lighter over the course of meltwater runs (that is, the lower overturning cell shifts up in density space compared to the control). These are plots of the 2009-2018 time-averaged lat-rho stream functions:

lat_rho_anom

This is replicated in all seasons (note the much more broadly distributed AABW cell in austral summer for both the control and melt). These are plots of the 2009-2018 time-averaged lat-rho stream functions, split into their seasons:

lat_rho_seasons

However, despite the lightening of the AABW, the magnitude (as represented by the bottom cell maximum) doesn't change significantly and is very noisy:

AABW_strength_maximum

taimoorsohail commented 2 years ago

Some options for next steps:

1) Spectral analysis of bottom cell time series to identify dominant modes of variability, and whether those are changing between the control and meltwater simulations (difficult due to strong ramp up of meltwater) 2) Repeat the above analysis for specific sectors of the Antarctic (and what are the longitudes defining said sectors?)

Thoughts?

adele-morrison commented 2 years ago

Nice analysis, thanks Taimoor!

All the responses (overturning here, SWMT https://github.com/adele157/IAF-meltwater/issues/6, temperature https://github.com/adele157/IAF-meltwater/issues/10, salinity https://github.com/adele157/IAF-meltwater/issues/5, sea ice https://github.com/adele157/IAF-meltwater/issues/7) look fairly small to me. I think before we proceed with more complex analysis here, it would be good to get a handle on how the temperature, salinity and sea ice time series compare to obs (i.e. are the obs trends just small too? or have we underestimated the meltwater perturbation?). And also figure out how large an effect the salinity restoring https://github.com/adele157/IAF-meltwater/issues/2 is having.

On Mon, 5 Sept 2022 at 11:49, Taimoor Sohail @.***> wrote:

Some options for next steps:

  1. Spectral analysis of bottom cell time series to identify dominant modes of variability, and whether those are changing between the control and meltwater simulations (difficult due to strong ramp up of meltwater)
  2. Repeat the above analysis for specific sectors of the Antarctic (and what are the longitudes defining said sectors?)

Thoughts?

— Reply to this email directly, view it on GitHub https://github.com/adele157/IAF-meltwater/issues/8#issuecomment-1236472432, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA44U27COFYAVDFADVX4HTV4VGTTANCNFSM6AAAAAAQB3IHRY . You are receiving this because you commented.Message ID: @.***>

taimoorsohail commented 2 years ago

Re: @AndyHoggANU 's suggestion to see the watermasses that have AABW slowdown - here are two plots of the depth- and zonally-integrated normalised volume fraction held in the density layers where the streamfunction decreases over time (from the IAF-melt simulations in 2018). The dashed lines show the approximate latitudes of loss of AABW strength:

WM_AABW_loss_zonal

WM_AABW_loss_top

It looks to be a signal likely from the abyssal Weddell and Ross sectors, more likely from the Weddell sector.