Skip to content

Instantly share code, notes, and snippets.

@apatlpo
Last active October 2, 2019 12:17
Show Gist options
  • Save apatlpo/3c008b10b2db1c1e9584f288a549fd27 to your computer and use it in GitHub Desktop.
Save apatlpo/3c008b10b2db1c1e9584f288a549fd27 to your computer and use it in GitHub Desktop.
pytide trial
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr\n",
"import pytide\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load tide gauge data SOEST [website](https://uhslc.soest.hawaii.edu/datainfo/)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (depth: 1, latitude: 1, longitude: 1, time: 412008)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 1968-01-01 ... 2014-12-31T22:59:59.999731\n",
" * depth (depth) float32 0.0\n",
" * latitude (latitude) float32 44.017\n",
" * longitude (longitude) float32 144.283\n",
"Data variables:\n",
" sea_surface_height_above_reference_level (time, depth, latitude, longitude) float32 ...\n",
" sensor_type_code (time, depth, latitude, longitude) float32 ...\n",
"Attributes:\n",
" Conventions: CF-1.5, OceanSITES 1.2, TideGauge-0.2\n",
" title: Sea Level Time Series (HOURLY)\n",
" naming_authority: OceanSITES\n",
" id: OS_UH-RQH347A_20160323_D\n",
" processing_level: Research Quality\n",
" quality_control_level: Research Quality\n",
" station_name: Abashiri\n",
" time_zone: GMT+9:00\n",
" TOGA_ID: 347\n",
" GCOS: false\n",
" wmo_platform_code: not assigned yet\n",
" publisher_name: UHSLC (University of Hawaii Sea Level Ce...\n",
" publisher_url: uhslc.soest.hawaii.edu\n",
" publisher_email: xxxxxxxxxx@soest.hawaii.edu\n",
" data_assembly_center: UHSLC\n",
" institution_references: http://uhslc.soest.hawaii.edu\n",
" contact: xxxxxxxxxx@soest.hawaii.edu\n",
" pi_name: Mark Merrifield\n",
" geospatial_lat_min: 44.017\n",
" geospatial_lat_max: 44.017\n",
" geospatial_lon_min: 144.283\n",
" geospatial_lon_max: 144.283\n",
" geospatial_vertical_max: 0.0\n",
" geospatial_vertical_min: 0.0\n",
" geolocated: true\n",
" service_date: YYYY-MM-DD\n",
" instrument_type: FLOAT GAUGE\n",
" sea_level_data_reference_level: 0.0\n",
" quality_control_method: The quality assessment is mostly based o...\n",
" project: XXXXX\n",
" time_coverage_start: 1968-01-01T00:00:00Z\n",
" time_coverage_end: 2014-12-31T23:59:59Z\n",
" time_coverage_resolution: 1hour\n",
" date_created: 14:55 23-03-2016\n",
" date_updated: 14:55 23-03-2016\n",
" DODS_EXTRA.Unlimited_Dimension: time"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"url = \"http://uhslc.soest.hawaii.edu/thredds/dodsC/uhslc/rqh/OS_UH-RQH347A_20160323_D\"\n",
"ds = xr.open_dataset(url)\n",
"ds"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/aponte/.miniconda3/envs/sandbox/lib/python3.7/site-packages/pandas/plotting/_matplotlib/converter.py:103: FutureWarning: Using an implicitly registered datetime converter for a matplotlib plotting method. The converter was registered by pandas on import. Future versions of pandas will require you to explicitly register matplotlib converters.\n",
"\n",
"To register the converters:\n",
"\t>>> from pandas.plotting import register_matplotlib_converters\n",
"\t>>> register_matplotlib_converters()\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11f1afb38>]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ds['sea_surface_height_above_reference_level'].sel(time=slice('2010-01-01','2010-02-01')).plot()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"wt = pytide.WaveTable()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"pytide.WaveTable(O1, P1, K1, 2N2, Mu2, N2, Nu2, M2, L2, T2, S2, K2, M4, S1, Q1, Mm, Mf, Mtm, Msqm, Eps2, Lambda2, Eta2, 2Q1, Sigma1, Rho1, M11, M12, Chi1, Pi1, Phi1, Theta1, J1, OO1, M3, M6, MN4, MS4, N4, R2, R4, S4, MNS2, M13, MK4, SN4, SK4, 2MN6, 2MS6, 2MK6, MSN6, 2SM6, MSK6, MP1, 2SM2, Psi1, 2MS2, MKS2, 2MN2, MSN2, MO3, 2MK3, MK3, S6, M8, MSf, Ssa, Sa)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"wt"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'O1': 6.759774402932076e-05, 'P1': 7.252294578562199e-05, 'K1': 7.29211585472388e-05, '2N2': 0.00013524049655470524, 'Mu2': 0.00013559370082025834, 'N2': 0.0001378796995656324, 'Nu2': 0.0001382329038311855, 'M2': 0.00014051890257655957, 'L2': 0.0001431581055874867, 'T2': 0.00014524500745917898, 'S2': 0.0001454441043328608, 'K2': 0.0001458423170944776, 'M4': 0.00028103780515311913, 'S1': 7.27220521664304e-05, 'Q1': 6.495854101839362e-05, 'Mm': 2.6392030109271514e-06, 'Mf': 5.323414517918014e-06, 'Mtm': 7.962617528845167e-06, 'Msqm': 1.0248616274219237e-05, 'Eps2': 0.00013295449780933118, 'Lambda2': 0.00014280490132193363, 'Eta2': 0.00014848152010540474, '2Q1': 6.231933800746648e-05, 'Sigma1': 6.267254227301955e-05, 'Rho1': 6.53117452839467e-05, 'M11': 7.028195553631163e-05, 'M12': 7.023694704024792e-05, 'Chi1': 7.063515980186472e-05, 'Pi1': 7.23238489119402e-05, 'Phi1': 7.331937130885558e-05, 'Theta1': 7.520715729261285e-05, 'J1': 7.556036155816595e-05, 'OO1': 7.824457306515683e-05, 'M3': 0.0002107783538648394, 'M6': 0.0004215567077296788, 'MN4': 0.00027839860214219197, 'MS4': 0.0002859630069094204, 'N4': 0.0002757593991312648, 'R2': 0.0001456432012065426, 'R4': 0.0002912864024130852, 'S4': 0.0002908882086657216, 'MNS2': 0.00013295449780933118, 'M13': 7.028195553631163e-05, 'MK4': 0.0002863612196710371, 'SN4': 0.0002833238038984932, 'SK4': 0.00029128642142733837, '2MN6': 0.00041891750471875153, '2MS6': 0.00042648190948598, '2MK6': 0.00042688012224759674, 'MSN6': 0.0004238427064750528, '2SM6': 0.00043140711124228115, 'MSK6': 0.00043180532400389793, 'MP1': 6.799595679093756e-05, '2SM2': 0.000150369306089162, 'Psi1': 7.312025542092058e-05, '2MS2': 0.00013559370082025834, 'MKS2': 0.00014091711533817635, '2MN2': 0.0001431581055874867, 'MSN2': 0.00014808330734378795, 'MO3': 0.00020811664660588035, '2MK3': 0.00020811664660588035, 'MK3': 0.00021344006112379837, 'S6': 0.0004363323129985824, 'M8': 0.0005620756103062383, 'MSf': 4.925201756301221e-06, 'Ssa': 3.9821276161679364e-07, 'Sa': 1.9910638080839682e-07}\n"
]
}
],
"source": [
"print(wt.freq())"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(ds.time.values.astype(\"datetime64[s]\").astype(\"float64\"))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"time = ds.time.values.astype(\"datetime64[s]\").astype(\"float64\")\n",
"f, vu = wt.compute_nodal_corrections(time)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"f, vu should be xarrays"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(67, 412008)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f.shape"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(412008, 1, 1, 1)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds.sea_surface_height_above_reference_level.data.shape"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"w = wt.harmonic_analysis(ds.sea_surface_height_above_reference_level.data.squeeze(), f=f, vu=vu)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One should be able to pass xarray to harmonic analysis\n",
"\n",
"One should not have to squeeze data"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'O1': (nan+nanj),\n",
" 'P1': (nan+nanj),\n",
" 'K1': (nan+nanj),\n",
" '2N2': (nan+nanj),\n",
" 'Mu2': (nan+nanj),\n",
" 'N2': (nan+nanj),\n",
" 'Nu2': (nan+nanj),\n",
" 'M2': (nan+nanj),\n",
" 'L2': (nan+nanj),\n",
" 'T2': (nan+nanj),\n",
" 'S2': (nan+nanj),\n",
" 'K2': (nan+nanj),\n",
" 'M4': (nan+nanj),\n",
" 'S1': (nan+nanj),\n",
" 'Q1': (nan+nanj),\n",
" 'Mm': (nan+nanj),\n",
" 'Mf': (nan+nanj),\n",
" 'Mtm': (nan+nanj),\n",
" 'Msqm': (nan+nanj),\n",
" 'Eps2': (nan+nanj),\n",
" 'Lambda2': (nan+nanj),\n",
" 'Eta2': (nan+nanj),\n",
" '2Q1': (nan+nanj),\n",
" 'Sigma1': (nan+nanj),\n",
" 'Rho1': (nan+nanj),\n",
" 'M11': (nan+nanj),\n",
" 'M12': (nan+nanj),\n",
" 'Chi1': (nan+nanj),\n",
" 'Pi1': (nan+nanj),\n",
" 'Phi1': (nan+nanj),\n",
" 'Theta1': (nan+nanj),\n",
" 'J1': (nan+nanj),\n",
" 'OO1': (nan+nanj),\n",
" 'M3': (nan+nanj),\n",
" 'M6': (nan+nanj),\n",
" 'MN4': (nan+nanj),\n",
" 'MS4': (nan+nanj),\n",
" 'N4': (nan+nanj),\n",
" 'R2': (nan+nanj),\n",
" 'R4': (nan+nanj),\n",
" 'S4': (nan+nanj),\n",
" 'MNS2': (nan+nanj),\n",
" 'M13': (nan+nanj),\n",
" 'MK4': (nan+nanj),\n",
" 'SN4': (nan+nanj),\n",
" 'SK4': (nan+nanj),\n",
" '2MN6': (nan+nanj),\n",
" '2MS6': (nan+nanj),\n",
" '2MK6': (nan+nanj),\n",
" 'MSN6': (nan+nanj),\n",
" '2SM6': (nan+nanj),\n",
" 'MSK6': (nan+nanj),\n",
" 'MP1': (nan+nanj),\n",
" '2SM2': (nan+nanj),\n",
" 'Psi1': (nan+nanj),\n",
" '2MS2': (nan+nanj),\n",
" 'MKS2': (nan+nanj),\n",
" '2MN2': (nan+nanj),\n",
" 'MSN2': (nan+nanj),\n",
" 'MO3': (nan+nanj),\n",
" '2MK3': (nan+nanj),\n",
" 'MK3': (nan+nanj),\n",
" 'S6': (nan+nanj),\n",
" 'M8': (nan+nanj),\n",
" 'MSf': (nan+nanj),\n",
" 'Ssa': (nan+nanj),\n",
" 'Sa': (nan+nanj)}"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"NaN's should be treated correctly"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"ds = ds.dropna('time')\n",
"time = ds.time.values.astype(\"datetime64[s]\").astype(\"float64\")"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"f, vu = wt.compute_nodal_corrections(ds.time)\n",
"w = wt.harmonic_analysis(ds.sea_surface_height_above_reference_level.data.squeeze(), f=f, vu=vu)\n",
"#\n",
"w_t = wt.harmonic_analysis(ds.sea_surface_height_above_reference_level.data.squeeze(), time=ds.time)\n",
"assert all([abs(h1-h2)<1e-10 for h1, h2 in zip(list(w.values()), list(w_t.values()))])"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'O1': (0.05826769228775294+0.827139735436489j), 'P1': (-0.3392006834563835+0.15141703097428408j), 'K1': (0.2897849217366491-0.5535928576905528j), '2N2': (-0.6010351496434746-0.2886220530975104j), 'Mu2': (36.67023638520106-2.1068800009425055j), 'N2': (-0.08263767581369692+0.38408812206188603j), 'Nu2': (0.26129032138267433+0.05440942336205032j), 'M2': (-26.68706415405124+6.6386251958998415j), 'L2': (1.80420118947107-0.09820615572896856j), 'T2': (0.08452273218956179-0.7047591861686848j), 'S2': (-194.39363894001+17398.77964888269j), 'K2': (0.5425232619913719+0.5528555212809521j), 'M4': (-1.0221187506390155-0.32357491342928235j), 'S1': (-24564.369409587805-1428.5485290193164j), 'Q1': (-1.275043607542057+0.8095509325090344j), 'Mm': (-0.13104986362390228-0.8145599679436042j), 'Mf': (-0.09896549978415481-0.21392157833899872j), 'Mtm': (0.2447823514417595-0.7132750388177455j), 'Msqm': (-0.07012837262448472+0.3840725328095257j), 'Eps2': (9.296538447041218+28.299225586959114j), 'Lambda2': (-0.8060171004763854-1.2762380418135166j), 'Eta2': (0.052612925079634935+0.32743950900438623j), '2Q1': (-0.3185772212091706+0.7404303923283831j), 'Sigma1': (-0.7546923982512277-0.17764598382861102j), 'Rho1': (1.6185515649710112-0.8031504679371058j), 'M11': (3.066011967931115+1.6549598910083054j), 'M12': (-0.41953126653592-1.179653315025353j), 'Chi1': (0.2842794429663317+1.5317971927361458j), 'Pi1': (-0.26053114938083116+0.29030654417266144j), 'Phi1': (0.4478071492864421+0.822615968441529j), 'Theta1': (1.6906818489059703-0.31398159750841365j), 'J1': (-0.06870570316130764+0.5899280271152396j), 'OO1': (0.20148317942196267+0.5427382846068933j), 'M3': (-0.30259797282976897+0.7864240503855214j), 'M6': (0.34531516349892105+0.5023183346272322j), 'MN4': (0.9708855948552061+0.9885603595121626j), 'MS4': (-25.697348052128817-5.181795595713603j), 'N4': (0.6334735052278707-0.16123585320824482j), 'R2': (1.8647739760299176+0.3064057088399103j), 'R4': (-0.5012733809471587+0.4221441127969363j), 'S4': (-11482.59352753731+1699.6095476801117j), 'MNS2': (-8.787308934340523-28.873088256925254j), 'M13': (-2.2249004427651307-1.2358247870280037j), 'MK4': (-0.0313248338099297-0.4248941952708805j), 'SN4': (-0.1730129283370161+0.002473182222066554j), 'SK4': (-1.9548031443976732-0.7001135093583098j), '2MN6': (1.3192657663245961+1.1989667727355175j), '2MS6': (-1.6824924418498766-2.181108738959946j), '2MK6': (0.5276550691408153-0.1726790129586103j), 'MSN6': (-1.054250756130961+1.9367689134601234j), '2SM6': (0.46323208117234166-8.77794949596877j), 'MSK6': (2.9816908164344094+1.7104923582669764j), 'MP1': (-0.1367485879555908-1.4384561440918893j), '2SM2': (30.44369259359391-1.8372767894056525j), 'Psi1': (-0.16413043080401218-0.14402311962528377j), '2MS2': (-35.493579306085124+3.9726520254395195j), 'MKS2': (-2.3930396592567416-1.6001792792926242j), '2MN2': (-0.8758292274531795+0.11040715610646902j), 'MSN2': (-1.6575600648532522-0.0482915713192751j), 'MO3': (-5.4227964178215355+2.4688870630364375j), '2MK3': (4.6104504607986785-2.3074088774979744j), 'MK3': (0.6956153429524465+0.1261964927106861j), 'S6': (-11423.20893357606-7137.304754197347j), 'M8': (-0.2540332373007322-0.5419393714906573j), 'MSf': (23.244919566661135-6.244355424179604j), 'Ssa': (2.866248030063489-0.22907567423206485j), 'Sa': (0.5725752952068621-0.5979098793135917j)}\n"
]
}
],
"source": [
"print(w)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hum, what do these complex number correpond to?\n",
"Is it explained in the doc?"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"tide = wt.tide_from_time_series(ds.time, w)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One should be able to pass datetime object to tide_from_mapping"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment