Skip to content

Commit f4c8558

Browse files
committed
Update keyword
Update keywords
1 parent e058574 commit f4c8558

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

schimpy/bctide.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"""
99
from schimpy.schism_yaml import load
1010
from schimpy.schism_mesh import SchismMeshGr3Reader, BoundaryType
11+
import datetime
1112
import numbers
1213
import numpy as np
1314
import click
@@ -643,8 +644,8 @@ def write_bctides(self, bctides_file):
643644
node_id_lst = hgrid.boundaries[i].nodes
644645
elev_id = 0
645646
elev_boundary = None
646-
if "elevation_boundary" in self.open_boundaries[i].keys():
647-
elev_boundary = self.open_boundaries[i]["elevation_boundary"]
647+
if "elevation" in self.open_boundaries[i]["variables"].keys():
648+
elev_boundary = self.open_boundaries[i]["variables"]["elevation"]
648649
elev_source = elev_boundary["source"]
649650
elev_key = elev_source
650651
if isinstance(elev_source, numbers.Number):
@@ -661,8 +662,8 @@ def write_bctides(self, bctides_file):
661662

662663
vel_id = 0
663664
vel_boundary = None
664-
if "velocity_boundary" in self.open_boundaries[i].keys():
665-
vel_boundary = self.open_boundaries[i]["velocity_boundary"]
665+
if "velocity" in self.open_boundaries[i]["variables"].keys():
666+
vel_boundary = self.open_boundaries[i]["variables"]["velocity"]
666667
vel_source = vel_boundary["source"]
667668
vel_key = vel_source
668669

@@ -684,8 +685,8 @@ def write_bctides(self, bctides_file):
684685
## output temperature and salinity boundary
685686
temp_id = 0
686687
temp_boundary = None
687-
if "temperature_boundary" in self.open_boundaries[i].keys():
688-
temp_boundary = self.open_boundaries[i]["temperature_boundary"]
688+
if "temperature" in self.open_boundaries[i]["variables"].keys():
689+
temp_boundary = self.open_boundaries[i]["variables"]["temperature"]
689690
temp_source = temp_boundary["source"]
690691
temp_key = temp_source
691692
if isinstance(temp_source, numbers.Number):
@@ -699,8 +700,8 @@ def write_bctides(self, bctides_file):
699700
)
700701
salt_id = 0
701702
salt_boundary = None
702-
if "salinity_boundary" in self.open_boundaries[i].keys():
703-
salt_boundary = self.open_boundaries[i]["salinity_boundary"]
703+
if "salinity" in self.open_boundaries[i]["variables"].keys():
704+
salt_boundary = self.open_boundaries[i]["variables"]["salinity"]
704705
salt_source = salt_boundary["source"]
705706
salt_key = salt_source
706707
if isinstance(salt_source, numbers.Number):
@@ -717,18 +718,20 @@ def write_bctides(self, bctides_file):
717718
tracer_boundary_sources = [0] * len(self.tracer_mod_pos)
718719
## this list save sorted tracer boundary index according to SCHISM code order
719720
tracer_boundary_lst_sorted = []
720-
if "tracers" in self.open_boundaries[i].keys():
721+
if "tracers" in self.open_boundaries[i]["variables"].keys():
721722
boundary_tracer_mod_num = len(
722-
self.open_boundaries[i]["tracers"]
723+
self.open_boundaries[i]["variables"]["tracers"]
723724
)
724725
for j in range(boundary_tracer_mod_num):
725-
tracer_boundary = self.open_boundaries[i]["tracers"][j]["source"]
726-
tracer_mod = self.open_boundaries[i]["tracers"][j]["module"]
726+
tracer_boundary = self.open_boundaries[i]["variables"]["tracers"][j]["source"]
727+
tracer_mod = self.open_boundaries[i]["variables"]["tracers"][j]["module"]
727728
## if tracer mod not in self.tracer_mod_pos, raise error
728729
if not (tracer_mod in self.tracer_mod_pos.keys()):
729730
raise ValueError(
730-
tracer_mod + " is not in specified tracer module list at the begining \
731-
of bctide yamal\n")
731+
f"Tracer module '{tracer_mod}' is not defined in the bctides 'modules' section. "
732+
f"Please add it to the top-level modules list. "
733+
f"Valid modules: {', '.join(sorted(self.tracer_mod_pos.keys()))}"
734+
)
732735

733736
tracer_boundary_key = tracer_boundary
734737
## set boundary key to "constant" if source is a number or list of numbers
@@ -740,7 +743,7 @@ def write_bctides(self, bctides_file):
740743
## length of tracer_boundary match the number of tracers defined
741744
## in self.tracer_mod_num
742745
if boundary_tracer_mod_num != self.tracer_mod_num[tracer_mod]:
743-
raise ValueError( self.open_boundaries[i]["name"] + ": "
746+
raise ValueError( self.open_boundaries[i]["name"] + ": "+
744747
tracer_mod + " boundary source length "
745748
+ str(boundary_tracer_mod_num)
746749
+ " does not match number of tracers defined in module section: "

0 commit comments

Comments
 (0)