Instructions for instructors¶
The DTU databar¶
The summer school exercises will be running in the DTU Databar, not on Niflheim. You can log in with your DTU username and password. Like Niflheim, it has a login node and a number of compute node, but unlike Niflheim it also has interactive compute nodes where the students and you can run e.g. your Jupyter notebooks.
Logging in¶
ssh -X login.gbar.dtu.dk
Then proceed from the login node to an interactive compute node with the command:
linuxsh -X
Creating an SSH key pair (while at DTU!)¶
When you are on the DTU network (or use a VPN) logging in requires authentification with either a password or a cryptographic key. But once we are off-campus, it requires both. It is much easier to set up while still on DTU.
Creating a key pair on Mac or Linux¶
First check if you already have a public key on your laptop. In a terminal, type:
cd
ls -lh .ssh
Look for files named id_rsa
and id_rsa.pub
. If they are not
there, create them with the command:
ssh-keygen -b 4096 -t rsa
When prompted for a file name, just keep the default. When asked for a password, you can choose one if you feel paranoid / security minded, or leave it blank to avoid having to type a password when you use the key.
Once the file have been created, log in to the databar and type the following commands:
cd
mkdir -p .ssh
nano .ssh/authorized_keys
In that file, paste the content of the file id_rsa.pub
from your
laptop. Press Ctrl-X to exit the “nano” editor, and choose Yes to
save the file.
Not open a new window and try logging in to the databar. If you are at DTU, you should no longer be prompted for a password.
Creating a key pair on Windows¶
Open MobaXterm. On the Tools menu, choose MobaKeyGen
Leave parameters as default (RSA, 2048 bits). Click Generate, and move the mouse to generate randomness. When the key is ready, click “Save private key”. Choose a name that makes sense. You can set a passphrase if you feel paranoid / security-minded.
Keep the MobaKeyGen window open (if you close it, you can load the private key again). Log in to the DTU databar. On the databar, run the commands:
cd
mkdir -p .ssh
nano .ssh/authorized_keys
Now copy the private key from the top field of the MobaKeyGen window (with Ctrl-C), and then paste it into the nano editor by right-clicking on the window. Once the key is pasted, press ENTER so the line ends with a line break. Then exit the “nano” editor by pressing Ctrl-X, say Yes to save the file.
Now log out of the databar and close the MobaKeyGen window.
Click on the Settings button (one of the last ones on the MobaXTerm toolbar). On the configuration window that opens you select the SSH tab. The last box is labelled “SSH agents”, select “Use internal SSH agent MobAgent”.
Click the Plus sign next to the box labelled “Load the following keys at MobAgent startup” and then select the file you just saved with your private SSH key. Then press OK; MobaXterm will then need to restart.
Setting up the Virtual Environment etc¶
To prepare your account, run the script (you only need to do this once):
bash ~jasc/setup2024
(This is the same script the students will be running to set up their account).
This will create a folder CAMD2024
, a virtual environment in
CAMD2024/venv
, and a MyQueue configuration.
A line is added to your .bashrc to automatically activate the virtual environment. Remove it and activate manually if it causes trouble.
Summerschool Notebooks¶
The summerschool notebooks exist in two versions, the student version and the teacher version. The student version is somewhat censored, the teacher version also contain a working solution.
The student version is autogenerated from the teacher version and is
available from the CAMd Summer School 2024 web page under the individual
projects. Remember also to download associated .png
files or they
will not display properly.
The teacher version is stored in the GPAW source code, but as a
.py
file with special comments to help automatic conversion to
Notebook format. In this way, the teacher versions can be run as part
of the GPAW test suite, this is the only reason that we can expect the
notebooks to still work after four years of code development!
The .py files are found in the project folders under
venv/gpaw/doc/summerschools/summerschool24
.
Student versions of all notebooks are extracted from the source Python
files when you build the GPAW documentation (make
in the doc
folder). Edit your notebooks in another folder, as building the
documentation mayoverwrite all notebooks without warning.
To extract teacher version, go to the folder
venv/gpaw/doc/summerschools/summerschool24
after you have built
the documentation, then run the script:
python convert.py --teacher
Making small modifications to the notebooks¶
It is probably easiest to first make the modification in the downloaded Notebook file, and then make the same modification in the .py file. Then submit a merge request.
Teacher versus student version¶
In the .py
file, a cell can be marked to be left out in the
student version like this:
# %%
# teacher:
print('N2 bond length:', slabN2.get_distance(8, 9))
The first line marks that a new cell should be made, the second that the cell should be left out of the student version.
You can also make a single line appear different in the teacher and student version:
vib = Vibrations(slab,
name='vib',
indices=[8, 9], # student: indices=[?, ?],
nfree=4)
Here, one line reads indices=[8, 9],
but indices=[?, ?],
in
the student version.
Making new notebooks or large modifications¶
When making a new notebook, make it as a normal notebook, use the
teacher
/ student
markup in the comments as needed, and then
get help converting it to a .py file once it is ready.
To make major changes to an existing notebook, first extract the “teacher version” from the .py file with the command:
cd doc/summerschools/summerschool24
python convert.py --teacher
move it somewhere else to update it, and then get help converting it back once it is ready. Note that rebuilding the documentation or rerunning the command above will cause all notebooks to be overwritten.
The extracted notebook will start with a cell:
# teacher
import ase.visualize as viz
viz.view = lambda atoms, repeat=None: None
It disables the ASE gui when the source script is run as part of the GPAW test suite, but should probably be deleted while you develop the notebook.
Running Notebooks in the Databar¶
Notebooks can developed on Niflheim or elsewhere, but all notebooks should be testet in the DTU Databar.
Instructions on how to run notebooks in the databar can be found here:
Updating the text of the project pages¶
Remember to also update the web pages associated with the projects.
This is done by editing the associated .rst
files in
doc/summerschools/summeschool24
, and then submitting a merge request.