Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Why the `o3coefg` in the PhotosynthesisMod.F90 only used for rs_z rather than gs?

Haven

Haven Wang
New Member
Hi everyone,

I am doing some studies about ozone-vegetation feedback. And the ozone can damage the vegetation's stomatal conductance.

I have seen the source code in the `PhotosynthesisMod.F90` file. The ozone damage factor for stomatal conductance (`o3coefg`) only affects `rs_z` (resistance) rather than stomatal conductance (`gs`).

The source code in `PhotosynthesisMod.F90` is as follows:

rs_z(p,iv) = rs_z(p,iv) / o3coefg(p)

Does that mean the ozone damage can not affect the stomatal conductance in this version?

Thanks!

Best regards,
Haofan
 

slevis

Moderator
Staff member
@Haven, I have not looked at this section of code as much as you have, but I have a question that may help answer your question:

Am I wrong if I say that stomatal conductance equals the inverse of stomatal resistance?
 
Vote Upvote 0 Downvote

Haven

Haven Wang
New Member
Hi @slevis,

Many thanks for your quick response.

You are right!!!

However, you can find the file named `PhotosynthesisMod.F90` in `components/clm/src/biogeophy`.

Line 1715-1717:
gs = gs_mol(p,iv) / cf
rs_z(p,iv) = min(1._r8/gs, rsmax0)
rs_z(p,iv) = rs_z(p,iv) / o3coefg(p)

and Line 3367-3372:

gs = gs_mol_sun(p,iv) / cf
rs_z_sun(p,iv) = min(1._r8/gs, rsmax0)
rs_z_sun(p,iv) = rs_z_sun(p,iv) / o3coefg_sun(p)
gs = gs_mol_sha(p,iv) / cf
rs_z_sha(p,iv) = min(1._r8/gs, rsmax0)
rs_z_sha(p,iv) = rs_z_sha(p,iv) / o3coefg_sha(p)

This code indicates that the `o3coefg` only affects the stomatal resistance rather than stomatal conductance. Does that mean the ozone damage code cannot affect any other process (such as vegetation transpiration) via stomatal conductance?

If I try to change the code as follows:

gs_mol(p,iv) = gs_mol(p,iv) * o3coefg(p)
gs = gs_mol(p,iv) / cf
rs_z(p,iv) = min(1._r8/gs, rsmax0)

Does that make sense?

Best regards,
Haofan Wang
 
Vote Upvote 0 Downvote

slevis

Moderator
Staff member
From a very quick look it makes sense. If you want to be certain, you will need to test without and with your code change to see if the model behaves as you expect.
 
Vote Upvote 0 Downvote
Top