Molecules in the atmosphere respond differently to the infrared radiation that is emitted by the earth after it absorbs visible light from the sun. Greenhouse gases like carbon dioxide, methane, and nitrous oxide absorb this radiation, while non-greenhouse gases like oxygen (dioxygen) and nitrogen (dinitrogen) do not. After absorbing infrared radiation, greenhouse gas molecules begin oscillating and vibrating. Eventually, they release the energy they've absorbed by emitting another wave of infrared radiation. This re-emitted radiation is in turn absorbed by neighboring molecules in the atmosphere, causing them to gain speed (kinetic energy) and, since temperature is proportional to kinetic energy, raising their temperature.
This property of absorbing and re-emitting infrared radiation explains why greenhouse gases like carbon dioxide trap heat effectively.
This application is a simplified simulation of the response of different gases to the infrared radiation emitted by the earth. Users begin by selecting four molecules whose response to infrared radiation they would like to observe, choosing from the provided greenhouse and non-greenhouses gases. After selecting the molecules, users start the simulation by clicking the play button. While the emitted infrared radiation is absorbed by greenhouse gases, it passes through non-greenhouse gases. After absorption, the greenhouse gases begin oscillating. Users can switch on the Re-emission toggle to observe a simplified re-emission effect (unlike this two-dimensional simulation, in the real world molecules oscillate in three-dimensional space, and hence re-emit radiation in multiple directions).
A live deployment of the application can be accessed here. Please submit any issues you identify to the application's GitHub repository.
- Once you clone the repository, run
yarnornpm installto install its dependencies. - In the project directory, make sure to create an
.env.localfile and to add"REACT_APP_BASE="to the top of this file. You can do this through your shell by runningtouch .env.localandecho "REACT_APP_BASE=" >> .env.localin the project root. - Run
yarn start(ornpm start) to start the application. It should automatically open in your browser atlocalhost:3000. You can also access it in development mode onhttp://localhost:3000/?appInstanceId=6156e70ab253020033364411&spaceId=5b56e70ab253020033364411&dev=true - The simulation's main components are located in
src/components/lab(canvas components) andsrc/components/common(side menu and controls). It uses React, React-Redux, and React-Konva.
