tcraig
Member
To couple CTSM with WRF, I need to compute the gridcell CTSM momentum roughness length. I have looked thru 2.5. Momentum, Sensible Heat, and Latent Heat Fluxes — ctsm CTSM master documentation as well as the code. From what I can find, some portion of those variables can be found in the frictionvel_type in src/biogeophys/FrictionVelocityMod.F90,
real(r8), pointer, public :: z0mv_patch (:) ! patch roughness length over vegetation, momentum [m]
real(r8), pointer, public :: z0mg_col (:) ! col roughness length over ground, momentum [m]
I know I can aggregate those variables to the gridcell level using the standard CTSM interfaces. My questions are
- Is z0mv_patch just the value over vegetation and z0mg_col just the value over ground? And if so, how do I combine them and are there any other terms or surface types that I need to take into account when aggregating to the gridcell?
- If I do have to combine multiple terms, is that a simple sum, do I need to sum the logs or exp of these values? Do I need to weight them some special way?
- When I aggregate patches or columns to the gridcell level, will the standard CTSM tools (i.e. p2g) work. Again, I'm worried that I may need to aggregate the log or exp of the values and then compute the exp or log of the value to get the proper weighted average over the gridcell.
I'm approaching this as a software engineer and this is not my area of expertise. Thanks!
real(r8), pointer, public :: z0mv_patch (:) ! patch roughness length over vegetation, momentum [m]
real(r8), pointer, public :: z0mg_col (:) ! col roughness length over ground, momentum [m]
I know I can aggregate those variables to the gridcell level using the standard CTSM interfaces. My questions are
- Is z0mv_patch just the value over vegetation and z0mg_col just the value over ground? And if so, how do I combine them and are there any other terms or surface types that I need to take into account when aggregating to the gridcell?
- If I do have to combine multiple terms, is that a simple sum, do I need to sum the logs or exp of these values? Do I need to weight them some special way?
- When I aggregate patches or columns to the gridcell level, will the standard CTSM tools (i.e. p2g) work. Again, I'm worried that I may need to aggregate the log or exp of the values and then compute the exp or log of the value to get the proper weighted average over the gridcell.
I'm approaching this as a software engineer and this is not my area of expertise. Thanks!