{"id":40491146,"url":"https://github.com/hevgyrt/ocean_wave_tracing","last_synced_at":"2026-01-20T18:51:54.236Z","repository":{"id":65457388,"uuid":"362749576","full_name":"hevgyrt/ocean_wave_tracing","owner":"hevgyrt","description":"A numerical solver of the ray equations for ocean waves ","archived":false,"fork":false,"pushed_at":"2026-01-19T12:46:57.000Z","size":14491,"stargazers_count":29,"open_issues_count":3,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-19T19:09:09.480Z","etag":null,"topics":["oceanography","raytracing","waves"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hevgyrt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-29T08:44:31.000Z","updated_at":"2026-01-19T12:47:01.000Z","dependencies_parsed_at":"2023-02-13T21:01:40.094Z","dependency_job_id":"f724289e-650f-44cd-becd-a4f520db19f1","html_url":"https://github.com/hevgyrt/ocean_wave_tracing","commit_stats":{"total_commits":97,"total_committers":4,"mean_commits":24.25,"dds":"0.27835051546391754","last_synced_commit":"148bcfadf3b34c70da8bccb497f6ca5e2542827a"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/hevgyrt/ocean_wave_tracing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hevgyrt%2Focean_wave_tracing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hevgyrt%2Focean_wave_tracing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hevgyrt%2Focean_wave_tracing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hevgyrt%2Focean_wave_tracing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hevgyrt","download_url":"https://codeload.github.com/hevgyrt/ocean_wave_tracing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hevgyrt%2Focean_wave_tracing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28609233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oceanography","raytracing","waves"],"created_at":"2026-01-20T18:51:53.499Z","updated_at":"2026-01-20T18:51:54.210Z","avatar_url":"https://github.com/hevgyrt.png","language":"Jupyter Notebook","readme":"# ocean_wave_tracing\n\n![ci](https://github.com/hevgyrt/ocean_wave_tracing/actions/workflows/python.yml/badge.svg)\n[![DOI](https://zenodo.org/badge/362749576.svg)](https://zenodo.org/badge/latestdoi/362749576)\n\nA numerical solver of the wave ray equations for ocean waves.\n\n![Demo](https://github.com/hevgyrt/ocean_wave_tracing/blob/main/notebooks/movie_rt_poc.gif)\n\n## Table of contents\n* [General info](#general-info)\n* [Setup](#setup)\n* [Usage](#usage)\n\n## General info\nThis project provides a numerical solver of the wave ray equations for ocean waves subject to ambient currents at arbitrary depths.\n\nThe solver has been documented and peer-reviewed in [Halsne et al. 2023](https://doi.org/10.5194/gmd-16-6515-2023), which should be cited when the tool is used.\n\n## Setup\nTo run this project, install it locally using conda (or [mamba](https://anaconda.org/conda-forge/mamba) as used here):\n```\n$ mamba env create -f environment.yml\n$ conda activate wave_tracing\n```\n\n## Usage\nHere is a simple use case on how to run the solver:\n```\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom ocean_wave_tracing.ocean_wave_tracing import Wave_tracing\n\n# Defining some properties of the medium\nnx = 100; ny = 100 # number of grid points in x- and y-direction\nx = np.linspace(0,2000,nx) # size x-domain [m]\ny = np.linspace(0,3500,ny) # size y-domain [m]\nT = 250 # simulation time [s]\nU=np.zeros((nx,ny))\nU[nx//2:,:]=1\n\n# Define a wave tracing object\nwt = Wave_tracing(U=U,V=np.zeros((ny,nx)),\n                       nx=nx, ny=ny, nt=150,T=T,\n                       dx=x[1]-x[0],dy=y[1]-y[0],\n                       nb_wave_rays=20,\n                       domain_X0=x[0], domain_XN=x[-1],\n                       domain_Y0=y[0], domain_YN=y[-1],\n                       )\n\n# Set initial conditions\nwt.set_initial_condition(wave_period=10,\n                              theta0=np.pi/8)\n# Solve\nwt.solve()\n\n# Plot\nfig, ax = plt.subplots();\npc=ax.pcolormesh(wt.x,wt.y,wt.U.isel(time=0),shading='auto');\nfig.colorbar(pc)\n\nfor ray_id in range(wt.nb_wave_rays):\n    ax.plot(wt.ray_x[ray_id,:],wt.ray_y[ray_id,:],'-k')\n\nplt.show()\n```\n\nAdditional examples are given in the [notebooks](notebooks) folder in the repository.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhevgyrt%2Focean_wave_tracing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhevgyrt%2Focean_wave_tracing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhevgyrt%2Focean_wave_tracing/lists"}