ESCOMP / ESCOMP/CTSM

FATES Accelerated Decomposition Issues

Open
#1,879 9 comments 0 reactions 0 assignees View on GitHub
bug FATES API update science
Dominant language
Fortran
Stars
352
Forks
361
Avg merge
2d 21h
Merged PRs (30d)
7

Description

### Brief summary of bug

At the very least, some spin-up flags are not being broadcast when FATES is on, and it is not clear if flags related to AD are being set and applied correctly when FATES is active. At a first order, I think we need to look closely at a FATES AD spinup and make sure that the correct rate-constants are being amplified during this phase, and returned to normal when starting the follow up phase.

### General bug information

No specific version has been identified, but I don't think the code has changed since we first identified this issue and [ctsm5.1.dev112](https://github.com/ESCOMP/CTSM/releases/tag/ctsm5.1.dev112) . This issue is the result of investigation by @olyson and I earlier this year. It is possible that there is no issue, as FATES does bypass some of the soil biogeochemical code, but not all. At the least, we need to verify that even if AD flags are not being set, they don't need to be set.

### Details of bug

Appoligies in advance for how cloudy this report is, I'm reading throug old emails to reconstruct my understanding.

@olyson and I tried several ways of building the model and noticed an issue related to spinup_state and nitrogen supplementation, although things are still murkey. It appears that if we didn't actively set suplnitro=ALL, the spinup_state was not being set to 2 in AD model. It was odd, and it should be irrelevant anyway, as FATES is carbon only at the moment and shouldn't even work outside carbon only mode, which implies suplnitro=ALL.

@olyson also felt that even though we were able to get AD FATES to generate spinup_state = 2, he was suspicious that it was not actually setting amplified rate constatns during spinup.

@olyson did identify that when fates is active, we are not broadcasting flags, for instance:Although, for instance, suplnitro is not used when FATES is on anyway..

```
if (use_cn) then
call mpi_bcast (suplnitro, len(suplnitro), MPI_CHARACTER, 0, mpicom, ier)
call mpi_bcast (nfix_timeconst, 1, MPI_REAL8, 0, mpicom, ier)
call mpi_bcast (spinup_state, 1, MPI_INTEGER, 0, mpicom, ier)
call mpi_bcast (override_bgc_restart_mismatch_dump, 1, MPI_LOGICAL, 0, mpicom, ier)
end if
```

Here is a branch we had been working with to resolve some of these issues:

https://github.com/rgknox/ctsm/tree/update_ADfates_histlist

Definition of Done:

- [ ] Bring in ctsm5.1.dev134 where FATES uses the standard BGC calling sequence.
- [ ] Add a test that exercises running FATES in AD decomp mode.
- [ ] Check that running FATES in AD decomp mode works as expected.

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.