pedrocol / basal_mom5-collaborative-project

4 stars 0 forks source link

Freshwater budget #68

Open adele-morrison opened 1 year ago

adele-morrison commented 1 year ago

It would be great to repeat this budget analysis we did for the old simulations.

How does the freshwater budget, and its components, integrated over the shelf change? There will be changes due to the input salinity of the basal melt, changing salinity restoring, changing sea ice formation/melt, other air-sea FW fluxes (evap), and cross-slope transports of fresh/salty waters.

Old issue is here.

fabiobdias commented 1 year ago

Here is the surface freshwater budget components integrated over the shelf (ht < 1000m) in the last year (annual averaged):

Screenshot 2023-08-24 at 1 37 25 pm

Salt fluxes from sea-ice (which I believe is accounted in the "melt" term) and salinity restoration are converted to equivalent freshwater by:

FW_ice = 1000 x sfc_salt_flux_ice/SSS FW_restore = 1000 x sfc_salt_flux_restore/SSS

The main differences are (1) reduction of the river/runoff term and (2) increase of the sea-ice salinification net effect in the Basal and ICB runs compared to the control.

The restoring term is smaller than other terms (by 2 orders of magnitude) but also changes across experiments:

Screenshot 2023-08-24 at 1 47 31 pm

fabiobdias commented 1 year ago

And here some annual average maps:

1) net surface fw flux (pme_river): Screenshot 2023-08-24 at 2 45 50 pm

2) surface fw flux due to sea-ice (melt): Screenshot 2023-08-24 at 2 46 30 pm

fabiobdias commented 1 year ago

Some maps for the salt flux converted to FW (note the different colorbar limits in comparison with previous post):

  1. salt flux due to sea ice converted to FWF: Screenshot 2023-08-24 at 3 09 12 pm

  2. same but due to salinity restoring: Screenshot 2023-08-24 at 3 43 00 pm

adele-morrison commented 10 months ago

I'm not sure I understand what's going on here @fabiobdias. Did you include the new freshwater input from the basal and iceberg terms? These aren't included in river by the looks of the above plot. What are the diagnostic names to include the freshwater from basal and icebergs @pedrocol?

Also is melt = wfiform + wfimelt? The melt diagnostic is incorrect.

pedrocol commented 10 months ago

The variable names are:

fabiobdias commented 10 months ago

No, I haven’t taken those terms into account – thanks Pedro. I will re-do these and double-check the melt term.

From: Pedro @.> Date: Thursday, 2 November 2023 at 10:31 am To: pedrocol/basal_mom5-collaborative-project @.> Cc: Fabio Boeira Dias @.>, Mention @.> Subject: Re: [pedrocol/basal_mom5-collaborative-project] Freshwater budget (Issue #68)

The variable names are:

— Reply to this email directly, view it on GitHubhttps://github.com/pedrocol/basal_mom5-collaborative-project/issues/68#issuecomment-1789831043, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACB3HWL4HPS42G53KHQUV63YCLLUTAVCNFSM6AAAAAA3KWRHB2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZHAZTCMBUGM. You are receiving this because you were mentioned.Message ID: @.***>

aekiss commented 10 months ago

Salt fluxes from sea-ice (which I believe is accounted in the "melt" term) and salinity restoration are converted to equivalent freshwater by:

FW_ice = 1000 x sfc_salt_flux_ice/SSS FW_restore = 1000 x sfc_salt_flux_restore/SSS

I think there are 2 problems here:

  1. the FW flux associated with sea ice melt should be calculated using the fixed bulk salinity of sea ice (ice_salt_concentration = 0.005 kg salt / kg ice), not SSS

  2. Is the salinity restoring done as a salt flux (salt_restore_as_salt_flux = true)? If so I don't think it makes sense to convert salinity restoring to a FW flux, as there is no associated FW change.

See sec 3.5.2, 3.5.3 of the draft tech report.

aekiss commented 10 months ago

To possibly clarify point 2: the salinity changes under restoring are purely due to salt mass flux, not FW mass flux. You can only form a budget with extensive variables like salt mass and water mass, not intensive variables like salinity.

fabiobdias commented 7 months ago

Updated surface freshwater budget figure. Some notes:

Also, I'm still including the converted FWF from sfc_salt_flux_ice and sfc_salt_flux_restore terms, but following Andrew comments above we should remove the restore from the final figure. Is the sfc_salt_flux_ice already included in the wfiform/wfimelt terms as well? If so, we could remove that too.

Screenshot 2024-02-09 at 8 01 12 pm
fabiobdias commented 6 months ago

Just want to add a note here as I got a bit confused when closing the budget. The pme_net and pme_river terms do NOT include the additional basal/iceberg fluxes (basal_fwflx2d and icb_fwflx2d, in the same way they aren't included in the river output). This changes the values of the net FWF (pme_river in the plot above). New corrected plot below.

Recapping, we have:

NET = pme_river + basal_fwflx2d + icb_fwflx2d MELT = wfiform + wfimelt PME = pme_net - MELT RIVER = river + basal_fwflx2d + icb_fwflx2d

considering SSSi = 1/0.005 as the "fixed bulk salinity of sea ice (ice_salt_concentration = 0.005 kg salt / kg ice)", and SSS the model surface salinity:

FW_ICE = -sfc_salt_flux_ice*1000)/SSSi FW_RESTORE = -(sfc_salt_flux_restore*1000)/SSS

The surface FW budget are given by:

NET = PME + RIVER + MELT (so leaving FW_ICE/RESTORE out of the FW budget as Andrew suggested).

In summary, for models using this depth distributed basal fluxes and/or iceberg fluxes, the basal_fwflx2d and icb_fwflx2d needs to be summed to the pme_net, pme_river and river diagnostics. Not sure if we should do this internally in MOM5 to be consistent?

New fig below - I'll be adding this and the SHF budget in the overleaf next:

Screenshot 2024-02-27 at 6 38 55 pm
pedrocol commented 6 months ago

Hi Fabio, I'm not sure I'm following, the code accounts for basal and icb fluxes for the zero_net_water_coupler (line 4081 in /home/552/pc5520/access-om2/src/mom/src/mom5/ocean_core/ocean_sbc.F90)

pme_river(i,j) = pme(i,j) + river(i,j) + basal(i,j) + icb(i,j) - melt(i,j) - wrk1_2d(i,j)

In this way, when splitting runoff (river) in basal+icb, the rest of the fields remain unchanged.

I did a mass balance and it was ok, would you mind sharing your jupyter notebook?

fabiobdias commented 6 months ago

Hmm... now I got confused. Are you saying the basal_fwflx2d/icb_fwflx2d aren't included in the river but they are in pme_river?

Following my analyses, I think it's either not included in both (as my note above), or it's already included in both. I believe it isn't included in both as river in the control only matches with the total runoff from Basal_gade and NoBasal_gade experiments if I add the basal_fwflx2d to river. That aligns with Adele's suggestion from above:

I'm not sure I understand what's going on here @fabiobdias. Did you include the new freshwater input from the basal and iceberg terms? These aren't included in river by the looks of the above plot. What are the diagnostic names to include the freshwater from basal and icebergs @pedrocol?

If I added basal_fwflx2d (and icb_fwflx2d) to river but don't do it for pme_river, I can't close the budget.

river in the ICB expt is zero, so basal_fwflx2d+icb_fwflx2d accounts for all runoff (which is less than the total runoff in other experiments and that contributes to a larger difference in the NET FWF relative to control compared to Basal_gade). I'm not sure this is something we should expect.

I'm going to push the FW (and heat) budget scripts. I have also a spreadsheet with the shelf-integrated values that I can share if you want (these values are all printed in the notebook).

pedrocol commented 6 months ago

basal and icb arrays are not included in river:

river(i,j) = runoff(i,j) + calving(i,j); where calving = 0.0 and runoff(i,j) = 0.0, but runoff was previously split in basal(i,j) and icb(i,j). So, river(i,j) + basal(i,j) + icb(i,j) remain unchanged, as well as pme_river.

Indeed, river is expected to be zero in the ICB experiment.

I think the problem comes from the calculation region, you are calculating the quantities on-shelf only, and the ICB field is also present further away.

fabiobdias commented 6 months ago

I've just re-done this but integrated over the whole domain (up to 60S or so), but I still think pme_river doesn't include basal_fwflx2d+icb_fwflx2dfluxes.

Even integrated over the whole domain (S.O.), the imbalance in the NET - (PME+RIVER+SEA-ICE) still exists. I need to add basal_fwflx2d+icb_fwflx2d to close the surface FW budget (see table and figs below).

For the ICB experiment, what you said holds when I integrated for the whole SO (not only cont. shelf)–the ICB total river flux (river+basal_fwflx2d+icb_fwflx2d) gets pretty close to the river in the control run (or river+basal_fwflx2din the Basal_gade).

The integrated values are: <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

  | pme_river | pme_net - melt | river + basal + icb |   | melt |   |   -- | -- | -- | -- | -- | -- | -- | -- 1E8 (kg s-1) | NET | PME | RUNOFF | basal/icb 2dflx | SEA-ICE | pme_net +river + basal + icb | minus (basal+icb) CTRL | 3.55587328 | 1.36628928 | 0.87460016 | 0 | 1.31498392 | 3.55587336 |   BG | 3.04362976 | 1.35479456 | 0.87459888 | 0.45816592 | 1.27240208 | 3.50179552 | 3.0436296 ICB | 2.60107904 | 1.34355968 | 0.87818384 | 0.87818384 | 1.25751928 | 3.4792628 | 2.60107896

Figures below show (top) NET as pme_river and (bottom) NET as [pme_river + basal2dflx + icb2dflx]; all other components shown are the same in both figures (where runoff = river + basal2dflx + icb2dflx):

Screenshot 2024-02-29 at 8 01 36 pm Screenshot 2024-02-29 at 8 02 03 pm

I see in the ocean_sbc.F90 code you mentioned it sum those fluxes in the pme_river, but I think something isn't right still. I wonder if the pme_river output diagnostic (that I'm using) and the internal pme_river (from the ocean_sbc.F90) variables are supposed to be equal?

pedrocol commented 6 months ago

Yes, you need to add basal and icb to pme in order to close the budget. This is because the runoff was separated into basal and icb. If I got it correctly the difference between Control and Basal is 3.55587336 vs 3.50179552 (~1.5%), right?

I saw you had 8 terms before and 7 now, would this be the cause?

The very small difference in the icb case (3.50179552 vs 3.4792628, ~0.6%) comes from the rescaling we did to the icb flux, since the NEMO land mask was different to the access-om2 mask.

fabiobdias commented 6 months ago

Yes, you need to add basal and icb to pme in order to close the budget. This is because the runoff was separated into basal and icb. If I got it correctly the difference between Control and Basal is 3.55587336 vs 3.50179552 (~1.5%), right?

NET in Control is 3.55587328, Basal_gade is 3.50179552 (-1.5%) and ICB is 3.4792628 (-2.1%).

I saw you had 8 terms before and 7 now, would this be the cause?

I just removed the salt flux due to sea-ice converted to FWF (sfc_salt_flux_ice) from the previous plot.

The very small difference in the icb case (3.50179552 vs 3.4792628, ~0.6%) comes from the rescaling we did to the icb flux, since the NEMO land mask was different to the access-om2 mask.

Got it.

fabiobdias commented 6 months ago

So in summary the surface freshwater budget here is obtained by:

pme_river + basal2dflx + icb2dflx = pme_net + river + basal2dflx + icb2dflx and using the nomenclature used in the figures above we have:

NET = pme_river + basal2dflx + icb2dflx
PME = pme_net - SEA-ICE
SEA-ICE = wfiform + wfimelt
SEA-ICE FORM = wfiform
SEA-ICE MELT = wfimelt
RIVER = river + basal2dflx + icb2dflx

So

NET = PME + RIVER + SEA-ICE

The equivalent FWF from salinity restoring will be kept in the figure for comparison proposes and it didn't contribute to the FW budget.

fabiobdias commented 6 months ago

Final figure and key points:

SFWF_components_annual_hint_shelf_yr10_FinalFig_WO_noBG

fabiobdias commented 3 weeks ago

I've updated the fig above with the new runs but something looks weird with the BasalGadeBrine PME (pme_net and pme_river fields)... and I couldn't think of any reason PME should increases on that run:

Screenshot 2024-08-21 at 3 35 35 PM

pedrocol commented 3 weeks ago

Thanks for the plot Fabio, pme increases since no longer contains brine (<0, wfiform). You need to include "briner_fwflx2d" in pme in order to compare to the other two simulations

fabiobdias commented 3 weeks ago

Ah great, thanks @pedrocol There is anything equivalent for the heat fluxes that I should also account for?

pedrocol commented 3 weeks ago

No, that would be it. The difference you have in the runoff must be an issue in the diagnostic, I just checked the values and they look fine

fabiobdias commented 2 weeks ago

Thanks Pedro, here's the update figured:

SFWF_components_annual_hint_shelf_yr10_FinalFinalFig

So now I've accounted the briner_fwflx2d into the Net FWF and PME terms. There's still this weird difference in the runoff. Maybe that's trying to compensate the Brine negative fluxes?

pedrocol commented 2 weeks ago

Thanks Fabio, the Brine negative flux equals sea-ice form., so that's ok, PME looks fine as well. The runoff value seems ok for Control, but it should be about half of it for the three Basal runs.