Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UoB Optimisation (Work in progress) #95

Open
wants to merge 103 commits into
base: master
Choose a base branch
from

Conversation

Lancasterg
Copy link

Hi all,

I have been working on my MSc thesis in computer science over the summer, entitled 'Porting and optimisting the Isca climate model on Intel and Arm processors'. This project involved porting, bechmarking and optimising Isca on a few different HPC systems including BlueCrystal phase 3 at Bristol, Blue Pebble at Bristol, and the Isambard supercomputer as part of the GW4 alliance. I am currently proof reading my thesis, however I can make it public to you if it is something you would be interested in reading.

One of the optimisations I have made is to use the FFTW library rather than the bespoke FFT supplied with the FMS that was written in 1981. This change has improved the performance of the code!

I have mostly been working from the Grey Mars branch, which doesn't appear to have been merged with the master branch yet. However, I can merge only my changes if required, as they do not depend on any of the code in the Grey Mars branch. Please let me know how best to merge my changes.

Many thanks,

George

sit23 and others added 30 commits May 11, 2018 12:18
…my module in order that we can correctly calculate rrsun using the true anomaly rather than the mean anomaly. Have also added multiplication by rrsun to two-stream-grey-rad, which makes no difference to results in initial tests when ecc = 0.0
…ue anomaly, and therefore be able to do mars time-telling.
… expects orbital_period in seconds, but I had supplied it in days. This is because Alex's code expects it in days. Will fix Alex code to make it consistent.
…e of surface optical depths and albedos, assuming transparancy in the visible. Useful for working out rough values for optical depths and albedos for a simple mars model.
…ay is not the same as one mars day. Have altered rotation rate and orbital rate such that each can be set as an integer, and we end up with a length of sol which is also an integer. This can then be used as the averaging period.
…dependently. Then also only calculating rh when rh is asked for. Model now runs and looks vaguely mars-like, but dates of equinox etc still not right.
…nml, and ability to use specified temperatures for evaporation calculations in surface flux. This means that, when using a dry model where temperatures are outside standard range for sat specific humidity calculations, then false temps can be used to stop it failing.
…xis. For some reason, the interpolator will get rid of such variables when used on its own, so I modified the python to add them back.
Conflicts:
	src/atmos_param/two_stream_gray_rad/two_stream_gray_rad.F90
Adding Bristol BC4 setup from master into mars_dev branch from Stephen
…c-of-day using just the seconds part of the get-time command. This is fine if solar day length is less than earth day length, or comparable, as is the case for mars. But for longer days than 86400, this is a problem, as frac-of-day is unaware of all the time being put into the days variable, and so frac of day is always small, meaning that on titan the sub-stellar point is fixed in longitude. Have copied the way this is done in rrtm and socrates, and this has fixed the problem. Will probably help Mars simulations too.
@gkvallis
Copy link
Contributor

gkvallis commented Aug 25, 2019 via email

@Lancasterg
Copy link
Author

Hi Geoff,

Thanks! I have been using the serial version of FFTW, however it would be trivial to plug in the MPI/OpenMP version instead.

Yes, that email address is out of date. I've found your exeter.ac.uk email address, so I'll shoot you an email to discuss this further.

Cheers

@sit23
Copy link
Contributor

sit23 commented Sep 2, 2019

Thanks very much for this George. Looks like really excellent work. Certainly very keen to read your thesis once it's available.

As you say, the grey_mars branch has not been merged into the master branch. This is probably something I'll look to do soon anyway, which will make this p/r a bit cleaner. But, as Geoff says, we will discuss it and let you know how we think we should proceed.

@Lancasterg
Copy link
Author

Brilliant, thanks Stephen!

I'm still proof reading at the moment, but the document will be finished by the 9th of September at the latest. Let me know when you've decided how best to proceed.

@dennissergeev dennissergeev added infrastructure Isca infrastructure: installation, CI, HPC setups priority:medium Medium-piority task labels May 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Isca infrastructure: installation, CI, HPC setups priority:medium Medium-piority task
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants