Salt-restoring flux from file in MOM5 and MOM6

I’ve tested different temporal frequency @adele-morrison. In the end, to be able to keep the model stable for the period design by the FAFMIP protocol (80 years), I needed to use 6-hourly fluxes. But in my case I wanted to deactivate the SSS restoring. Not sure you’ll need such high frequency in your case. I remember that I tried daily and monthly before going to finer temporal scale and it didn’t work (e.g. global metrics show clearly large drifts - global temp, salt temp, AMOC).

Similar to what @dougiesquire said, in MOM5 we applied a surface flux adjustment. Roughly these are the steps:

1 - create salt_sfc_correction.nc file:
a) extract sfc_salt_flux_restore from the output file (I used NCO - happy to share the bash script that do this and the steps below)
b) convert salt flux to equivalent freshwater flux (FWF = salt_flux*1000/SSS); the surface correction is applied in freshwater flux (basically pme = pme + pme_correct in ocean_core/ocean_sbc.f90; where pme_correct is the ‘pme’ field it reads from the salt_sfc_correction.nc file, more on this below)
c) rename variable name to ‘pme’; there’s also a couple attributes to adjust like:
> standard_name = “water_flux_into_sea_water”
> long_name = “Water Flux into Sea Water”
> units = “kg m-2 s-1”
and a few others - I remember that @Aidan helped on this (just to make it as MOM5 wants - the bash script I mentioned has all the details).

2 - Now we turn on the flux_correction on the input.nml (section ocean_sbc_nml), and it will look for the ‘salt_sfc_correction.nc’ file in the input directory:

  • do_flux_correction = .true.
  • salt_correction_scale = 1.0

For the perturbation experiment I had, e.g. FAF-WATER (freshwater anomalies from CMIP5 MMM), we just sum the sfc_salt_flux_restore converted to FWF with the FAFMIP PME anomalies (so these will be combined in the variable ‘pme’ in the ‘salt_sfc_correction.nc’). In my case I also deactivate the salt restoring.