# NGI pyING-team for Scientific computing in Python
This document discribes what you need to know for following the online [Python for Scientific Computing](https://scicomp.aalto.fi/training/scip/python-for-scicomp/) for the NGI pyING-team.
## Schedule
In the original set-up I wrote the time-slots in EEST, I have now converted the time slots to CEST meaning our Oslo-time. Erdi please make use that you remember to convert to your time zone as well :nerd_face:.
Please fill in your name under each day you are interested in joining:
* Mon 25.oct, 09:00-12:00 CEST (Jupyter, numpy, pandas…)
* Sunniva Indrehus, Jessica Chiu, Erdi, Kjetil, Oda, Kursat (from 10:30), Cagdas (from 11:30), Santiago, Khoa
* Tue 26.oct, 09:00-12:00 CEST (…pandas, matplotlib, data formats, scripts…)
* Sunniva Indrehus, Erdi, Øyvind, Kjetil, Kursat, Oda (from 11:00), Cagdas (from 11:00), Santiago, Khoa
* Wed 27.oct, 09:00-12:00 CEST (…scripts, scipy, library ecosystem, parallel)
* Sunniva Indrehus, Jessica Chiu 9-10&11-12, Erdi, Øyvind,Vishal, Kursat, Cagdas, Santiago, Steven
* Thu 28.oct, 09:00-12:00 CEST (dependency management, binder, packaging)
* Sunniva Indrehus, Jessica Chiu, Erdi, Øyvind,Vishal, Cagdas, Santiago
## Setting up your environment on the NGI-Windows computer
**Do not miss this step! You do not have time to do the installation when the course is started.**
### Start with installing miniconda3
To install Miniconda on your windows machine follow [these](https://coderefinery.github.io/installation/conda/) instructions. **Make sure that you select the PATH choices described in the section [If you don't have Miniconda3 or Anaconda3 at all](https://coderefinery.github.io/installation/conda/#if-you-don-t-have-miniconda3-or-anaconda3-at-all)**.
#### A problem you might experience
#### Tips from VDa and OdM
Miniconda might not open under your home directory automatically. If the your cmd shows
```
C:\>
```
then change the directory to your users home dir (e.g. C:\\> cd Users/YOUR_USERNAME, YOUR_USERNAME=your NGI-username)
```
C:\> cd Users/VDa
```
#### Tips from :woman:=Sunniva
The first time I followed the instructions there was an error with the channels conda is fetching packages from. I had the following error:
```
(base) PS C:\Users\SuI> conda env create -f https://raw.githubusercontent.com/AaltoSciComp/python-for-scicomp/master/software/environment.yml
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound:
- mpi4py
```
where ```SuI```will be your NGI-username. The error message means that the 'mpi4py'-package i. I fixed that by typing
```
(base) PS C:\Users\SuI> conda config --add channels conda-forge
```
and then the original command again
```
(base) PS C:\Users\SuI> conda env create -f https://raw.githubusercontent.com/AaltoSciComp/python-for-scicomp/master/software/environment.yml
```
When the ``python-for-scicomp`` is sucsessfully installed you will see something like this in your terminal
```
done
#
# To activate this environment, use
#
# $ conda activate python-for-scicomp
#
# To deactivate an active environment, use
#
# $ conda deactivate
```
### Verify your installation
I would reccomend you to type ```conda activate python-for-scicomp``` in your terminal to check that everything is working as it should. If you do that the terminal will look like this
```
(base) PS C:\Users\SuI> conda activate python-for-scicomp
(python-for-scicomp) PS C:\Users\SuI>
```
Then you can try to launch ``jupyter-lab`` in the terminal (will open in browser window) and you all your installations are set for the workshop.
```
(python-for-scicomp) PS C:\Users\SuI> jupyter-lab
(... will open in a browser window...)
```
Click on Notebook python3

and try to write a print statement in a notebook cell and "run" the cell by clicking on run.

If it went as expected you will see something like this:

and we are ready for the course :sunglasses:
## Random
If you are also a fan of emojis you can find an emoji cheat sheet [here](https://github.com/ikatyang/emoji-cheat-sheet#people--body).
## Feedback from the workshop
- I liked:
- Conversation-approach among instructors is quite interesting to follow than a traditional presentation-approach
- Instance Q&A using HackMD with other participants
- Well-organised course info and exercises
- I liked that they don't do a lengthy and very detailed course, but rather focus on the main concepts and point you to where you can search for more info/documentation.
- I did not like:
- Some parts are very informative and speakers ran out of time.
- Did it make sense to "see" the course together as a NGI-team?
- Yes: +2
- Is it interesting to do this again?
- Yes, but I think the course will be hard for very new beginners in Python to follow
- maybe some case studies from those implemented their python skills