ocean-transport / scale-aware-air-sea

Repo for collaborative project on scale-aware air-sea fluxes
2 stars 0 forks source link

Run our analysis code on NCAR data #41

Open paigem opened 2 years ago

paigem commented 2 years ago

I have been in the process of running our analysis code on the CESM/NCAR data.

Current status

The workflow runs! I'm currently figuring out a few issues (see below), but the code appears to be working.

Current sticking points

jbusecke commented 2 years ago

I am sorry that this is so frustrating to chase down the right variables. Maybe it is worth chatting with folks at NCAR about this? I feel we have good connections there and reaching out might be the easiest way to settle this once and for all?

paigem commented 1 year ago

Adjusting the input variables: In the last couple days, I found that we probably want to use U10, which is the wind speed at 10 meters above the sea surface. The UBOT and VBOT variables appear to be at ~60m above the surface... However, when using U10, I see a very large effect from the small scales, so I am currently going back through my calculation to figure out if this is a computational error.

I discussed this point ⤴ with @dhruvbalwada last week and we figured out that the issue has to do with the filtering of the windspeed, rather than each of the wind vectors. I.e. the problem is the filtering step with the NCAR data, since the NCAR data only outputs wind speed at 10 meters and not the u and v components of the wind vectors. Filtering wind speed is different from filtering the vector components, since wind speed is only a positive quantity and would thus have some cancellation of the positive and negative regions before filtering. Clearly, as I have seen, that yields drastically different results.

This issue may render the NCAR data unusable for this study. Two ideas:

  1. I can create scatter plots of the U10 and the windspeed computed from UBOT/VBOT to see how close to a 1-to-1 line they lie on. I'm not sure how close they would have to be to deem the UBOT/VBOT an acceptable substitution for U10. Given our results are showing small differences (~5%) in the small scales, any errors in the winds may not be suitable for this analysis.
  2. I can set the zu parameter to be ~60m - the height of UBOT and VBOT. However, I'm quite sure that the 10-meter winds are used for the air-sea flux computation in the NCAR model, and so this may not make physical sense.

Thoughts @jbusecke?

jbusecke commented 1 year ago

Thanks for writing this our @paigem. I am honestly not sure. I still think it is worth contacting folks at NCAR (we have pretty good contacts there?) and seeing if we are missing some output here?

paigem commented 1 year ago

Update: we are in contact with NCAR folks (Justin Small and Lucas Laurindo) about how to proceed here. Below is some of the text from their emails:

From Lucas:

If he confirms that U and V are unavailable, I’m wondering if you could assume that the veering angle of the winds is the same as the veering angle of the wind stress (TAUX and TAUY)? If so, you could estimate U and V by making abs(U10)exp(itheta).

From Justin:

I just looked at what I saved for the high-resolution run and confirm that we only have the variables you mention.

U10 is a scalar wind speed and it is the neutral wind speed (output from the bulk flux routine).

UBOT, VBOT are indeed atmosphere wind components at around 60m. (Latest versions of CESM, CESM2 or CESM3 have more vertical levels with a much lower bottom level).

The CESM bulk flux routine (Large and Yeager 2004, 2009) uses relative wind in its calculations (Ua-Uo) and the stress components TAUX, TAUT are in the direction of relative wind, not absolute wind.

Please take a look at the text below from a paper that I was a co-author of.

The input for the CESM bulk flux scheme is UBOT, VBOT, the outputs include TAUX,TAUY, U10.

You might want to use U10 as the scalar speed and get the direction from UBOT, VBOT to derive an approximate vector (u10,v10).

Hiroyuki Tsujino and myself have derived actual 10m wind from neutral 10m wind - but it is tricky and not a perfect inversion. I think the simpler approach is to use the suggestion above.

I have done a lot of work on the Large and Yeager air-sea flux code so am happy to answer any questions. In one of our applications (RCESM, https://journals.ametsoc.org/view/journals/bams/102/9/BAMS-D-20-0024.1.xml ) we output 10m actual wind during the model run. It needs some code changes when running. I think you would prefer the approximation above!

I am currently confirming this statement:

The input for the CESM bulk flux scheme is UBOT, VBOT

If the above is true, then we do have the inputs for the air-sea flux computations. Then we would just need to figure out what the height of the "BOT" (lowest model level in the atmospheric model) level is, and if it needs to vary with (lat,lon).