Skip to content

Commit

Permalink
Constants and Headers
Browse files Browse the repository at this point in the history
  • Loading branch information
kewalak committed Feb 16, 2024
1 parent f9c91c9 commit fd4feb1
Show file tree
Hide file tree
Showing 36 changed files with 272 additions and 339 deletions.
8 changes: 5 additions & 3 deletions src/clearwater_modules/nsm1/CBOD/dynamic_variables.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# TODO: figure out imports...
"""
File contains dynamic variables related to the CBOD module
"""

import clearwater_modules.shared.processes as shared_processes
from clearwater_modules import base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget
from clearwater_modules.nsm1.CBOD import processes


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...

Expand Down
11 changes: 6 additions & 5 deletions src/clearwater_modules/nsm1/CBOD/processes.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import numpy as np
"""
File contains process to calculate new CBOD concentration and associated dependent variables
"""

import numba
import xarray as xr
from clearwater_modules.shared.processes import (
arrhenius_correction,
)

from clearwater_modules.shared.processes import arrhenius_correction
import math

@numba.njit
def kbod_tc(
Expand Down
10 changes: 6 additions & 4 deletions src/clearwater_modules/nsm1/CBOD/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
# TODO: figure out what 'model' to import
"""
File contains static variables related to the CBOD module
"""

import clearwater_modules.base as base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...


# CBOD variables for each CBOD group - array
Variable(
name='kbod_20',
long_name='CBOD oxidation rate at 20C',
Expand Down
5 changes: 2 additions & 3 deletions src/clearwater_modules/nsm1/DOX/dynamic_variables.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

import clearwater_modules.shared.processes as shared_processes
from clearwater_modules import base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget
from clearwater_modules.nsm1.DOX import processes


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...

Expand Down
10 changes: 6 additions & 4 deletions src/clearwater_modules/nsm1/DOX/processes.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import numpy as np
"""
File contains dynamic variables related to the DOX module
"""

import numba
import xarray as xr
from clearwater_modules.shared.processes import (
arrhenius_correction,
)
from clearwater_modules.shared.processes import arrhenius_correction
import math


#TODO: make sure np.exp will work here...
Expand Down
10 changes: 7 additions & 3 deletions src/clearwater_modules/nsm1/DOX/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# TODO: figure out what 'model' to import
"""
File contains static variables related to the DOX module
"""

import clearwater_modules.base as base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...


Variable(
name='ron',
long_name='O2:N ratio for nitrification',
Expand Down
8 changes: 6 additions & 2 deletions src/clearwater_modules/nsm1/POM/dynamic_variables.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
"""
File contains dynamic variables related to the POM module
"""

import clearwater_modules.shared.processes as shared_processes
from clearwater_modules import base
from clearwater_modules.nsm1.carbon.model import CarbonBudget
from clearwater_modules.nsm1.model import NutrientBudget
from clearwater_modules.nsm1.POM import processes


@base.register_variable(models=CarbonBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...

Expand Down
14 changes: 5 additions & 9 deletions src/clearwater_modules/nsm1/POM/processes.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
"""
File contains process to calculate new POM concentration and associated dependent variables
"""
import numba
import math
from clearwater_modules.shared.processes import (
arrhenius_correction
)
import xarray as xr
from clearwater_modules.nsm1.POM import dynamic_variables
from clearwater_modules.nsm1.POM import static_variables
from clearwater_modules.nsm1 import static_variables_global
from clearwater_modules.nsm1 import dynamic_variables_global
from clearwater_modules.nsm1 import state_variables
from clearwater_modules.shared.processes import arrhenius_correction
import math

@numba.njit
def kpom_tc(
Expand Down
9 changes: 7 additions & 2 deletions src/clearwater_modules/nsm1/POM/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
"""
File contains static variables related to the POM module
"""

import clearwater_modules.base as base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...



Variable(
name='kpom_20',
long_name='POM dissolution rate at 20C',
Expand Down
2 changes: 1 addition & 1 deletion src/clearwater_modules/nsm1/algae/dynamic_variables.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
File includes dynamic variables computed in Algae module. Dynamic variables may be accessed by other modules.
File contains dynamic variables related to the Algae module
"""

import clearwater_modules.shared.processes as shared_processes
Expand Down
6 changes: 2 additions & 4 deletions src/clearwater_modules/nsm1/algae/processes.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
"""
File contains process to calculate new algae biomass concentration and associated dependent variables
"""

# TODO calculate lambda?
import math
from clearwater_modules.shared.processes import arrhenius_correction
import numba
import xarray as xr
from clearwater_modules.shared.processes import arrhenius_correction
import math


@numba.njit
Expand Down
6 changes: 1 addition & 5 deletions src/clearwater_modules/nsm1/algae/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
"""
File includes static variables only used in Algae module
File contains static variables related to the Algae module
"""

import clearwater_modules.base as base
from clearwater_modules.nsm1.model import NutrientBudget
import clearwater_modules.nsm1.algae.processes as processes


@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...
# TODO: verify all these values

# Only Algae Variables


Variable(
Expand Down
27 changes: 5 additions & 22 deletions src/clearwater_modules/nsm1/alkalinity/dynamic_variables.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,16 @@
# TODO: figure out imports
"""
File contains dynamic variables related to the alkalinity module
"""

import clearwater_modules.shared.processes as shared_processes
from clearwater_modules import base
from clearwater_modules.nsm1.carbon.model import CarbonBudget
from clearwater_modules.nsm1.model import NutrientBudget
from clearwater_modules.nsm1.alkalinity import processes


@base.register_variable(models=CarbonBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...

Variable(
name='knit_tc',
long_name='Nitrification rate corrected for temperature',
units='1/d',
description='Nitrification rate corrected for temperature',
use='dynamic',
process=processes.knit_tc
)

Variable(
name='kdnit_tc',
long_name='Denitrification rate corrected for temperature',
units='1/d',
description='Denitrification rate corrected for temperature',
use='dynamic',
process=processes.kdnit_tc
)

Variable(
name='Alk_denitrification',
long_name='Alkalinity change due to denitrification',
Expand Down
45 changes: 6 additions & 39 deletions src/clearwater_modules/nsm1/alkalinity/processes.py
Original file line number Diff line number Diff line change
@@ -1,44 +1,11 @@
"""
File contains process to calculate new alkalinity concentration and associated dependent variables
"""

import numba
import math
from clearwater_modules.shared.processes import (
arrhenius_correction
)
import xarray as xr
from clearwater_modules.nsm1.alkalinity import dynamic_variables
from clearwater_modules.nsm1.alkalinity import static_variables
from clearwater_modules.nsm1 import static_variables_global
from clearwater_modules.nsm1 import dynamic_variables_global
from clearwater_modules.nsm1 import state_variables

@numba.njit
def kdnit_tc(
TwaterC: float,
kdnit_20: float
) -> float:
"""Calculate kdnit_tc: Denitrification rate temperature correction (1/d). #TODO only if use_NO3 = true
Args:
TwaterC: Water temperature (C)
kdnit_20: Denitrification rate (1/d)
"""

return arrhenius_correction(TwaterC, kdnit_20, 1.045)


@numba.njit
def knit_tc( ##Theta variable??
TwaterC: float,
knit_20: float
) -> float:
"""Calculate knit_tc: Denitrification rate temperature correction (1/d). #TODO only if use_NO3 = true
Args:
TwaterC: Water temperature (C)
knit_20: Nitrification rate (1/d)
"""

return arrhenius_correction(TwaterC, knit_20, 1.045)

from clearwater_modules.shared.processes import arrhenius_correction
import math

def Alk_denitrification(
DOX: xr.DataArray,
Expand Down
31 changes: 6 additions & 25 deletions src/clearwater_modules/nsm1/alkalinity/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,35 +1,16 @@
"""
File contains static variables related to the Alkalinity module
"""

import clearwater_modules.base as base
from clearwater_modules.tsm.model import EnergyBudget
from clearwater_modules.nsm1.model import NutrientBudget


@base.register_variable(models=EnergyBudget)
@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...


Variable(
name='kdnit_20',
long_name='Denitrification rate at 20C',
units='1/d',
description='Denitrification rate at 20C',
use='static',
)

Variable(
name='knit_20',
long_name='Nitrification Rate Ammonia decay at 20C',
units='1/d',
description='Nitrification Rate Ammonia NH4 -> NO3 decay at 20C',
use='static',
)

Variable(
name='KNR',
long_name='Oxygen inhabitation factor for nitrification',
units='mg-O2/L',
description='Oxygen inhabitation factor for nitrification',
use='static',
)

Variable(
name='r_alkaa',
Expand Down
2 changes: 1 addition & 1 deletion src/clearwater_modules/nsm1/balgae/dynamic_variables.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
File includes dynamic variables computed in Balgae module. Dynamic variables may be accessed by other modules.
File contains dynamic variables related to the benthic algae module
"""

import clearwater_modules.shared.processes as shared_processes
Expand Down
5 changes: 2 additions & 3 deletions src/clearwater_modules/nsm1/balgae/processes.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
File contains process to calculate new benthic algae biomass concentration and associated dependent variables
"""

import math
from clearwater_modules.shared.processes import arrhenius_correction
import numba
import xarray as xr

from clearwater_modules.shared.processes import arrhenius_correction
import math

@numba.njit
def mub_max_tc(
Expand Down
8 changes: 2 additions & 6 deletions src/clearwater_modules/nsm1/balgae/static_variables.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
"""
File includes static variables only used in Algae module
File contains static variables related to the Benthic Algae module
"""

import clearwater_modules.base as base
from clearwater_modules.nsm1.model import NutrientBudget
import clearwater_modules.nsm1.algae.processes as processes


@base.register_variable(models=NutrientBudget)
class Variable(base.Variable):
...
# TODO: verify all these values

#Only Balgae Variables

Variable(
name='Fw',
Expand Down Expand Up @@ -138,7 +134,7 @@ class Variable(base.Variable):
name='b_light_limitation_option',
long_name='Benthic Algal light limitation rate options',
units='unitless',
description='Benthic Algal light limitation rate with three options: 1) Half-saturation formulation, 2) Smiths Model, 3) Steeles Model'
description='Benthic Algal light limitation rate with three options: 1) Half-saturation formulation, 2) Smiths Model, 3) Steeles Model',
use='static',
)

Expand Down
Loading

0 comments on commit fd4feb1

Please sign in to comment.