Questions About Replacing PFT Data in CLM Surface Dataset

lucia

luyaohuang
Member
Dear CLM/CTSM Community,
I am simulating the Tibetan Plateau. I used tools to generate a surface dataset for the Tibetan Plateau, and I have the PFT (Plant Functional Type) fraction data for this region. I want to replace the vegetation type fractions in the surface dataset. During the replacement process, I have ensured that:
PCT_CROP + PCT_NATVEG + PCT_LAKE + PCT_WETLAND + PCT_GLACIER + PCT_URBAN = 100
and that the sum of all vegetation types, PCT_NAT_PFT, is also 100. However, I am still encountering errors. The error messages are as follows:
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 73408.0000000000
NaN NaN NaN
NaN
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 78720.0000000000
NaN NaN NaN
NaN
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 53384.0000000000
NaN NaN NaN
NaN
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 55516.0000000000
NaN NaN NaN
NaN
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 52086.0000000000
NaN NaN NaN
NaN
WARNING: Wet_Bulb algorithm failed to converge. Setting to T: WB, P, T, RH, Q,
VaporP: NaN 40334.0000000000
NaN NaN NaN
NaN
I do not understand why these errors are occurring. When I use the original surface dataset, the simulation runs normally. However, as soon as I change the PFT fractions, these errors appear. I am unsure which additional variables need to be adjusted, besides the ones mentioned above, in order to ensure that the model runs correctly after modifying the PFT fractions.
Any guidance or suggestions would be greatly appreciated. I would be very grateful to anyone who could provide advice or point me to relevant resources.
Thank you very much for your time and help.
 
Solution
Thank you, Keith. I realized the issue was caused by my oversight: the sum of all PFTs wasn’t exactly 100% due to some floating-point precision errors. The problem has now been resolved.

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I doubt this would cause the problem you are seeing, but does PCT_CFT add up to 100% everywhere?

Some of the inputs to the Wet_Bulb subroutine seem to be NaNs, e.g., the "T" which is the 2-m temperature. So I think the problem lies outside of the Wet_Bulb subroutine.
Can you run in DEBUG mode? That might point you to a line or lines of code where the problem really is.
 
Vote Upvote 0 Downvote

oleson

Keith Oleson
CSEG and Liaisons
Staff member
It sounds like you are running a regional simulation? If you are using non-standard atmospheric forcing, make sure you have valid atmospheric data for each active land gridcell.
 
Vote Upvote 0 Downvote

lucia

luyaohuang
Member
Thank you, Keith. I realized the issue was caused by my oversight: the sum of all PFTs wasn’t exactly 100% due to some floating-point precision errors. The problem has now been resolved.
 
Vote Upvote 0 Downvote
Solution

chenyihui

chen
New Member
Hi lucia,

I saw your post about replacing PFT data in the CLM surface dataset for the Tibetan Plateau. I'm currently working on a similar task – replacing the default vegetation data with my own PFT dataset in CLM5.0.

I'm not very familiar with the workflow and would really appreciate your guidance. May I ask a few questions?
  1. How did you map your vegetation types to CLM's PFT indices? Is there a reference table you used?
  2. What tools or methods did you use to modify the surface dataset? Did you directly modify the netCDF variables (like PCT_PFT) using Python, or did you use CLM's built-in tools (like mksurfdata_map)?
  3. Besides PCT_PFT, what other variables did you need to modify? I noticed you mentioned making sure PCT_CROP, PCT_NATVEG, etc. sum to 100. Are there any other things I need to pay attention to?
  4. Would you be willing to share any references that helped you with this process?
Thank you very much for your time and help!
 
Vote Upvote 0 Downvote

Cong Xue

New Member
Hi lucia,

I saw your post about replacing PFT data in the CLM surface dataset for the Tibetan Plateau. I'm currently working on a similar task – replacing the default vegetation data with my own PFT dataset in CLM5.0.

I'm not very familiar with the workflow and would really appreciate your guidance. May I ask a few questions?
  1. How did you map your vegetation types to CLM's PFT indices? Is there a reference table you used?
  2. What tools or methods did you use to modify the surface dataset? Did you directly modify the netCDF variables (like PCT_PFT) using Python, or did you use CLM's built-in tools (like mksurfdata_map)?
  3. Besides PCT_PFT, what other variables did you need to modify? I noticed you mentioned making sure PCT_CROP, PCT_NATVEG, etc. sum to 100. Are there any other things I need to pay attention to?
  4. Would you be willing to share any references that helped you with this process?
Thank you very much for your time and help!
hi, I also have the same job. Could we exchange contact information?
 
Vote Upvote 0 Downvote
Back
Top