Five Guiding Principles to Make Jupyter Notebooks Fit for Earth Observation Data Education
Abstract
:1. Introduction
2. Learning Tool for Python (LTPy) on Atmospheric Composition
2.1. Overview, Aim and Target Audience
2.2. Hosting and Accessibility
2.3. Training Activities and Feedback
- Q1: Would you recommend the training to a friend or colleague? (Rating from 1 to 5)
- Q2: What did you specifically enjoy or find useful in this session? (Open response)
- Q3: What should we do differently next time? (Open response)
- Q4: What type of information would help you in using a specific dataset? (Multiple choice question)
3. Guiding Principles for Using Jupyter Notebooks for EO Data Education
3.1. Leverage the Literate Programming Paradigm to Make Jupyter Notebooks Educational
3.2. Use of Instructional Design Elements
3.3. Follow Best Practices for Scientific Computing
3.4. Take Advantage of the Full Jupyter Ecosystem to Make Content Accessible
3.5. Aim for Reproducibility
4. Discussion
5. Conclusions and Future Outlook
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
Satellite-Based Products | ||
---|---|---|
Satellite | Instrument | Data Product(s) |
Metop series (consists of three satellites: Metop-A, -B, -C) | Global Ozone Monitoring Experiment-2 (GOME-2) | Absorbing Aerosol Index (AAI) Absorbing Aerosol Height (AAH) Tropospheric Nitrogen Dioxide (NO2) |
Metop series (consists of three satellites: Metop-A, -B, -C) | Infrared Atmospheric Sounding Interferometer (IASI) | Carbon Monoxide Ammonia (NH3) |
Sentinel-5 Precursor (Sentinel-5P) | TROPOspheric Monitoring Instrument (TROPOMI) | Carbon Monoxide (CO) Ultraviolet Aerosol Index (UVAI) |
Sentinel-3 | Ocean and Land Colour Instrument (OLCI) | Level 1 RGB True- and False-Color composites |
Sentinel-3 | Sea and Land Surface Temperature Radiometer (SLSTR) | Fire Radiative Power (FRP) Aerosol Optical Depth (AOD) |
Metop series (consists of three satellites: Metop-A, -B, -C) | GOME-2, IASI, Advance Very High Resolution Radiometer (AVHRR) | Polar Multi-Sensor Aerosol Optical Properties (PMAp) Aerosol Optical Depth (AOD) |
Model-based products | ||
Operational service | Product type | Data variable(s) |
Copernicus Atmospheric Monitoring Service (CAMS) | Global Fire Assimilation System (GFAS) | Fire Radiative Power (FRP) |
Copernicus Atmospheric Monitoring Service (CAMS) | Global reanalysis (EAC4) | Organic Matter Aerosol Optical Depth (OMAOD) Ozone (O3) |
Copernicus Atmospheric Monitoring Service (CAMS) | Global atmospheric composition forecasts | Dust Aerosol Optical Depth |
Copernicus Atmospheric Monitoring Service (CAMS) | European air quality forecasts | Dust concentration Nitrogen Dioxide (NO2) |
Copernicus Emergency Management Service (CEMS) | Global ECMWF Fire Forecast (GEFF) | Fire Weather Index (FWI) |
Satellite-Based Products | ||
Satellite | Instrument | Data Product(s) |
Metop series (consists of three satellites: Metop-A, -B, -C) | Global Ozone Monitoring Experiment-2 (GOME-2) | Absorbing Aerosol Index (AAI) |
Sentinel-5 Precursor (Sentinel-5P) | TROPOspheric Monitoring Instrument (TROPOMI) | Ultraviolet Aerosol Index (UVAI) |
Metop series (consists of three satellites: Metop-A, -B, -C) | GOME-2, IASI, Advanced Very High Resolution Radiometer (AVHRR) | Polar Multi-Sensor Aerosol Optical Properties (PMAp) Aerosol Optical Depth (AOD) |
Meteosat Second Generation | Spinning Enhance Visible and InfraRed Image (SEVIRI) | Level 1 RGB True- and False-Color composites |
Terra and Aqua | Moderate Resolution Imaging Spectroradiometer (MODIS) | Level 1 RGB True- and False- Color composites Aerosol Optical Depth (AOD) |
Model-based products | ||
Operational service | Product type | Data variable(s) |
Copernicus Atmosphere Monitoring Service (CAMS) | Global atmospheric composition forecasts | Dust Aerosol Optical Depth |
Copernicus Atmosphere Monitoring Service (CAMS) | European air quality forecasts | Dust concentration |
Barcelona Dust Regional Center | Regional dust forecasts for Northern Africa, Middle East and Europe | Dust Aerosol Optical Depth |
Ground-based products | ||
Data service | Ground-based sensor | Data variable(s) |
Aerosol Robotic NETwork | Sun photometer | Aerosol Optical Depth Angstrom Exponent Coefficient |
European Aerosol Research Lidar Network (EARLINET) | Lidar | Vertical backscatter profile |
European Environment Agency (EEA) Air Quality Data | Particulate Matter Sensor | Particulate Matter 2.5 (PM2.5) Particulate Matter 10 (PM10) |
Category | n | % | Example Responses |
---|---|---|---|
Practical session in general, including introduction to Jupyter notebooks | 57 | 54.3 |
|
Introduction to atmospheric composition thematic and data, including scientific lectures | 36 | 34.3 |
|
Course structure, content and organization | 23 | 21.9 |
|
Categories with Four or More Mentions | Categories with Less than Four Mentions |
---|---|
Extension of the practical training, including daily assignments and start workflows from downloading datasets More breaks during the practical training, including more time for introducing the Jupyter-based training platform and explaining Python code principles Preference for in-person training More scientific depth and inter- connections of the atmospheric composition topic | Provide more references to books, articles and data documentation Provide presentations and practical training content in beforehand More time for Q&A and provide written answers to questions Provide a space for offline discussions after the training course Offer separate introduction to Python/Jupyter notebooks/xarray Inform about the level of difficulty of the practical part in beforehand Provide more trainers for practical part |
No. | Notebook Title | # of Cells (Total) | No. of Cells (Markdown) | No. of Cells (Code) | Ratio (Markdown/Code) |
---|---|---|---|---|---|
Section I—Data access | |||||
1.1 | Atmospheric composition data—Overview and data access | 95 | 93 | 2 | 46.5 |
1.2 | WEkEO Harmonized data access (HDA) API | 55 | 40 | 15 | 2.7 |
Section II—Data exploration | |||||
2.1.1 | AC SAF Metop-A GOME-2—Tropospheric NO2—Level 2—Load and browse | 52 | 40 | 12 | 3.3 |
2.1.2 | AC SAF Metop-A/B GOME-2—Tropospheric NO2—Level 2—Pre-process | 72 | 52 | 20 | 2.6 |
2.1.3 | AC SAF Metop-A/B GOME-2—Tropospheric NO2- Level 3—Load and browse | 38 | 29 | 9 | 3.2 |
2.1.4 | AC SAF Metop-A/B/C GOME-2—Absorbing Aerosol Index—Level 3—Load and browse | 54 | 39 | 15 | 2.6 |
2.1.5 | AC SAF Metop-A/B/C GOME-2—Absorbing Aerosol Height—Level 2—Load and browse | 59 | 46 | 13 | 3.5 |
2.2.1 | Polar Multi-Sensor Aerosol Optical Properties (PMAp)—Aerosol Optical Depth—Level 2—Load and browse | 41 | 32 | 9 | 3.6 |
2.3.1 | Metop-A/B IASI—Ammonia (NH3)—Level 2—Load and browse | 55 | 40 | 15 | 2.7 |
2.3.2 | Metop-A/B IASI—Carbon Monoxide—Level 2—Load and browse | 68 | 48 | 20 | 2.4 |
2.4.1 | Sentinel-5P TROPOMI—Carbon Monoxide—Level 2—Load and browse | 47 | 35 | 12 | 2.9 |
2.4.2 | Sentinel-5P TROPOMI—Ultraviolet Aerosol Index—Level 2—Load and browse | 40 | 32 | 8 | 4.0 |
2.5.1 | Sentinel-3 OLCI—Radiances—Level 1—Load and browse | 77 | 52 | 25 | 2.1 |
2.5.2 | Sentinel-3 SLSTR NRT—Fire Radiative Power (FRP)—Level 2—Load and browse | 84 | 56 | 28 | 2.0 |
2.5.3 | Sentinel-3 SLSTR NRT—Aerosol Optical Depth (AOD)—Level 2—Load and browse | 31 | 25 | 6 | 4.2 |
2.6.1 | CAMS Global reanalysis (EAC4)—Organic Matter Aerosol Optical Depth—Load and browse | 61 | 42 | 19 | 2.2 |
2.6.2 | CAMS Global Fire Assimilation System (GFAS)—Fire Radiative Power—Load and browse | 33 | 25 | 8 | 3.1 |
2.6.3 | CAMS Global Forecast—Dust Aerosol Optical Depth—Load and browse | 60 | 43 | 17 | 2.5 |
2.6.4 | CAMS European air quality forecast—Dust Concentration—Load and browse | 64 | 46 | 18 | 2.6 |
2.6.5 | European air quality forecast—Nitrogen Dioxide—Load and browse | 63 | 45 | 18 | 2.5 |
2.7.1 | CEMS Global ECMWF Fire Forecast—Fire Weather Index—Load and browse | 87 | 63 | 24 | 2.6 |
2.7.2 | CEMS Global ECMWF Fire Forecast—Fire Weather Index—Harmonized Danger Classes | 36 | 29 | 7 | 4.1 |
2.7.3 | CEMS Global ECMWF Fire Forecast—Fire Weather Index—Custom Danger Classes | 61 | 41 | 20 | 2.1 |
Section III—Case studies | |||||
3.1.0 | Case study—Siberian fires 2021—Multi-data | 110 | 77 | 33 | 2.3 |
3.1.1 | Case study—Amazon fires 2019—Multi-data | 73 | 50 | 23 | 2.2 |
3.1.2 | Case study—Siberian fires 2019—Multi-data | 119 | 82 | 37 | 2.2 |
3.1.3 | Case study—Californian fires 2020—Multi-data | 160 | 113 | 47 | 2.4 |
3.1.4 | Case study—Chernobyl fires 2020—Sentinel-3 SLSTR NRT—Fire Radiative Power | 82 | 56 | 26 | 2.2 |
3.1.5 | Case study—Californian fires 2020—Sentinel-3 SLSTR NRT—Fire Radiative Power | 81 | 55 | 26 | 2.1 |
3.1.6 | Case study—Californian fires 2020—Sentinel-3 SLSTR NRT—Aerosol Optical Depth | 31 | 25 | 6 | 4.2 |
3.1.7 | Case study—Indonesian fires 2015—Multi-data | 148 | 106 | 42 | 2.5 |
3.1.8 | Case study—Indonesian fires 2020—Multi-data | 93 | 67 | 26 | 2.6 |
3.1.9 | Case study—Portugal fires 2020—Multi-data | 205 | 145 | 60 | 2.4 |
3.2.1 | Case study—Map and time-series analysis—AC SAF Metop-A/B GOME-2—Tropospheric NO2 | 43 | 33 | 10 | 3.3 |
3.2.2 | Case study—Produce gridded dataset—AC SAF Metop-A/B GOME-2—Tropospheric NO2 | 71 | 51 | 20 | 2.6 |
3.2.3 | Case study—Create an anomaly map—Europe—AC SAF Metop-A/B GOME-2—Tropospheric NO2 | 122 | 83 | 39 | 2.1 |
3.2.4 | Case study—Time-series analysis—Europe—AC SAF Metop-A/B GOME-2—Tropospheric NO2 | 63 | 45 | 18 | 2.5 |
3.2.5 | Case study—Create an anomaly map—Europe—Sentinel-5P TROPOMI—Tropospheric NO2 | 57 | 41 | 16 | 2.6 |
3.2.6 | Case study—Time-series analysis—Europe—Sentinel-5P TROPOMI—Tropospheric NO | 58 | 44 | 14 | 3.1 |
3.3.1 | Case study—Antarctic ozone hole 2019—Multi-data | 76 | 51 | 25 | 2.0 |
3.3.2 | Case study—Antarctic ozone hole 2019—CAMS animation | 31 | 24 | 7 | 3.4 |
3.3.3 | Case study—Antarctic ozone hole 2020—AC SAF Metop-A/B/C GOME-2 Level 2 | 86 | 63 | 23 | 2.7 |
3.3.4 | Case study—Arctic ozone hole 2020—Metop-A/B/C IASI Level 2 | 84 | 63 | 21 | 3.0 |
3.3.5 | Case study—Arctic ozone hole 2020—CAMS Reanalysis (EAC4) | 36 | 28 | 8 | 3.5 |
Section IV—Exercises | |||||
4.1.1 | Exercise—Sentinel-5P TROPOMI—Carbon Monoxide—Level 2 | 82 | 62 | 20 | 3.0 |
4.2.1 | Exercise—Sentinel-3 OLCI—Radiances—Level 1 | 97 | 73 | 24 | 3.0 |
4.2.2 | Exercise—Sentinel-3 SLSTR NRT—Fire Radiative Power | 85 | 63 | 22 | 3.0 |
4.2.3 | Exercise—Sentinel-3 SLSTR NRT—Aerosol Optical Depth | 54 | 43 | 11 | 4.0 |
4.3.1 | Exercise—CAMS Global Reanalysis (EAC4)—Total Column Carbon Monoxide | 59 | 47 | 12 | 4.0 |
4.4.1 | Exercise—AC SAF Metop-A/B/C GOME-2—Ozone | 125 | 95 | 30 | 3.0 |
4.4.2 | Exercise—Metop-A/B/C IASI—Ozone | 107 | 80 | 27 | 3.0 |
No. | Notebook Title | # of Cells (Total) | No. of Cells (Markdown) | No. of Cells (Code) | Ratio (Markdown/Code) |
---|---|---|---|---|---|
Section I—Observations—Satellite data | |||||
1.1.1 | Meteosat Second Generation SEVIRI—True color and dust RGB—Level 1 | 101 | 74 | 27 | 2.7 |
1.1.2 | MODIS—True color and dust RGB—Level 1B | 80 | 60 | 20 | 3.0 |
1.1.3 | Sentinel-5P TROPOMI—Ultraviolet Aerosol Index—Level 2 | 48 | 36 | 12 | 3.0 |
1.1.4 | MODIS—10 km aerosol product—Level 2 | 49 | 38 | 11 | 3.5 |
1.1.5 | Polar Multi-Sensor Aerosol Optical Properties (PMAp) Product—Aerosol Optical Depth—Level 2 | 50 | 39 | 11 | 3.5 |
1.1.6 | Metop-ABC GOME-2—Absorbing Aerosol Index—Level 3 | 64 | 49 | 15 | 3.3 |
Section I—Observations—Ground-based data | |||||
1.2.1 | AERONET—AErosol RObotic NETwork | 67 | 53 | 14 | 3.8 |
1.2.2 | European Aerosol Research Lidar Network (EARLINET)—Backscatter profiles | 37 | 30 | 7 | 4.3 |
1.2.3 | European Environment Agency Air Quality Data | 48 | 36 | 12 | 3.0 |
Section II—Model forecasts | |||||
2.1 | CAMS global atmospheric composition forecast—Dust Aerosol Optical Depth | 74 | 53 | 21 | 2.5 |
2.2 | CAMS European Air Quality Forecasts—Dust concentration | 74 | 54 | 20 | 2.7 |
2.3 | WMO SDS-WAS MONARCH—Dust Forecast | 46 | 34 | 12 | 2.8 |
Section III—Practical case study | |||||
3.1 | Exercise 01 Exercise 01—Solution | 21 77 | 17 56 | 4 21 | 4.3 2.7 |
3.2 | Exercise 02 Exercise 02—Solution | 30 73 | 23 52 | 7 21 | 3.3 2.5 |
3.3 | Exercise 03 Exercise 03—Solution | 31 66 | 24 49 | 7 17 | 3.4 2.9 |
3.4 | Exercise 04 Exercise 04—Solution | 28 76 | 22 54 | 6 22 | 3.7 2.5 |
3.5 | Exercise 05 Exercise 05—Solution | 21 57 | 17 43 | 4 14 | 4.3 3.1 |
References
- Wagemann, J.; Siemen, S.; Seeger, B.; Bendix, J. Users of Open Big Earth Data—An Analysis of the Current State. Comput. Geosci. 2021, 157, 104916. [Google Scholar] [CrossRef]
- Price Waterhouse Coopers (PWC). Main Trends and Challenges in the Space Sector; PWC: Neuilly-sur-Seine, France, 2020. [Google Scholar]
- Hebden, S. Plans for a New Wave of European Satellites. 2020. [Google Scholar]
- European Organisation for the Exploitation of Meteorological Satellites Meteosat Series|EUMETSAT. Available online: https://www.eumetsat.int/our-satellites/meteosat-series?sjid=future (accessed on 12 February 2022).
- Masek, J.G.; Wulder, M.A.; Markham, B.; McCorkel, J.; Crawford, C.J.; Storey, J.; Jenstrom, D.T. Landsat 9: Empowering Open Science and Applications through Continuity. Remote Sens. Environ. 2020, 248, 111968. [Google Scholar] [CrossRef]
- National Aeronautics and Space Administration Landsat NeXt|Landsat Science. Available online: https://landsat.gsfc.nasa.gov/satellites/landsat-next/ (accessed on 12 February 2022).
- Bernd, A.; Braun, D.; Ortmann, A.; Ulloa-Torrealba, Y.Z.; Wohlfart, C.; Bell, A. More than Counting Pixels—Perspectives on the Importance of Remote Sensing Training in Ecology and Conservation. Remote Sens. Ecol. Conserv. 2017, 3, 38–47. [Google Scholar] [CrossRef] [Green Version]
- Miguel-Lago, M. Towards an Innovative Strategy for Skills Development and Capacity Building in the Space Geoinformation Sector Supporting Copernicus User Uptake: Deliverable 1.6—Space/Geospatial Sector Skills Strategy; EO4GEO: Genova, Italy, 2019. [Google Scholar]
- Hodam, H.; Rienow, A.; Jürgens, C. Bringing Earth Observation to Schools with Digital Integrated Learning Environments. Remote Sens. 2020, 12, 345. [Google Scholar] [CrossRef] [Green Version]
- European Space Agency ESA—European Space Education Resource Office. Available online: https://www.esa.int/Education/Teachers_Corner/European_Space_Education_Resource_Office (accessed on 16 May 2022).
- Friedrich Schiller Universität Jena. Welcome to EO College—EO College. Available online: https://eo-college.org/welcome (accessed on 16 May 2022).
- Davies, A.; Hooley, F.; Causey-Freeman, P.; Eleftheriou, I.; Moulton, G. Using Interactive Digital Notebooks for Bioscience and Informatics Education. PLoS Comput. Biol. 2020, 16, e1008326. [Google Scholar] [CrossRef]
- Kim, B.; Henke, G. Easy-to-Use Cloud Computing for Teaching Data Science. J. Stat. Data Sci. Educ. 2021, 29, S103–S111. [Google Scholar] [CrossRef]
- Bauer, T.; Immitzer, M.; Mansberger, R.; Vuolo, F.; Márkus, B.; Wojtaszek, M.V.; Földváry, L.; Szablowska-Midor, A.; Kozak, J.; Oliveira, I.; et al. The Making of a Joint E-Learning Platform for Remote Sensing Education: Experiences and Lessons Learned. Remote Sens. 2021, 13, 1718. [Google Scholar] [CrossRef]
- Maggioni, V.; Girotto, M.; Habib, E.; Gallagher, M.A. Building an Online Learning Module for Satellite Remote Sensing Applications in Hydrologic Science. Remote Sens. 2020, 12, 3009. [Google Scholar] [CrossRef]
- Perkel, J.M. Why Jupyter Is Data Scientists’ Computational Notebook of Choice. Nature 2018, 563, 145–146. [Google Scholar] [CrossRef] [Green Version]
- Perkel, J.M. Ten Computer Codes That Transformed Science. Nature 2021, 589, 344–348. [Google Scholar] [CrossRef]
- Rule, A.; Tabard, A.; Hollan, J.D. Exploration and Explanation in Computational Notebooks. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, Montreal, QC, Canada, 21–26 April 2018; ACM: Montreal, QC, Canada, 2018; pp. 1–12. [Google Scholar]
- Lau, S.; Drosos, I.; Markel, J.M.; Guo, P.J. The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry. In Proceedings of the 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Dunedin, New Zealand, 10–14 August 2020; IEEE: Dunedin, New Zealand, 2020; pp. 1–11. [Google Scholar]
- Pimentel, J.F.; Murta, L.; Braganholo, V.; Freire, J. A Large-Scale Study About Quality and Reproducibility of Jupyter Notebooks. In Proceedings of the 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), Montreal, QC, Canada, 25–31 May 2019; IEEE: Montreal, QC, Canada, 2019; pp. 507–517. [Google Scholar]
- Pimentel, J.F.; Murta, L.; Braganholo, V.; Freire, J. Understanding and Improving the Quality and Reproducibility of Jupyter Notebooks. Empir. Softw. Eng. 2021, 26, 65. [Google Scholar] [CrossRef] [PubMed]
- Chattopadhyay, S.; Prasad, I.; Henley, A.Z.; Sarma, A.; Barik, T. What’s Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, Honolulu, HI, USA, 25–30 April 2020; ACM: Honolulu, HI, USA, 2020; pp. 1–12. [Google Scholar]
- Engelberger, F.; Galaz-Davison, P.; Bravo, G.; Rivera, M.; Ramírez-Sarmiento, C.A. Developing and Implementing Cloud-Based Tutorials That Combine Bioinformatics Software, Interactive Coding, and Visualization Exercises for Distance Learning on Structural Bioinformatics. J. Chem. Educ. 2021, 98, 1801–1807. [Google Scholar] [CrossRef]
- Clarke, D.J.B.; Jeon, M.; Stein, D.J.; Moiseyev, N.; Kropiwnicki, E.; Dai, C.; Xie, Z.; Wojciechowicz, M.L.; Litz, S.; Hom, J.; et al. Appyters: Turning Jupyter Notebooks into Data-Driven Web Apps. Patterns 2021, 2, 100213. [Google Scholar] [CrossRef]
- Lasser, J.; Manik, D.; Silbersdorff, A.; Säfken, B.; Kneib, T. Introductory Data Science across Disciplines, Using Python, Case Studies, and Industry Consulting Projects. Teach. Stat. 2021, 43, S190–S200. [Google Scholar] [CrossRef]
- Boscoe, B.M.; Pasquetto, I.V.; Golshan, M.S.; Borgman, C.L. Using the Jupyter Notebook as a Tool for Open Science: An Empirical Study. In Proceedings of the 2017 ACM/IEEE Joint Conference on Digital Libraries (JCDL), Toronto, ON, Canada, 19–23 June 2017. [Google Scholar]
- Camara, G.S.; Camboim, S.P.; Bravo, J.V.M. Using Jupyter Notebooks for Viewing and Analysing Geospatial Data: Two Examples for Emotional Maps and Education Data. Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci. 2021, XLVI-4/W2-2021, 17–24. [Google Scholar] [CrossRef]
- Committee on Earth Observation Satellites. Jupyter Notebooks for Capacity Development Webinar|CEOS. Available online: https://ceos.org/meetings/jupyter-notebooks-for-capacity-development-webinar/ (accessed on 10 February 2022).
- Granger, B.E.; Perez, F. Jupyter: Thinking and Storytelling with Code and Data. Comput. Sci. Eng. 2021, 23, 7–14. [Google Scholar] [CrossRef]
- Jupyter, P.; Bussonnier, M.; Forde, J.; Freeman, J.; Granger, B.; Head, T.; Holdgraf, C.; Kelley, K.; Nalvarte, G.; Osheroff, A.; et al. Binder 2.0—Reproducible, Interactive, Sharable Environments for Science at Scale. In Proceedings of the 17th Python in Science Conference (SciPy 2018), Austin, TX, USA, 9–15 July 2018; pp. 113–120. [Google Scholar]
- Rule, A.; Birmingham, A.; Zuniga, C.; Altintas, I.; Huang, S.-C.; Knight, R.; Moshiri, N.; Nguyen, M.H.; Rosenthal, S.B.; Pérez, F.; et al. Ten Simple Rules for Writing and Sharing Computational Analyses in Jupyter Notebooks. PLoS Comput. Biol. 2019, 15, e1007007. [Google Scholar] [CrossRef] [PubMed]
- Quaranta, L.; Calefato, F.; Lanubile, F. Eliciting Best Practices for Collaboration with Computational Notebooks. Proc. ACM Hum. Comput. Interact. 2022, 6, 1–41. [Google Scholar] [CrossRef]
- Johnson, J.W. Benefits and Pitfalls of Jupyter Notebooks in the Classroom. In Proceedings of the 21st Annual Conference on Information Technology Education, Virtual, 7–9 October 2020; ACM: New York, NY, USA, 2020; pp. 32–37. [Google Scholar]
- Wagemann, J.; Szeto, S.; Mantovani, S.; Fierli, F. Learning Tool for Python on Atmospheric Composition. J. Open Source Educ. 2022. under review. [Google Scholar]
- Knuth, D.E. Literate Programming. Comput. J. 1984, 27, 97–111. [Google Scholar] [CrossRef] [Green Version]
- Wilson, G.; Aruliah, D.A.; Brown, C.T.; Chue Hong, N.P.; Davis, M.; Guy, R.T.; Haddock, S.H.D.; Huff, K.D.; Mitchell, I.M.; Plumbley, M.D.; et al. Best Practices for Scientific Computing. PLoS Biol. 2014, 12, e1001745. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Wang, J.; Kuo, T.; Li, L.; Zeller, A. Assessing and Restoring Reproducibility of Jupyter Notebooks. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, Virtual, 21–25 December 2020; pp. 138–149. [Google Scholar]
- Koenzen, A.P.; Ernst, N.A.; Storey, M.-A.D. Code Duplication and Reuse in Jupyter Notebooks. In Proceedings of the 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Dunedin, New Zealand, 10–14 August 2020; IEEE: Dunedin, New Zealand, 2020; pp. 1–9. [Google Scholar]
- Executable Books Community. Jupyter Book; Zenodo/CERN: Geneva, Switzerland, 2020. [Google Scholar]
- Wagemann, J.; Siemen, S.; Seeger, B.; Bendix, J. A User Perspective on Future Cloud-Based Services for Big Earth Data. Int. J. Digit. Earth 2021, 14, 1758–1774. [Google Scholar] [CrossRef]
- Echterhoff, J.; Wagemann, J.; Lieberman, J. Earth Observation Cloud Platform Concept Development Study Report; Open Geospatial Consortium, Inc.: Arlington, VA, USA, 2021. [Google Scholar]
Component | Links | Number of Notebooks |
---|---|---|
LTPy main course | GitLab repository: https://gitlab.eumetsat.int/eumetlab/atmosphere/atmosphere (accessed on 16 May 2022) Hosted JupyterHub-based training platform: https://ltpy.adamplatform.eu/ (accessed on 16 May 2022) | 51 |
Thematic module on dust monitoring and forecasting | Jupyterbook: https://dust.trainhub.eumetsat.int/ (accessed on 16 May 2022) Hosted Jupyterhub-based training platform: https://dust.ltpy.adamplatform.eu (accessed on 16 May 2022) | 22 |
Type of Training | Number of Events | Number of Participants |
---|---|---|
Training schools | 6 | 553 |
Thematic expert workshops | 2 | 130 |
Short courses | 8 | 402 |
Total | 16 | 1085 |
∅ | |||||
---|---|---|---|---|---|
# No. of Cells (Total) | No. of Cells (Markdown) | No. of Cells (Code) | Ratio | ||
Main course | Section I—Data access (n = 1) * | 55 | 40 | 15 | 2.7 |
Section II—Data exploration (n = 21) | 56.4 | 41 | 15.4 | 2.9 | |
Section III—Case studies (n = 21) | 87.1 | 62 | 25.1 | 2.7 | |
Section IV—Exercises (n = 7) | 87 | 66.1 | 20.6 | 3.3 | |
Total (n = 50) | 73.5 | 53.3 | 20.2 | 2.8 | |
Thematic module | Data exploration (n = 12) | 61.5 | 46.3 | 15.2 | 3.2 |
Exercises (n = 5) | 27.5 | 21.5 | 6 | 3.7 | |
Exercise solutions (n = 5) | 73 | 52.8 | 20.2 | 2.6 | |
Total (n = 22) | 55.4 | 41.5 | 13.9 | 3.2 |
Type | Command | Functionality | Objective |
---|---|---|---|
Modularization | %run ./functions.ipynb | Loads content, e.g., functions, hosted in another notebook or Python script | Cater for different programming literacies Teach best practices for scientific computing |
?function_name | Opens the docstring of the function | ||
Navigation pane | <span style = “float:right;”> <a href = “./test.ipynb”> Next notebook >> </a> </span> | Leverage HTML to align items to the right | Improve overall course navigation |
Anchor links | <a id=’”example1”></a> # Heading 1 | Assign an ID for each section in the notebook | Improve navigation within a notebook |
[Heading 1](#example1) | Reference the assigned ID in the module outline on top | ||
Alert boxes | <div class=”alert alert-block alert-success”> Add content </div> | Colorizes markdown cells Options for alert box colors: alert-success (green) alert-danger (red) alert-info (blue) alert-warning (yellow) | Improve overall course navigation |
Text highlighting as code | ‘this text shall be highlighted’ | Highlights the text within the backticks as code (changes font to Courier New and colors the text in grey) | Highlight specific sections/code in text |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wagemann, J.; Fierli, F.; Mantovani, S.; Siemen, S.; Seeger, B.; Bendix, J. Five Guiding Principles to Make Jupyter Notebooks Fit for Earth Observation Data Education. Remote Sens. 2022, 14, 3359. https://doi.org/10.3390/rs14143359
Wagemann J, Fierli F, Mantovani S, Siemen S, Seeger B, Bendix J. Five Guiding Principles to Make Jupyter Notebooks Fit for Earth Observation Data Education. Remote Sensing. 2022; 14(14):3359. https://doi.org/10.3390/rs14143359
Chicago/Turabian StyleWagemann, Julia, Federico Fierli, Simone Mantovani, Stephan Siemen, Bernhard Seeger, and Jörg Bendix. 2022. "Five Guiding Principles to Make Jupyter Notebooks Fit for Earth Observation Data Education" Remote Sensing 14, no. 14: 3359. https://doi.org/10.3390/rs14143359
APA StyleWagemann, J., Fierli, F., Mantovani, S., Siemen, S., Seeger, B., & Bendix, J. (2022). Five Guiding Principles to Make Jupyter Notebooks Fit for Earth Observation Data Education. Remote Sensing, 14(14), 3359. https://doi.org/10.3390/rs14143359