ESCOMP / ESCOMP/atmospheric_physics

Beljaars drag uses provisional winds but does not write back to model state

Open
#413 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Fortran
Stars
12
Forks
38
Avg merge
11h 16m
Merged PRs (30d)
5

Description

In the review of #396, @cacraigucar originally wrote:

> Just pointing out this comment section. Typically we wouldn't allow something like this in the committed mainstream code. Should we perhaps open an issue to capture this? Since the CESM3 release is upcoming, "FIXME" comments should probably not be in the code base (even though the original code had it). Thoughts?

In reference to this code in `beljaars_drag_interstitials::beljaars_add_updated_residual_stress_run`, which may or may not need future work (it is a science question that is answer-changing):
```fortran
do i = 1, ncol
! Add vertically-integrated Beljaars drag to residual stress
! these are calculated using provisionally-updated winds.
!
! A previous FIXME (predating CAM6) in beljaars_drag notes:
! "uses 'state' u and v. Should updated u and v's be used?"
!
! It may be possible to write back these provisionally updated taubljx/y
! to the model state instead of a local variable (and pbuf in former CAM)
! but it would introduce answer changes, so moving that FIXME to here for now.
taubljx(i) = 0._kind_phys
taubljy(i) = 0._kind_phys
do k = 1, pver
taubljx(i) = taubljx(i) + (1._kind_phys/gravit)*dragblj(i, k)*u1(i, k)*p%del(i, k)
taubljy(i) = taubljy(i) + (1._kind_phys/gravit)*dragblj(i, k)*v1(i, k)*p%del(i, k)
end do
end do

tauresx(:ncol) = tauresx(:ncol) + taubljx(:ncol)
tauresy(:ncol) = tauresy(:ncol) + taubljy(:ncol)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.