Coder Social home page Coder Social logo

landlab_teaching_tools's Introduction

Landlab header

Landlab teaching tools ๐Ÿ™‹

This repository includes Jupyter Notebooks that implement Landlab for use in teaching undergraduate and graduate courses. Jupyter Notebooks combine formatted text with code that can be run. Students can run small parts of code bit by bit as they follow along with the text.

The notebooks illustrate examples of physical processes implemented numerically. These notebooks are designed to teach about processes. The notebooks are not designed to teach students to code, or to teach students to use Landlab. No coding experience is needed to successfully carry out these activities - just the ability to read and a classroom introduction of the specific processes being illustrated.

The notebooks are primarily designed for use as homework assignments or laboratory assignments. However, they can be used to illustrate concepts on-the-fly in the classroom.

The easiest way to see what is in the notebooks is through this website: https://nbviewer.jupyter.org/github/landlab/landlab_teaching_tools/tree/master/.

For an introduction to using Jupyter Notebooks, see this webpage - http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html. [Quick Summary: The way to launch a Jupyter notebook is to enter 'jupyter notebook' from a command line prompt. Jupyter notebooks can also be launched from within Anaconda.]

The notebooks can be run locally by installing Landlab on your computer or they can be run remotely using Hydroshare.

To install Landlab and run locally: :octocat:๐Ÿ’ป

If following this method, every student will need to install Landlab on their personal computer, or it will need to be installed on classroom computers. All software needed to run Landlab locally is opensource (so free!). This link (https://landlab.github.io/#/) will take you to directions on how to install Landlab and information on preferred Python distributions.

The next step would be for the class instructor to hit the Clone or download button (on this webpage (https://github.com/landlab/landlab_teaching_tools), green, upper right) and download this repository locally. Choose which Jupyter Notebooks you would like the students to run, and then distribute the notebook to the students. You can edit them to your class' needs if you use this method. Note that some notebooks require supporting files to run, so make sure those are copied to the students.

To use the notebooks on Hydroshare: โ˜”๐Ÿ’ป

These notebooks can all be run remotely using HydroShare, an online collaboration environment for sharing data, models, and code (there are no costs, fees or subscriptions). To have your students run the Notebooks without any software installation required, all of your students will need to join HydroShare. For the first time set up, follow these steps:

Initiation steps:

  1. Go to https://www.hydroshare.org/
  2. Hit blue button Sign up now and follow steps. (remember your user name and password!)
  3. Once signed up, on the top bar hit Collaborate.
  4. Search for the Landlab Group and Ask to join
  5. Once you have permission, enter the Landlab Group page.
  6. Hit the Resources tab.
  7. Enter the collection Landlab_classroom_notebooks
  8. Scroll down to Collection Contents and hit on whatever notebook you want to run.
  9. Hit the blue Open with... button on the top right, and choose JupyterHub NCSA
  10. Scroll down to the first code block, put your cursor in the code block, and hit shift enter. Provide your password.
  11. Run the next two code blocks. In this first notebook, you only want to run the first three code blocks!
  12. After the third code block is run, you will get a link to classroom notebook. Hit the link to the classroom notebook. (When this notebook opens, you will be asked to choose a kernal. Python 2 or 3 both work.)
  13. Now you are running the notebook remotely!

Streamlined access: After you and your students have successfully run through the steps above, in the next work sessions you can also access your personal user space on the supercomputer that makes this magic happen, simply by typing in this URL into your browser: https://jupyter.cuahsi.org You will be prompted for your HydroShare login, and you can navigate the folders to find the resources you have downloaded and created in previous work sessions.

More information: โ“๐Ÿ˜ฎ

Please contact Nicole Gasparini [ngaspari@tulane(dot)edu] for help with using and improving these notebooks, developing new ones, and solutions to the current notebooks. These notebooks will be improved based on your feedback. I am happy to consult with you on learning the process of running a notebook. It's easy once you learn!

The development of these Notebooks has been made possible by the Landlab project funded by the National Science Foundation (OAC 1450338 to N. Gasparini, OAC 1450409 to G. Tucker, OAC 1450412 to E. Istanbulluoglu). Launching these Notebooks from HydroShare is made possible by a collaboration between HydroShare researchers, the Consortium of Universities Allied for Hydrologic Science, Inc. (CUAHSI), and National SuperComputer A (NCSA) and funding by the National Science Foundation. For more details on the software architecuture behind how to run Jupyter Notebooks from HydroShare, please contact [support@hydroshare(dot)org].

landlab_teaching_tools's People

Contributors

christinab avatar margauxmouchene avatar nicgaspar avatar

Watchers

 avatar  avatar

Forkers

mtoqeerpk

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.