<jupyter_start><jupyter_text>02 - AC SAF GOME-2 - Produce gridded dataset (L3)>>    Optional: Introduction to Python and Project Jupyter  Project Jupyter "Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages."  Project Jupyter offers different tools to facilitate interactive computing, either with a web-based application (`Jupyter Notebooks`), an interactive development environment (`JupyterLab`) or via a `JupyterHub` that brings interactive computing to groups of users.  * **Jupyter Notebook** is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.* **JupyterLab 1.0: Jupyter’s Next-Generation Notebook Interface**  JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.* **JupyterHub** JupyterHub brings the power of notebooks to groups of users. It gives users access to computational environments and resources without burdening the users with installation and maintenance tasks.  Users - including students, researchers, and data scientists - can get their work done in their own workspaces on shared resources which can be managed efficiently by system administrators.   Why Jupyter Notebooks? * Started with Python support, now **support of over 40 programming languages, including Python, R, Julia, ...*** Notebooks can **easily be shared via GitHub, NBViewer, etc.*** **Code, data and visualizations are combined in one place*** A great tool for **teaching*** **JupyterHub allows you to access an environment ready to code**  Installation  Installing Jupyter using Anaconda Anaconda comes with the Jupyter Notebook installed. You just have to download Anaconda and following the installation instructions. Once installed, the jupyter notebook can be started with:<jupyter_code>jupyter notebook<jupyter_output><empty_output><jupyter_text>Installing Jupyter with pip Experienced Python users may want to install Jupyter using Python's package manager `pip`.With `Python3` you do:<jupyter_code>python3 -m pip install --upgrade pip
python3 -m pip install jupyter<jupyter_output><empty_output><jupyter_text>In order to run the notebook, you run the same command as with Anaconda at the Terminal :<jupyter_code>jupyter notebook<jupyter_output><empty_output><jupyter_text>Jupyter notebooks UI * Notebook dashboard * Create new notebook* Notebook editor (UI) * Menu * Toolbar * Notebook area and cells* Cell types * Code * Markdown* Edit (green) vs. Command mode (blue)     Notebook editor User Interface (UI)  Shortcuts Get an overview of the shortcuts by hitting `H` or go to `Help/Keyboard shortcuts`  Most useful shortcuts * `Esc` - switch to command mode* `B` - insert below* `A` - insert above* `M` - Change current cell to Markdown* `Y` - Change current cell to code* `DD` - Delete cell* `Enter` - go back to edit mode* `Esc + F` - Find and replace on your code* `Shift + Down / Upwards` - Select multiple cells* `Shift + M` - Merge multiple cells  Cell magics Magic commands can make your life a lot easier, as you only have one command instead of an entire function or multiple lines of code.> Go to an [extensive overview of magic commands]()  Some of the handy ones **Overview of available magic commands**<jupyter_code>%lsmagic<jupyter_output><empty_output><jupyter_text>**See and set environment variables**<jupyter_code>%env<jupyter_output><empty_output><jupyter_text>**Install and list libraries**<jupyter_code>!pip install numpy
!pip list | grep pandas<jupyter_output><empty_output><jupyter_text>**Write cell content to a Python file**<jupyter_code>%%writefile hello_world.py

print('Hello World')<jupyter_output><empty_output><jupyter_text>**Load a Python file**<jupyter_code>%pycat hello_world.py<jupyter_output><empty_output><jupyter_text>**Get the time of cell execution**<jupyter_code>%%time

tmpList = []
for i in range(100):
    tmpList.append(i+i)

print(tmpList)<jupyter_output><empty_output><jupyter_text>**Show matplotlib plots inline**<jupyter_code>%matplotlib inline<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.07963540417366274, 'fraction_numerical': 0.0033581194531062605, 'mean_word_length': 6.055837563451776, 'pattern_counts': {'":': 0, '<': 41, '<?xml version=': 0, '>': 44, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '852', 'license': 'MIT', 'n_tokens_mistral': 1215, 'n_tokens_neox': 1175, 'n_words': 485, 'path': '90_workshops/202012_EUM_short_course_gridded_dataset/01_introduction_to_python_and_jupyter.ipynb', 'repo_name': 'trivedi-c/atm_Practical3', 'size': '4169'}