Hi,
I am wondering if anyone knows how to re-configure the river runoff in ACCESS-ESM1.5 (which uses UM7.3) to something totally new? (Or any other versions of the UM or the coupled model?)
I have gathered that the model uses a 1 deg x 1 deg grid for the river runoff, i.e. a totally separate grid that does not correspond to the atmosphere grids. It is sufficiently flexible that the pre-industrial runoff still runs without crashing on really different topography and land-sea mask… but obviously that is not physically consistent if you move the mountains and coastlines to different locations.
I need a way to re-create river runoff from scratch using an arbitrary topography. Anybody got some expertise in this? help
Thanks @TommyGatti I also emailed some people in Bristol in case they know how to do this. I will let you know if they send me anything.
1 Like
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
7
@dkhutch I’m asking around to see who would know about this.
2 Likes
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
8
I didn’t get much so far. From @inh599, you need to modify the river route ancillary and:
there’s two fields involved – an 8-point cardinal direction map and a residency time map – and the details may be different for the ESM than for the newer models
I’m not sure what file you meant when you talked of a “1 deg x 1 deg grid for the river runoff” and if it is the river route ancillary file.
One idea could be to ask the UK folks directly: MetOffice/simulation-systems · Discussions · GitHub Under the ANTS category I would guess. You may end up learning how to do it with the current version of the UM and not the old version used in ESM1.5, but it could still be worth a try.
may also be worth reaching out to @MartinDix We/he had to make minor adjustments to the river routing ancillary for CM2 (because MOM5 and NEMO have different landmasks), so there is a bit of in-house experience.
Hi, yes I’ve found 3 fields that are in the atmosphere restart file. These are identified using the ITEM_CODE indices:
151 RIVER SEQUENCE
152 RIVER DIRECTION
153 RIVER WATER STORAGE
Each of them is 1.0 deg x 1.0 deg in resolution, such that their grids do not correspond to the N96 grid which all the other variables are stored on. If I use conv2nc.tcl, the fields come out like this in netcdf form:
field1905 :: (1, 1, 180, 360) :: Field code = 1905
field1906 :: (1, 1, 180, 360) :: INLAND BASIN OUTFLOW ON TRIP RIVER ROUTING GRID
field1902 :: (1, 1, 180, 360) :: River water storage
Charlie Williams from Bristol has worked this for similar applications but different version of the UM. I am hopeful that he might be able to help… otherwise I will check with others in the UK that might be familiar with it.
If @MartinDix knows how to reconfigure this or got any tips I would be very happy to hear them.
I found a pdf which describes the TRIP scheme which I believe is the system it uses. TRIP_scheme.pdf (2.3 MB)
I could try to reverse engineer something like this… that’s generally the approach I have taken in the past, was just trying to see if that has already been done and code exists that I could borrow.
specifying the updated river routing ancillaries (so river direction and max river storage - possibly river sequence - on the 1 degree grid)
specifying the initial conditions for the river variables in response to updated river routing (your fields 1905, 1906 and 1902)
Since part 1 is experiment specific I expect that this has to be done manually. Unfortunately - since 2 depends on 1 - I wouldn’t be surprised if part 2 also requires a manual update of the restart file (i.e. an automated reconfiguration isn’t possible/doesn’t exist). An alternate would be if there is an option at initialisation to revert to default values.
Thanks - I think in fact in the payu setup, step 1 is bypassed. I trawled through all of the files in the restart and input folders of the ACCESS ESM1.5 pre-industrial configuration. There are no ancillaries in there that correspond to the 1.0 deg x 1.0 deg TRIP river scheme.
Because in payu we don’t run a reconfiguration step (like in rose-cylc), some of the ancillary steps that I think you’re referring to don’t need to be done.
I think it just needs to be set up in the restart file itself (that’s the only place I can find these fields).
For context, if I look in my run directory, under atmosphere/INITHIS I find the following entries:
I think these are the ancillaries you mean for step 1? Payu doesn’t see them. (I don’t even know where those files live.) So I think it’s just a case of updating the restart file.
My main concern is how to generate those fields properly.
MartinDix
(Martin Dix ACCESS-NRI Associate Director for Model Development)
14
It is using the TRIP scheme. Each 1 degree grid box essentially specifies the direction of the flow (i.e. which of the 9 adjacent boxes is downstream). In the standard case I think this was somehow derived from higher resolution topography.
I’ve got tools that can make minor adjustments. E.g. the 1 degree ocean model didn’t include the Black Sea so we had to create a river to the Mediterranean.
However I don’t know of anything that does it from the high res source.
The sequence can be re-derived from the directions
Hi Martin,
That’s great to hear. If you are able to share those tools, e.g. the Black Sea example script I would be most grateful. No need to write explanations etc, I can work with what you’ve got. If it’s in python that’s even better.
Cheers, Dave
Update for anyone interested, e.g. @MartinDix.
I heard back from Charlie Williams (Bristol) and he sent some IDL code for how he reconfigured river runoff in the TRIP scheme. Although I couldn’t use his code directly, I got an idea of what needed to be done. So, I have now adapted my old river runoff algorithm (which I wrote to set up the GFDL model) to reconfigure the TRIP scheme.
I have now created a GitHub repository of the new river runoff procedure I have created. It takes an input Miocene topography at 1x1 deg resolution (same as the TRIP grid), and does the following:
fill_depression.py : Remove land sinks, so that river flowlines always reach the coast, by filling in any sink points. This makes use of a package called richdem that can be installed using conda.
downslope_trip.py : Set direction fields (1-8 for neighbouring grid cells) and coastal runoff points (9), and river sequence accumulation.
river_save.nc : output file containing new river runoff fields.
In river_save.nc, the two outputs for the TRIP scheme are called:
route, which specifies the direction fields (field1906), and
trip_steps, which defines the sequence (field1905).
I am now testing this new scheme in a Miocene simulation using ACCESS-ESM1.5. So far, it doesn’t crash, but that doesn’t say very much because even the Pre-Industrial scheme doesn’t crash in Miocene topography. I will report back once I have some diagnostics of runoff from the model outputs.
If anyone is interested, or wants to suggest improvements to my TRIP scheme, please feel free to look at the GitHub repo and send me comments.
I have now tested one year of simulation using the new runoff. It seems to work pretty well. I compared runoff diagnostics from the ocean model, before and after the changes. The runoff is now clearly aligning with the coastlines much better. I will mark my previous post as the solution. plot_runoff.pdf (1.5 MB)
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
20
Well done @dkhutch. Thanks for sharing the solution.