-
Notifications
You must be signed in to change notification settings - Fork 319
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
Adding IWUELN and VPD_2M diagnostic #1267
Conversation
Add heat stored in biomass (for trees and shrubs) to the surface energy balance calculation. Add a switch for it and turn it on by default for clm5_1 physics. It's turned off for clm4_5, clm5_0 physics and when FATES is turned on. Those cases are identical to before, answers only change when it's turned on. Papers describing BHS simulations: R. Meier, Davin, E., Swenson, S., Lawrence, D., and Schwaab, Jo. (2019). Biomass heat storage dampens diurnal temperature variations in forests. Environmental Research Letters. 14. 084026. 10.1088/1748-9326/ab2b4e. S.C. Swenson, Burns, S. P., and Lawrence, D. M. ( 2019). The impact of biomass heat storage on the canopy energy balance and atmospheric stability in the community land model, Journal of Advances in Modeling Earth Systems, 11, 83– 98. https://doi.org/10.1029/2018MS001476 Conflicts: src/biogeophys/CanopyFluxesMod.F90
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one change to make and one that you could do.
c = patch%column(p) | ||
g = patch%gridcell(p) | ||
|
||
if ( is_near_local_noon( grc%londeg(g), deltasec=3600 ) .and. fpsn(p)>0._r8 )then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could use isecsphr from clm_varcon here in place of the hardcoded 3600. But, that's not too big of a deal either way.
Just pushed a commit with the endrun added
…On Fri, Jan 29, 2021 at 4:43 PM Erik Kluzek ***@***.***> wrote:
***@***.**** requested changes on this pull request.
Just one change to make and one that you could do.
------------------------------
In src/biogeophys/CanopyFluxesMod.F90
<#1267 (comment)>:
> + do f = 1, fn
+ p = filterp(f)
+ c = patch%column(p)
+ g = patch%gridcell(p)
+
+ if ( is_near_local_noon( grc%londeg(g), deltasec=3600 ) .and. fpsn(p)>0._r8 )then
+ gs = 1.e-6_r8*(laisun(p)*gs_mol_sun(p,iv)+laisha(p)*gs_mol_sha(p,iv)) ! 1e-6 converts umolH2O->molH2O
+ if ( gs>0._r8 ) then
+ iwue_ln(p) = fpsn(p)/gs
+ else
+ iwue_ln(p) = spval
+ end if
+ else
+ iwue_ln(p) = spval
+ end if
+ end do
We should add an "else" statement with an endrun so that it aborts if
levcan is ever set to 1. We won't remember this detail when that happens,
so need a reminder. Since, the endrun would be outside the loop that should
be fine for efficiency.
- Add endrun if levcan /= 1
------------------------------
In src/biogeophys/CanopyFluxesMod.F90
<#1267 (comment)>:
> @@ -1548,6 +1557,26 @@ subroutine CanopyFluxes(bounds, num_exposedvegp, filter_exposedvegp,
call PhotosynthesisTotal(fn, filterp, &
atm2lnd_inst, canopystate_inst, photosyns_inst)
+ ! Calculate water use efficiency
+ ! does not support multi-layer canopy
+ if (nlevcan == 1) then
+ do f = 1, fn
+ p = filterp(f)
+ c = patch%column(p)
+ g = patch%gridcell(p)
+
+ if ( is_near_local_noon( grc%londeg(g), deltasec=3600 ) .and. fpsn(p)>0._r8 )then
You could use isecsphr from clm_varcon here in place of the hardcoded
3600. But, that's not too big of a deal either way.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1267 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADNHR5SKGXPO5LZE4ETW3JTS4NB3DANCNFSM4WZVFRMA>
.
|
Bring in Daniel's branch with the WUE diagnostic to the PPE branch. Also a VPD 2m diagnostic. This is PR ESCOMP#1267.
I merged this to the PPE branch and did full testing and many restart tests are failing mostly due to VPD2M, but some IWUELN. So I'm looking into this. |
Refactor ozone code, and misc. small fixes (1) Restructure ozone code (ESCOMP#1276) in preparation for new ozone parameterization. (2) Fix non-standard hexadecimal constant (ESCOMP#1271), needed for gfortran 10 (3) Remove support for CISM1 (ESCOMP#1226) (4) Move final WaterGridcellBalance call out to clm_driver (resolves ESCOMP#1286) (5) Only add WA and QCHARGE history fields if use_aquifer_layer is true (resolves ESCOMP#1281) (6) Consolidate conditional structures for VIC initialization (resolves ESCOMP#1287) Conflicts: src/biogeophys/CanopyFluxesMod.F90
I'm going to bring this one in with #1164. |
Implemented new nuopc/cmeps single column functionality. In config/cesm/config_files.xml - single point domains are only used for mct/cpl7. For cmeps single point meshes are now generated on the fly and component domains files are no longer needed. env_run.xml variables PTS_LAT, PTS_LON and PTS_DOMAINFILE are used to determine if there is a single point or single column run. If PTS_LAT and PTS_LON are not -999 and PTS_DOMAINFILE is UNSET, then you have a single point run and the exact values of PTS_LAT and PTS_LON are used. If PTS_LAT and PTS_LON are not -999 and PTS_DOMAINFILE is not UNSET, then then the cmeps driver will recognize the nearest neighbor values of PTS_LAT and PTS_LON in PTS_DOMAINFILE as the single column lat and lon to use.
Closing this as there are conflicts and this branch was incorporated into #1164 which is coming in the next tag for ctsm5.1.dev054. |
Description of changes
I have added two new diagnostic fields available for history outuput.
IWUELN: the intrinsic water use efficiency at local noon (umolCO2/molH2O)
VPD_2M: vapor pressure deficit at 2m reference height (pascals)
Specific notes
Both are patch-level variables. I have added VPD_2M for users who want to calculate ecosystem scale inherent water use efficiency relevant for flux tower point simulations.
CTSM Issues Fixed (include github issue #):
Fixes #1245
Are answers expected to change (and if so in what way)?
Any User Interface Changes (namelist or namelist defaults changes)?
Testing performed, if any: