Git Product home page Git Product logo

wave_simulation's Introduction

Sun glitter simulation

This python script and notebook generates sun glitter distribution on Cox-Munk random sea surface slopes. Daughter rays are saved to inspect more details on the scattered daughter rays and intercepted wave facets (if user specifies save_fp in the notebook/command line). Examples of saved daughter rays are provided.

Python Notebook

The notebook Cox_Munk_wave.ipynb contains a step-by-step guide and mathematical theory on constructing a random sea surface slope to ray tracing to the simulation of glitter on the cox-munk surface. Do follow this guide for a systematic procedure on sun glitter simulation. The figures and theory in the notebook are obtained from Preisendorfer and Mobley (1985):

Preisendorfer, R. W., & Mobley, C. D. (1985). Unpolarized Irradiance Reflectances and Glitter Patterns of Random Capillary Waves on Lakes and Seas. Monte Carlo Simulation. NOAA Technical Memorandum ERL PMEL-63.

Command-line interface

Alternatively, one can also run the python script ray_tracing_utils.py for command-line interface, where user can specify:

  • --solar_altitude: solar_altitude (angle in deg from the horizontal)
  • --solar_azimuth: solar_azimuth (angle in deg from the i axis (along wind direction))
  • --wind_speed: wind speed in m/s
  • --n: order of hexagonal domain
  • --iter: number of parent rays to seed
  • --save_fp: directory on where to save the daughter rays
  • --camera_altitude: camera_altitude (angle in deg from the horizontal)
  • --camera_azimuth: camera_azimuth (angle in deg from the i axis (along wind direction))'

See -h for help and details on input

Outputs

Sun glitter distribution at varying solar altitude, azimuth and camera altitude and azimuth.

Wind speed: 1.0 m/s

glitter pattern

Wind speed: 5.0 m/s

glitter pattern

Computing upward irradiance reflectance

irradiance graph

wave_simulation's People

Contributors

pakhuiying avatar

Stargazers

Vincent Leroy avatar Yvan Nollet avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.