ESCOMP / CISM

Community Ice Sheet Model
GNU Lesser General Public License v3.0
6 stars 11 forks source link

Added warm ocean option for sub-shelf basal melting #19

Closed whlipscomb closed 6 years ago

whlipscomb commented 6 years ago

This PR supports a variation in depth-dependent sub-shelf basal melting, to be applied in regions where the ocean is warm and there is melting through most or all of the column. It is implemented by loading an integer mask called warm_ocean_mask at input. Where warm_ocean_mask = 1, the standard sub-shelf melting profile is replaced with an alternate profile:

Michele Petrini has tested these changes on a branch and found them to work as desired. For the PR, I rebased the changes (included in a single commit) onto escomp/master.

whlipscomb commented 6 years ago

@billsacks, This PR includes code that Michele Petrini at Delft is already using for simulations. It would be good to bring this code to escomp/master so that the Delft folks are working with the latest code. The changes do not need to go on the escomp/release-cism2.1 branch.

billsacks commented 6 years ago

Okay. For inclusion in CESM, it looks like I'll need to define two new config parameters, both with default values of 0 in the config file; that's easy enough.

Before merging this, I'd like to confirm what this adds in terms of requirements on the input file: It looks to me like, if you use the BMLT_FLOAT_DEPTH option, you now need to have a field called 'warm_ocean_mask' on your input file. Is that true? If so, should that be documented somewhere? And should it be checked somewhere (aborting if warm_ocean_mask is absent when using BMLT_FLOAT_DEPTH)? I'm not sure what the standard practice is for things like this in CISM, so I'll defer to you here.

whlipscomb commented 6 years ago

I don't think warm_ocean_mask needs to be in the input file for the BMLT_FLOAT_DEPTH option. If it's in the input file, it will be loaded and used to initialize the field basal_melt%warm_ocean_mask. If it's not in the input file, then basal_melt%warm_ocean_mask is initialized with a value of 0, and the BMLT_FLOAT_DEPTH option will be applied everywhere without a warm ocean profile. More generally, all CISM fields have default settings, so the model should in principle run cleanly without loading any fields from the input file.

This extension of the BMLT_FLOAT_DEPTH option could be a bit confusing, but the Delft folks have found it to give good results for Greenland, and the warm_ocean_mask field seemed the easiest way of implementing what they needed.

billsacks commented 6 years ago

Okay, thanks.

whlipscomb commented 6 years ago

@billsacks, thanks for taking care of this, and hope you enjoy your vacation.