Evergreen and deciduous forest fractions: inconsistencies? – in #9: CCLM

in #9: CCLM

Cookies disclaimer

Our site saves small pieces of text information (cookies) on your
device in order to verify your login. These cookies are essential
to provide access to resources on this website and it will not
work properly without.
Learn more

<p>
It seems that the evergreen and deciduous forest fractions,
<code>
for_e
</code>
and
<code>
for_d
</code>
, are used once with respect to the total area and once relative to the plant cover fraction. In
<span class="caps">
CCLM
</span>
-5.0_clm9
<code>
src_radiation.f90
</code>
line 2352,
<br/>
<pre><code>zalso(i,j)= zsnow*zsnow_alb + &
(1._ireals-zsnow)* &
( zvege*(for_e(i,j)*0.10_ireals + &
for_d(i,j)*0.15_ireals + &
(1._ireals-for_e(i,j)-for_d(i,j))*0.20_ireals)+ &
(1._ireals-zvege)*zalso(i,j))
</code></pre>
<br/>
<code>
zsnow
</code>
is the snow cover fraction,
<code>
zvege
</code>
is the plant cover fraction. Thus, the not-snow-covered fraction of the surface is divided into plant-covered and non-plant-covered parts. The plant-covered fraction, in turn, is divided into evergreen fraction (albedo 0.1), deciduous fraction (0.15) and something else (albedo 0.2). In summary, this would indicate that
<code>
for_e
</code>
and
<code>
for_d
</code>
are relative to the plant cover fraction.
</p>
<p>
However, some lines above (2327), we have
<br/>
<pre><code>zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</code></pre>
<br/>
Here, the plant cover fraction is not considered, thus,
<code>
for_e
</code>
and
<code>
for_d
</code>
are relative to the total grid cell. This seems contradicting to me. Do you agree? How exactly is it defined?
</p>
<p>
Cheers
<br/>
Sebastian
</p>

<p>
It seems that the evergreen and deciduous forest fractions,
<code>
for_e
</code>
and
<code>
for_d
</code>
, are used once with respect to the total area and once relative to the plant cover fraction. In
<span class="caps">
CCLM
</span>
-5.0_clm9
<code>
src_radiation.f90
</code>
line 2352,
<br/>
<pre><code>zalso(i,j)= zsnow*zsnow_alb + &
(1._ireals-zsnow)* &
( zvege*(for_e(i,j)*0.10_ireals + &
for_d(i,j)*0.15_ireals + &
(1._ireals-for_e(i,j)-for_d(i,j))*0.20_ireals)+ &
(1._ireals-zvege)*zalso(i,j))
</code></pre>
<br/>
<code>
zsnow
</code>
is the snow cover fraction,
<code>
zvege
</code>
is the plant cover fraction. Thus, the not-snow-covered fraction of the surface is divided into plant-covered and non-plant-covered parts. The plant-covered fraction, in turn, is divided into evergreen fraction (albedo 0.1), deciduous fraction (0.15) and something else (albedo 0.2). In summary, this would indicate that
<code>
for_e
</code>
and
<code>
for_d
</code>
are relative to the plant cover fraction.
</p>
<p>
However, some lines above (2327), we have
<br/>
<pre><code>zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</code></pre>
<br/>
Here, the plant cover fraction is not considered, thus,
<code>
for_e
</code>
and
<code>
for_d
</code>
are relative to the total grid cell. This seems contradicting to me. Do you agree? How exactly is it defined?
</p>
<p>
Cheers
<br/>
Sebastian
</p>

Evergreen and deciduous forest fractions: inconsistencies?

It seems that the evergreen and deciduous forest fractions,
for_e
and
for_d
, are used once with respect to the total area and once relative to the plant cover fraction. In
CCLM
-5.0_clm9
src_radiation.f90
line 2352,

zsnow
is the snow cover fraction,
zvege
is the plant cover fraction. Thus, the not-snow-covered fraction of the surface is divided into plant-covered and non-plant-covered parts. The plant-covered fraction, in turn, is divided into evergreen fraction (albedo 0.1), deciduous fraction (0.15) and something else (albedo 0.2). In summary, this would indicate that
for_e
and
for_d
are relative to the plant cover fraction.

Here, the plant cover fraction is not considered, thus,
for_e
and
for_d
are relative to the total grid cell. This seems contradicting to me. Do you agree? How exactly is it defined?

<p>
In the
<span class="caps">
EXTPAR
</span>
v4.0 documentation on page 19 it reads:
<br/>
<em>
Values that depend on the plant cover, such as
<span class="caps">
PLCOV
</span>
MX,
<span class="caps">
PLCOV
</span>
MN,
<span class="caps">
LAI
</span>
MN,
<span class="caps">
LAI
</span>
MX, RS
<span class="caps">
MIN
</span>
,
<span class="caps">
FOR
</span>
E,
<span class="caps">
FOR
</span>
D,
<span class="caps">
ROOTDP
</span>
and z0, are weighted with the plant cover maximum in addition to the pixel area.
</em>
<br/>
This would mean that
<span class="caps">
FOR
</span>
_D and
<span class="caps">
FOR
</span>
_E are relative to plant cover fraction. In that case the vegetation part of the cell is
veg_part = for_e+for_d+veg_low
<br/>
where veg_low stands for low vegetation which has a snow free albedo of 0.20 in your first equation
<br/>
For the snow albedo the equation would be then
<br/>
<pre>
zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)-veg_low(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
+ csalb_snow_veg_low * veg_low(i,j)
</pre>
<br/>
In
<span class="caps">
CCLM
</span>
it is assumed that low vegetation has the same snow albedo as bare soil. Therefore zsalb_snow=csalb_snow_veg_low. With this assumption you get
</p>
<p>
<pre>
zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</pre>
<br/>
which is your second equation.
</p>
<p>
Maybe one should define the long names in the output files more precisely:
<br/>
In the
<span class="caps">
EXTPAR
</span>
output files
<br/>
<em>
long_name = “Fraction of deciduous forest”
</em>
<br/>
should be better defined as e.g.
<br/>
<em>
long_name = “Fraction of deciduous forest of maximum plant cover”
</em>
<br/>
and in the
<span class="caps">
CCLM
</span>
output files
<br/>
<em>
long_name = “ground fraction covered by deciduous forest”
</em>
<br/>
should be better defined as e.g.
<br/>
<em>
long_name = “ground fraction covered by deciduous forest weighted by maximum plant cover”
</em>
</p>

<p>
In the
<span class="caps">
EXTPAR
</span>
v4.0 documentation on page 19 it reads:
<br/>
<em>
Values that depend on the plant cover, such as
<span class="caps">
PLCOV
</span>
MX,
<span class="caps">
PLCOV
</span>
MN,
<span class="caps">
LAI
</span>
MN,
<span class="caps">
LAI
</span>
MX, RS
<span class="caps">
MIN
</span>
,
<span class="caps">
FOR
</span>
E,
<span class="caps">
FOR
</span>
D,
<span class="caps">
ROOTDP
</span>
and z0, are weighted with the plant cover maximum in addition to the pixel area.
</em>
<br/>
This would mean that
<span class="caps">
FOR
</span>
_D and
<span class="caps">
FOR
</span>
_E are relative to plant cover fraction. In that case the vegetation part of the cell is
veg_part = for_e+for_d+veg_low
<br/>
where veg_low stands for low vegetation which has a snow free albedo of 0.20 in your first equation
<br/>
For the snow albedo the equation would be then
<br/>
<pre>
zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)-veg_low(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
+ csalb_snow_veg_low * veg_low(i,j)
</pre>
<br/>
In
<span class="caps">
CCLM
</span>
it is assumed that low vegetation has the same snow albedo as bare soil. Therefore zsalb_snow=csalb_snow_veg_low. With this assumption you get
</p>
<p>
<pre>
zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</pre>
<br/>
which is your second equation.
</p>
<p>
Maybe one should define the long names in the output files more precisely:
<br/>
In the
<span class="caps">
EXTPAR
</span>
output files
<br/>
<em>
long_name = “Fraction of deciduous forest”
</em>
<br/>
should be better defined as e.g.
<br/>
<em>
long_name = “Fraction of deciduous forest of maximum plant cover”
</em>
<br/>
and in the
<span class="caps">
CCLM
</span>
output files
<br/>
<em>
long_name = “ground fraction covered by deciduous forest”
</em>
<br/>
should be better defined as e.g.
<br/>
<em>
long_name = “ground fraction covered by deciduous forest weighted by maximum plant cover”
</em>
</p>

In the
EXTPAR
v4.0 documentation on page 19 it reads:
Values that depend on the plant cover, such as
PLCOV
MX,
PLCOV
MN,
LAI
MN,
LAI
MX, RS
MIN
,
FOR
E,
FOR
D,
ROOTDP
and z0, are weighted with the plant cover maximum in addition to the pixel area.
This would mean that
FOR
_D and
FOR
_E are relative to plant cover fraction. In that case the vegetation part of the cell is
veg_part = for_e+for_d+veg_low
where veg_low stands for low vegetation which has a snow free albedo of 0.20 in your first equation
For the snow albedo the equation would be then

Maybe one should define the long names in the output files more precisely:
In the
EXTPAR
output files
long_name = “Fraction of deciduous forest”
should be better defined as e.g.
long_name = “Fraction of deciduous forest of maximum plant cover”
and in the
CCLM
output files
long_name = “ground fraction covered by deciduous forest”
should be better defined as e.g.
long_name = “ground fraction covered by deciduous forest weighted by maximum plant cover”

<p>
(Sorry, pressed submit too soon, edited the answer afterwards)
</p>
<p>
Dear Burkhardt
</p>
<p>
Thanks a lot for your answer. To be honest, I cannot follow your explanation completely. If you say
</p>
<p>
> veg_part = for_e+for_d+veg_low
</p>
<p>
then the long_name “ground fraction covered by deciduous forest” seems to be more appropriate. It actually is not relative to the vegetation fraction but to the total surface area. As an example, for a vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1. This is also consistent with the equation
<br/>
<pre><code>zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</code></pre>
</p>
<p>
However, I still think it is
<span class="caps">
NOT
</span>
consistent with the other equation. Ignoring snow cover for simplicity and multiplying the brackets gives
<br/>
<pre><code>zalso(i,j)= zvege*for_e(i,j) *0.10_ireals + &
zvege*for_d(i,j) *0.15_ireals + &
zvege*(1._ireals-for_e(i,j)-for_d(i,j))*0.20_ireals + &
(1._ireals-zvege) *zalso(i,j)
</code></pre>
<br/>
Here, all vegetation type fractions are multiplied with
<code>
zvege
</code>
, the vegetation fraction, indicating
</p>
<p>
> 1 = for_e+for_d+veg_low
</p>
<p>
So, in
<span class="caps">
CCLM
</span>
, we either need to introduce vegetation fraction factor in the first equation and we need to remove in the second one.
</p>
<p>
Cheers
</p>

<p>
(Sorry, pressed submit too soon, edited the answer afterwards)
</p>
<p>
Dear Burkhardt
</p>
<p>
Thanks a lot for your answer. To be honest, I cannot follow your explanation completely. If you say
</p>
<p>
> veg_part = for_e+for_d+veg_low
</p>
<p>
then the long_name “ground fraction covered by deciduous forest” seems to be more appropriate. It actually is not relative to the vegetation fraction but to the total surface area. As an example, for a vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1. This is also consistent with the equation
<br/>
<pre><code>zsnow_alb = zsalb_snow*(1._ireals-for_e(i,j)-for_d(i,j)) &
+ csalb_snow_fe * for_e(i,j) &
+ csalb_snow_fd * for_d(i,j)
</code></pre>
</p>
<p>
However, I still think it is
<span class="caps">
NOT
</span>
consistent with the other equation. Ignoring snow cover for simplicity and multiplying the brackets gives
<br/>
<pre><code>zalso(i,j)= zvege*for_e(i,j) *0.10_ireals + &
zvege*for_d(i,j) *0.15_ireals + &
zvege*(1._ireals-for_e(i,j)-for_d(i,j))*0.20_ireals + &
(1._ireals-zvege) *zalso(i,j)
</code></pre>
<br/>
Here, all vegetation type fractions are multiplied with
<code>
zvege
</code>
, the vegetation fraction, indicating
</p>
<p>
> 1 = for_e+for_d+veg_low
</p>
<p>
So, in
<span class="caps">
CCLM
</span>
, we either need to introduce vegetation fraction factor in the first equation and we need to remove in the second one.
</p>
<p>
Cheers
</p>

(Sorry, pressed submit too soon, edited the answer afterwards)

Dear Burkhardt

Thanks a lot for your answer. To be honest, I cannot follow your explanation completely. If you say

> veg_part = for_e+for_d+veg_low

then the long_name “ground fraction covered by deciduous forest” seems to be more appropriate. It actually is not relative to the vegetation fraction but to the total surface area. As an example, for a vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1. This is also consistent with the equation

<p>
I just looked at the
<span class="caps">
EXTPAR
</span>
source code. As far as I understand now I have misinterpreted the sentence
<br/>
<em>
Values that depend on the plant cover, such as
<span class="caps">
PLCOV
</span>
MX,
<span class="caps">
PLCOV
</span>
MN,
<span class="caps">
LAI
</span>
MN,
<span class="caps">
LAI
</span>
MX, RS
<span class="caps">
MIN
</span>
,
<span class="caps">
FOR
</span>
E,
<span class="caps">
FOR
</span>
D,
<span class="caps">
ROOTDP
</span>
and z0, are weighted with the plant cover maximum in addition to the pixel area.
</em>
<br/>
This seems to hold only for
<span class="caps">
GLOBECOVER
</span>
and there is a general maximum plant cover in a grid cell defined for this. I mixed it up with the actual plant cover which is a different thing. Therefore I think you are right and for_e and for_d are fractions of the total grid cell and thus the long_names are OK.
<br/>
From this the equation for zsnow_alb is clear now and it fits to your example for vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1.
<br/>
What the equation for also concerns I can only suspect that the programmer assumed that the fractions for for_e and for_d hold also for the vegetation part not just for the whole grid cell.
<br/>
Would the following be more appropriate?
<br/>
<pre>
zalso(i,j)= zsnow*zsnow_alb + &
(1._ireals-zsnow)* &
(for_e(i,j)*0.10_ireals + &
for_d(i,j)*0.15_ireals + &
(zvege-for_e(i,j)-for_d(i,j))*0.20_ireals+ &
(1._ireals-zvege)*zalso(i,j))
</pre>
<br/>
What do you think?
<br/>
Anyway, at the end the meaning can only be revealed by the programmer (whom I do not know).
</p>

<p>
I just looked at the
<span class="caps">
EXTPAR
</span>
source code. As far as I understand now I have misinterpreted the sentence
<br/>
<em>
Values that depend on the plant cover, such as
<span class="caps">
PLCOV
</span>
MX,
<span class="caps">
PLCOV
</span>
MN,
<span class="caps">
LAI
</span>
MN,
<span class="caps">
LAI
</span>
MX, RS
<span class="caps">
MIN
</span>
,
<span class="caps">
FOR
</span>
E,
<span class="caps">
FOR
</span>
D,
<span class="caps">
ROOTDP
</span>
and z0, are weighted with the plant cover maximum in addition to the pixel area.
</em>
<br/>
This seems to hold only for
<span class="caps">
GLOBECOVER
</span>
and there is a general maximum plant cover in a grid cell defined for this. I mixed it up with the actual plant cover which is a different thing. Therefore I think you are right and for_e and for_d are fractions of the total grid cell and thus the long_names are OK.
<br/>
From this the equation for zsnow_alb is clear now and it fits to your example for vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1.
<br/>
What the equation for also concerns I can only suspect that the programmer assumed that the fractions for for_e and for_d hold also for the vegetation part not just for the whole grid cell.
<br/>
Would the following be more appropriate?
<br/>
<pre>
zalso(i,j)= zsnow*zsnow_alb + &
(1._ireals-zsnow)* &
(for_e(i,j)*0.10_ireals + &
for_d(i,j)*0.15_ireals + &
(zvege-for_e(i,j)-for_d(i,j))*0.20_ireals+ &
(1._ireals-zvege)*zalso(i,j))
</pre>
<br/>
What do you think?
<br/>
Anyway, at the end the meaning can only be revealed by the programmer (whom I do not know).
</p>

I just looked at the
EXTPAR
source code. As far as I understand now I have misinterpreted the sentence
Values that depend on the plant cover, such as
PLCOV
MX,
PLCOV
MN,
LAI
MN,
LAI
MX, RS
MIN
,
FOR
E,
FOR
D,
ROOTDP
and z0, are weighted with the plant cover maximum in addition to the pixel area.
This seems to hold only for
GLOBECOVER
and there is a general maximum plant cover in a grid cell defined for this. I mixed it up with the actual plant cover which is a different thing. Therefore I think you are right and for_e and for_d are fractions of the total grid cell and thus the long_names are OK.
From this the equation for zsnow_alb is clear now and it fits to your example for vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1.
What the equation for also concerns I can only suspect that the programmer assumed that the fractions for for_e and for_d hold also for the vegetation part not just for the whole grid cell.
Would the following be more appropriate?

<p>
Dear Burkhardt
</p>
<p>
Yes, exactly. The modified equation is consistent with veg_part = for_e+for_d+veg_low .
</p>
<p>
Thanks for your help.
<br/>
Sebastian
</p>

<p>
Dear Burkhardt
</p>
<p>
Yes, exactly. The modified equation is consistent with veg_part = for_e+for_d+veg_low .
</p>
<p>
Thanks for your help.
<br/>
Sebastian
</p>

## Evergreen and deciduous forest fractions: inconsistencies?

It seems that the evergreen and deciduous forest fractions,

`for_e`

and`for_d`

, are used once with respect to the total area and once relative to the plant cover fraction. In CCLM -5.0_clm9`src_radiation.f90`

line 2352,`zsnow`

is the snow cover fraction,`zvege`

is the plant cover fraction. Thus, the not-snow-covered fraction of the surface is divided into plant-covered and non-plant-covered parts. The plant-covered fraction, in turn, is divided into evergreen fraction (albedo 0.1), deciduous fraction (0.15) and something else (albedo 0.2). In summary, this would indicate that`for_e`

and`for_d`

are relative to the plant cover fraction.However, some lines above (2327), we have

Here, the plant cover fraction is not considered, thus,

`for_e`

and`for_d`

are relative to the total grid cell. This seems contradicting to me. Do you agree? How exactly is it defined?Cheers

Sebastian

In the EXTPAR v4.0 documentation on page 19 it reads:

Values that depend on the plant cover, such as PLCOV MX, PLCOV MN, LAI MN, LAI MX, RS MIN , FOR E, FOR D, ROOTDP and z0, are weighted with the plant cover maximum in addition to the pixel area.This would mean that FOR _D and FOR _E are relative to plant cover fraction. In that case the vegetation part of the cell is veg_part = for_e+for_d+veg_low

where veg_low stands for low vegetation which has a snow free albedo of 0.20 in your first equation

For the snow albedo the equation would be then

In CCLM it is assumed that low vegetation has the same snow albedo as bare soil. Therefore zsalb_snow=csalb_snow_veg_low. With this assumption you get

which is your second equation.

Maybe one should define the long names in the output files more precisely:

In the EXTPAR output files

long_name = “Fraction of deciduous forest”should be better defined as e.g.

long_name = “Fraction of deciduous forest of maximum plant cover”and in the CCLM output files

long_name = “ground fraction covered by deciduous forest”should be better defined as e.g.

long_name = “ground fraction covered by deciduous forest weighted by maximum plant cover”(Sorry, pressed submit too soon, edited the answer afterwards)

Dear Burkhardt

Thanks a lot for your answer. To be honest, I cannot follow your explanation completely. If you say

> veg_part = for_e+for_d+veg_low

then the long_name “ground fraction covered by deciduous forest” seems to be more appropriate. It actually is not relative to the vegetation fraction but to the total surface area. As an example, for a vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1. This is also consistent with the equation

However, I still think it is NOT consistent with the other equation. Ignoring snow cover for simplicity and multiplying the brackets gives

Here, all vegetation type fractions are multiplied with

`zvege`

, the vegetation fraction, indicating> 1 = for_e+for_d+veg_low

So, in CCLM , we either need to introduce vegetation fraction factor in the first equation and we need to remove in the second one.

Cheers

I just looked at the EXTPAR source code. As far as I understand now I have misinterpreted the sentence

Values that depend on the plant cover, such as PLCOV MX, PLCOV MN, LAI MN, LAI MX, RS MIN , FOR E, FOR D, ROOTDP and z0, are weighted with the plant cover maximum in addition to the pixel area.This seems to hold only for GLOBECOVER and there is a general maximum plant cover in a grid cell defined for this. I mixed it up with the actual plant cover which is a different thing. Therefore I think you are right and for_e and for_d are fractions of the total grid cell and thus the long_names are OK.

From this the equation for zsnow_alb is clear now and it fits to your example for vegetation fraction of 0.8, for_e = 0.4, for_d = 0.3 and veg_low = 0.1.

What the equation for also concerns I can only suspect that the programmer assumed that the fractions for for_e and for_d hold also for the vegetation part not just for the whole grid cell.

Would the following be more appropriate?

What do you think?

Anyway, at the end the meaning can only be revealed by the programmer (whom I do not know).

Dear Burkhardt

Yes, exactly. The modified equation is consistent with veg_part = for_e+for_d+veg_low .

Thanks for your help.

Sebastian