Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to overwrite runoff with prescribed runoff for certain regions #928

Closed
ekluzek opened this issue Feb 18, 2020 · 5 comments
Closed
Assignees
Labels
closed: wontfix We won't fix this issue, because it would be too difficult and/or isn't important enough to fix tag: enh - new science enhancement that brings in new science capabilities type: enhancement new capability or improved behavior of existing capability

Comments

@ekluzek
Copy link
Contributor

ekluzek commented Feb 18, 2020

This is something needed for the TU Delft project. I'm putting it in here partially to see if there might be some interest in it long term.

This is a note from @billsacks on a discussion we had with Miren V. on how to do this.

Let's keep this relatively simple and say: Overwrite runoff over all of Greenland (overwrite both vegetated and glacier columns, so we can just work with gridcell-level values); overwrite the full liquid and solid runoff (i.e., overwrite all components of the runoff so we end up using the complete runoff from the prescribed values over this domain – including, for example, rain that runs off from vegetated surfaces).
We'll initially produce cpl hist files from about 20 years of run that could be cycled through. We suggest writing 3-hourly averages from the coupler. Then CLM could read this in as a stream and overwrite the lnd → cpl fields just over the Greenland domain, as determined by the glacier area mask.

The namelist control for this would be to turn it on or off, and then also which glacier region(s) to operate over. For present day there are a total of four regions: inland Greenland, outer Greenland and possible ice shelves for Greenland, Antarctica, and everything else.

For the Delft project this needs to go on the release branch.

@ekluzek ekluzek added type: enhancement new capability or improved behavior of existing capability branch tag: release Changes go on release branch as well as master tag: enh - new science enhancement that brings in new science capabilities tag: next this issue should get some attention in the next week or two labels Feb 18, 2020
@ekluzek ekluzek self-assigned this Feb 18, 2020
@billsacks billsacks removed the tag: next this issue should get some attention in the next week or two label Feb 20, 2020
@ekluzek
Copy link
Contributor Author

ekluzek commented Dec 4, 2020

This does need to be done in the release version. Here's some notes I've found on this from email:

A paper on the simulation to compare to...

https://agupubs.onlinelibrary.wiley.com/doi/epdf/10.1029/2019MS002031

I think this corresponds to this simulation with Ice Sheet on:

b.e21.B1850G.f09_g17_gl4.CMIP6-piControl-withism.001

see

https://csegweb.cgd.ucar.edu/experiments/public/

Here's a note from Bill:

The next priority will be one-way coupling. Within this, the priority is the overwriting of CLM's runoff fluxes. It's important that this be done in the CESM2.1 code base. Getting this into CTSM master (main long-term development branch) is not a high priority. So Erik will work on getting this CLM runoff-overwriting implemented (possibly in a quick and dirty way if it will save significant time) in the CESM2.1 code base. We'll check in at that point to talk about the plan for overwriting CISM's runoff fluxes (note that, since we're using 2.1, a NUOPC-based data model is not an option, so anything we do for that is likely to be relatively short-lived).

@ekluzek
Copy link
Contributor Author

ekluzek commented Dec 6, 2020

Runoff sent to the coupler includes lnd2atmType terms:

surface:
qflx_rofliq_qsur_grc + qflx_rofliq_h2osfc_grc
subsurface:
qflx_rofliq_qsub_grc + qflx_rofliq_drain_perched_grc
ice:
qflx_rofice_grc

History terms: QRUNOFF_TO_COUPLER(qflx_rofliq_grc), QRUNOFF_ICE_TO_COUPLER(qflx_rofice_grc)
qflx_rofliq_grc subtracts out qflx_liq_dynbal_grc (transient flux)

There's a glacier, lake, wetland residual term as well, and the transient land change flux

qflx_rofliq_grc comes from qflx_roflig_col which comes from qflx_runoff

qflx_runoff: is in HydrologyDrainageMod.F90
qflx_runoff(c) = qflx_drain(c) + qflx_surf(c) + qflx_h2osfc_surf(c) + qflx_qrgwl(c) + qflx_drain_perched(c)
In history those terms are: QDRAI (qflx_drain), QOVER (qflx_surf), QH2OSFC(qflx_h2osfc_surf), QRGWL(qflx_qrgwl), QDRAI_PERCH(qflx_drain_perched)

@ekluzek
Copy link
Contributor Author

ekluzek commented Dec 12, 2020

Looks like this should be a modification of SurfaceRunoff in SoilHydrologyMod.F90. So the namelist items to control the stream files would be in SoilHydReadNML which uses the namelist: soilhydrology_inparm. The streams handling could be additional subroutines part of SoilHydrologyMod.F90.

This work is started on my fork on the prescribed_glc_runoff branch.

@ekluzek
Copy link
Contributor Author

ekluzek commented Dec 23, 2020

Miren V. pointed me to the following in an email:

I recently contacted Leo van Kampenhout as he prescribed Greenland freshwater fluxes for a paper with CESM1.

https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2015GL064738

He shared a couple of scripts he used. As a first guess, he thinks it could be done similarly for CESM2.

@ekluzek ekluzek added closed: wontfix We won't fix this issue, because it would be too difficult and/or isn't important enough to fix and removed branch tag: release Changes go on release branch as well as master labels Feb 3, 2022
@ekluzek
Copy link
Contributor Author

ekluzek commented Feb 3, 2022

This work is started and on my prescribed_glc_runoff branch. So

https://github.com/ekluzek/CTSM/tree/prescribed_glc_runoff

@ekluzek ekluzek closed this as completed Feb 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed: wontfix We won't fix this issue, because it would be too difficult and/or isn't important enough to fix tag: enh - new science enhancement that brings in new science capabilities type: enhancement new capability or improved behavior of existing capability
Projects
No open projects
Erik's Important Tasks
  
Awaiting triage
Development

No branches or pull requests

2 participants