dhruvbhagtani / North-Atlantic-Oscillation-tests

This notebook contains some preliminary analysis for the North Atlantic Oscillation index in general circulation models.
GNU General Public License v3.0
0 stars 0 forks source link

Idealized/composite NAO perturbations on top of RYF control #3

Open dhruvbhagtani opened 3 months ago

dhruvbhagtani commented 3 months ago

Advantages:

  1. Clean and simple - can fully isolate NAO impact from other sources of variability,
  2. Can easily evaluate temporal evolution,
  3. Less compute/storage.

Disadvantages:

  1. Idealized - some choices involved in setting up the forcing.
dhruvbhagtani commented 3 months ago

As the title implies, there are two ways of imposing the NAO perturbations over the RYF control:

  1. Idealised: Which variables do we change in order to achieve this? Do we just change the wind stress, or the sea level pressure too? If we are changing both, do we need to ensure the anomalies in both the sea level and wind stress are consistent with each other?
  2. Composite: If we go down that route, as of now the biggest thing that concerns me is the temporal frequency of the perturbation. If the perturbation is going to be time-independent, I am happy, otherwise, this setup involves outputting (high-frequency) variables from the IAF simulation (which I have already tested and started running) run to create our perturbations. The thing I am not happy about with the time-dependent setup is just the fact that I'll have to rerun all simulations, but nothing else.
rmholmes commented 3 months ago

I don't understand the difference between 1 and 2. Where does the forcing for 1 come from? Is that from a regression pattern? Please write out fully what you mean and how it would be done.

W.r.t. wind stress vs. SLP: The ocean model really only cares about the wind stress here. SLP has only a tiny impact, as far as I recall, through a small modification to the bulk fluxes. You could consider also altering other variables accoridng to their relationship with the NAO (e.g. air temp), but I don't think that's really what you're interested in.

When doing composites I think you would have to smooth out high-frequency variability anyway, because you likely won't have enough events for it to smooth out automatically. Again, please write out fully what you would do to derive the forcing for 2.

dhruvbhagtani commented 3 months ago

Sorry, I was a bit busy last week, so couldn't find time to work on it.

For the idealised case, regression could be useful in understanding the meridional structure of x-wind stress. The idea would be to add a zonally-constant x-wind stress.

But after spending a bit more time, and after reading Maurice's work, I think using a composite approach makes more sense. We could pick the anomalies in all forcing variables (see correlations of NAOi with each forcing variable here). From this notebook, we can decide on whether we should add anomalies to the RYF setup for each variable, or only specific variables. I am not sure which one would be cleaner setup. If we decide to go down the route of changing only specific variables, here is my take for each variable (based on the notebook I shared):

  1. x- and y-directed wind stress are well-correlated (in all seasons, which may help answer another related question; more on it below). So, we should definitely add anomalous winds to our RYF setup.
  2. SSTs are at best weakly dependent, so we can leave them.
  3. Longwave and shortwave are strongly dependent for some seasons. I don't think we should add them either, since we are looking at fast responses.
  4. It's interesting how well-correlated rain and snow are to the NAOi; however, I don't think they matter too much. So I vote to skip it as well.

Another related question on our composite setup is what to do for each season. I did a correlation and regression analysis for the NAOi and gyre strength for each season here. It's good that the NAOi is well-correlated with the wind stress for all seasons. The strongest link is surely the DJF case, but nonetheless, there is good correlation in other seasons as well. Furthermore, I looked at the literature and its not set in stone that the NAOi has to be the wintertime pressure oscillations, so the first mode in pressure oscillations for any season can be termed as the NAOi. So, I vote to have an anomalous NAOi on top of the RYF for all seasons.

If we all agree on that, then the next question is: what kind of anomalous NAOi do we apply - seasonally-constant or varying? Since the NAOi is defined as the first mode of SLP fluctuations, if we have a DJF SLP mode as our seasonally-constant flux, all we are doing is picking the strongest occurrences of the NAOi, which is okay.

In summary, my take on the RYF setup:

  1. Change all variables or some - Just winds
  2. Anomalies for just DJF or for all seasons - all seasons
  3. Seasonally-varying or seasonally-constant - seasonally-constant
rmholmes commented 3 months ago

Thanks @dhruvbhagtani!

The forcing variables for a bulk-forced simulation do not include wind stress or SST. Instead, the fluxes (wind stress and heat fluxes) are computed using bulk formula. I presume this is the case also for your MOM6 experiments? If so, the fields you would actually modify include 1) U and V wind speed, 2) air temperature and 3) air humidity, on top of the radiation fields you have considered already. Wind speed and air temperature will probably look a lot like wind stress and SST, but it might be useful to make those correlation patterns as well (including air humidity)?

Your arguments about seasonally-varying vs. all-seasons make sense to me. The simpler the better!

dhruvbhagtani commented 3 months ago

Nice! Oops, good point, I forgot I have transitioned from my simpler MOM5 experiments. I agree we'll have to change the air temperature and humidity in addition to wind speeds to get the stresses right.

I'll try to get the correlation patterns with u and v wind speeds, as well as with humidity before we chat in the afternoon.

navidcy commented 3 months ago

I think (to me) changing all fields sounds the simpler thing to do? Also the simpler to explain... ?

dhruvbhagtani commented 3 months ago

Updated setup:

  1. Changing all forcing variables ✅
  2. Seasonally constant perturbation ✅

How to compute the NAOi? By deseasonalising sea level pressure anomalies for the entire year and taking the first EOF mode. The amplitude will probably be somewhere in between the wintertime and summertime index.

How to create the anomalous forcing fields? For each variable, we will regress the NAOi (for simplicity, let's take the normalised index) against each forcing field. We'll get a spatial pattern of the forcing variable's changes with the normalised NAOi (with the units being the forcing variable per unit NAOi; for example, for the wind velocity, the units will be m/s/NAOi). This regression pattern can then be used to compute anomalies. For example, if we want our positive NAO phase to be indicated by amplitude 1, then we will multiply the regression pattern by 1 to get the anomalous forcing field, which we can then superimpose on the RYF forcing.

Note 1: Even though the RYF setup is supposed to be a neutral year, it might be worth checking if there is any residual NAO pattern in the RYF setup as well. But how do we check it? Read Kial's paper, he may have mentioned something.

Global vs local anomalies for forcing?

Compute this regression pattern for each variable by considering the entire globe. Except in regions of teleconnections, the NAOi should not be much correlated with the forcing variables outside of the North Atlantic. This pattern can be used for anomalies; and it's likely that the major anomalies will be local. We can choose to apply the residual non-local anomalies, or taper off the North Atlantic anomaly at the edges to not cause any sharp gradients.

rmholmes commented 3 months ago

Looks good to me. Just confirming that with your normalised index approach "amplitude 1" would mean a "1 standard deviation" NAO anomaly.

With regards to whether the RYF forcing is neutral or not - this is worth checking, but since you'll be working with a simulation that has been equilibrated to this forcing it will effectively be neutral anyway so won't make much difference.

dhruvbhagtani commented 3 months ago

Thanks! Yes, you're right, amplitude 1 and 1 standard deviation anomaly are equivalent.

I didn't fully understand your statement about the simulation being neutral. I checked Stewart et al 2019, with different oscillation indices shown in Fig. 3 for the entire period. I see that the NAOi is ~0.5 for years 1990-1991, and it may have had an impact on the gyre.

rmholmes commented 3 months ago

I mean that your control simulation will have adjusted to those anomalies, so as far as your perturbation experiments are concerned the control experiment will be neutral.

dhruvbhagtani commented 3 months ago

True -- sorry I meant to say that isn't it more likely then, that using the RYF simulation as our control, gyre anomalies with +1 standard deviation perturbation experiment will be smaller than in -1 standard deviation experiment?

rmholmes commented 3 months ago

No, the anomalies are still symmetric, they're just around a different mean state (which has its own biases anyway). Unless you're proposing something non-linear?

dhruvbhagtani commented 3 months ago

Ahhh, I got it now. No I wasn't even thinking about non-linearities, it was something much more basic which I now realised, thanks!

navidcy commented 3 months ago

Nice chat. Just chimed in. I agree with @rmholmes about anomalies-equilibrated RYF etc. Seems like a good plan.

Still there is the other potential plan though (discussed in #1?) with the composites. Perhaps it worths making that quite specific (detailed step by step) to have something solid to think about?

dhruvbhagtani commented 3 months ago

True, I think we can keep it on hold till the first IAF cycle is completed, I'll analyse it and probably be in a better position to make a call.

dhruvbhagtani commented 3 months ago

Hi, this notebook contains two things:

  1. Defining the NAO index: Compares NAO index computed (i) using DJF data and (ii) using all months (deseasonalised; considering how much I struggled during GRL paper revision to deseasonalise, I was very quick this time haha). The first EOF pattern is similar, only weakened, which I hope should be okay. The NAO index is thus defined using the deseasonalised data, and is scaled to unit variance.
  2. Correlation and regression plots for the NAO index and forcing fields (monthly-means): Since the NAO index is scaled to unit variance, I think all we need to do is decide on a standard deviation, multiply it with the regression fields, and we've got our spatially-varying, temporally-constant anomalies to put on top of RYF control!

But before that, we need to discuss local vs non-local anomalies in some more detail. From the regression plots in the notebook, here are some points:

  1. In general, the regions of high regression are also regions of high correlations (be it positive or negative). This is great, because this means that we can apply global anomalies and not be too worried about teleconnections.
  2. An exception is specific humidity is not correlated anywhere with the NAO index, but regression is high.
  3. Another exception is rain in the tropical Pacific and in the Indian Ocean showing good regressions without much correlations. Are they NAO-ENSO/IOD teleconnections?
  4. Another example is long wave in the Arctic showing good regression without much correlation. Is it related to Arctic Oscillation?
  5. Finally, shortwave shows high regressions all over the globe without any correlation.

Considering points 2-5 above, would these teleconnections impact the North Atlantic circulation a lot? I guess not (except in case of specific humidity, about which I don't have much idea), and if that's the case, I am happy to just apply global anomalies.

AndyHoggANU commented 3 months ago

Hi Dhruv,

Firstly — good that the deseasonalised full timeseries gives sensible results. I think this simplifies your methodology enormously.

Second, I agree re the correlations. My inclination from this is that any regression without a correlation is suspicious. I think as a first attempt, you would be well-placed to run perturbations with only the u & v opponents of wind being perturbed. If you wanted to go further, maybe add surface air temp and humidity — noting that humidity regressions outside the NA region are definitely smaller, albeit non-zero. But you could do this after a wind-only perturbation if needed?

rmholmes commented 3 months ago

Looks good to me.

The regressions have units - so you can only say whether they're big or not in comparison to something else. Why do you say they're big? Take rainfall under the ITCZ in the tropical Pacific for example. You've got anomalies reaching ~3e-6 kgm^-2s^-1 for a ~1 s.d. variation in the NAO. The yearly-mean rainfall there is ~1e-4 kgm^-2s^-1 (see average of RYF1990-1991 rainfall below). So it's 3% or less. Same goes for shortwave radiation. You're talking about an ~3Wm-2 variation on top of the 300 or so yearly-mean for the tropical Pacific region (1%). Of course, really you should be comparing these to the magnitude of the variability, but in any case, these don't seem so big to me. I wouldn't worry about them.

PS: There's a well-known teleconnection from ENSO to the NAO. I imagine that is what you are seeing.

image

navidcy commented 3 months ago

(deseasonalised; considering how much I struggled during GRL paper revision to deseasonalise, I was very quick this time haha).

that's part of learning :) you probably have noticed similar decrease in time scales in other aspects of your workflow

navidcy commented 3 months ago

Hi Dhruv,

Firstly — good that the deseasonalised full timeseries gives sensible results. I think this simplifies your methodology enormously.

Second, I agree re the correlations. My inclination from this is that any regression without a correlation is suspicious. I think as a first attempt, you would be well-placed to run perturbations with only the u & v opponents of wind being perturbed. If you wanted to go further, maybe add surface air temp and humidity — noting that humidity regressions outside the NA region are definitely smaller, albeit non-zero. But you could do this after a wind-only perturbation if needed?

precipitation (rain+snow) and also sfc_pressure seem also pretty well correlated, right? (mostly asking to see whether I'm reading correctly)

I agree, we can start with just u and v as @AndyHoggANU suggests

I'm also delighted that the regression creates a global pattern that is mostly on North Atlantic and tapers off smoothly -- no need to think how to do that bit

dhruvbhagtani commented 3 months ago

Nice! I'll set up the RYF run. Good point Ryan, I also checked specific humidity anomalies too and they are negligible compared to the control.

One more choice to make before we run - what's the amplitude of perturbation? I did a quick analysis here, and it looks like 1 standard deviation would give 20-40% change in wind speeds, or equivalently, 44-96% change in wind stresses. If we take 0.5 standard deviation, we still get 10-20% change in winds and 21-44% change in stresses. amplitude of 0.5 sits well in range between the mean change in the index, amplitude 1 is mostly in the top 5-10 percent.

From the analysis, I think choosing an amplitude between 0.5-0.75 is quite realistic, and should be enough to see robust changes within the gyre too. What do you all think?

dhruvbhagtani commented 3 months ago

Yes Navid, that's right, rain and snow are also well-correlated, and is one of the many reasons why the NAO index is so much researched on.

dhruvbhagtani commented 3 months ago

Also, happy with just changing the winds for now, and see what happens. I guess air temperatures in the Arctic could be linked to long wave input in the Arctic as well, but since both are not correlated with the NAO index, happy to just change the winds for now.

rmholmes commented 3 months ago

1 standard deviation would be what one might call a "typical" amplitude for an event. I'm not convinced you'd want to go any lower than that, and I was going to suggest going higher than that in order to get a big signal (e.g. Maurice's experiment focused on the strongest ENSO events, probably equivalent to close to ~2 standard deviations). How did you get from your wind speed %'s to wind stress % changes?

rmholmes commented 3 months ago

Also, happy with just changing the winds for now, and see what happens. I guess air temperatures in the Arctic could be linked to long wave input in the Arctic as well, but since both are not correlated with the NAO index, happy to just change the winds for now.

I'm ok with this. I think it would be easier to justify modifying everything and it won't make a difference. But as long as when you setup your analysis and simulations its easy to swap in changes in all the other fields then go for it.

dhruvbhagtani commented 3 months ago

1 standard deviation would be what one might call a "typical" amplitude for an event. I'm not convinced you'd want to go any lower than that, and I was going to suggest going higher than that in order to get a big signal (e.g. Maurice's experiment focused on the strongest ENSO events, probably equivalent to close to ~2 standard deviations).

My reasoning for choosing a lower value is that we are applying these perturbations throughout the year, whereas the high (>1 or <1) deviations we observe in the NAOi are monthly blips, which may not affect the gyre a lot.

How did you get from your wind speed %'s to wind stress % changes?

I used wind stress = density of air drag coefficient |u| * u to calculate percentage changes. Am I missing something (apart from assuming low surface ocean velocities compared to wind velocities)?

rmholmes commented 3 months ago

Re: SD. Ok that makes sense. Easy to change later :).

Did you include the mean winds in that calculation? I'm just surprised that the wind stress % anomalies are larger than the wind speed anomalies - or maybe I shouldn't be...

dhruvbhagtani commented 3 months ago

Yes I did include mean winds the calculations, it was a back of an envelope calculation like: u_ctrl = 5 -> wind stress = rho Cd 25 u_positiveNAO = 7 -> wind stress = rho Cd 49

change in u -> 40%, change in wind stress -> ~100%

dhruvbhagtani commented 3 months ago

After testing a few things, I will start the RYF simulations with:

  1. std = +-0.75
  2. changing forcing for all variables (sorry I know we've been going back and forth but after writing down the pros and cons, I realised this is the better approach).
dhruvbhagtani commented 3 months ago

A small setback -- while preparing the RYF forcing variables, I was also preparing to resume the OM4 already run for 95 years on ik11. I checked that it has equilibrated quite well in those 95 years. To run it further, I need the same .exe file that was used to run ik11's OM4, which I can't find anywhere. I talked to Angus (since the ik11's OM4 uses his .exe), but he doesn't have it. To test whether the .exe in the GitHub repo (https://github.com/COSIMA/mom6-om4-025/tree/master) and in the ik11's OM4's are the same, I resumed ik11's OM4 using the .exe. mentioned in the GitHub repo, but I observe significant changes from equilibrium in those 5 years. So, I would prefer running the control experiment from scratch. This does put us about 12 days behind.