Code Monkey home page Code Monkey logo

tutorials's Introduction

Fatiando a Terra tutorials

Jupyter notebooks with tutorials for using Fatiando a Terra software to solve data problems in geoscience.

📓 Jupyter Notebooks

There are several options for running our tutorials (follow the links by clicking on the "launch" buttons):

🚀Launch ℹ️ Description
Binder Run the tutorials online through the excellent Binder service.
nbviewer Browse and explore the code and text in the notebooks online (but won't be able to run the code).
Download Download an archive of this repository and run the notebooks on your computer. See below for instructions.

🚨 WARNING: 🚨 Binder will not save any changes you make and may shutdown your JupyterLab without warning. This is a good way to explore but if you intend on editing the notebook then we recommend running things on your machine.

Running the code

To run the code on your computer, you will first need to install our libraries as well as Jupyter and other dependencies. See the environment.yml file for a full list.

tutorials's People

Contributors

leouieda avatar mgomezn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tutorials's Issues

Modify the topographic-correction figure in the gravity-processing tutorial

The topographic-correction.svg figure has some mistakes:

  • Water between the geoid and the ellipsoid should be filled with blue
  • Air between the ellipsoid and the geoid should be filled with white
  • The continent below the ellipsoid is displayed over the topography line

topographic-correction
Page that contains the error or needs to be improved (paste link):

Description of the problem/suggestion:

Make a Jupyter Book for the tutorials

JupyterBook is an easy way to build a very nice sphinx website from Jupyter notebooks or even plain markdown files. The website includes links to download the content as notebooks and even run them on Binder. The setup is not very difficult and we could run it on CI and have the website served under fatiando.org/tutorials or tutorials.fatiando.org.

This could be a way to keep the tutorials in Markdown for easier development and still have the notebook for use in a live teaching setting.

Any thoughts in favour or against this?

cc @santisoler @aguspesce @andieie @MGomezN @LL-Geo

Some of these issues were raised in #3 by @MGomezN.

Use Ensaio to fetch the tutorial data

The gravity processing tutorial uses Pooch to fetch the datasets from the Zenodo archives at the start of the tutorial. This is good to showcase Pooch but we now have Ensaio for this. It would be good to start using it in the tutorial so we can test it out.

A compromise between using Ensaio and showcasing Pooch would be to:

  1. Use Ensaio to fetch some of the data. We load Southern Africa gravity, Earth topography, and Earth geoid. We could just get the topography and geoid with Ensaio for example.
  2. Say that Ensaio uses Pooch under the hood and that, for example, you could load the Africa gravity data with Pooch as well. The text can mention ensaio.fetch_southern_africa_gravity and then show how to use pooch.retrieve to achieve the same thing.

Or maybe we don't do this at all and just use Ensaio. We can then make a separate short tutorial just for Pooch.

Any thoughts/preferences on one of these options or volunteers to implement the change would be much appreciated ❤️

Update tutorials to latest versions of Fatiando libraries

Would be nice to update the tutorials so they run under the latest versions of Fatiando libraries.

We would need to:

  • update the pinned versions in the environment.yml,
  • ensure that the tutorials run as expected with the new versions of the libraries, and
  • update any cell in the tutorial that might be using some deprecated code from any of our libraries.

Add a tutorial about coordinate system conventions

We try to use a consistent convention for coordinate systems across our projects. It would be great to have a central tutorial here that can be referenced in the other documentation sites.

The tutorial could be a mix of the one @santisoler wrote for Harmonica (https://www.fatiando.org/harmonica/dev/user_guide/coordinate_systems.html) and the one @LL-Geo wrote for Boule (https://www.fatiando.org/boule/v0.3.1/tutorials/geodetic_to_geocentric.html; but using pymap3d instead of Boule for the operations).

"Some more content that can be copied: https://tesseroids.readthedocs.io/en/stable/theory.html"

See discussion in fatiando/boule#31

Should be done after #6 is finished.

Remove links to run notebooks on binder

Currently, the links to run the tutorials on binder aren't working. Since binder apparently won't be fixing this issues in the near future due to lack of funding, we should probably remove this links and improve the instructions for running the tutorials locally.

This would be related to #11

Add instructions on how to create conda environment

In the home page the tutorials currently have a section titled "Running the code". We should add instructions to this section on how to create the conda environment with all the dependencies needed to run the notebooks and add a link to the environment.yml file in the repo.

Improve compatibility between Jupyter Book on the web and downloadable notebooks

The tutorials Jupyter Book, as it is now, look nice on the web, but when downloading the Jupyter notebook, figures, references, and other features written with Myst notation are missed.
The code, however, is readable. Some suggestions on Fatiando Dev Call 2022-08-12 were:

Add a Contributing Guide to this repository

This repo doesn't have its own CONTRIBUTING.md at the moment. It should have one that links to the general guide and includes some information specific to this one, like where to add yourself as an author, how the tutorials are setup, and creating new tutorials.

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.