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
andfor_d
, are used once with respect to the total area and once relative to the plant cover fraction. In CCLM -5.0_clm9src_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 thatfor_e
andfor_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
andfor_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