diff --git a/src/crop/almass.jl b/src/crop/almass.jl
index 3c735a2ab2ae46e70e31934b81ae5560ec1266ce..326c12e1ef5ae130a21052904409da1f302da9fb 100644
--- a/src/crop/almass.jl
+++ b/src/crop/almass.jl
@@ -36,6 +36,59 @@ import Persefone:
 using Dates: Date, month, monthday
 using CSV: CSV
 
+"Temperature to solar conversion factor for C3 plants."
+const temperature_to_solar_conversion_c3::Vector{Float64} = [
+    0,   0,    0,    0,    0,    0,    0,    0,    0,    0,     # -30°C to -21°C
+    0,   0,    0,    0,    0,    0,    0,    0,    0,    0,     # -20°C to -11°C
+    0,   0,    0,    0,    0,    0,    0,    0,    0,    0,     # -10°C to  -1°C
+    0,   0,    0,    0,    0,    0.28, 0.56, 0.84, 1.12, 1.4,   #   0°C to   9°C
+    1.4, 1.4,  1.4,  1.4,  1.4,  1.4,  1.4,  1.4,  1.4,  1.4,   #  10°C to  19°C
+    1.4, 1.4,  1.4,  1.4,  1.4,  1.4,  1.26, 1.12, 0.98, 0.84,  #  20°C to  29°C
+    0.7, 0.56, 0.42, 0.28, 0.14, 0,    0,    0,    0,    0,     #  30°C to  39°C
+    0,   0,    0,    0,    0,    0,    0,    0,    0,    0,     #  40°C to  49°C
+    0                                                           #  50°C
+]
+
+"Temperature to solar conversion factor for C4 plants."
+const temperature_to_solar_conversion_c4::Vector{Float64} = [
+    0,        0,        0,        0,        0,    0,   0,    0,    0,        0,         # -30°C to -21°C
+    0,        0,        0,        0,        0,    0,   0,    0,    0,        0,         # -20°C to -11°C
+    0,        0,        0,        0,        0,    0,   0,    0,    0,        0,         #   0°C to   9°C
+    0,        0,        0,        0,        0,    0,   0,    0,    0.242857, 0.485714,  #  10°C to  19°C
+    0.728571, 0.971429, 1.214286, 1.457143, 1.7,  1.7, 1.7,  1.7,  1.7,      1.7,       #  20°C to  29°C
+    1.7,      1.7,      1.7,      1.7,      1.7,  1.7, 1.7,  1.7,  1.7,      1.7,       #  30°C to  39°C
+    1.7,      1.7,      1.7,      1.7,      1.7,  1.7, 1.53, 1.36, 1.19,     1.02,      #  40°C to  49°C
+    0.85,     0.68,     0.51,     0.34,     0.17, 0,   0,    0,    0,        0,         #  50°C
+    0
+]
+
+"""
+    solar_conversion_c3(temperature)
+
+Solar conversion factor (no units) for C3 plants.
+"""
+function solar_conversion_c3(temperature)
+    if temperature < -30 || temperature > 50
+        return 0.0
+    end
+    idx = Int(floor(0.5 + temperature)) + 30 + 1
+    return temperature_to_solar_conversion_c3[idx]
+end
+
+"""
+    solar_conversion_c3(temperature)
+
+Solar conversion factor (no units) for C4 plants.
+"""
+function solar_conversion_c4(temperature)
+    if temperature < -30 || temperature > 50
+        return 0.0
+    end
+    idx = Int(floor(0.5 + temperature)) + 30 + 1
+    return temperature_to_solar_conversion_c4[idx]
+end
+
+
 """
     GrowthPhase