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

Revisit Noah-MP phenology computations - SAI/LAI interpolation #479

Open
wknoben opened this issue Jul 8, 2021 · 2 comments
Open

Revisit Noah-MP phenology computations - SAI/LAI interpolation #479

wknoben opened this issue Jul 8, 2021 · 2 comments

Comments

@wknoben
Copy link
Collaborator

wknoben commented Jul 8, 2021

In particular the current checks if either SAI or LAI are < 0.05 can lead to odd-looking behaviour. If this is the case, these values are set to 0 (to avoid computational issues) which can lead to strange jumps in SAI/LAI/VAI values.

image

https://github.com/NCAR/summa/blob/372c3fbeb3825e3b3d635461a8e552f9f0895aec/build/source/noah-mp/module_sf_noahmplsm.F#L571
https://github.com/NCAR/summa/blob/372c3fbeb3825e3b3d635461a8e552f9f0895aec/build/source/noah-mp/module_sf_noahmplsm.F#L572

@wknoben
Copy link
Collaborator Author

wknoben commented Aug 3, 2021

Adding to the above, the check that sets LAI to 0 if SAI is 0 (no leaves if no stem) conceptually makes sense but leads to odd situations when combined with the check that sets SAI to 0 when SAI < 0.05. See attached figure where vegetation cover drops to zero for a few days, as a consequence of SAI being ~0.04 during this period.

image

This has rather odd consequences for variables scalarTotalET and scalarNetRadiation which are incorrectly set to zero during the "no vegetation" period (see figure).
debug_zero_lai_radiation_terms

This is incorrect because scalarGroundEvaporation, and scalarLWNetGround and scalarGroundAbsorbedSolar respectively, are not zero and this should be reflected in the total and net variables:

https://github.com/NCAR/summa/blob/372c3fbeb3825e3b3d635461a8e552f9f0895aec/build/source/engine/vegNrgFlux.f90#L1441 https://github.com/NCAR/summa/blob/372c3fbeb3825e3b3d635461a8e552f9f0895aec/build/source/engine/vegNrgFlux.f90#L1442

Print statements immediately after these lines in vegNrgFlux suggest that the values are calculated correctly during regular runs and that scalarTotalET and scalarNetRadiation are forced to 0 somewhere outside the vegNrgFlux routine. So far I've not been able to debug this further.

2013  3  3  0  0
[...]
 scalarGroundEvaporation   =   -1.0814032319471842E-005
 scalarCanopyEvaporation   =   -2.7013861726593477E-006
 scalarCanopyTranspiration =   -6.2494890050882896E-009
 scalarTotalET             =   -1.3521667981136277E-005
  
 scalarGroundEvaporation   =   -1.2802567131006620E-005
 scalarCanopyEvaporation   =    0.0000000000000000     
 scalarCanopyTranspiration =    0.0000000000000000     
 scalarTotalET             =   -1.2802567131006620E-005
  
 scalarGroundEvaporation   =   -1.0284009929032995E-005
 scalarCanopyEvaporation   =    0.0000000000000000     
 scalarCanopyTranspiration =    0.0000000000000000     
 scalarTotalET             =   -1.0284009929032995E-005

Speculation

Currently speculating that this issue somehow relates to the computeVegFlux variable, which is set to False in vegPhenlgy if VAI < 0.05:
https://github.com/NCAR/summa/blob/372c3fbeb3825e3b3d635461a8e552f9f0895aec/build/source/engine/vegPhenlgy.f90#L184

computeVegFlux is used multiple times throughout the code base to skip certain parts of the routine if no vegetation is exposed to the atmosphere. Possibly a consequence of skipping some of these routines is that the scalarNetRadiation and scalarTotalET variables are not correctly written into the output files. Unsure if this line of reasoning is correct.

Possible workaround

Disabling the PHENOLOGY lines that force SAI or LAI to 0 if below 0.05 seems to provide a temporary workaround. Extensive testing currently incomplete:

debug_zero_lai_radiation_terms_workaround

@wknoben
Copy link
Collaborator Author

wknoben commented Aug 13, 2021

Likely related to #327

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant