Box model for handling of flows in course, km-scale models

Hi All,

This is a very high-level question, but I’m wondering specifically whether anyone has coded offline, or in the gitlab environment, the addition of some sort of box-model capability for handling freshwater inputs into estuaries and bays to accurately model temperature and salinity in the river plume that enters a coarser model domain?

I found from a brief web search that CMCC have developed a box model that is compatible with NEMO, see here:

I am interested in this aspect, mainly because the crocotools scripts for river runoff from Dai and Trenberth attributes river temperature and salinity with WOA monthly climatology values on the shelf. In realistic non-climatology runs, this will always lead to inaccurate attribution of T/S from rivers as so much mixing takes place where the river meets the ocean.

I have high resolution (daily) flow data from all rivers entering my model domain, and I also have monthly temperature data. I could assume a salinity of zero but this is not appropriate or a reflection of reality when the river is presented as a point on the coastal shelf.

This point equally applies to nutrient inputs from large rivers, which may be assimilated for growth during favourable conditions in estuaries, bays and harbours.

It could be great to get feedback from this post and any advice in relation to handling of real river data.


Do you want a more realistic file, or a way to get river input values depending on the T,S,U,V,zeta of the point source discharge cell?


I’m looking to get an accurate salinity and temperature value, given that I have accurate flow data for the rivers.

In the paper I included a link to, the box model derives a completely mixed salinity value for the discharge from estuaries/bays. It also proposes a different flow value.

You can write your realistic time series of daily or hourly flow, temperature and salinity values directly into the file. As long as it has the correct range of time values, CROCO will read it.

They have to be calculated offline. Do you want them to depend on the model state?

My concern is related to the positioning of the runoff point in the IJ plane. It must be adjacent to the coast, but realistically, if I apply a salinity of 0 psu at that point, it doesn’t reflect the salinity conditions there. Due to mixing, by the time the river meets that grid point…

…the plume has a very different characteristic, in both T and S. I want to attribute realistic T/S and volumes of net outflow at the coastal grid point which is meant to be a proxy for the river discharge to an estuary, which may be semi-enclosed for example…

…Perhaps this question is more theoretical in nature. I can always proceed on the basis of attributing the monthly observed river temperature to the runoff, and 0 psu for salinity.

You could create a 1-grid wide river and place the discharge at the head of it. See the landmask of the RIVER idealized case. That would allow some mixing before it reaches the coast. The flow value is something you can specify modifying the file. Do you know how to do it?

Thanks Andres, we sometimes do that in my team with other models. I was hoping that someone in the CROCO community might have done a box model approach as per the link in the original post, to better reflect actual estuary/bay volume.

I will give it some more thought and close the thread now.