Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/model_DAforcing.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

from troute.routing.fast_reach.reservoir_RFC_da import _validate_RFC_data
import netCDF4
from nwm_routing.log_level_set import log_level_set
from nwm_routing.log_level_set import log_level_set, MODULE_NAME
from troute.config import Config
LOG = logging.getLogger('')

LOG = logging.getLogger(MODULE_NAME)

class DAforcing_model():

Expand Down
4 changes: 2 additions & 2 deletions src/troute-bmi/src/troute_nwm_bmi/troute_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@

import nwm_routing.__main__ as nwm_routing
from nwm_routing.output import nwm_output_generator
from nwm_routing.log_level_set import log_level_set
from nwm_routing.log_level_set import log_level_set, MODULE_NAME

LOG = logging.getLogger("")
LOG = logging.getLogger(MODULE_NAME)


class Model:
Expand Down
4 changes: 3 additions & 1 deletion src/troute-network/troute/AbstractNetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
import troute.nhd_io as nhd_io
from .AbstractRouting import MCOnly, MCwithDiffusive, MCwithDiffusiveNatlXSectionNonRefactored, MCwithDiffusiveNatlXSectionRefactored

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

class AbstractNetwork(ABC):
"""
Expand Down
4 changes: 3 additions & 1 deletion src/troute-network/troute/AbstractRouting.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
from troute.nhd_network import reverse_network, reachable
from troute.nhd_network_utilities_v02 import organize_independent_networks, build_refac_connections

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def read_diffusive_domain(domain_file):
'''
Expand Down
5 changes: 4 additions & 1 deletion src/troute-network/troute/DataAssimilation.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
import time
import logging

LOG = logging.getLogger('')
from troute.routing.fast_reach.reservoir_RFC_da import _validate_RFC_data

from troute.network import bmi_array2df as a2df

from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

# set legacy run flag: option to pass data frames through BMI formalism
# not to be used in regular BMI runs any longer, only for debugging
legacy_bmi_df = False
Expand Down
11 changes: 11 additions & 0 deletions src/troute-network/troute/HYFeaturesNetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ def find_layer_name(layers, pattern):


def read_geopkg(file_path, compute_parameters, waterbody_parameters, cpu_pool):
print("reading geopkg")
# Retrieve available layers from the GeoPackage
available_layers = fiona.listlayers(file_path)

Expand All @@ -50,6 +51,7 @@ def read_geopkg(file_path, compute_parameters, waterbody_parameters, cpu_pool):
}

# Match available layers to the patterns
print("finding layers")
matched_layers = {key: find_layer_name(available_layers, pattern) for key, pattern in layer_patterns.items()}

layers_to_read = ["flowpaths", "flowpath_attributes", "hydrolocations"]
Expand Down Expand Up @@ -85,12 +87,17 @@ def read_layer(layer_name):
return pd.DataFrame()

# Retrieve geopackage information using matched layer names
print("about to read")
if cpu_pool > 1:
print("with parallel")
import sys
print(sys.executable)
with Parallel(n_jobs=min(cpu_pool, len(layers_to_read))) as parallel:
gpkg_list = parallel(delayed(read_layer)(matched_layers[layer]) for layer in layers_to_read)

table_dict = {layers_to_read[i]: gpkg_list[i] for i in range(len(layers_to_read))}
else:
print("without parallel")
table_dict = {layer: read_layer(matched_layers[layer]) for layer in layers_to_read}

# Handle different key column names between flowpaths and flowpath_attributes
Expand Down Expand Up @@ -350,14 +357,18 @@ def __init__(
from_files = False

# Preprocess network objects
print("preprocess_network")
self.preprocess_network(flowpaths, nexus)

print("crosswalk_nex_flowpath_poi")
self.crosswalk_nex_flowpath_poi(flowpaths, nexus)

# Preprocess waterbody objects
print("preprocess_waterbodies")
self.preprocess_waterbodies(lakes, nexus)

# Preprocess data assimilation objects #TODO: Move to DataAssimilation.py?
print("preprocess_data_assimilation")
self.preprocess_data_assimilation(network)

if self.preprocessing_parameters.get("preprocess_output_folder", None):
Expand Down
4 changes: 3 additions & 1 deletion src/troute-network/troute/NHDNetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
from troute.nhd_network import reverse_dict, extract_waterbody_connections, gage_mapping, extract_connections, replace_waterbodies_connections

import logging
LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

__showtiming__ = True #FIXME pass flag
__verbose__ = True #FIXME pass verbosity
Expand Down
3 changes: 2 additions & 1 deletion src/troute-network/troute/hyfeature_network_utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@

import troute.nhd_io as nhd_io

from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger('')
LOG = logging.getLogger(MODULE_NAME)


def build_da_sets(da_params, run_sets, t0):
Expand Down
4 changes: 3 additions & 1 deletion src/troute-network/troute/nhd_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@

from troute.nhd_network import reverse_dict

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def read_netcdf(geo_file_path):
'''
Expand Down
4 changes: 3 additions & 1 deletion src/troute-network/troute/nhd_network_utilities_v02.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
import troute.nhd_io as nhd_io
import troute.nhd_network as nhd_network

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def build_connections(supernetwork_parameters):
'''
Expand Down
3 changes: 2 additions & 1 deletion src/troute-nwm/src/nwm_routing/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@
import troute.hyfeature_network_utilities as hnu
import sys

from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger('')
LOG = logging.getLogger(MODULE_NAME)

'''
High level orchestration of ngen t-route simulations for NWM application
Expand Down
6 changes: 3 additions & 3 deletions src/troute-nwm/src/nwm_routing/input.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

import troute.nhd_io as nhd_io
import troute.nhd_network_utilities_v02 as nnu
from .log_level_set import log_level_set
from .log_level_set import log_level_set, MODULE_NAME
from troute.config import Config

LOG = logging.getLogger('')
LOG = logging.getLogger(MODULE_NAME)

def _input_handler_v04(args):
'''
Expand Down Expand Up @@ -120,7 +120,7 @@ def _input_handler_v03(args):

# configure python logger
log_level_set(log_parameters)
LOG = logging.getLogger('')
LOG = logging.getLogger(MODULE_NAME)

# if log level is at or below DEBUG, then check user inputs
if LOG.isEnabledFor(logging.DEBUG):
Expand Down
13 changes: 7 additions & 6 deletions src/troute-nwm/src/nwm_routing/log_level_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,24 +178,25 @@ def log_level_set(input_parameters):
handler.setFormatter(formatter)

# Setup root logger
logging.getLogger().handlers.clear() # Clear any default handlers
logging.getLogger().setLevel(translate_ngwpc_log_level(log_level))
logging.getLogger().addHandler(handler)
logger = logging.getLogger(MODULE_NAME)
logger.handlers.clear() # Clear any default handlers
logger.setLevel(translate_ngwpc_log_level(log_level))
logger.addHandler(handler)

# Ensure UTC timestamps
logging.Formatter.converter = time.gmtime

# Save the current log level
current_level = logging.getLogger().getEffectiveLevel()
current_level = logger.getEffectiveLevel()

try:
# Temporarily set log level to INFO
logging.getLogger().setLevel(logging.INFO)
logger.setLevel(logging.INFO)

# Log the message at INFO level
logging.info(f"Log level set to {log_level}")
print(f"Module {MODULE_NAME} Log Level set to {log_level}")
finally:
# Restore the original log level
logging.getLogger().setLevel(current_level)
logger.setLevel(current_level)

4 changes: 3 additions & 1 deletion src/troute-nwm/src/nwm_routing/output.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from build_tests import parity_check
import logging

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def _reindex_lake_to_link_id(target_df, crosswalk):
'''
Expand Down
4 changes: 3 additions & 1 deletion src/troute-nwm/src/nwm_routing/preprocess.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
import troute.nhd_network as nhd_network
import troute.nhd_io as nhd_io

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def _reindex_link_to_lake_id(target_df, crosswalk):
'''
Expand Down
4 changes: 3 additions & 1 deletion src/troute-routing/troute/routing/compute.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

import logging

LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

_compute_func_map = defaultdict(
compute_network_structured,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import numpy as np
import logging
from datetime import datetime, timedelta
LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def great_lakes_da(
gage_obs,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import numpy as np
import logging
LOG = logging.getLogger('')
from nwm_routing.log_level_set import MODULE_NAME

LOG = logging.getLogger(MODULE_NAME)

def _modify_for_projected_storage(
inflow,
Expand Down