I would like to generate an ensemble of simulations with ACCESS-CM2. Is there a way that others have done this previously?
For experiments with the CESM model, I could apply a temperature perturbation on the order of 10^-14 to the atmospheric temperature initial conditions via the namelist. I’m hoping there’s a similar approach with CM2, otherwise I could look at manually editing the restart files.
I found the topic!! Ok there are a few ways to do that and I will list in here:
if you can find your initial pp file, then you can try this:
Say mine is under my atm folder under job cj368 and I want to play with the year 1965 Jan with 0.1 degree kick! : /scratch/p66/ars599/archive/cj368/restart/atm module load conda/analysis3 python ~mrd599/src/python/umfile/perturbIC.py -a **0.1** -s 0 cj368a.da19650101_00
Then under the rose/cylc your job folder u-cr328/rose-suite.conf you can do this WARM_RESTART=true WARM_RESTART_DATE='19650101' WARM_RESTART_DIR='/scratch/p66/ars599/archive/cj368' WARM_RESTART_NRUN=true WARM_RESTART_RUNID='cj368'
similar to the previous one but in more more proper way. Details in my Github and the codes are generated by @Lynn from BoM.
Same, under the rose/cylc your job folder u-cr328/rose-suite.conf WARM_RESTART=true WARM_RESTART_DATE='19650101' WARM_RESTART_DIR='/scratch/p66/ars599/archive/cj368' WARM_RESTART_NRUN=true WARM_RESTART_RUNID='cj368'
Now we directly modify this initial file, and restart the dump.
the file will be in this format:
I think option 1 would be the simpler approach. Would you be willing to share your perturbIC python script? I guess you are adding 0.1 degrees to all grid points? However I am not sure how the restart file is set up.
No I can’t access that file as it’s in Martin’s home directory. Do you happen to have a copy of it?
I know which years of my previous simulation I would like to modify and where the restart files are located. I’m just not sure about the approach of modifying these restart files ($SUITEID}a.dayyyymmdd_00), so it would be super helpful to see that script.
I’d been using this script for the runs I was doing a little while ago, and I think there are several versions floating around. For using the umfile and um_fileheaders modules, using:
module use ~access/modules
module load pythonlib/umfile_utils
was working for me a little while ago, which I saw over here.
There’s also a version of the script that @tammasloughran put together which lets you set the random seed. There can be a couple of clashes with module/python versions when using this version though. I had some notes here based on Tammas’ advice going through what ended up working.