From 414c49e4377a5bef5ce72b1a7c5e908cdde836cd Mon Sep 17 00:00:00 2001 From: Alexis Renchon Date: Tue, 6 Aug 2024 14:11:42 -0700 Subject: [PATCH] WIP --- src/diagnostics/define_diagnostics.jl | 598 +++++++++++++++--------- src/diagnostics/land_compute_methods.jl | 2 +- 2 files changed, 370 insertions(+), 230 deletions(-) diff --git a/src/diagnostics/define_diagnostics.jl b/src/diagnostics/define_diagnostics.jl index 6264f77468..cb82067678 100644 --- a/src/diagnostics/define_diagnostics.jl +++ b/src/diagnostics/define_diagnostics.jl @@ -33,7 +33,7 @@ function define_diagnostics!(land_model) ### BucketModel ### - ## Stored in p ## + ## Stored in p (diagnostics variables stored in the cache) ## # Albedo add_diagnostic_variable!( @@ -133,7 +133,7 @@ function define_diagnostics!(land_model) compute_surface_air_density!(out, Y, p, t, land_model), ) - ## Stored in Y ## + ## Stored in Y (prognostic or state variables) ## # Soil temperature (3D) at depth add_diagnostic_variable!( @@ -181,108 +181,171 @@ function define_diagnostics!(land_model) ###### SoilCanopyModel ###### - ## stored in p ## + ## stored in p (diagnostics variables stored in the cache) ## - # Soil liquid water + ## Canopy Module ## + + ### Canopy - Solar Induced Fluorescence + # Solar Induced Fluorescence add_diagnostic_variable!( - short_name = "slw", - long_name = "Soil Liquid Water", - standard_name = "soil_liquid_water", - units = "m^3 m^-3", - comments = "Soil moisture, the liquid water volume per soil volume. This liquid water is located in the soil pores.", + short_name = "sif", + long_name = "Solar Induced Fluorescence", + standard_name = "solar_induced_fluorescence", + units = "W m^-2", + comments = "The fluorescence of leaves induced by solar radiation. This quantity is correlated with photosynthesis activity.", compute! = (out, Y, p, t) -> - compute_soil_water_liquid!(out, Y, p, t, land_model), + compute_solar_induced_fluorescence!(out, Y, p, t, land_model), ) - # Infiltration + ### Canopy - Autotrophic respiration + # Autotrophic respiration add_diagnostic_variable!( - short_name = "infil", - long_name = "Infiltration", - standard_name = "infiltration", + short_name = "ra", + long_name = "Autotrophic Respiration", + standard_name = "autotrophic_respiration", + units = "mol CO2 m^-2 s^-1", # note throughout: make sure what we express as kg or mol, CO2 or C + comments = "The canopy autotrophic respiration, the sum of leaves, stems and roots respiration.", + compute! = (out, Y, p, t) -> + compute_autotrophic_respiration!(out, Y, p, t, land_model), + ) + + ### Canopy - Conductance + # Stomatal conductance + add_diagnostic_variable!( + short_name = "gs", + long_name = "Stomatal Conductance", + standard_name = "stomatal_conductance", units = "m s^-1", - comments = "The flux of liquid water into the soil.", + comments = "The conductance of leaves. This depends on stomatal opening. It varies with factors such as soil moisture or atmospheric water demand.", compute! = (out, Y, p, t) -> - compute_infiltration!(out, Y, p, t, land_model), + compute_stomatal_conductance!(out, Y, p, t, land_model), + ) + + # Canopy transpiration + add_diagnostic_variable!( + short_name = "trans", + long_name = "Canopy Transpiration", + standard_name = "canopy_transpiration", + units = "m s^-1", + comments = "The water evaporated from the canopy due to leaf transpiration.", + compute! = (out, Y, p, t) -> + compute_canopy_transpiration!(out, Y, p, t, land_model), + ) + + ### Canopy - Energy + # Canopy aerodynamic resistance + add_diagnostic_variable!( + short_name = "crae", + long_name = "Canopy Aerodynamic Resistance", + standard_name = "canopy_aerodynamic_resistance", + units = "s m^-1", # ??? not sure + comments = "The canopy aerodynamic resistance. Aerodynamic resistance (r_a) is a measure of how much the air near the Earth's surface resists the movement of water vapor and heat from the surface into the air.", #?? of steam, leaves, roots? + compute! = (out, Y, p, t) -> + compute_canopy_aerodynamic_resistance!(out, Y, p, t, land_model), + ) + + # Canopy latent heat flux + add_diagnostic_variable!( + short_name = "clhf", + long_name = "Canopy Latent Heat Flux", + standard_name = "canopy_latent_heat_flux", + units = "W m^-2", + comments = "The energy used for canopy transpiration.", #?? of steam, leaves, roots? + compute! = (out, Y, p, t) -> + compute_canopy_latent_heat_flux!(out, Y, p, t, land_model), ) - # Soil CO2 diffusivity + # Canopy sensible heat flux add_diagnostic_variable!( - short_name = "scd", - long_name = "Soil CO2 Diffusivity", - standard_name = "soil_co2_diffusivity", - units = "m^2 s^-1", - comments = "The diffusivity of CO2 in the porous phase of the soil. Depends on soil texture, moisture, and temperature.", + short_name = "cshf", + long_name = "Canopy Sensible Heat Flux", + standard_name = "canopy_sensible_heat_flux", + units = "W m^-2", + comments = "The energy used for canopy temperature change.", #?? of steam, leaves, roots? compute! = (out, Y, p, t) -> - compute_soilco2_diffusivity!(out, Y, p, t, land_model), + compute_canopy_sensible_heat_flux!(out, Y, p, t, land_model), ) - # Soil CO2 microbial source + ### Canopy - Hydraulics + # Canopy water potential add_diagnostic_variable!( - short_name = "scms", - long_name = "Soil CO2 Microbial Source", - standard_name = "soil_co2_microbial_source", - units = "kg CO2 m^-2 s^-1", - comments = "The production of CO2 by microbes in the soil. Vary by layers of soil depth.", + short_name = "cwp", + long_name = "Canopy Water Potential", + standard_name = "canopy_water_potential", + units = "Pa", + comments = "The water potential of the canopy.", compute! = (out, Y, p, t) -> - compute_soilco2_source_microbe!(out, Y, p, t, land_model), + compute_canopy_water_potential!(out, Y, p, t, land_model), ) - # Stomatal conductance + # Cross section add_diagnostic_variable!( - short_name = "gs", - long_name = "Stomatal Conductance", - standard_name = "stomatal_conductance", - units = "m s^-1", - comments = "The conductance of leaves. This depends on stomatal opening. It varies with factors such as soil moisture or atmospheric water demand.", + short_name = "fa", + long_name = "Cross Section", + standard_name = "cross_section", + units = "m^2 m^-2", + comments = "The area of stem relative to ground area.", #?? compute! = (out, Y, p, t) -> - compute_stomatal_conductance!(out, Y, p, t, land_model), + compute_cross_section!(out, Y, p, t, land_model), ) - # Medlyn term + # Root cross section add_diagnostic_variable!( - short_name = "mt", - long_name = "Medlyn Term", - standard_name = "medlyn_term", - units = "", - comments = "This term is involved in the Medlyn stomatal conductance model and is equal to 1+g1/sqrt(VPD) and is unitless.", + short_name = "far", + long_name = "Root Cross Section", + standard_name = "Cross Section", + units = "m^2 m^-2", + comments = "The area of roots relative to ground area.", #?? compute! = (out, Y, p, t) -> - compute_medlyn_term!(out, Y, p, t, land_model), + compute_cross_section_roots!(out, Y, p, t, land_model), ) - # Canopy transpiration + # Leaf area index add_diagnostic_variable!( - short_name = "trans", - long_name = "Canopy Transpiration", - standard_name = "canopy_transpiration", - units = "m s^-1", - comments = "The water evaporated from the canopy due to leaf transpiration.", + short_name = "lai", + long_name = "Leaf area Index", + standard_name = "leaf_area_index", + units = "m^2 m^-2", + comments = "The area index of leaves, expressed in surface area of leaves per surface area of ground.", compute! = (out, Y, p, t) -> - compute_canopy_transpiration!(out, Y, p, t, land_model), + compute_leaf_area_index!(out, Y, p, t, land_model), + ) + + # Moisture stress factor + add_diagnostic_variable!( + short_name = "msf", + long_name = "Moisture Stress Factor", + standard_name = "moisture_stress_factor", + units = "", + comments = "Sensitivity of plants conductance to soil water content. Unitless", + compute! = (out, Y, p, t) -> + compute_moisture_stress_factor!(out, Y, p, t, land_model), ) - # Rainfall + # Root area index add_diagnostic_variable!( - short_name = "rain", - long_name = "Rainfall", - standard_name = "rainfall", - units = "m s^-1", # do we express rainfall as a flux? Check then delete this comment - comments = "Precipitation of liquid water.", + short_name = "rai", + long_name = "Root area Index", + standard_name = "root_area_index", + units = "m^2 m^-2", + comments = "The area index of roots, expressed in surface area of roots per surface area of ground.", compute! = (out, Y, p, t) -> - compute_rainfall!(out, Y, p, t, land_model), + compute_root_area_index!(out, Y, p, t, land_model), ) - # Leaf net photosynthesis + # Stem area index add_diagnostic_variable!( - short_name = "an", - long_name = "Leaf Net Photosynthesis", - standard_name = "leaf_net_photosynthesis", - units = "mol CO2 m^-2 s^-1", # soil CO2 microbial source was in kg co2. we should make a choice and be constant throughout - comments = "Net photosynthesis (carbon assimilation) of a leaf, computed for example by the Farquhar model.", + short_name = "sai", + long_name = "Stem area Index", + standard_name = "stem_area_index", + units = "m^2 m^-2", + comments = "The area index of stems, expressed in surface area of stems per surface area of ground.", compute! = (out, Y, p, t) -> - compute_photosynthesis_net_leaf!(out, Y, p, t, land_model), + compute_stem_area_index!(out, Y, p, t, land_model), ) - # GPP - Gross Primary Productivity + ### Canopy - Photosynthesis + # GPP - Gross Primary Productivity add_diagnostic_variable!( short_name = "gpp", long_name = "Gross Primary Productivity", @@ -292,8 +355,19 @@ function define_diagnostics!(land_model) compute! = (out, Y, p, t) -> compute_photosynthesis_net_canopy!(out, Y, p, t, land_model), ) + + # Leaf net photosynthesis + add_diagnostic_variable!( + short_name = "an", + long_name = "Leaf Net Photosynthesis", + standard_name = "leaf_net_photosynthesis", + units = "mol CO2 m^-2 s^-1", # soil CO2 microbial source was in kg co2. we should make a choice and be constant throughout + comments = "Net photosynthesis (carbon assimilation) of a leaf, computed for example by the Farquhar model.", + compute! = (out, Y, p, t) -> + compute_photosynthesis_net_leaf!(out, Y, p, t, land_model), + ) - # Leaf respiration + # Leaf respiration add_diagnostic_variable!( short_name = "rd", long_name = "Leaf Respiration", @@ -304,7 +378,7 @@ function define_diagnostics!(land_model) compute_respiration_leaf!(out, Y, p, t, land_model), ) - # Vcmax25 + # Vcmax25 add_diagnostic_variable!( short_name = "vcmax25", long_name = "Vcmax25", @@ -314,7 +388,64 @@ function define_diagnostics!(land_model) compute! = (out, Y, p, t) -> compute_vcmax25!(out, Y, p, t, land_model), ) - # PAR - photosynthetically active radiation + ### Canopy - Radiative Transfer + # NIR - near infrared radiaton + add_diagnostic_variable!( + short_name = "nir", + long_name = "Near Infrared Radiation", + standard_name = "near_infrared_radiation", + units = "W m^-2", + comments = "The amount of near infrared radiation reaching the canopy.", + compute! = (out, Y, p, t) -> + compute_near_infrared_radiation!(out, Y, p, t, land_model), + ) + + # ANIR - absorbed near infrared radiation + add_diagnostic_variable!( + short_name = "anir", + long_name = "Absorbed Near Infrared Radiation", + standard_name = "absorbed_near_infrared_radiation", + units = "W m^-2", + comments = "The amount of near infrared radiation absorbed by the canopy.", + compute! = (out, Y, p, t) -> + compute_near_infrared_radiation_absorbed!(out, Y, p, t, land_model), + ) + + # RNIR - reflected near infrared radiation + add_diagnostic_variable!( + short_name = "rnir", + long_name = "Reflected Near Infrared Radiation", + standard_name = "reflected_near_infrared_radiation", + units = "W m^-2", + comments = "The amount of near infrared radiation reflected by the canopy.", + compute! = (out, Y, p, t) -> + compute_near_infrared_radiation_reflected!( + out, + Y, + p, + t, + land_model, + ), + ) + + # TNIR - transmitted near infrared radiation + add_diagnostic_variable!( + short_name = "tnir", + long_name = "Transmitted Near Infrared Radiation", + standard_name = "transmitted_near_infrared_radiation", + units = "W m^-2", + comments = "The amount of near infrared radiation transmitted by the canopy.", + compute! = (out, Y, p, t) -> + compute_near_infrared_radiation_transmitted!( + out, + Y, + p, + t, + land_model, + ), + ) + + # PAR - photosynthetically active radiation add_diagnostic_variable!( short_name = "par", long_name = "Photosynthetically Active Radiation", @@ -331,7 +462,7 @@ function define_diagnostics!(land_model) ), ) - # APAR - absorbed photosynthetically active radiation + # APAR - absorbed photosynthetically active radiation add_diagnostic_variable!( short_name = "apar", long_name = "Absorbed Photosynthetically Active Radiation", @@ -348,7 +479,7 @@ function define_diagnostics!(land_model) ), ) - # RPAR - reflected photosynthetically active radiation + # RPAR - reflected photosynthetically active radiation add_diagnostic_variable!( short_name = "rpar", long_name = "Reflected Photosynthetically Active Radiation", @@ -365,7 +496,7 @@ function define_diagnostics!(land_model) ), ) - # TPAR - transmitted photosynthetically active radiation + # TPAR - transmitted photosynthetically active radiation add_diagnostic_variable!( short_name = "tpar", long_name = "Transmitted Photosynthetically Active Radiation", @@ -382,105 +513,206 @@ function define_diagnostics!(land_model) ), ) - # NIR - near infrared radiaton + # Net longwave radiation add_diagnostic_variable!( - short_name = "nir", - long_name = "Near Infrared Radiation", - standard_name = "near_infrared_radiation", + short_name = "lwn", + long_name = "Net Longwave Radiation", + standard_name = "net_longwave_radiation", units = "W m^-2", - comments = "The amount of near infrared radiation reaching the canopy.", + comments = "The net (in minus out) longwave radiation at the surface.", compute! = (out, Y, p, t) -> - compute_near_infrared_radiation!(out, Y, p, t, land_model), + compute_radiation_longwave_net!(out, Y, p, t, land_model), ) - - # ANIR - absorbed near infrared radiation + + # Net shortwave radiation add_diagnostic_variable!( - short_name = "anir", - long_name = "Absorbed Near Infrared Radiation", - standard_name = "absorbed_near_infrared_radiation", + short_name = "swn", + long_name = "Net Shortwave Radiation", + standard_name = "net_shortwave_radiation", units = "W m^-2", - comments = "The amount of near infrared radiation absorbed by the canopy.", + comments = "The net (in minus out) shortwave radiation at the surface.", compute! = (out, Y, p, t) -> - compute_near_infrared_radiation_absorbed!(out, Y, p, t, land_model), + compute_radiation_shortwave_net!(out, Y, p, t, land_model), + ) + + ## Drivers Module ## + # Soil CO2 concentration + add_diagnostic_variable!( + short_name = "soilco2", + long_name = "Soil CO2 concentration", + standard_name = "soil_co2", + units = "kg CO2 m^-3", # As documented in Biogeochemistry.jl. Note, in other places, we use mol CO2. + comments = "Concentration of CO2 in the air of soil pores.", + compute! = (out, Y, p, t) -> compute_soil_co2!(out, Y, p, t, land_model), + ) + + # Air pressure + add_diagnostic_variable!( + short_name = "airp", + long_name = "Air pressure", + standard_name = "air_pressure", + units = "Pa", + comments = "The air pressure.", + compute! = (out, Y, p, t) -> compute_pressure!(out, Y, p, t, land_model), ) - # RNIR - reflected near infrared radiation + # Rainfall add_diagnostic_variable!( - short_name = "rnir", - long_name = "Reflected Near Infrared Radiation", - standard_name = "reflected_near_infrared_radiation", - units = "W m^-2", - comments = "The amount of near infrared radiation reflected by the canopy.", + short_name = "rain", + long_name = "Rainfall", + standard_name = "rainfall", + units = "m s^-1", # do we express rainfall as a flux? Check then delete this comment + comments = "Precipitation of liquid water.", compute! = (out, Y, p, t) -> - compute_near_infrared_radiation_reflected!( - out, - Y, - p, - t, - land_model, - ), + compute_rainfall!(out, Y, p, t, land_model), ) - # TNIR - transmitted near infrared radiation + # Net longwave radiation add_diagnostic_variable!( - short_name = "tnir", - long_name = "Transmitted Near Infrared Radiation", - standard_name = "transmitted_near_infrared_radiation", + short_name = "lwd", + long_name = "Down Longwave Radiation", + standard_name = "down_longwave_radiation", units = "W m^-2", - comments = "The amount of near infrared radiation transmitted by the canopy.", + comments = "The down (in) longwave radiation at the surface.", compute! = (out, Y, p, t) -> - compute_near_infrared_radiation_transmitted!( - out, - Y, - p, - t, - land_model, - ), + compute_radiation_longwave_down!(out, Y, p, t, land_model), ) - # Net shortwave radiation + # Net shortwave radiation add_diagnostic_variable!( - short_name = "swn", - long_name = "Net Shortwave Radiation", - standard_name = "net_shortwave_radiation", + short_name = "swd", + long_name = "Short Longwave Radiation", + standard_name = "short_longwave_radiation", units = "W m^-2", - comments = "The net (in minus out) shortwave radiation at the surface.", + comments = "The short (in) longwave radiation at the surface.", compute! = (out, Y, p, t) -> - compute_radiation_shortwave_net!(out, Y, p, t, land_model), + compute_radiation_shortwave_down!(out, Y, p, t, land_model), ) - # Net longwave radiation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # Soil liquid water add_diagnostic_variable!( - short_name = "lwn", - long_name = "Net Longwave Radiation", - standard_name = "net_longwave_radiation", - units = "W m^-2", - comments = "The net (in minus out) longwave radiation at the surface.", + short_name = "slw", + long_name = "Soil Liquid Water", + standard_name = "soil_liquid_water", + units = "m^3 m^-3", + comments = "Soil moisture, the liquid water volume per soil volume. This liquid water is located in the soil pores.", compute! = (out, Y, p, t) -> - compute_radiation_longwave_net!(out, Y, p, t, land_model), + compute_soil_water_liquid!(out, Y, p, t, land_model), ) - # Autotrophic respiration + # Infiltration add_diagnostic_variable!( - short_name = "ra", - long_name = "Autotrophic Respiration", - standard_name = "autotrophic_respiration", - units = "mol CO2 m^-2 s^-1", # note throughout: make sure what we express as kg or mol, CO2 or C - comments = "The canopy autotrophic respiration, the sum of leaves, stems and roots respiration.", + short_name = "infil", + long_name = "Infiltration", + standard_name = "infiltration", + units = "m s^-1", + comments = "The flux of liquid water into the soil.", compute! = (out, Y, p, t) -> - compute_autotrophic_respiration!(out, Y, p, t, land_model), + compute_infiltration!(out, Y, p, t, land_model), ) - # Soil CO2 concentration + # Soil CO2 diffusivity add_diagnostic_variable!( - short_name = "soilco2", - long_name = "Soil CO2 concentration", - standard_name = "soil_co2", - units = "kg CO2 m^-3", # As documented in Biogeochemistry.jl. Note, in other places, we use mol CO2. - comments = "Concentration of CO2 in the air of soil pores.", - compute! = (out, Y, p, t) -> compute_soilco2!(out, Y, p, t, land_model), + short_name = "scd", + long_name = "Soil CO2 Diffusivity", + standard_name = "soil_co2_diffusivity", + units = "m^2 s^-1", + comments = "The diffusivity of CO2 in the porous phase of the soil. Depends on soil texture, moisture, and temperature.", + compute! = (out, Y, p, t) -> + compute_soilco2_diffusivity!(out, Y, p, t, land_model), + ) + + # Soil CO2 microbial source + add_diagnostic_variable!( + short_name = "scms", + long_name = "Soil CO2 Microbial Source", + standard_name = "soil_co2_microbial_source", + units = "kg CO2 m^-2 s^-1", + comments = "The production of CO2 by microbes in the soil. Vary by layers of soil depth.", + compute! = (out, Y, p, t) -> + compute_soilco2_source_microbe!(out, Y, p, t, land_model), + ) + + + + # Medlyn term + add_diagnostic_variable!( + short_name = "mt", + long_name = "Medlyn Term", + standard_name = "medlyn_term", + units = "", + comments = "This term is involved in the Medlyn stomatal conductance model and is equal to 1+g1/sqrt(VPD) and is unitless.", + compute! = (out, Y, p, t) -> + compute_medlyn_term!(out, Y, p, t, land_model), ) + + + + + + + + + # Soil net radiation add_diagnostic_variable!( short_name = "soilrn", @@ -580,93 +812,12 @@ function define_diagnostics!(land_model) compute_solar_zenith_angle!(out, Y, p, t, land_model), ) - # Moisture stress factor - add_diagnostic_variable!( - short_name = "msf", - long_name = "Moisture Stress Factor", - standard_name = "moisture_stress_factor", - units = "", - comments = "Sensitivity of plants conductance to soil water content. Unitless", - compute! = (out, Y, p, t) -> - compute_moisture_stress_factor!(out, Y, p, t, land_model), - ) - - # Canopy water potential - add_diagnostic_variable!( - short_name = "cwp", - long_name = "Canopy Water Potential", - standard_name = "canopy_water_potential", - units = "Pa", - comments = "The water potential of the canopy.", - compute! = (out, Y, p, t) -> - compute_canopy_water_potential!(out, Y, p, t, land_model), - ) - # Cross section - add_diagnostic_variable!( - short_name = "fa", - long_name = "Cross Section", - standard_name = "cross_section", - units = "m^2 m^-2", - comments = "The area of stem relative to ground area.", #?? - compute! = (out, Y, p, t) -> - compute_cross_section!(out, Y, p, t, land_model), - ) - # Root cross section - add_diagnostic_variable!( - short_name = "far", - long_name = "Root Cross Section", - standard_name = "Cross Section", - units = "m^2 m^-2", - comments = "The area of roots relative to ground area.", #?? - compute! = (out, Y, p, t) -> - compute_cross_section_roots!(out, Y, p, t, land_model), - ) - # Area index - add_diagnostic_variable!( - short_name = "ai", - long_name = "Area Index", - standard_name = "area_index", - units = "m^2 m^-2", - comments = "The area index of leaves, expressed in surface area of leaves per surface area of ground.", - compute! = (out, Y, p, t) -> - compute_area_index!(out, Y, p, t, land_model), - ) - # Canopy latent heat flux - add_diagnostic_variable!( - short_name = "clhf", - long_name = "Canopy Latent Heat Flux", - standard_name = "canopy_latent_heat_flux", - units = "W m^-2", - comments = "The energy used for canopy transpiration.", #?? of steam, leaves, roots? - compute! = (out, Y, p, t) -> - compute_canopy_latent_heat_flux!(out, Y, p, t, land_model), - ) - # Canopy sensible heat flux - add_diagnostic_variable!( - short_name = "cshf", - long_name = "Canopy Sensible Heat Flux", - standard_name = "canopy_sensible_heat_flux", - units = "W m^-2", - comments = "The energy used for canopy temperature change.", #?? of steam, leaves, roots? - compute! = (out, Y, p, t) -> - compute_canopy_sensible_heat_flux!(out, Y, p, t, land_model), - ) - # Canopy aerodynamic resistance - add_diagnostic_variable!( - short_name = "crae", - long_name = "Canopy Aerodynamic Resistance", - standard_name = "canopy_aerodynamic_resistance", - units = "s m^-1", # ??? not sure - comments = "The canopy aerodynamic resistance. Aerodynamic resistance (r_a) is a measure of how much the air near the Earth's surface resists the movement of water vapor and heat from the surface into the air.", #?? of steam, leaves, roots? - compute! = (out, Y, p, t) -> - compute_canopy_aerodynamic_resistance!(out, Y, p, t, land_model), - ) # Canopy temperature add_diagnostic_variable!( @@ -690,15 +841,4 @@ function define_diagnostics!(land_model) compute_soil_ice!(out, Y, p, t, land_model), ) - # Solar Induced Fluorescence - add_diagnostic_variable!( - short_name = "sif", - long_name = "Solar Induced Fluorescence", - standard_name = "solar_induced_fluorescence", - units = "W m^-2", - comments = "The fluorescence of leaves induced by solar radiation. This quantity is correlated with photosynthesis activity.", - compute! = (out, Y, p, t) -> - compute_solar_induced_fluorescence!(out, Y, p, t, land_model), - ) - end diff --git a/src/diagnostics/land_compute_methods.jl b/src/diagnostics/land_compute_methods.jl index 903d554497..e11fbc8456 100644 --- a/src/diagnostics/land_compute_methods.jl +++ b/src/diagnostics/land_compute_methods.jl @@ -105,7 +105,7 @@ end ## Drivers Module ## -@land_compute "air_co2" SoilCanopyModel p.drivers.c_co2 +@land_compute "soil_co2" SoilCanopyModel p.drivers.c_co2 @land_compute "pressure" SoilCanopyModel p.drivers.P @land_compute "rainfall" SoilCanopyModel p.drivers.P_liq @land_compute "radiation_longwave_down" SoilCanopyModel p.drivers.LW_d