This page lists FAQs for the different model supported by the CMS team, as well as FAQs around accessing and publishing data.

FAQ pages

UM error messages
Data FAQ

FAQ miscellaneous

How to transform 1D lat/lon arrays into 2D lat/lon arrays with Python?

If using numpy or masked arrays, one can use the resize() method. Assuming slat and slon are 1D latitude and longitude arrays, do this:
tmp    = numpy.resize(slat, (slon.size, slat.size))
slat2D = numpy.transpose(tmp)
slon2D = numpy.resize(slon, (slat.size, slon.size))
If you want masked arrays, replace "numpy." by ""

How do I push my local code changes on raijin back to github using ssh keys?

You have an account on github. You have cloned a repository to raijin and made changes to it. Now you want to push those changes back to the github repository but you get errors like this (where <username> is your github username):
error: The requested URL returned error: 403 Forbidden while accessing<username>/test.git/info/refs
fatal: HTTP request failed
Firstly, you need to make an ssh key and add the public part of the key to your account on github.

Check the url to which you are trying to push your changes:

git remote -v
origin<username>/test.git (fetch)
origin<username>/test.git (push)

If it looks like the output above you need to alter the url and put in a login name in front of the address. For ssh access the login name is always git. The command to set the remote url is:
git remote set-url origin ssh://<username>/test.git
but replace <username> with your github username.

Why do I get segfaults?

A segmentation fault means the program you are using has tried to read or write a memory location it does not have access to. This can mean there is an error in the code, or there is a system limit set. If the program runs for others, but not you, it may well be a system limit issue. This seems to be quite common when trying to write netcdf files. In some cases this can be overcome by setting your stack size to unlimited

For tcsh/csh add this to your .cshrc:
limit stacksize unlimited

For bash add this to your .bashrc:
ulimit -s unlimited

Note: you must log out and log back in again for this change to take effect.