MPAS-Dev / MPAS-Analysis

Provides analysis for the MPAS components of E3SM
Other
54 stars 52 forks source link

Analysis task for SSH variability #278

Open xylar opened 6 years ago

xylar commented 6 years ago

Our Quarter 1 metric for MPAS Ocean for FY 2018 is the variability of sea-surface height. This is an issue to remind us that this needs to be completed and reported on by Dec. 15th (exactly 3 weeks from today).

xylar commented 6 years ago

@milenaveneziani, there is some SSH data already in the observations directory on NERSC (and presumably therefore on other machines):

acme/observations/Ocean/SSH> ls
SSH_AVISO_annual_1992-2010.nc      dailyAVISO
SSH_AVISO_annual_1992-2010_interp  zosTechNote_AVISO_L4_199210-201012.pdf
SSHstd_AVISO_1993-2013.nc          zos_AVISO_L4_199210-201012.nc

Presumably the daily data is completely overkill but the annual climatology is both at lower resolution and has lost the seasonal cycle. Do we want to create our own monthly climatologies (e.g. with ncclimo) using the dailyAVISO data? Or do you feel one of these data sets is already what we want to use?

Also, are we convinced that AVISO is the right data set (I'm fine with it) or do we want to look into others? For example, Ringler et al. (2013) used the Maximenko et al. (2009) data set as their observations, and I was able to download those data pretty easily (there's an updated version running until 2012). However, what I saw was just a mean over the period 1992-2012 without a seasonal cycle. Nevertheless, do we want to have those data, too, as an alternative?

xylar commented 6 years ago

Here are the details of the Maximenko dataset: http://apdrc.soest.hawaii.edu/datadoc/mdot.php

xylar commented 6 years ago

The AVISO website seems to have climatology data: https://www.aviso.altimetry.fr/en/data/products/sea-surface-height-products/global/msla-mean-climatology.html

xylar commented 6 years ago

I'm signing up for access so I can take a look at the mean climatology data to make sure it would, indeed, be useful to us.

xylar commented 6 years ago

@mark-petersen, @vanroekel, @jonbob, we're supposed to "demonstrate mesoscale ocean simulation success by comparing sea-surface height variability in high-resolution E3SM-MPAS-Ocean to satellite-derived observations." Which simulation would you recommend for this? Presumably there are various options.

vanroekel commented 6 years ago

@xylar I have started to work on this over the past few days and am close to getting plots of MPAS ssh variability. Progress has been complicated by the fact the highFrequency AM dumps garbage output at random intervals.

I too signed up for AVISO access and just received it. In the interim, I have been using a dataset from @maltrud. In talking with Mat he does not think we need the seasonal cycle in the data as it is minimal.

I'll work on the observational plot next and Mat has offered to plot ssh variability from v0 for comparison.

Finally, I think the only good option for analysis here is the high res spin up on anvil that is out 16 years.

xylar commented 6 years ago

@vanroekel, that all sounds good. I could be mistaken but it also looked like there might be an SSH variability data set that @milenaveneziani created from the AVISO data. She would know more about that than I. Anyway, no harm in comparing with both observations and previous model output.

Good to know that the ANN data is likely sufficient.

On a practical note, I assume you're just adding a new class to ocean/climatologyMap.py? That's certainly what I would recommend. The class should just need to do the same thing the other classes for SST, SSS and MLD do in terms of loading observations, selecting variable names, etc. One complication might be that you mention the highFrequency AM, which isn't currently supported in ocean/climatologyMap.py

Speaking of which, do we need to be using the highFrequency AM for SSH? I was assuming the monthly mean would be sufficient, but maybe this is to get at variability.

vanroekel commented 6 years ago

@xylar I have been using high frequency output for the variability, but I will test monthly mean and see how close the results are to those using high frequency data. At this stage of development I’m still actually only in a python notebook as I haven’t had time to think through how to implement this in mpas-analysis with the high frequency output. If I use monthly mean I would certainly add to climatologyMap.py as you suggest. If high frequency is needed, do you have any thoughts on where to start implementing this task?

I’m also very interested to hear what @milenaveneziani thinks on observations to compare to. I’m certainly not wedded to using the dataset I have now.

xylar commented 6 years ago

@vanroekel, I somehow missed until just now that we're supposed to be looking at SSH variability and not just SSH. This is obviously an important distinction. We should have a discussion sooner rather than later about what this means. Just the standard deviation of the SSH? Over what time scale?

vanroekel commented 6 years ago

@xylar, yep, I have been working on the variability piece and am nearly done. I have had a number of conversations with @maltrud about this. In v0 he found that there isn’t significant sensitivity to the time scale chosen. I also don’t think the offline calculation is that onerous. What I’ve put together is certainly lighterweight than the MOC for example. So I am not concerned about this calculation being offline.

xylar commented 6 years ago

@milenaveneziani, when you get a chance, could you explain the SSH observations that are already on NERSC? Thanks!

milenaveneziani commented 6 years ago

@xylar, @vanroekel: sorry for the delay in responding to this.

I have processed the AVISO sea level anomaly from 1993 to 2015 myself. The most updated data is actually at OLCF: /lustre/atlas1/cli115/proj-shared/observations/SSH I have calculated the annual rms value from the daily values in dailyMSLA_AVISO/, by simply using something like ncra -y rmssdn.. (after adding an unlimited time dimension to the original data).

The latest results are in SSHstd_AVISO_1993-2015.nc, which needs to be transferred from OLCF to other machines. I can do that.

xylar commented 6 years ago

SSHstd_AVISO_1993-2015.nc has only a single yearly climatology, correct? That's definitely fine for now but probably a similar approach could be used to create monthly climatologies from which we could create seasonal ones in MPAS-Analysis. We might want to do some renaming of the variables and maybe consolidating them into a single file so we have both SSH and rms(SSH) in the same data set, right?

xylar commented 6 years ago

@vanroekel, could you point me to the script you used to create the diagnostic for the Q1 metric? (Sorry if you've already done so and I forgot.) If you created and saved the variability from the AVISO observations, could you provide 1) the script you used to do that and possibly 2) the results themselves?

@vanroekel and/or @mark-petersen, can you point me to a run where the eddy stats are turned on so we have SSH^2, etc needed to compute variability? (Maybe that's already part of @vanroekel's script?)

I'd like to make SSH variability a standard bit of analysis when eddy stats are available.

xylar commented 5 years ago

Answering my own question based on @vanroekel's comment in #323: There's a jupyter notebook here: https://github.com/MPAS-Dev/MPAS-QuickViz/blob/master/ocean/eke_sshVar/EKE_SSH_stddev.ipynb

Note: eddyStats AM needs to be enabled.