Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dcherian/eq_waves
Vertical structure of 7-day period inertial-gravity waves in the equatorial Pacific
https://github.com/dcherian/eq_waves
equatorial oceanography waves
Last synced: about 1 month ago
JSON representation
Vertical structure of 7-day period inertial-gravity waves in the equatorial Pacific
- Host: GitHub
- URL: https://github.com/dcherian/eq_waves
- Owner: dcherian
- License: mit
- Created: 2012-09-28T22:08:25.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2017-07-25T19:52:55.000Z (over 7 years ago)
- Last Synced: 2024-10-14T01:24:10.825Z (2 months ago)
- Topics: equatorial, oceanography, waves
- Language: Matlab
- Homepage:
- Size: 19.7 MB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+OPTIONS: :links nil
* IntroductionThis repository contains code for what should become Cherian, Farrar & Durland (201x) - The upper-ocean vertical structure of 7-day period inertial-gravity waves in the equatorial Pacific.
* Instructions
To reproduce all of the figures you will first need to
- Download the TAO/TRITON data from http://www.pmel.noaa.gov/tao/drupal/disdel/. The code expects one netcdf file per site stored in ~data/dynht/~ and ~data/temp/~.
- Download the World Ocean Atlas data from https://www.nodc.noaa.gov/OC5/woa13/. You'll need ~woa_landsea_01.msk~, ~woa13_decav_t00_01v2.nc~ and ~woa13_decav_s00_01v2.nc~ saved to the ~data/~ folder.
- Download ETOPO 2v2g data from https://ngdc.noaa.gov/mgg/global/relief/ETOPO2/ETOPO2v2-2006/ETOPO2v2g/netCDF/. You'll need ~ETOPO2v2g_f4.nc~ saved to the ~data/~ folder.
- Run ~master.m~
- Run ~figs_paper.m~Then ~images/~ will contain all figures used in the paper.
* Contents
The code expects the following layout.
#+BEGIN_src text
-- eq_waves
----- data/
---------- dynht/dyn*.cdf
---------- temp/t*.cdf
---------- ETOPO2v2g_f4.nc
---------- woa13_decav_t00_01v2.nc
---------- woa13_decav_s00_01v2.nc
---------- woa_landsea_01.msk
----- images/
----- scripts/*.m
----- README.org (this file)
#+END_src*** Overall Scripts
|--------------------+----------------------------------------------------------|
| Script | Description |
|--------------------+----------------------------------------------------------|
| ~master.m~ | Recreate everything from scratch. |
| ~figs_paper.m~ | Make figures used in paper. |
| ~TestInference.m~ | Runs tests with fake data. |
| ~InferOneLocation.m~ | Recreates everything but for just one specified location |
| ~DefaultOptions.m~ | Conveniently creates default options structure |
| | with values used in paper |
| ~PlotMode.m~ | Plots mode structure at one location. |
| ~PlotModeMap.m~ | Plots mode structure at all locations as big map. |
| | Calls ~PlotMode~ to do actual plotting. |
| ~ReadTaoTriton.m~ | Reads in data. Can do so at just one location if needed. |
| ~TheoreticalModes.m~ | Calls ~vertmode~ with WOA data, calculates mode structures |
| | and saves them in ~flat-bottom-modes.mat~ |
|--------------------+----------------------------------------------------------|*** Analysis Scripts
|--------------------------+-----------------------------------------------------------------------|
| Script | Description |
|--------------------------+-----------------------------------------------------------------------|
| ~InferModeShape.m~ | Does most of the heavy lifting |
| ~DoRegression.m~ | Calls ~dcregress~ for regression between provided variables. |
| | Also estimates error bounds. |
| ~EstimateNoiseSpectrum.m~ | Fits a power law to spectrum of provide input. |
| | Returns amplitude α and spectral slope β such that spectrum, S = αe^{β} |
| ~CalcSignificanceBounds.m~ | Calculates minimum regression slope that would indicate that |
| | a regression is not returning a null result. Calls ~TestMC~ to |
| | do iterations between data and red noise time series. |
| ~SaveNullBoundsForTao.m~ | Runs ~CalcSignificanceBounds~ at every available instrument depth |
| | and saves results to ~bounds.mat~ so they can be used by ~InferModeShape |
| ~figs.m~ | Code for various figures made during analysis. |
| | |
|--------------------------+-----------------------------------------------------------------------|*** Utility Scripts
|---------------------------------------+----------------------------------------------------------------|
| Script | Description |
|---------------------------------------+----------------------------------------------------------------|
| ~TestMC.m~ | Runs monte carlo iterations between provided input and |
| | noise timeseries with provided properties. |
| | Called by ~CalcSignificanceBounds~ to do the hard work. |
| ~dcregress.m~ | Does the actual regression |
| ~BandPass.m~ | BandPass filters |
| ~FilterSeries.m~ | Does the actual filtering |
| ~synthetic_timeseries_known_spectrum.m~ | Creates fake time series with specified spectral properties. |
| | (code from Tom Farrar) |
| ~GappySpectrum.m~ | Calculates spectrum of a gappy timeseries. |
| ~findCommmonTimeRange.m~ | Finds common time range for dyn ht and temperature time Series |
| ~getTitleString.m~ | Creates a formatted title string for plots. |
|---------------------------------------+----------------------------------------------------------------|