Skip to content

Commit

Permalink
initial condition --> initial conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
ecoon committed Mar 4, 2025
1 parent 639f5d8 commit 74b152a
Show file tree
Hide file tree
Showing 9 changed files with 76 additions and 19 deletions.
4 changes: 2 additions & 2 deletions src/pks/energy/energy_surface_ice.cc
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ EnergySurfaceIce::Initialize()
{
// -- set the cell initial condition if it is taken from the subsurface
if (!S_->GetRecord(key_, tag_next_).initialized()) {
if (!plist_->isSublist("initial condition")) {
if (!plist_->isSublist("initial conditions")) {
Errors::Message message;
message << name_ << " has no initial condition parameter list.";
Exceptions::amanzi_throw(message);
Expand All @@ -122,7 +122,7 @@ EnergySurfaceIce::Initialize()
// Set the cell initial condition if it is taken from the subsurface
if (!S_->GetRecord(key_, tag_next_).initialized()) {
// TODO: make this go away! This should be in an MPC?
Teuchos::ParameterList& ic_plist = plist_->sublist("initial condition");
Teuchos::ParameterList& ic_plist = plist_->sublist("initial conditions");
if (ic_plist.get<bool>("initialize surface temperature from subsurface", false)) {
Teuchos::RCP<CompositeVector> surf_temp_cv =
S_->GetPtrW<CompositeVector>(key_, tag_next_, name_);
Expand Down
6 changes: 3 additions & 3 deletions src/pks/energy/energy_three_phase.cc
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ void
ThreePhase::Initialize()
{
// INTERFROST comparison needs some very specialized ICs
if (plist_->sublist("initial condition").isParameter("interfrost initial condition")) {
if (plist_->sublist("initial conditions").isParameter("interfrost initial condition")) {
AMANZI_ASSERT(
plist_->sublist("initial condition").get<std::string>("interfrost initial condition") ==
plist_->sublist("initial conditions").get<std::string>("interfrost initial condition") ==
"TH3");
Teuchos::RCP<CompositeVector> temp = S_->GetPtrW<CompositeVector>(key_, tag_next_, name_);
double r_sq = std::pow(0.5099, 2);
Expand All @@ -67,7 +67,7 @@ ThreePhase::Initialize()
S_->GetRecordW(key_, tag_next_, name_).set_initialized();

// additionally call Initalize() to get faces from cell values
S_->GetRecordW(key_, tag_next_, name_).Initialize(plist_->sublist("initial condition"));
S_->GetRecordW(key_, tag_next_, name_).Initialize(plist_->sublist("initial conditions"));
}

EnergyBase::Initialize();
Expand Down
4 changes: 2 additions & 2 deletions src/pks/flow/overland_pressure_pk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ OverlandPressureFlow::Initialize()

// initial condition is tricky
if (!S_->GetRecord(key_, tag_next_).initialized()) {
if (!plist_->isSublist("initial condition")) {
if (!plist_->isSublist("initial conditions")) {
Errors::Message message;
message << name_ << " has no initial condition parameter list.";
Exceptions::amanzi_throw(message);
Expand All @@ -443,7 +443,7 @@ OverlandPressureFlow::Initialize()
// There is a function to do this already in that MPC.
//
// set the cell initial condition if it is taken from the subsurface
Teuchos::ParameterList ic_plist = plist_->sublist("initial condition");
Teuchos::ParameterList ic_plist = plist_->sublist("initial conditions");
if (ic_plist.get<bool>("initialize surface head from subsurface", false)) {
Epetra_MultiVector& pres = *pres_cv->ViewComponent("cell", false);

Expand Down
12 changes: 6 additions & 6 deletions src/pks/flow/richards_pk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -578,10 +578,10 @@ void
Richards::InitializeHydrostatic_(const Tag& tag)
{
// constant head over the surface
if (plist_->sublist("initial condition").isParameter("hydrostatic head [m]")) {
double head_wt = plist_->sublist("initial condition").get<double>("hydrostatic head [m]");
if (plist_->sublist("initial conditions").isParameter("hydrostatic head [m]")) {
double head_wt = plist_->sublist("initial conditions").get<double>("hydrostatic head [m]");
double rho =
plist_->sublist("initial condition").get<double>("hydrostatic water density [kg m^-3]");
plist_->sublist("initial conditions").get<double>("hydrostatic water density [kg m^-3]");
int ncols = mesh_->columns.num_columns_owned;

const auto& gvec = S_->Get<AmanziGeometry::Point>("gravity", Tags::DEFAULT);
Expand Down Expand Up @@ -653,10 +653,10 @@ Richards::InitializeHydrostatic_(const Tag& tag)
}

// constant head datum
if (plist_->sublist("initial condition").isParameter("hydrostatic water level [m]")) {
double z_wt = plist_->sublist("initial condition").get<double>("hydrostatic water level [m]");
if (plist_->sublist("initial conditions").isParameter("hydrostatic water level [m]")) {
double z_wt = plist_->sublist("initial conditions").get<double>("hydrostatic water level [m]");
double rho =
plist_->sublist("initial condition").get<double>("hydrostatic water density [kg m^-3]");
plist_->sublist("initial conditions").get<double>("hydrostatic water density [kg m^-3]");

int z_index = mesh_->getSpaceDimension() - 1;
const auto& gravity = S_->Get<AmanziGeometry::Point>("gravity", Tags::DEFAULT);
Expand Down
2 changes: 1 addition & 1 deletion src/pks/surface_balance/CLM/surface_balance_CLM.cc
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ void
SurfaceBalanceCLM::InitializeCLM_(const Tag& tag)
{
// Initialize the CLM instance
Teuchos::ParameterList& ic_list = plist_->sublist("initial condition");
Teuchos::ParameterList& ic_list = plist_->sublist("initial conditions");
double snow_depth = ic_list.get<double>("initial snow depth [m]");
double temp = ic_list.get<double>("initial temperature [K]");
double year = ic_list.get<double>("initial time [yr]");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ ImplicitSubgrid::Initialize()
SurfaceBalanceBase::Initialize();

// initialize snow density, age
Teuchos::ParameterList& ic_list = plist_->sublist("initial condition");
Teuchos::ParameterList& ic_list = plist_->sublist("initial conditions");

if (!S_->GetRecord(snow_dens_key_, tag_next_).initialized()) {
if (ic_list.isParameter("restart file")) {
Expand Down
4 changes: 2 additions & 2 deletions src/pks/test_pks/divgrad_test/divgrad_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,15 @@ void
DivGradTest::initialize(const Teuchos::Ptr<State>& S)
{
// Check for PK-specific initialization
if (!plist_->isSublist("initial condition")) {
if (!plist_->isSublist("initial conditions")) {
std::stringstream messagestream;
messagestream << name_ << " has no initial condition parameter list.";
Errors::Message message(messagestream.str());
Exceptions::amanzi_throw(message);
}

// make sure the initial condition doesn't set faces in another way
Teuchos::ParameterList ic_plist = plist_->sublist("initial condition");
Teuchos::ParameterList ic_plist = plist_->sublist("initial conditions");
ic_plist.set("initialize faces from cells", false);

// initialize primary variable from the ic_plist condition
Expand Down
13 changes: 11 additions & 2 deletions tools/input_converters/xml-1.5-master.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from amanzi_xml.utils import io as aio
from amanzi_xml.utils import errors as aerrors
from amanzi_xml.common import parameter, parameter_list

import fix_chemistry_ts_control

def enforceDtHistory(xml):
"""Find and revert the timestep from file option, moving it to the cycle driver list."""
Expand Down Expand Up @@ -275,13 +275,22 @@ def fixTransportPKs(xml):
pk_type.setValue("transport ATS")
print("fixing transport pk")
fixTransportPK(pk, evals_list)


def initialConditionsList(xml):
for pk in xml.sublist("PKs"):
if pk.isElement("initial condition"):
pk.sublist("initial condition").setName("initial conditions")


def update(xml):
#enforceDtHistory(xml)
timeStep(xml)
tensorPerm(xml)
initialConditionsList(xml)
fixTransportPKs(xml)

# this fixes chemistry
fix_chemistry_ts_control.fixAll(xml)


if __name__ == "__main__":
Expand Down
48 changes: 48 additions & 0 deletions tools/utils/plot_lines.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import numpy as np
from matplotlib import pyplot as plt
import matplotlib.collections

def plotLines(x, y, t, ax=None, colorbar=True, colorbar_ticks=True, colorbar_label=None, t_min=None, t_max=None, **kwargs):
"""Plots lines by color."""

# create an axis if none
if ax is None:
fig, ax = plt.subplots()
else:
fig = ax.get_figure()

# set bounds
if t_min is None:
t_min = t[0]
if t_max is None:
t_max = t[-1]

# plot the lines
segments = [np.column_stack((x,y)) for (x,y) in zip(x,y)]
lc = matplotlib.collections.LineCollection(segments, **kwargs)
c = (t - t_min) / (t_max - t_min)
lc.set_array(c)

# add to axis
ax.add_collection(lc)
ax.autoscale()

if colorbar:
# create the colorbar
axcb = fig.colorbar(lc)

# label it
if colorbar_label is not None:
axcb.set_label(colorbar_label)

# transform ticks from [0,1] to [times[0], times[-1]]
if colorbar_ticks:
xticks = axcb.get_ticks()
new_ticks = [t * (t_max - t_min) + t_min for t in xticks]
axcb.set_ticklabels([str(np.round(t, 2)) for t in new_ticks])
else:
axcb.set_ticks(list())
else:
axcb = None
return ax, axcb

0 comments on commit 74b152a

Please sign in to comment.