Salinity out of range when running ACCESS-OM2-01

Hello everyone, I recently ran some experiments with ACCESS-OM2-01, and got an error called

salinity out of range with value 7.001377524657E+01 at (i,j,k) = (2310,1250, 2), (lon,lat,dpt) = ( -49.0500, 0.4500, 1.6763 m).

In this experiment, we made some changes in salinity restoring:

(1) We switched off the salinity restoring in the model.

(2) We switch on the do_flux_correction = truein input.nml, and create a prescribed salinity restoring file called salt_sfc_correction.nc. As salt_sfc_correction should be freshwater flux, we followed the equation -sfc_salt_flux_restore*1000/SA , and used sfc_salt_flux_restore and SSS to transfer the salt flux from restoring to the freshwater flux. Further, the experiemnt that we used is ‘01deg_jra55v13_ryf9091’ after 200 years spun up (2100-2101).

However, the model crashed due to the error shown above. When we check the salt_sfc_correction.nc (in the map shown below), there is a quite large freshwater flux found near the Amazon region (-49,05, 0.45). We think that this large freshwater flux may cause the crash of the model.

We also found the low SSS near the Amazon, which results in this large amount of freshwater flux in salt_sfc_correction.nc.

Therefore, does anyone know why the SSS near the Amazon is so low? And is there a threshold of salt_sfc_correction.nc that I can follow to make the salinity within the range?

does anyone know why the SSS near the Amazon is so low?

It’s quite a large river… Something like 20% of total global river flow.

Unless I’m misreading it, the error suggests that surface salinity is getting too high a point in the Southern Ocean (49°S, 0.5°E), which isn’t near the Amazon. What makes you think the Amazon is the problem?

Thanks @edoddridge , I have never known that the runoff from Amazon is so large!

From the error message, I think the longitude is -49 and the latitude is 0.5, which is near the Amazon river.

I thought we had fix that amazon error before by reducing the restoring there and the problem now were negative salinities somewhere else in the NH - no?

I think we need a threshold of salt_sfc_correction to avoid this error. This implies that the salt_sfc_correction removes quite a lot of water from the ocean near the Amazon, which is out of balance with the runoff from the Amazon River.

@Hangyum The error you had of negative salinity somewhere else in the North Hemisphere is probably more telling for people to help - maybe post that one too?

From the error message, I think the longitude is -49 and the latitude is 0.5, which is near the Amazon river.

Ah, (lon, lat), not (lat, lon). I should have read it more carefully.

In the normal ACCESS-OM2 configurations, there are some “caps” applied to runoff from the high volume global rivers. When runoff in a cell exceeds the cap, it is spread horizontally. This means that river runoff is spread across the ocean surface to keep salinity relatively within bounds. These caps are configured in the atm.nml file.

However that still relies on salinity restoring replacing surface salinity at those locations where the runoff is being added to keep salinity within the bounds of what is reasonable for the model. I would guess that salt is added at the maximum allowed rate (or close to) at the mouth of the Amazon.

It sounds like your experiment will trying to adjust the ocean salinity by adding/removing freshwater ? Which means that the river runoff would be getting removed again ? Can you compare SSS between this experiment and the baseline to see how well this flux correction is working?

This order also confuses me sometimes :rofl:

Thanks @anton. This experiment is to test whether the prescribed restoring that we applied is consistent with the online salinity restoring. We just followed the approach discussed in Salt-restoring flux from file in MOM5 and MOM6.

However, I don’t have any output from this experiment because the model crashed. The problem here is that the amount of flux correction removes quite a lot of water from the ocean (-0.01 kg m-2 s-1), which is much larger than the runoff from the Amazon River. This results in very large SSS. I am wondering whether I could adjust this large amount of freshwater flux correction to a reasonable value, to get the experiment working?

I recall Amazon fluxes being a problem in the past. I thought we had use the river_spread option, but it looks like @russfiedler suggested not to, as it slows the model down

The solution then seemed to be to modify the river runoff remapping to spread out the freshwater flux.

I’m confused. The crash is due to the salinity being too high (70psu), not too low. But it doesn’t look like 70psu occurs near the Amazon in your map.

Is there a numerical instability near the Amazon that arises too quickly to appear in your map (which I guess is a monthly mean)?

Do you have daily SSS output from just before the crash?

Hi @aekiss, the SSS map shown here is from the Control simulation (01deg_jra55v13_ryf9091), so it is quite low. The high salinity in the crashed experiment is due to the large negative freshwater flux near the Amazon in the salt_sfc_correction (the first map), which removes a lot of freshwater from the ocean.

Unfortunately I don’t have any output before the crash.

My guess is to either

  • update the frequency that SSS is saved to daily/hourly and/or
  • increase the allowed salinity limit

such that the model runs long enough to get some output to get a better sense of what is going on.

Although it doesn’t really make sense that salt_sfc_correction is greater in magnitude than the incoming runoff, so presumably there is some problematic going on there.

Thanks for your suggestion @anton. I think increasing the salinity limit is a good idea! How can I do that?

Looks like the setting is `s_max` - see access-om2-configs/ocean/input.nml at fe2e9ae331ff057e53393df1d2f27892f30f910f · ACCESS-NRI/access-om2-configs · GitHub

Cool, let me try this now.