### 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,

```
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))
```

```
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

```
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)
```

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

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)

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

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)

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”
*

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 thenzsnow_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)

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 getzsnow_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)

which is your second equation.Maybe one should define the long names in the output files more precisely:

In the EXTPAR output fileslong_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 fileslong_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”

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

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)

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

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)

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

```
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)
```

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

```
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)
```

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

@sebastianschubert in #2323bf1(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

`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)`

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

(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

```
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)
```

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

```
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)
```

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

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?

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))

What do you think?

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

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

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?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))

What do you think?

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

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

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?

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))

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

@sebastianschubert in #9b72678Dear Burkhardt

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

Thanks for your help.

Sebastian

Dear Burkhardt

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

Thanks for your help.

Sebastian

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