NOAA-GFDL / SIS2

NOAA-GFDL's Sea Ice Simulator version 2
Other
16 stars 43 forks source link

Separate sea ice melt and direct precipitation to ocean when handling ice-ocean boundary mass fluxes #213

Open hdrake opened 3 months ago

hdrake commented 3 months ago

As commented by @StephenGriffies, there is a placeholder for a seaice_melt diagnostic in MOM6 but it currently does not get overwritten by SIS2, which bundles liquid precipitation together with sea ice melt here:

https://github.com/NOAA-GFDL/SIS2/blob/2c49005d1d7132776fff9b501cabe6ae85ef5f57/src/SIS_slow_thermo.F90#L1372-L1376

Because the ocean surface flux diagnostics get set by SIS2, this means that both liquid precipitation and sea ice melt/formation are included in MOM6's prlq ocean diagnostic, which really complicated process-based understanding of ocean mass budgets and salinity budgets.

It would be nice if SIS2 created a new seaice_melt variable that could be used to overwrite IOB%seaice_melt variable along with the others surface mass fluxes here:

https://github.com/NOAA-GFDL/SIS2/blob/2c49005d1d7132776fff9b501cabe6ae85ef5f57/src/combined_ice_ocean_driver.F90#L329-L332

hdrake commented 3 months ago

The following shows that the piping is all there for these fluxes to propagate through to a new seaice_melt diagnostic in MOM6.

In MOM6, the seaice_melt array gets allocated here in the ice_ocean_boundary:

https://github.com/mom-ocean/MOM6/blob/aacb90989668f855bacc870637a1bb7abd8417c1/config_src/drivers/nuopc_cap/mom_cap.F90#L687

and filled with zeros here:

https://github.com/mom-ocean/MOM6/blob/aacb90989668f855bacc870637a1bb7abd8417c1/config_src/drivers/nuopc_cap/mom_cap.F90#L707

It does not seem to get updated anywhere else, and then is passed on to the surface fluxes type here:

https://github.com/mom-ocean/MOM6/blob/aacb90989668f855bacc870637a1bb7abd8417c1/config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90#L494-L496

and finally the diagnostic is registered here:

https://github.com/MOM6/MOM6/blob/ced41b5183920e0993f135feda0496a07a65981a/src/core/MOM_forcing_type.F90#L1313-L1320

and the data posted here:

https://github.com/MOM6/MOM6/blob/ced41b5183920e0993f135feda0496a07a65981a/src/core/MOM_forcing_type.F90#L2484-L2485

hdrake commented 3 months ago

As a visual example, this is what the surface mass flux into the ocean due to liquid precipitation looks like in OM5:

image

The large signals in polar regions are the sea ice melt / formation signals. While one can apply an ice concentration mask to approximately separate out these two fields, doing so on time-averaging diagnostics is imperfect and especially problematic when studying water mass transformations at high latitudes.

StephenGriffies commented 3 months ago

pinging @Hallberg-NOAA and @adcroft and @jkrasting

@hdrake do you see how to implement the needed diagnostic? If so, then it would be great to provide a code update. We have spoken for many years about this diagnostic, and it just keeps slipping from the list.

Indeed, see the mom-ocean/mom6 issue #114 dated from 2015 related to this issue

" Add mass flux from melting or freezing to the ice-ocean boundary type (IOB) #114 "

hdrake commented 3 months ago

@hdrake do you see how to implement the needed diagnostic? If so, then it would be great to provide a code update. We have spoken for many years about this diagnostic, and it just keeps slipping from the list.

Yes, I think that by following each of the instances of lprec in the SIS2 code it should be easier to keep them separate. If no one else more familiar with SIS2 takes it on, I can try to make a PR after I knock out a couple pressing deadlines.

hdrake commented 3 months ago

Related in-line comment by @adcroft that might also need to be updated.

https://github.com/mom-ocean/MOM6/blob/aacb90989668f855bacc870637a1bb7abd8417c1/config_src/drivers/FMS_cap/MOM_surface_forcing_gfdl.F90#L610-L615

hdrake commented 3 months ago

The basic issue of the seaice_melt mass flux diagnostics has been addressed by https://github.com/NOAA-GFDL/SIS2/pull/214#issuecomment-2294461471, but I'm not 100% sure about the treatment of ice-ocean heat fluxes and how this interacts with the salinity restoring / flux correction routines.