ESCOMP / ESCOMP/CTSM

mksurfdata_esmf: Some surface dataset parameters should be mapped with weighting factors

Open
#1,734 5 comments 0 reactions 0 assignees View on GitHub
bug science
Dominant language
Fortran
Stars
352
Forks
361
Avg merge
6d 6h
Merged PRs (30d)
8

Description

### Brief summary of bug

Some surface dataset parameters only apply to certain landunits – or more finer-grained portions of the land surface. When these parameters are remapped from raw datasets in mksurfdata, a more accurate remapping would be to include a weighting fraction for each raw dataset grid cell that is the fraction of the grid cell over which that parameter applies.

This issue emerged from discussions about #1716 last week with @olyson @lawrencepj1 @slevisconsulting and others... I think one of them was the one to point this out, though I forget who initially raised this point. This issue pre-existed in the old `mksurfdata_map` and has been carried over to the new `mksurfdata_esmf`.

### General bug information

**CTSM version you are using:** master

**Does this bug cause significantly incorrect results in the model's science?** Yes, potentially, for some parameters

**Configurations affected:** Potentially all

### Details of bug

An example of a field where I think this weighting should be done is lake depth: Consider a destination (model) grid cell that is made up of two source (raw dataset) grid cells, each with equal area of overlap. One raw dataset grid cell has lake depth of 10 m and pctlake of 1%; the other has lake depth of 20 m and pctlake of 100%. The current remapping would result in a destination value of 15 m. But in reality, the second source cell should dominate the result, leading to a weighted average lake depth of almost 20 m.

@lawrencepj1 pointed out that some crop-related parameters have a similar issue; I think he mentioned fertilizer application as one example. In this case, the weighting should be done by the given crop's area.

I haven't looked through the list of surface dataset parameters to identify which ones should be changed and how. It's possible that this also impacts some data read from streams; I haven't looked into this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.