Timeseries STASH output at list of grid-cells for UM versions running rose/cylc

Does anyone have experience with outputting model fields at every timestep for a selection of grid-cells for current version of the UM running under rose/cycl?

We are trying to output land-surface related variables for testing/evaluating CABLE.
I have this working for UM7.3 (ESM1.5) but @Jhan and I have not been able to replicate this for a current UM version. We have tried setting up a ‘domain’ to list the grid-cells and assume we can use the ‘TALLTS’ time domain. Possibly our error is in the ‘usage’ field for the STASH request. We tried co-opting ‘UPH’. The model crashed with an ‘Illegal timeseries processing requested’ message.

@jhan - I’ll make this post editable so that you can add details of the suite/location etc.

Hi Rachel,

Would it be worth creating a new usage profile that suites your purposes?

When I run the regional nesting suite and output variable every time-step I use a newly created usage profile to direct the output to a file that suits my purpose.

You can create a new usage profile by:

  • navigating to STASH → Usage Profile
  • right click on existing usage profile and,
  • either “Creating a new section” or “Cloning a new section”

I hope that helps, otherwise hopefully someone else can step in here.

Also, I am not sure how many grid-points you are running with, but I find that outputting full-grids for single surface level variables at every time-step produces data that is manageable for testing purposes.

So another option is to try a pre-defined surface domain if that helps.

Hi Chemelle,
Thanks for the ideas.
We want to write out at least a full annual cycle so are only aiming for <20 grid-cells, currently targeting one for each of our different vegetation types.
@Jhan seems to have made some progress - now has it writing output for one variable for one grid-cell.

1 Like

I’ve used it recently for multiple variables at one grid point. It seems tricky to get values for all tiles.

Do you want tiled variables or just the standard UM grid box variables.

Hi @MartinDix
At this point we were just trying to get grid-cell values - we are focussing on grid-cells which are mostly only one pft anyway. Ideally, I’d like to get leaf area index which is only available on tiles (for CABLE interactive LAI) but I was planning on trying that first with ESM1.5.

Back from 2 weeks leave, kinda. I’ll get back to this next week, just a further clarification of where I’m up to:

I have a seperate usage, domain AND time profile. We want several (grid cell) fields, time-series at a series of specific points. I can add multiple fields with a global domain.

Restricting the domain profile to a specific point threw me. It seems (from memory) the NS/EW limits have to “catch” the cell you want. I have to play with it a bit to find out exactly how semantically to catch ONLY the cell we want. i.e. E limit = a, W limit = a+1. It has to be something like this. Just using E limit = a, W limit = a is non-sensical to “it” and it ignores the domain request and defaults to global output.

Then I will add the next point etc. Then try adding multiple fields. At this stage I think the worst case scenario is that we have multiple files to cover the whole thing, but I am hopeful we can avoid even this inconvenience.

@jhan - in UM7.3 era you set the E limit and the W limit to the same number, so it would be surprising if current era STASH doesn’t allow the same thing. Here’s what I’ve got in my STASHC file.

 &DOMAIN NAME="DTS_PFT", IOPL=5
 PLT=0,
 IOPA=1,
 IMSK=1, IMN=0, IWT=0,
 TNLIM=123,68,124,57,50,111,78,127,99,124,93,108,9,
 TSLIM=123,68,124,57,50,111,78,127,99,124,93,108,9,
 TWLIM=30,155,64,160,80,140,19,43,41,42,6,27,73,
 TELIM=30,155,64,160,80,140,19,43,41,42,6,27,73,
 TS="Y", TSNUM=13,
 /

@MartinDix - I wasn’t successful in getting tiled (leaf area index) output as a timeseries at grid cells. Since it only changes daily, I did global output instead.

Just started playing with this again. It seems that at least the converse of this is true, i.e using Elim=Wlim+1, Nlim=Slim+1, gives me 4 cells - in which case IDK what was wrong before. Trying again now.

This has not been working the way it seems to be intended. Multiple specified points time series gets it into a conditional loop in the code which I can’t safely avoid - so I have implemented a workaround where times-series of all fields for all 13 pts are in the same *a.pq* monthly file, however they are each using per point domain profiles as a seperate stash_request. Ultimately this just means that the unpicking conv/cdo line will be different. It convolutes the rose-app.conf file so it isnt as pretty as it could be. I’m going to have another look at this but atleast we can output the data