Skip to content

Conversation

@xylar
Copy link
Collaborator

@xylar xylar commented Apr 24, 2025

In addition to cosmetic changes (removing commented-out code), this merge includes:

  • Updating ice-shelf boundary-layer fields only in "coupled" mode. Previously, the coupler fields associated with ice-shelf boundary layer fields were being updated in "standalone" mode as well, even though they are not used.
  • Using time-averaged land-ice boundary-layer fields. When computing prognostic ice-shelf melt rates in the coupler, we now use the boundary-layer fields time averaged over the coupling interval, not the instantaneous fields.
  • Switching to landIceFluxesCoupled logical to avoid checking a string inside of nested loops.

This branch implements (or will implement) the changes described in:
https://acme-climate.atlassian.net/wiki/spaces/FAN/pages/4200497474/Design+Document+Prognostic+ice-shelf+melting+in+E3SM+coupler

@xylar
Copy link
Collaborator Author

xylar commented Apr 24, 2025

This branch is currently based off of E3SM-Project#7215 and will need to be rebased once that gets merged.

@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from eb9603c to 3ec2596 Compare May 6, 2025 11:17
@xylar
Copy link
Collaborator Author

xylar commented May 6, 2025

Testing round one

For now, this is just a test of melt rates computed in the coupler vs. in the ocean model, with landIcePressure unchanged.

Results are in:

/lcrc/group/e3sm/ac.xylar/scratch/chrys/20250426.GMPAS-JRA1p5-DIB-PISMF-SIS.TL319_SOwISC12to30E3r4_ais4to20.coupled_ismf.chrysalis/run

and are being compared against a baseline from:

/lcrc/group/e3sm/ac.xylar/scratch/chrys/20250125.GMPAS-JRA1p5-DIB-PISMF.TL319_SOwISC12to30E3r4.chrysalis/run

Here's the new analysis:
https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.xylar/analysis/FAnSSIE/20250426.GMPAS-JRA1p5-DIB-PISMF-SIS.TL319_SOwISC12to30E3r4_ais4to20.coupled_ismf.chrysalis/clim_yrs5-11/

Here is the comparison with the baseline:
https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.xylar/analysis/FAnSSIE/20250426.GMPAS-JRA1p5-DIB-PISMF-SIS.TL319_SOwISC12to30E3r4_ais4to20.coupled_ismf.chrysalis_vs_r4/clim_yrs5-11/

@xylar
Copy link
Collaborator Author

xylar commented May 6, 2025

To do:

  • Check total melt flux before and after remapping (in coupler log?)
  • Does the conservation check need to be updated?
  • Do we need to be outputting new budget terms from MALI?
  • Plot melt fluxes on MALI mesh side by side with those from MPAS-Ocean (baseline)

@xylar
Copy link
Collaborator Author

xylar commented May 6, 2025

The comparison analysis shows that the flux is slightly reduced:
image
This is consistent across regions (though the level of reduction varies).

@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch 2 times, most recently from bd1c436 to bb656dd Compare May 7, 2025 10:08
@xylar
Copy link
Collaborator Author

xylar commented May 17, 2025

Okay, switching to landIcePressure and masks from MALI leads to really tiny changes:
https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.xylar/analysis/FAnSSIE/20250507.GMPAS-JRA1p5-DIB-PISMF-SIS.TL319_SOwISC12to30E3r4_ais4to20.mali_topo_and_fracs.chrysalis_vs_coupled_ismf/clim_yrs5-11/

Melt is indistinguishable mostly:
image

Temperature shows enough difference to at least know the simulations aren't identical (phew!):
image

@xylar
Copy link
Collaborator Author

xylar commented May 20, 2025

Notes:

@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from bb656dd to df0d7db Compare June 3, 2025 15:00
@xylar xylar changed the base branch from master to alternate June 3, 2025 15:01
@xylar xylar changed the base branch from alternate to master June 3, 2025 15:01
@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from df0d7db to 116c63e Compare June 24, 2025 13:58
@xylar
Copy link
Collaborator Author

xylar commented Jul 17, 2025

Testing Summary

I have run 3 simulations to test this work. They are:

  • coupled_ismf: melt rates are computed in the coupler but landIcePressure is unchanged from the initial condition
  • mali_topo_and_fracs: melt rates are computed in the coupler and also landIcePressure, landIceFraction and landIceFloatingFraction come from MALI through the coupler as well
  • mali_topo_and_diag_land_ice_draft: as in the previous case but also landIceDraft is computed from landIcePressure rather than coming from the ocean initialization

The comparison analysis is more illuminating:

@xylar
Copy link
Collaborator Author

xylar commented Jul 17, 2025

Differences between landIceDraft from the initial condition and diagnostically from landIcePressure (the last comparison above) are almost totally negligible in all plots, so I think we can be confident that that change is harmless.

Comment on lines +2415 to +2550
landIceInterfaceTracers(indexIT, i) = x2o_o % rAttr(index_x2o_Sg_blit, n)
landIceInterfaceTracers(indexIS, i) = x2o_o % rAttr(index_x2o_Sg_blis, n)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does the ocean need this in the coupled case? Is this just present for debugging?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we output them as part of the monthly means. This is for us but also has been requested by collaborators when we've shared our simulation data.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, thanks!

@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from 116c63e to 6a9eac5 Compare August 12, 2025 15:13
@xylar xylar changed the base branch from master to alternate August 14, 2025 12:53
@xylar xylar changed the base branch from alternate to master August 14, 2025 12:53
@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

Fluxes on the glc and ocn grids

glc ocn

It's clear that (as we assumed) that there are areas of melt flux on the glc grid that don't make it over to the ocn grid.

@cbegeman
Copy link
Collaborator

It's clear that (as we assumed) that there are areas of melt flux on the glc grid that don't make it over to the ocn grid.

Presumably corresponding to MALI mesh cells that lie outside the ocean domain?

What do you think the path forward is?

@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

What do you think the path forward is?

Ignore it for now and count on the dry region to deal with this?

@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

Presumably corresponding to MALI mesh cells that lie outside the ocean domain?

Yes, that's what it looks like.

I still need to compute the totals.

@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

Here's what I see:

Total ocean flux: 4.956e+07 kg/s
Total glacial flux: 5.150e+07 kg/s

That's x2oacc_Fogx_qicelo * areaCell and g2x_Fogx_qicelo * areaCell (where areaCell is on each respective grid).

This was at the end of day 5. I think MALI is probably getting daily accumulated values and MPAS-Ocean 10-minute values so these may not be equal for that reason as well as the different coverage.

@cbegeman
Copy link
Collaborator

The dry region would deal with this as long as those cells are below sea level and I imagine practically all of them are.

@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

The dry region would deal with this as long as those cells are below sea level and I imagine practically all of them are.

Most should be, yes, because MALI wouldn't think that ice was floating if it though they were above sea level. But its always possible that a floating MALI cell falls within a cell that MPAS-Ocean decided was above sea level. We could route all MALI floating cells to some MPAS-Ocean cell but that feels to me like more trouble than it's worth. It might be better to remap the MPAS-Ocean mask to MALI and use that as a mask for where fluxes are allowed. But, again, I think that's overkill for now.

@cbegeman
Copy link
Collaborator

I agree. I think we can cross that bridge when we review the ocean mesh with dry cells.

@cbegeman
Copy link
Collaborator

This was at the end of day 5. I think MALI is probably getting daily accumulated values and MPAS-Ocean 10-minute values so these may not be equal for that reason as well as the different coverage.

Is this other reason equivalent to ignoring the covariational component of melt rates, e.g.,
$\rho_i m' = \frac{\rho_o}{L_f} ({\gamma}_T - \bar{\gamma}_T)(T_f - \bar{T_f})$
where the overbars denote the daily averaged values used by MALI

@xylar
Copy link
Collaborator Author

xylar commented Aug 21, 2025

@cbegeman, I think that's right but I also think it's not going to be a small term during the first 5 days of spin-up. But maybe later in the simulation.

xylar added 8 commits August 29, 2025 05:11
Previously, the coupler fields associated with ice-shelf boundary
layer fields were being updated in "standalone" mode as well,
even though they are not used.
When computing prognostic ice-shelf melt rates in the coupler,
use the boundary-layer fields time averaged over the coupling
interval, not the instantaneous fields.
This avoids checking a string inside of nested loops
If ice-shelf fluxes are computed in the coupler, update the
associated MPAS-ocean fields.  Also, update the temperature and
salinity at the ice-ocean interface.
... and associated unused module variable `rhoLandIce`
Before this fix, the sea-ice density was incorrectly being used.
@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from 6a9eac5 to bb4522d Compare August 29, 2025 10:22
@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from bb4522d to 85a626a Compare August 29, 2025 10:25
@xylar
Copy link
Collaborator Author

xylar commented Aug 29, 2025

@stephenprice, @matthewhoffman and @cbegeman,

I have done my best to get the coupler budget terms added in:
85a626a

But something isn't quite right and I want to kick this over to the 3 of you until I'm back working with FAnSSIE.

Each of the qiceli, qicelo, qicehi and qiceho terms are designed to be positive into their respective components, see:
https://github.com/xylar/E3SM/blob/85a626abb45e9b9ac8e7c3ab23833bb0b584d56a/driver-mct/main/prep_glc_mod.F90#L1097-L1102
I think I have the terms with the appropriate signs in the coupler budget.

However, I have a 3-month SORRM G-case with static MALI running on Chrysalis with the budget terms turned on:
/lcrc/group/e3sm/ac.xylar/scratch/chrys/20250829.GMPAS-JRA1p5-DIB-PISMF-SIS.TL319_SOwISC12to30E3r4_ais4to20.coupler_budget.chrysalis/run

One month in, the budget I see is:

(seq_diag_print_mct) NET AREA BUDGET (m2/m2): period =  monthly: date =     10201     0
                           atm            lnd            ocn         ice nh         ice sh        *SUM*
            area    -1.00000000     0.00000000     0.68160284     0.02507851     0.00000034    -0.29331831

(seq_diag_print_mct) NET HEAT BUDGET (W/m2): period =  monthly: date =     10201     0
                           atm            lnd            rof            ocn         ice nh         ice sh            glc        *SUM*
         hfreeze     0.00000000     0.00000000     0.00000000     0.19777171    -0.19773488    -0.00003683     0.00000000    -0.00000000
           hmelt     0.00000000     0.00000000     0.00000000    -0.48102730     0.48127969     0.00002017     0.00000000     0.00027256
          hnetsw  -176.71098369     0.00000000     0.00000000   132.89567077     0.03070092     0.00004498     0.00000000   -43.78456701
           hlwdn  -330.23094691     0.00000000     0.00000000   243.37375236     4.43656811     0.00007937     0.00000000   -82.42054707
           hlwup     0.00000000     0.00000000     0.00000000  -284.43760041    -5.55840013    -0.00010384     0.00000000  -289.99610438
         hlatvap     0.00000000     0.00000000     0.00000000   -73.83500920    -0.12703078    -0.00000298     0.00000000   -73.96204296
         hlatfus     0.67888429     0.00000000     0.00000000    -0.19231490    -0.07290796    -0.00000114     0.00000000     0.41366029
          hiroff     0.00000000     0.00000000     0.03512508    -0.03512527     0.00000000     0.00000000     0.00000000    -0.00000020
            hsen     0.00000000     0.00000000     0.00000000   -12.81154732    -1.46420660     0.00000013     0.00000000   -14.27575378
          hpolar     0.00000000     0.00000000     0.00000000    -0.04732522     0.00000000     0.00000000     0.00000000    -0.04732522
        hh2otemp     0.00000000     0.00000000     0.00000000    -0.30608014     0.00000000     0.00000000     0.00000000    -0.30608014
           hgsmb     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           *SUM*  -506.26304631     0.00000000     0.03512508     4.32116507    -2.47173161    -0.00000014     0.00000000  -504.37848791

(seq_diag_print_mct) NET WATER BUDGET (kg/m2s*1e6): period =  monthly: date =     10201     0
                           atm            lnd            rof            ocn         ice nh         ice sh            glc        *SUM*
         wfreeze     0.00000000     0.00000000     0.00000000    -0.59266319     0.59255283     0.00011036     0.00000000    -0.00000000
           wmelt     0.00000000     0.00000000     0.00000000    -7.14070520     7.14304280    -0.00011309     0.00000000     0.00222451
           wrain   -31.56888152     0.00000000     0.00000000    25.05637458     0.00644231     0.00000050     0.00000000    -6.50606414
           wsnow    -2.03441502     0.00000000     0.00000000     0.57631077     0.21848355     0.00000342     0.00000000    -1.23961729
          wpolar     0.00000000     0.00000000     0.00000000     0.12742282     0.00000000     0.00000000    -0.00187800     0.12554482
           wgsmb     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           wevap     0.00000000     0.00000000     0.00000000   -29.52219480    -0.04455228    -0.00000114     0.00000000   -29.56674822
         wrunoff     0.00000000     0.00000000    -1.88158412     1.88149429     0.00000000     0.00000000     0.00000000    -0.00008983
         wfrzrof     0.00000000     0.00000000    -0.10525944     0.10526003     0.00000000     0.00000000     0.00000000     0.00000059
          wirrig     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           *SUM*   -33.60329654     0.00000000    -1.98684356    -9.50870070     7.91596921     0.00000005    -0.00187800   -37.18474955

It's hard for me to tell why the ocean is getting a lot more fresh water than the ice is providing but that could be icebergs. But the troubling bit is that the glc contribution to hpolar is 0.0000000, whereas there should be the latent heat leaving the ice sheet and entering the ocean. I will try to track down the cause in the next couple of hours but after that I'll have to kick it over to you.

Sorry for the slow progress. I tried to juggle this work with the All-Hands but couldn't manage to concentrate very well this week.

@xylar xylar force-pushed the ocn-glc/fix-coupler-ice-shelf-fluxes branch from 85a626a to 8ec175b Compare August 29, 2025 14:00
@xylar
Copy link
Collaborator Author

xylar commented Aug 29, 2025

Update: I think Copilot found the issue and it has been fixed in 8ec175b. Fingers crossed.

@xylar
Copy link
Collaborator Author

xylar commented Aug 29, 2025

Okay, I haven't been able to prove that the budgets are right but at least hpolar from glc is no longer zero:

(seq_diag_print_mct) NET AREA BUDGET (m2/m2): period =  monthly: date =     10201     0
                           atm            lnd            ocn         ice nh         ice sh        *SUM*
            area    -1.00000000     0.00000000     0.68160284     0.02507851     0.00000034    -0.29331831

(seq_diag_print_mct) NET HEAT BUDGET (W/m2): period =  monthly: date =     10201     0
                           atm            lnd            rof            ocn         ice nh         ice sh            glc        *SUM*
         hfreeze     0.00000000     0.00000000     0.00000000     0.19777171    -0.19773488    -0.00003683     0.00000000    -0.00000000
           hmelt     0.00000000     0.00000000     0.00000000    -0.48102730     0.48127969     0.00002017     0.00000000     0.00027256
          hnetsw  -176.71098369     0.00000000     0.00000000   132.89567077     0.03070092     0.00004498     0.00000000   -43.78456701
           hlwdn  -330.23094691     0.00000000     0.00000000   243.37375236     4.43656811     0.00007937     0.00000000   -82.42054707
           hlwup     0.00000000     0.00000000     0.00000000  -284.43760041    -5.55840013    -0.00010384     0.00000000  -289.99610438
         hlatvap     0.00000000     0.00000000     0.00000000   -73.83500920    -0.12703078    -0.00000298     0.00000000   -73.96204296
         hlatfus     0.67888429     0.00000000     0.00000000    -0.19231490    -0.07290796    -0.00000114     0.00000000     0.41366029
          hiroff     0.00000000     0.00000000     0.03512508    -0.03512527     0.00000000     0.00000000     0.00000000    -0.00000020
            hsen     0.00000000     0.00000000     0.00000000   -12.81154732    -1.46420660     0.00000013     0.00000000   -14.27575378
          hpolar     0.00000000     0.00000000     0.00000000    -0.04732522     0.00000000     0.00000000    -0.00059971    -0.04792492
        hh2otemp     0.00000000     0.00000000     0.00000000    -0.30608014     0.00000000     0.00000000     0.00000000    -0.30608014
           hgsmb     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           *SUM*  -506.26304631     0.00000000     0.03512508     4.32116507    -2.47173161    -0.00000014    -0.00059971  -504.37908762

(seq_diag_print_mct) NET WATER BUDGET (kg/m2s*1e6): period =  monthly: date =     10201     0
                           atm            lnd            rof            ocn         ice nh         ice sh            glc        *SUM*
         wfreeze     0.00000000     0.00000000     0.00000000    -0.59266319     0.59255283     0.00011036     0.00000000    -0.00000000
           wmelt     0.00000000     0.00000000     0.00000000    -7.14070520     7.14304280    -0.00011309     0.00000000     0.00222451
           wrain   -31.56888152     0.00000000     0.00000000    25.05637458     0.00644231     0.00000050     0.00000000    -6.50606414
           wsnow    -2.03441502     0.00000000     0.00000000     0.57631077     0.21848355     0.00000342     0.00000000    -1.23961729
          wpolar     0.00000000     0.00000000     0.00000000     0.12742282     0.00000000     0.00000000    -0.00187800     0.12554482
           wgsmb     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           wevap     0.00000000     0.00000000     0.00000000   -29.52219480    -0.04455228    -0.00000114     0.00000000   -29.56674822
         wrunoff     0.00000000     0.00000000    -1.88158412     1.88149429     0.00000000     0.00000000     0.00000000    -0.00008983
         wfrzrof     0.00000000     0.00000000    -0.10525944     0.10526003     0.00000000     0.00000000     0.00000000     0.00000059
          wirrig     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000     0.00000000
           *SUM*   -33.60329654     0.00000000    -1.98684356    -9.50870070     7.91596921     0.00000005    -0.00187800   -37.18474955

@cbegeman
Copy link
Collaborator

cbegeman commented Sep 4, 2025

@xylar Thanks for trying to solve this before your break. I'll look into it. If you have a chance, I think it would be helpful to look at your baseline with ISMF in the ocean. I tried to look at /lcrc/group/e3sm/ac.xylar/scratch/chrys/20250125.GMPAS-JRA1p5-DIB-PISMF.TL319_SOwISC12to30E3r4.chrysalis/run but did not have permissions.

@xylar
Copy link
Collaborator Author

xylar commented Sep 5, 2025

@cbegeman, I had to move that run to HPSS at NERSC because we are continually running out of space on Chrysalis. I can bring it back.

@xylar
Copy link
Collaborator Author

xylar commented Sep 5, 2025

@cbegeman, I have restored the files in:

/lcrc/group/e3sm/ac.xylar/scratch/chrys/20250125.GMPAS-JRA1p5-DIB-PISMF.TL319_SOwISC12to30E3r4.chrysalis

I believe permissions are such that you should be able to read them.

budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) + ca_c*x2o_o%rAttr(index_x2o_Fogx_qicelo,n)
! latent heat from ice shelf melt fluxes in the coupler
nf = f_hpolar
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) + ca_c*x2o_o%rAttr(index_x2o_Fogx_qicelo,n)*shr_const_latice
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) + ca_c*x2o_o%rAttr(index_x2o_Fogx_qicelo,n)*shr_const_latice
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) - ca_c*x2o_o%rAttr(index_x2o_Fogx_qicelo,n)*shr_const_latice

The sum of the area-weighted qicelo is positive in the coupler history files. Since I assume the area-weighted melt rate consistent with melting, we need a negative sign here so that latent heat leaves the ocean component.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should think about whether the sign should really be changed in the x2o_Fogx_qicelo field itself. The same is true for the comment below with x2g_Fogx_qiceli.

if (index_x2g_Fogx_qiceli /= 0) then
! qiceli and qicehi are positive into glc
nf = f_wpolar
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) + ca_g*x2g_g%rAttr(index_x2g_Fogx_qiceli,n)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) + ca_g*x2g_g%rAttr(index_x2g_Fogx_qiceli,n)
budg_dataL(nf,ic,ip) = budg_dataL(nf,ic,ip) - ca_g*x2g_g%rAttr(index_x2g_Fogx_qiceli,n)

The sum of the area-weighted qiceli is negative in the coupler history files. Since I assume the area-weighted melt rate consistent with melting, we need a negative sign here so that latent heat enters the glc component.

@cbegeman
Copy link
Collaborator

@xylar More significant changes are needed to the sensible heat term as I have written here: https://e3sm.atlassian.net/wiki/spaces/FAN/pages/5511118871/2025-09-30+FAnSSIE+Ocean+Team+meeting. We can discuss more at the meeting on Tuesday or you can reach out if you want to talk through some of this beforehand.

@xylar
Copy link
Collaborator Author

xylar commented Sep 27, 2025

@cbegeman, thanks for thinking about these things! Yes, I think I would benefit from chatting about these ahead of time, perhaps during our usual Tuesday meeting?

Copy link
Collaborator

@matthewhoffman matthewhoffman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xylar , this is looking very close to complete. I went through each commit by inspection, and all the changes were clearly documented and easy to follow so thanks for that. I made two comments that may or may not need addressing.

end if
! Okay, now if we're in standalone or data mode, time to compute
! the total land-ice freshwater flux
call compute_total_land_ice_freshwater_flux(meshPool, forcingPool)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to be inside a check of landIceCoupledOn?

g2x_g % rAttr(index_g2x_Sg_icemask_floating, n) = li_mask_is_floating_ice_int(cellMask(i))
g2x_g % rAttr(index_g2x_Sg_icemask_grounded, n) = li_mask_is_grounded_ice_int(cellMask(i))
g2x_g % rAttr(index_g2x_Sg_icemask_below_sea_level, n) = belowSeaLevelMask * li_mask_is_ice_int(cellMask(i))
g2x_g % rAttr(index_g2x_Sg_icemask_floating, n) = belowSeaLevelMask * li_mask_is_floating_ice_int(cellMask(i))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to change this to floating locations below sea level and connected to the open ocean (i.e. ignoring subglacial lakes). We've had to implement such a mask elsewhere in MALI to deal with unintentionally applying ocean-driven melt rates at lakes.

@xylar xylar marked this pull request as draft September 30, 2025 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants