oggm / oggm-edu Goto Github PK
View Code? Open in Web Editor NEWEducational material about glaciers, powered by OGGM and MyBinder
Home Page: http://edu.oggm.org
License: BSD 3-Clause "New" or "Revised" License
Educational material about glaciers, powered by OGGM and MyBinder
Home Page: http://edu.oggm.org
License: BSD 3-Clause "New" or "Revised" License
At the end of this notebook, I wrote a list of possible exercises:
And more!
after an e-mail question by @peltoglacier
Maybe a nice read? Haven't looked into it yet:
@Holmgren825 I've been a bit quick in merging haha
I really appreciate the effort to use baseline images for the tests, but I'd rather not have them. They are a real pain to maintain, and one day you will be gone and it will fall back to me ;-)
Furthermore, it will make many things painful to change, since each change to the plot will also change the tests, etc.
Tests are good, but here I really think we should keep tests as slick and simple as possible.
After last year's updates, the workflow to make an experiment (like the simple bed slope comparison that can be compared with goo) has changed.
Students modifying the new workflow noticed that it would be helpful to add a 'Name' attribute to Glacier
and GlacierCollection
objects. This would help with bookkeeping when there are several idealized glaciers that the students are supposed to compare with one another.
I prepared the data for a number of improvements to the app.
The data is available here, as hdf for faster reading. You can read the data with:
df = pd.read_hdf('rgi62_era5_itmix_df.h5', 'df')
This is a full RGI dataframe, allowing the following improvements to the app:
@pat-schmitt and/or @zschirmeister , would you have time to tackle these? I suggest to start from the existing app here: https://github.com/OGGM/bokeh-apps/tree/master/glaciers-explorer , move it to a new repository and update it step by step. This would be awesome!
The style of "oggm-edu python package" is very different from the other pages of the website. It interrupts reading flow if the reader clicks "next page" from the bottom of "Intro to interactive notebooks".
I suggest to move this page out of the "Interactive Notebooks" subheader and instead create a "Documentation" subheader at the bottom of the sidebar. If you don't want a Documentation subheader cluttering things up, I would still move the "oggm-edu python package" dropdown to the end of the sidebar, to improve reading flow.
Some people told me that the interactive app: World glacier explorer does not appear. There is only a grey page.
Here the link from the oggm-edu webpage: https://dash.klima.uni-bremen.de/bokeh/app
I tried it also from different devices, maybe the link is wrong?
We could use the data from https://www.the-cryosphere.net/13/1125/2019/
I asked Harry to send us more data: area + uncertainty.
First idea here: https://fabienmaussion.info/2019/12/05/bokeh-alps/
Similar to Glacier Simulator issue: the experiments are great. I think they could be better communicated as one or more lab activities, together with the other materials we have been developing for SERC. In the current ordering this would probably become OGGM-Edu Lab 4, unless we make multiple activities of the Glacier Simulator experiments.
Representation/plots of collections with mixed glacier types (Glacier
, SurgingGlacier
) don't clearly indicate what type the different glaciers are. One could look at attributes that distinguish them, but including the glacier type in representation and legend of the plots would be nice.
Probably too high of a goal for us, but why not trying????
@Holmgren825 can you check that #142 did not introduce bugs in the notebooks?
Also revert _current_state to be public not private maybe
Since we have the data and all, it seems quite easy to to an interactive plot of these three figures.
I think either plotly or bokeh would do the job, and they could be included as a webpage in OGGM-Edu
It would be good to make clear on OGGM what the target audience is of each activity, for example "post-16" for highschool students, or "university" for university students.
Discussed with @ehultee today
See: https://twitter.com/OGGM_org/status/1324773937461514242
@zschirmeister @pat-schmitt let me know if one of you want to try to add this to the existing list of exercises.
Hi,
when "googling" mass balance gradient glaciers
, the second entry (for me) is from OGGM-edu :-) . However it is a broken link (https://edu.oggm.org/en/latest/notebooks/mass_balance_gradient.html). I think it links to the old webpage and does not work anymore. Maybe we can link the old links to the new webpage? By the way, the fourth entry in google links to the correct new webpage, (https://oggm.org/oggm-edu-notebooks/oggm-edu/mass_balance_gradients.html).
The list of possible experiments in the Glacier Simulator page is fantastic. The web page formatting may not be the most effective way of putting them across for instructors. I suggest pulling most of the detailed experiments into one or more SERC labs -- probably Lab 3 in the current numbering? -- and streamlining the web page to link out to them, with just a brief description of the science questions.
I'm a little bit confused. If I want to create a new notebook, what should I do ? Putting into oggm-edu or oggm ? Using .rst or .ipynb files ? Putting in docs, notebooks, gen_plots, run_examples or experiments directory ? Link with the list of notebooks ? I think I understand some things but it's not super clear. A readme in the oggm-edu and oggm directories could be helpful. Or maybe adding these information into contributing.rst
file ...
All links that leave the oggm-edu namespace (e.g. the links to the apps, the links to the notebooks, etc) should open in a new tab.
How to do this in RST is unclear atm.
We should build a RTD documentation to explain the purpose of this repository, and link people to the right tutorial depending on their level.
We recently added two class activities to a US based platform:
These activities should be readily applicable to a german high school class. I suggest to create a new rst file in this folder: https://github.com/OGGM/oggm-edu/tree/master/docs/activity_sheets that we will link to from the main page.
For example:
oggm_edu_lab_1_de.rst
for a german translation of lab 1oggm_edu_lab_2_de.rst
for a german translation of lab 2The links to teaching materials on the SERC platform have to be replaced by german translations as well, but this can be done in a second step.
Currently the repository is just a collection of notebooks accessing OGGM core directly.
The idea of an oggm-edu package is to abstract the complexity of OGGM in order to make the experiments simpler to design and conduct for new users. For example, removing the call to classes and replace the interface with functions instead.
This is going to be easier to do once we have more use cases and a better overview of what is needed. But we can still start with a package structure ;-)
We currently have a dash server (https://github.com/pyviz-demos/glaciers) which is not linked anywhere but can continue to run as a "legacy" app.
We have one single bokeh app, which doesn't work currently: https://dash.klima.uni-bremen.de/bokeh/app . The code of this app is, as far as I know, not hosted on github. @TimoRoth made a script out of the notebook I wrote in https://github.com/OGGM/bokeh-apps and is serving it somewhere (a VM in Bremen?).
It looks like we are going to move towards the Bokeh/Holoviz/Panel ecosystem altogether (Patrick started to develop a new app already). We are going to have at least three apps by the end of the year, so we need a system to serve these apps (and update them) without too much burden for @TimoRoth and all involved.
The optimal way for me would be a model like panel does: https://panel.pyviz.org/ . Each app has a given url: e.g. https://gapminder.pyviz.demo.anaconda.com/app, https://glaciers.pyviz.demo.anaconda.com, etc., and each app has a github repository: https://github.com/pyviz-demos/
This way, we have the server, and a possible fallback would be to run the apps on mybinder as well if the server doesn't work (e.g. the binder link om glaciers).
@TimoRoth - I know it was a bit of a mess to serve the current app, and also to debug the "white screen" issue. Do you thing that it would make sense to reach out to the panel devs to ask for their set-up? They are very responsive in general!
It is probably a good idea to add a reference of the full API to the docs. Even though notebooks cover most of the functionality, it is a bit tedious to use them as reference. Not sure how much work this would be, but it would raise the quality even more I believe.
PROMICE Ice school: http://isskolen.dk/wp/?page_id=7477
Link to Cryoblog.
Link to Michigan uni notebooks
Hi @TimoRoth,
the docker link of the glacier simulator is not working and maybe you can help.
You changed the docker links here b36de29 and explained on slack that the ports I was using for the simulator were not best practice (as 0.0.0.0 just means 'any IP'). I just checked again and with docker run -e BOKEH_ALLOW_WS_ORIGIN=127.0.0.1 -p 8085:8080 oggm/bokeh:20210130 git+https://github.com/OGGM/glacier_simulator.git@stable app.ipynb
and accessing with http://127.0.0.1:8085/app
the app is not starting.
However the bad practice example with docker run -e BOKEH_ALLOW_WS_ORIGIN=0.0.0.0:8080 -p 8080:8080 oggm/bokeh:20210130 git+https://github.com/OGGM/glacier_simulator.git@stable app.ipynb
and accessing with http://0.0.0.0:8080/app
is working.
Is it only a problem on my side? (I just reinstalled and updated docker)
Do you have an idea what can cause the problem?
Some discussion here: https://github.com/jupyterhub/binderhub/issues/341
Maybe we should update the Thumbnails of the Explorer and Simulator to show the new Uni Bremen logos.
I'm pretty sure it's a sad "no", but it's worth a try. @TimoRoth ?
See https://mybinder.readthedocs.io/en/latest/tutorials/dockerfile.html
Currently we have an environment which looks like this:
Lines 1 to 20 in 1c616ce
This not only takes a lot of time, but it also builds images which are huge, and I'm quite sure this also slows down firing up the VM when opening mybinder.
cc @TimoRoth
See discussion on gitter: https://gitter.im/pangeo-data/Lobby?at=5c3660a38db70e46c4deea6c
Currently, the GlacierBed
only provide a linear bed profile, with the possibility to specify the slope. A nice feature would be the ability to add non-linear bed profiles, i.e. varying slopes.
I imagine this to work similar to how one currently defines variable widths, or how one define a complex mass balance, - the user supplies a set of slopes and breakpoint altitudes which is interpolated in the constructor.
The example questions all have a different kind of formatting: https://edu.oggm.org/en/latest/simulator.html
On the Glacier Gallery page, "Future Improvements" encourages readers to contribute glacier info and describes how. On the World Glacier Explorer page, the "Future Improvements" header reads a bit more like notes to the team of what could be tackled next--like a GitHub issue that isn't in the repo. None of the other pages on the site have these "Future Improvements" sections.
Do you want to clarify the purpose and audience of these sections?
https://readthedocs.org/projects/oggm-edu/builds/19880308/
I've seen this before, no clue what this could be...
The translation of the oggm-edu is explained here: https://edu.oggm.org/en/latest/roadmap.html#help-translate-oggm-edu
An example of translation for "Alps Future" is here: https://github.com/OGGM/oggm-edu/blob/master/docs/locale/de/LC_MESSAGES/alps_future.po
I think it would be great to translate the following pages to German (or french or spanish):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.