T/S distortion where wind stress is low

Where the instantaneous wind stress (in this case a monthly climatology from ERA5) in the model is very low, there is distortion of surface (affecting the mixed layer) T/S fields, e.g. see this SST snapshot:

image description

and compare to the model output of wstr:

image description

These artefacts are also visible in the shflux and swflux diagnostics. I’ve seen artefacts using both a forcing file and a bulk file, but it seems to be worse with the bulk file. These artefacts are also visible in the vertical velocity W, and (to a much lesser extent) the horizontal velocities. Cpp settings are fairly similar to the Benguela example, this is a fairly standard realistic regional configuration - no coupling, nesting or tides.

There is a rather high temperature gradient in the upper water column, e.g. differences of several degrees between the surface cell and the cell below it (with a cell height of <3m). I tried activating SMFLUX_CFB which for some reason seems to have made these artefacts less significant, but the temperature gradient in the mixed layer is still too high and the artefacts are still there, e.g. here, you can see clearly nonphysical sharp gradients in SST in this same region where winds are low:

image description

A small update - it appears to work with GLS (specifically using the Mellor-Yamada option). Using the SMFLUX_CFB option removed the artefacts in KPP, but it replaced it with the strange SST ‘corona’ that you can see in the last image above. In both KPP and GLS, the SMFLUX_CFB causes the planetary boundary layer depth to go to zero in regions of low wind stress which seems to be related to the strange SST above.

I am still confused as to why this is happening but in any case, GLS seems to work.

Another small update - it appears that the temperature maximum below low wind stress problem is due to the STFLUX_CFB option which is by default activated whenever SMFLUX_CFB is activated. Forcing STFLUX_CFB off allows me to use current feedback with no problems. I am not sure why the modified surface heat flux for CFB is causing problems with low wind stress.

sounds interesting, a simple fix could be to deactivate STFLUX_CFB when the wind is too low.

However I’m nore sure to fully understand your setup.

Are you using a bulk formulae (BULK_FLUX) or prescribed monthly wind stress ?
what fields (and frequency) do you use to force the model ?

can you please send your cppdef ? and did you save the turbulent heat fluxes (if BULK is used) ?


Sorry, to clarify, there are two separate problems that I’m describing here (I got confused myself), although both are related to low wind stress. The first is noisy SST and SST minimum (first picture) which appears to be related to KPP and is not related to CFB. The second is the smoother SST maximum (last picture) which is due to STFLUX_CFB.

In all cases, I’ve been using the bulk formula but I also did a test with prescribed wind stress and the first issue at least was still present (although much smaller). I’ve been using monthly climatological ERA-5 fields.

I’ve attached the cppdef for my old configuration which was seeing these issues (i.e. STFLUX_CFB on) - here. As for the surface heat fluxes, here are snapshots of the net, latent and sensible heat flux fields:


image description


image description


image description

ok, I think that you may improve your simulation by

  1. using high frequency wind: using a monthly wind with a bulk formulae is not accurate. If there is a submonthly variability, the estimated surface stress won’t be realistic (see bulk formulae, the stress is quadratic) and may be way too weak (that could partly explain your issues with the weak wind). Alternatively you could use a prescribed monthly surface stress, but I would advocate for high frequency wind with bulk formulae

  2. do you use monthly shortwave too ? if so, did you activate the cppdef ANA_DIURNAL_SW ? having said that, it will be better to use high frequency shortwave too as is is available in ERA5.

  3. we just commited a small bug fix that deactivate STFLUX_CFB by default if not CFB_WIND activated (then you can just activate SMFLX_CFB and CFB_STRESS).