Guide for new team members
Welcome to our research group! This page provides some information that will help you get started on your research. The first part is a technical guide that describes how to install ISSM, how to connect to various servers, and how to back up your work. The second part outlines our vision for our group culture and ethics. Feel free to reach out if you have questions or if you find mistakes.
Computing environment
If you have no experience working in a linux environment, I highly recommend these tutorials: https://missing.csail.mit.edu/2020/. I recommend the following sections:
- Course overview + the shell
- Editors (Vim)
Software
Apple/Xcode
If you have a Mac (recommended), you will need Xcode. If it is not installed already on your machine, open the App Store and download Xcode. You will need it to compile the code among other things.
You will also need to download and install XQuartz in order to be able to plot figures on totten.
Windows
If you have a windows machine (not recommended…) you will need to download MobaXterm to work on Totten, or other linux servers. Download and install MobaXterm and select Get/Free edition/installer. Follow the installation wizard and open MobaXterm. Start local terminal. From here you can ssh into Totten. Input:
ssh -Y yourlogin@totten.dartmouth.edu
gfortran
You will have to install one. GFortran Binaries are available here. Select the version of gfortran that is compatible with your OS (If you are not sure, click on the apple in the upper left corner, and select “About this Mac”).
Terminal (iTerm2)
You need to use iTerm2 for your terminal (it is much better than Apple’s terminal: it copies on selection, you can blur the background, etc). I suggest the following settings (iTerm2/Preferences):
- General/Selection: add colon (:) in the list of “Characters considered part of a word for selection”, it will be handy when you debug C++ and MATLAB code using vim
- Appearance/Tabs: check “Show tab number”
- Profiles/Colors: set the Cursor color as red and do not check “Smart cursor color”, Set the Foreground color to white and Background color to black
- Profiles/Text: change the font to 14pt Monaco
- Profiles/Window: set Transparency to 30%, check Blur and set it to 30%. In “Settings for new Windows”, select 166 Columns and 55 Rows (that will make your initial terminal bigger)
- Profiles/Terminal: Check “Silent bell”
LaTeX
I expect you to be familiar with LaTeX to write reports/papers/thesis basically anything. You can download LaTeX for mac here and also set up an overleaf account (free Pro account with your Dartmouth email). If you are not familiar with LaTeX, there is a great wikibook available here: https://en.wikibooks.org/wiki/LaTeX, start with the section “Basics”.
MATLAB
Dartmouth provides free MATLAB licenses to Dartmouth students/staff/faculty. Carefully follow the instructions and download the latest version of MATLAB.
ISSM
You can clone ISSM from source. Make sure to setup a GitHub account first
git clone git@github.com:ISSMteam/ISSM.git
Environment
bash/zsh
By default, macOS uses a ZSH shell, here are some options I recommend you add to your ~/.zshrc (change to your needs):
#Prompt and tab names
function precmd() {
echo -ne "\e]1;$HOST\a"
echo -ne "\033]6;1;bg;red;brightness;255\a"
echo -ne "\033]6;1;bg;green;brightness;255\a"
echo -ne "\033]6;1;bg;blue;brightness;180\a"
}
PROMPT='%(?.%F{green}√%f.%F{red}?%?%f)%B%F{203}%m%b%f:%B%F{83}%1~%b%f%F{226}$%f '
#File/directory colors export LSCOLORS="dxgxfxfxcxdxdxcxcxfxfx"
alias ls="ls -G"
#GREP options
export GREP_COLOR='00;44'
export GREP_OPTIONS='--binary-files=without-match '
#Useful aliases alias
fxg='find ./ -type f | egrep -v "\.svn|Makefile|\.deps\/" | xargs grep -n --color=auto '
NUMCPUS=8
alias mkc='make -C $ISSM_DIR/src/c -j $NUMCPUS install'
alias mkx='make -C $ISSM_DIR/src/wrappers -j $NUMCPUS install'
#ssh aliases (note that we need to increase timeout)
alias ssht='ssh -X -o ForwardX11TImeout=596h mmorligh@totten.dartmouth.edu'
#ISSM
export ISSM_DIR="/data2/issm/mmorligh/ISSM"
source $ISSM_DIR/etc/environment.sh
ma='LD_PRELOAD=/usr/local/gfortran/lib/libgfortran.5.dylib:$ISSM_DIR/externalpackages/petsc/install/lib/libmetis.dylib /Applications/MATLAB_R2025b.app/bin/matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"'On a linux server, you will instead edit your ~/.bashrc and change the first 6 lines to:
#Prompt
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}\007"'
export PS1=$(echo -ne "\[\033[1;31m\]\h\[\033[00m\]\[\e[0m\]:\[\033[01;32m\]\W\[\033[00m\]\\[\033[01;33m\]\$\[\033[00m\] ")
#File/directory colors
export LS_COLORS="no=00;37:fi=00;37:di=00;33:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ow=00;35:ex=01;32:*.cmd=01;32:*.exe=01;32:*.mexa64=01;32:*.mexmaci=01;32:"
alias ls='ls --color=auto'
#ISSM
export ISSM_DIR="/data2/issm/mmorligh/ISSM"
source $ISSM_DIR/etc/environment.sh
#ISSM aliases
alias cdi=' cd $ISSM_DIR'
alias cdm=' cd $ISSM_DIR/src/m'
alias cdc=' cd $ISSM_DIR/src/c'
alias ma='LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6 matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"'replace the path to MATLAB (last line) and ISSM_DIR by the ones of your machine. Once you are done, you can close the terminal and reopen it. If you do:
echo $ISSM_DIR
you should see the absolute path to trunk (or trunk-jpl). If not, make sure to edit your~/.zshrc (or ~/.bashrc or ~/.bash_profile). You can also do:
ls $ISSM_DIR
it should show you the list of files and directories in trunk. If it complains “No such file or directory”, the path that you entered in your ~/.bashrc is wrong. Correct it and open a new Terminal.
VIM
the only editor that you will use is VIM. You do not need to download and install vim, it is installed by default. You will use vim to code, but also to write papers and proposals. You will see that ISSM has been written for vim users (we use folds to navigate easily within files that have several thousands of lines for example). We first need to customize vim for ISSM:
cd ~ ln -s $ISSM_DIR/externalpackages/vim/addons/vim .vim ln -s $ISSM_DIR/externalpackages/vim/addons/vimrc .vimrc
You can then do the vim tutorial if you have never used it before:
vimtutor
The only commands that this tutorial does not teach you are “zo” to open a fold and “zc” to close a fold.
Installing ISSM
You are now ready to install ISSM. Standard instructions are provided here (you will NOT need python), and you will also find specific instructions for some of our machines (like totten) here.
Running ISSM
Once you are ready, you can type ma in a Terminal, it will launch MATLAB and load ISSM’s tools (see the ma alias in your ~/.bashrc). You should see something like:
ISSM development path correctly loaded
You can then type issmversion in MATLAB, you should see the following message:
>> issmversion Ice Sheet System Model (ISSM) Version 4.11 (website: http://issm.jpl.nasa.gov contact: issm@jpl.nasa.gov) Build date: Thu Aug 25 09:36:19 PDT 2016 Compiled on apple darwin15.6.0 x86_64 by mmorligh Copyright (c) 2009-2016 California Institute of Technology to get started type: issmdoc
Invalid MEX-file '/Users/rtwalker/ISSM/trunk/lib/IssmConfig.mexmaci64': dlopen(/Users/rtwalker/ISSM/trunk/lib/IssmConfig.mexmaci64, 6): Symbol not found: __gfortran_transfer_array_write
Follow the instructions here: http://issm.jpl.nasa.gov/documentation/faq/matlab/ (second paragraph). You can then work on the ISSM tutorials to familiarize yourself with ISSM.
epica (backup your work on totten)
I cannot emphasize enough how critical it is that you backup your work. If anything happens, disk failure or deleting files by mistake (yes both have happened…), your work can be recovered. Backing up your work using GitHub, Google Drive, Dropbox, or epica is absolutely mandatory. Do not expect to get much sympathy if you lose your work and you do not have it backed up somewhere.
Here is how to set up automatic backups on epica.dartmouth.edu:
- Email Ed Meyer and ask him to create an account for you on epica (in the
issmgroup) - Copy your public key on epica and edit your
~/.ssh/configfile so that you can connect from totten to epica without your password. - Log on epica and create a directory for your backups in
/data1/BACKUP_ISSM/(your home directory is very small), e.g.,mkdir /data1/BACKUP_ISSM/YOURNAME
You can automate a backup, say once a week using a cronjob. Create a file on totten called cronfile and put the following lines:
#use /bin/bash to run commands, overriding the default set by cron SHELL=/bin/bash #mail output to you MAILTO=mathieu.morlighem@dartmouth.edu #update PATH PATH=/usr/local/bin:/bin:/usr/bin:~/bin #cronjob (every Sunday at 1pm) 00 13 * * 0 rsync -avz --delete /totten_1/path/to/directory/ YOURNAME@epica:/data1/BACKUP_ISSM/YOURNAME
the most important command is the last line. It is copying an entire directory on epica, and this command will run every Sunday (0) at 1pm (00 13). Make sure to choose a different day/time so that we don’t all run the same command at the same time. More info about cron jobs can be found here. To create the cronjob, do:
crontab cronfile
and everything is now backed up! To check that it has been registered, you can run:
crontab -l
Group vision and ethics
Cultivating a safe group culture
Enjoyable, high-quality research can only be conducted when you feel safe, secure, and supported. All group members are thus dedicated to a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, and/or religion. We do not tolerate harassment by and/or of members of our group in any form.
In addition to making group members feel safe and secure, diversity and inclusivity has numerous benefits to us all. Put simply, the greater the mix of people in our group, the greater the mix of skills, experiences, perspectives, and ideas we can collectively draw on. But the benefits of diversity and equality cannot be fully achieved without creating an inclusive environment.
To report an issue, please contact Mathieu; all communication will be treated as confidential. Please be advised that as a university employee, Mathieu is a mandated reporter, and must forward your complaints to the Title IX office if they indicate that sexual harassment or assault has taken place. If you do not feel comfortable contacting Mathieu directly, please feel free to contact a member of the Dartmouth Title IX office.
Mental Health
There is increasing evidence that certain attributes of PhD research may challenge your mental health. Specific factors driving this include:
- Low pay and quality-of-life issues, particularly as a function of living in the upper valley
- Feelings of isolation in your research
- Uncertainty in your research, although it should be noted that, in research of all kinds, it is not just the outcomes that are uncertain, but the questions themselves!
- Uncertainty in your post-PhD career
- So-called “negative results”; i.e. at some point in your research it is likely that certain questions will be more challenging to answer than anticipated, or that you will feel you have spent days/months/years toiling with little to show
- Burnout; i.e. feeling the need to work endless hours to make up for the above issues, and the subsequent exhaustion
All PhD students come across most of these issues at some level. I strongly encourage everyone in the group to take an active and pre-emptive approach towards the maintenance of their mental health. I assure you that you have the time and resources needed for a highly successful PhD. If there is anything that is placing undue stress, or preventing you from performing at your potential, please do not hesitate to let me know. Every effort will be made to help you access the right support networks.
Group Identity vs Individual Contribution
The purpose of having the “named” Ice Future Group is two-fold: (1) to support each other, (2) to promote our group to newcomers and potential newcomers. While collaborations among group members and with other research groups is highly encouraged, the purpose of the group is not to “brand” the ideas as group ideas, or Mathieu’s ideas. Your project is yours to make your own. You should not feel as though you are presenting Mathieu’s ideas or the group’s projects. For your career and for the development of the science, it is important for you to feel ownership of the project that you are working on. It is good to talk about “we” when it is us working together on developing the project, but you should take credit for ideas that you come up with in the course of your research (That being said, you should always acknowledge project funders when presenting or writing a paper).
Outputs and open science
Authorship on any manuscript or presentation will be openly discussed in group meetings and should, if possible, include everyone who has made a significant contribution to the work. A “significant contribution” can include but is not limited to, code development, interpretations of primary data, and development of ideas presented in the work. The order of authors on a manuscript or presentation should be dictated by the relative contribution made by each author; in the case when these contributions are equal, authors should be listed alphabetically by family name. In case of conflict, Mathieu will facilitate discussion to help resolve this. I encourage an open dialogue about this matter, ideally via authorship ‘check-ins’ that will likely occur several times over the lifetime of the study. To help inform Editors, reviewers, and readers of our papers, we will include an author contribution statement as part of a paper when necessary.
Your active research product (code, documents, etc.) should be backed up regularly using an off-site, ‘cloud’-based storage system. All Dartmouth students and staff have access to a nearly-unlimited Dropbox and Google Drive allocation (see rclone above).
All code written as a part of publicly-funded research and used to produce results or make plots in a published paper should be made publicly available using GitHub, ISSM’s repository, or other public code repository. If you feel that there is a good reason for keeping your code exclusive, this should be discussed with Mathieu.
Working hours
You are expected to work about 40 hours per week on average. On the subject of ‘overtime’, there will probably be times when you will need to work on weekends if a deadline is near. Night-time hours by yourself can be necessary, but use good judgment. I recognise that many of you have personal responsibilities and obligations in addition to your PhD studies. I appreciate that, at times, it can be difficult to balance those demands, and that a classic ‘9-to-5’ day may not be optimal. Because of this, the exact hours you choose to work is up to you. I highly recommend to be on campus whenever you can. Being on campus from 10 AM and 4 PM most days helps facilitate collaborative working and, we hope, lead to a more fulfilling research experience. Where possible, group meetings and events will not be arranged outside these hours to allow participation by all team members.
Holidays
You are expected to take (at least) two weeks of time off per year, beyond normal institute holidays (e.g. federal holidays, fall/spring/winter breaks). I strongly encourage you take this time so you can relax, visit family and friends, and generally unwind from the rigours of PhD study. Although not a formal requirement, it is helpful to inform Mathieu in advance when you plan to take holidays or if you will not be present at our group meetings.
Work on weekends is sometimes OK and/or necessary (especially before deadlines), but will likely lead to a drag on your overall productivity if it is a regular occurrence. If you feel that you are having difficulty maintaining a healthy work-life balance, please talk to Mathieu.
Meetings
Group meetings: all “ice future” group members are expected to attend our weekly group meeting if they are not otherwise engaged in other research-related activities (e.g. at conference, attending training or a lecture, etc). Group meetings provide a forum for:
- Research updates
- New and interesting papers
- Old and important papers
- Papers from other fields
- Practice conference talks
- Manuscript in prep figures/outlines
- Fellowship applications/proposals
- Essays/articles on being a good scientist, inclusion, creativity, science writing, etc.
The group meeting should be a forum for open discussion, not a venue for one-on-one discussions about very technical research details (that is what one-on-one meetings are for). Mathieu will recommend tabling a discussion if it is derailing the group.
All “ice future” group members are expected to attend our bi-weekly reading group (organized with Helene Seroussi and Colin Meyer’s group) and the ice+climate seminars. Let me know if you are also interested in participating in the weekly ISSM teleconference.
Individual meetings: These will occur either weekly or on an ad-hoc basis as personal situations require. These will give you an opportunity to discuss your progress and any administrative issues that you need addressed. You are encouraged to come fully prepared for individual meetings with questions or issues that you would like help with, or ideas for further work; in this way, discussions can be focused such that all concerns are addressed. Ideally, in a one-on-one meeting, we should discuss: (i) what were your plans from last meeting; (ii) work undertaken; (iii) issues arising; and (iv) a forward plan until the next meeting. Such reports are an important way to self-monitor your progress, as well as keeping your supervisor(s) informed of both positive and negative developments.
If you are having trouble meeting deadlines that we have previously agreed upon, please do not work yourself an unhealthy amount to attempt to meet those deadlines. Please talk to Mathieu about why you are having trouble meeting the deadline, and we will discuss how you can potentially work more efficiently or set more reasonable deadlines.
The purpose of these meetings is not for you to only report on what went right. Often the most pressing issue is a roadblock in the research or a failure. This is not a bad thing! I am here to help you get through those roadblocks or find an alternate route to achieve your ultimate goal. Ideally, feedback should be a roughly proportional mix of recognizing successes and analyzing failures.
Please inform Mathieu of holidays or notable absences in advance. Permission for holiday is very rarely required, but please respect key deadlines within the calendar year and the fact we work in a research group. It is important to take holiday, respect weekends (or time in lieu) and establish a sustainable work-life balance. It is also important to respect the time and efforts of others, and the contribution of funders, and to note that effective working will improve the quality of your research. Where there are key time pressures, it is important to prioritize work.
Individual Development Plans
An individual development plan (IDP) is a worksheet that identifies your current strengths, and those which you would like to develop over the next few years. Group members will fill one out early in working with Mathieu and revise it on a yearly basis. The document is simply a way to pause, be thoughtful about your goals, and communicate those goals to Mathieu in a way that he can follow up on.
Communication
Please give consideration to the timing of the email with respect to what the recipient needs to do; for example, try not to send an email after 5pm for something that is required for a 10am meeting the next day. Different people work or respond to emails at different times of the day or weekend, and as stated earlier, those hours will not be prescribed. That being said, no group members are required nor should feel obliged to reply to email/slack messages outside of their typical work hours. However, prompt replies to emails, within work hours, is helpful.
Journals
You should be familiar with recently published material relevant to your PhD project. Below are some academic journals that may be of interest:
- Geophysical Research Letters
- Journal of Geophysical Research – Earth Surface
- The Cryosphere
- Journal of Glaciology
- Nature Geoscience, Nature communications
- Nature
- Science
- Proceedings of the National Academy of Sciences
Signing-up to ‘mail alerts’ from specific journals and more general publication ‘feeds’ (e.g. Google Scholar or Web of Science) are highly recommended; by doing this, you can be kept informed of newly published literature related to your studies.
Conferences
Conferences and workshops are, by far, the best way to meet other researchers (important for developing collaborations in the long run), disseminate your research in a timely fashion and learn about what others are doing. For US-based researchers in glaciology, there are a few conferences, some regular and others less so that are valuable venues for making connections and presenting your work.
- AGU Fall Meeting – annual (mid-December)- THE huge meeting for Earth scientists in the US, 20k+ attendees, but always lots of good cryosphere content
- EGU General Assembly – annual (April/May) typically in Vienna – smaller European version of AGU (still 10k+ though), good way to meet European cryo community, which is larger than American community
- West Antarctic Ice Sheet Workshop – annual (Sep/Oct) – small workshop (<100 attendees), mostly US participants, great way for researchers starting out to meet big names in field and program managers from funding agencies
- International Glaciological Society Symposia – typically 2-3 per year – topics vary greatly, but always focused on ice topics, usually one symposium per year is more general (i.e. ice and climate change), usually anywhere from 50-400 attendees depending on topic
- AGU Ocean Sciences – even years (early spring) – AGU meeting focused on ocean topics, typically some ice/ocean sessions, still big – 5k+ attendees
- IUGG General Assembly – every 4 years, a smaller version of AGU/EGU but more international. Our association is IACS, highly recommended!
- SIAM/APS Meetings – applied math and physics meetings, typically large, but a good venue to talk about more technical/mathematical aspects of your work to people outside of glaciology
Association Memberships
I highly recommend to become a member of the following associations:
- International Association of Cryospheric Sciences (IACS) (it is free!)
- American Geophysical Union (AGU), which you will need to participate in the AGU fall meeting (cannot be reimbursed unfortunately)
- European Geosciences Union (EGU) (cannot be reimbursed)
Other associations that you may consider:
- Association of Polar Early Career Scientists (APECS),
- Interagency Arctic Research Policy Committee (IARPC),
- International Glaciological Society Early-career Glaciologists Group (IGS-EGG),
- Polar STEAM, Scientific Committee for Antarctic Research (SCAR),
- United States Association of Polar Early Career Scientists (USAPECS),
- Women in Polar Science (WiPS)
Mailing lists
CRYOLIST is an email mailing list for the global cryospheric community (snow, ice, glaciers, permafrost, ocean, geomorphology, climate, etc) for announcements including job advertisements, high-impact and high-relevance journal postings, obituaries, broad questions, call-for-papers, conference notifications, and other such community-relevant communications.
Web presence
As soon as you have our first paper out, make sure to:
- Create an account on ORCID
- Create your “Google Scholar” page (using your personal email so that you don’t lose it).
These pages will become very useful when you apply to jobs or postdoc positions (it is always the first stop of employers). Developing a personal website is also a good idea, feel free to talk to me if you need help! Alternatively, we can host your page on this website.
Thanks, and please enjoy your time in the “ice future” group!
These Guidelines borrow heavily and are modified from the ice and Climate group vision from Alex Robel, and the Basin Research Group Code of Conduct, assembled by Chris Jackson (basinsresearchgroup.com).