This job has its original origins from the original release of the PUM, starting around the year 2000. This was modified for running on standard MPP machines but should otherwise be scientifically identical to the original HadCM3-M1 as published in Pope et al and Gordon et al. Over the subsequent 9 years, the core science remained unchanged but a standard structure and naming convention was developed so that it was easy to submit to a range of different machines without the need to make changes within the umui.
In 2009, related to problems with the MOSES2.1 (see later), it was realised that we needed to create standard versions of all model setups. We also needed to benchmark standard versions.
| Name | Date | Description | Impact |
|---|---|---|---|
| 1.b | 2009-07-21 | Near original as distributed within the PUM (portable UM) system. There are a lot of changes to the paths etc, some changes to updates needed to run on the current machines, small changes to pre-industrial CO2 etc | Before making the small CO2 changes, this was benchmarked against a standard HadCM3 M1 simulation made by the Hadley centre and archived at BADC |
| 1.c | 2010-03-18 | Small changes to process count and compilation, addition of automatic resubmission on current computer systems. Changed energy adjustment to MPP fast option and added mods: ofilter_mpp.mod (improved parallel code), timerupd_new.mod (timer improvement) nomsrest (bug fix on mass of atmosphere) |
None of the changes should have changed the science. Benchmarked against previous version. No statistically significant changes (mainly focussed on surface temp/precip) |
| 1.d | 2010-08-04 | Additional updates (some of which make small changes to science). These are mainly bug fixes or output changes: atmstep_flush.mod (makes sure output is up-to-date if model crashes) gancf407.mf77.pjv (bug fixes for MPP machines) gsm9f406 (compiler fix) inittime_info (more info if stops for wrong date in dump/umui) coupledfix_new.mod (sorts out a few GCOM/MPP problems) gbc0f406 (load balancing for tracers) medout44.mod (corrects bug in HadCM3L Mediterranean outflow code but OK to include in all versions) ganbf407.mf77 (fixes divide by zero problem for snow on seaice) ocn_filt.mf77.pjv (ocean filter bug fix) ocnstep_print.mod (ocean time stepping output) |
Benchmarked against previous version. No statistically significant changes (mainly focussed on surface temp/precip) |
| 1.e | 2013-06 | Some further bug fixes. Also changed some options to use optimised MPP code (but not bit reproducible). Updates include: rssafehs4.4 (real calendar problem fix) gdr1f406 (name change to LBCs) dummy (adds dummy routine for missing subroutines) |
Benchmarked against previous version. Very small differences, barely statistically significant changes (mainly focussed on surface temp/precip) |
| 1.f | 2013-08 | Stopped configuring/using the single level soil moisture ancil since it is not used anyway. Removed the visbeck mod. This reintroduced a bug in the code but made it exactly as the published model. No longer seemed to be necessary to keep. Also added: ask1f406: fixes negative sqrt problem ask6f406: fixes bug in atmos tracer boundsfix_famous.mod_xcpsa bounsfix_nompp.mod boundsfix_vn4.5.mod (the three above are sorting bounds fix problems) (these removed the need to coupled_bugs4a) |
Benchmarked against previous version. Very small differences, barely statistically significant changes (mainly focussed on surface temp/precip). However, was expecting more from the removal of the visbeck bug. Likely because the tests were relatively short (~100 years) |
| 1.g | 2014-08 | Added option to have compiler overrides. This was needed because of new machine. Also turned off spiral coastal adjustment algorithm. No idea why and what it does!!! Also added: extendSTASH_SETDIR.mod: increased the size of the character strong that holds the STASHMASTER files. New machine had long pathname. oceantracerstash.mod: Sorted but if ocean tracers if first additional tracer (beyond temp/salinity) was not tracer 3 |
Not benchmarked. |
| 1.h | 2021-07 | Quite a big tidy up of code, though no major science changes. This included resetting the optimised MPP versions of some options back to the standard version. It was found that the optimised version did not make the model faster (in one case slowed the model) so it seemed better to have the bit reproducible version. Some STASH changes Added: long_output_names02.mod (longer file names to simplify extremely long runs) solar_orbit_real1950.mod: This added a changing orbit to model. It allows different orbits within the same executable. More details of the history of this update can be found in separate document |
Not benchmarked |
| 1.i | 2022-10 | Big changes to the science and infrastructure. Script update to remove the need for pdksh (pdksh_remove), and to reduce number of needless warning messages (remove_warnings). Also removed archiving script that would not work on current machines. Updates include: port_end_c.mod_nowarning (this removed some blanks characters which were generating line to long warnings in nupdate) bottom_friction_quadc_1.0e: added first version of ocean bottom friction. bugfix_timer: corrected bug in timer code buglet_cntl_io_fix.mod (corrected potential bug in mixed common block: fortran does not like characters and numbers mixed) gsm9f406_nowarning (fixed some line-to-long warning messages from nupdate) gwave_varlim_001_N048.mod: Ensures that gravity wave code does not encounter small variance buglet, see Snell et al 2022) pstar_smooth08_N048: attempt to cure a strange problem with a two grid wave in atmosphere that emerges if model is run for millenia smooth_stream_006.mod: Adds additional smoothing to ocean stream function calculation to mostly cure 2 grid waves. |
This created some significant changes to model. The pstar and ocean smoothing updates did as expected i.e. they removed two grid waves without further serious changes. The gwave update made no difference. This was because the pre-industrial variances were OK. The bottom friction only changed the deep ocean and the circumpolar current. The latter improved it compared to ocean reanalysis. Almost no change to surface temp/precip. These changes are going to be documented in Valdes et al 2024. |
The origin of this job is the PMIP2 project in around 2004. Michel Crucifix, then working at the Hadley Centre, created a HadCM3 version of the Cox et al (2000) HadCM3LC model. This version includes the bug fix related to the wrong surface energy balance that existed in the original Cox et al simulations. HOWEVER, at that time we had a significant problem. When we ran this job on our HPC computers, it gave different answers (0.75C different in the global mean). We could not locate the problem and for several years had to have a MetOffice version and a Bristol version.
Eventually, Lois Steenman-Clarke at CGAM, Reading located the problem. It was a problem related to a data statement in a subroutine and an ambiguity of FORTRAN (does the data statement reset the constant every time the subroutine is called). Different FORTRAN compilers implemented this differently. At this point, we were then able to create a “true” standard version and benchmark it against a previous simulation. This became the starting point of the model.
There was also an issue with a pre-STASH modification (mosesii) we included in our version, which was actually meant for MOSES2.2, not 2.1, and removing this resulted in a good agreement between the Bristol and Met Office versions. See these notes on our old wiki.
| Name | Date | Description | Impact |
|---|---|---|---|
| 2.b | 2010-08 | This is the initial setup. It was designed to be as similar as possible to 1.d with the only differences being related to MOSES1 to MOSES2.1. In practice, there is also a small difference related to run length and this version did not include the auto resubmit option of 1.d (which was already no longer functional) | This version was successfully benchmarked against the PMIP2 Hadley centre pre-industrial simulation. The benchmarking primarily focussed on temp/precip. |
| 2.c | 2013-06 | Same changes as in 1.e (also reset run length to be 100 years) but in addition, removed the gnum143.mod from the 2.b setup. This update sets the background ocean vertical tracer diffusivity to a background value. After extensive discussions with CGAM (especially Robin Smith) the consensus was that this update should be included in the low resolution model (HadCM3L) but not in HadCM3. | Benchmarked successfully. Saw little change from the ocean diffusivity change but this might be because of the short run lengths. |
| 2.d | 2013-08 | Same changes as in 1.f | Benchmarked successfully |
| 2.e | 2014-08 | Same changes as in 1.g Also modified pot_evap_chn_nooutput in order to reduce printed statements. | Not benchmarked |
| 2.f | 2021-07 | Same changes as in 1.h, but also included: leaf_co2: corrected a bug in leaf_co2 calculation that did not impact science but did result in incorrect output values. change_dark_respiration_ver02: Small improvement in TRIFFID by adopting changes from more recent models |
Benchmarked successfully |
| 2.g | 2022-10 | Same changes as in 1.i | Similar changes as in 1.i |
This job was developed from HadCM3B-M2.1aD and is scientifically identical except the resolution of the ocean. However, in addition, we have removed Iceland (as in FAMOUS). This allows us to run HadCM3L without flux correction.
| Name | Date | Description | Impact |
|---|---|---|---|
| 3.b | 2011-06 | This is identical to 2.b (i.e. equivalent HadCM3 simulation) except for resolution related issues (and a few things with processor count/run length) | This is a unique configuration so we did not have any benchmarks to compare with. |
| 3.c | 2013-06 | Identical changes to 2.c except that the gnum143.mod remains included | Statistically identical to 3.b |
| 3.d | 2013-08 | Identical changes to 2.d except that the gnum143.mod remains included | Statistically identical to 3.b |
| 3.e | 2014-08 | Identical changes to 2.e except that the gnum143.mod remains included | Not benchmarked |
| 3.f | 2020-08 | An interim version, somewhere between the 2.e and 2.f setup. | Not benchmarked |
| 3.g | 2021-07 | Identical changes to 2.f except that the gnum143.mod remains included | Not benchmarked |
| 3.h | 2022-10 | Identical changes to 2.g except that the gnum143.mod remains included | Similar changes to HadCM3 |
This is a relatively new configuration, first developed in 2021. It was developed from a standard HPCX setup job created by CGAM (xbafd). xbafd was developed from a version from the UK MetOffice. N216 was the standard forecasting-mode type job around 2000, and which was extensively used for storm case studies by CGAM/Uni Reading.
xbafd had a lot of old physics (e.g. single level soil scheme, different radiation etc.) which I did not want to reproduce. Indeed the philosophy was not to match the existing configuration of any high resolution version of the model but to focus on producing a high resolution version of HadAM3B which was as close as possible to the physics of the lower resolution model. Hence, the choices of physics parameterisations and corresponding modsets were driven by maintaining compatibility to HadAM3B. The only changes were for parameters that were known to be resolution dependent. This includes the RHCRIT parameters, diffusion, a known resolution dependence to the soil water infiltration code, land/sea precip parameters, gravity wave drag.
These were tuned to produce the best possible surface temperature and precipitation simulation. However, it was surprisingly difficult to get both right so a compromise had to be made.
| Name | Date | Description | Impact |
|---|---|---|---|
| x.b | 2021-07 | Identical setup to HadAM3B (specifically xx) but with the following changes: Changed diffusion and RHCRIT profiles. Changes land/sea parameters for large scale precip. Changed GW coefficients. Tweaks to diffusion/time filtering. Time step. conv_eps_0.48 ls_eps_0.88: Both of the above are about the fraction of grid box it rains. ddhlonly.txt: changes latitudinal divergence damping profile. Used in HadRM3 and seemed to be a good idea! high_resolution: increased maximum resolution to 1152, though found this was too slow. |
No benchmark to compare with. |
| x.c | 2022-10 | Identical changes to 1i except parameters appropriate for N216. | Very small changes only. |