From b262a2fc2b0d33c58a40a2c82194973d02b946f2 Mon Sep 17 00:00:00 2001 From: Austin Raney Date: Wed, 4 Sep 2024 11:49:48 -0400 Subject: [PATCH] feat: add LgarParams --- python/ngen_conf/src/ngen/config/lgar.py | 47 +++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/python/ngen_conf/src/ngen/config/lgar.py b/python/ngen_conf/src/ngen/config/lgar.py index cf183c4f..87c07ce2 100644 --- a/python/ngen_conf/src/ngen/config/lgar.py +++ b/python/ngen_conf/src/ngen/config/lgar.py @@ -1,13 +1,58 @@ from __future__ import annotations -from pydantic import Field +from typing import Optional +from pydantic import BaseModel, Field from .bmi_formulation import BMICxx +class LgarParams(BaseModel): + smcmin: Optional[float] + """ + residual volumetric water content + Unit: cm3/cm3 + """ + smcmax: Optional[float] + """ + water content of the soil at natural saturation; + Unit: cm3/cm3 + """ + van_genuchten_alpha: Optional[float] + """ + van Genuchten parameter related to inverse of air entry pressure + Unit: 1/cm + """ + van_genuchten_n: Optional[float] + """ + van Genuchten parameter related to pore size distribution + Unit: - + """ + hydraulic_conductivity: Optional[float] + """ + saturated hydraulic conductivity of the soil + Unit: cm/h + """ + soil_depth_layers: Optional[float] + """ + soil layer thickness + Unit: cm + """ + ponded_depth_max: Optional[float] + """ + maximum allowed ponded water depth + Unit: cm + """ + field_capacity: Optional[float] + """ + negative capillary head representing field capacity, used in reduction of PET to AET + Unit: cm + """ + + class LGAR(BMICxx): """A BMIC++ implementation for LGAR module""" + model_params: Optional[LgarParams] registration_function: str = "none" main_output_variable: str = "precipitation_rate" model_name: str = Field("LGAR", const=True, alias="model_type_name")