Skip to content

Commit

Permalink
fix various small issues
Browse files Browse the repository at this point in the history
  • Loading branch information
changliao1025 committed Apr 13, 2024
1 parent ffbc460 commit 6164077
Show file tree
Hide file tree
Showing 22 changed files with 218 additions and 116 deletions.
2 changes: 1 addition & 1 deletion notebooks/mpas_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"import sys\n",
"from pathlib import Path\n",
"from os.path import realpath\n",
"import importlib\n",
"import importlib.util\n",
"#check dependencies\n",
"\n",
"iFlag_numpy = importlib.util.find_spec(\"numpy\")\n",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
import numpy as np
from osgeo import ogr, osr
import importlib
import importlib.util

from pyflowline.algorithms.auxiliary.find_index_in_list import find_list_in_list

Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/auxiliary/find_index_in_list.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import copy
import numpy as np
import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
from pyflowline.algorithms.cython.kernel import find_vertex_in_list
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/auxiliary/find_vertex_in_list.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

import importlib
import importlib.util
import numpy as np
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/index/define_stream_order.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

import numpy as np
import importlib
import importlib.util
from pyflowline.algorithms.auxiliary.check_head_water import check_head_water #this function should not be used since stream order of headwater is available
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#from shapely.wkt import loads
from pyflowline.classes.vertex import pyvertex

import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
from pyflowline.algorithms.cython.kernel import find_vertex_in_list
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

import os
import importlib
import importlib.util
import numpy as np
from osgeo import ogr, osr
#from shapely.wkt import loads
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/merge/merge_flowline.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

import numpy as np
import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
from pyflowline.algorithms.cython.kernel import find_vertex_in_list
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
def remove_returning_flowline(iMesh_type_in, aCell_intersect_in, pVertex_outlet_in):
aFlowline_out=list()
nCell = len(aCell_intersect_in)
#lCellID_to_cell = {cell.lCellID: cell for cell in aCell_intersect_in}
def simplify_list(aCell_flowline_in):
aCell_flowline_out = copy.deepcopy(aCell_flowline_in)
nCell2 = len(aCell_flowline_out)
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/split/find_flowline_confluence.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

import numpy as np
import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")

from pyflowline.algorithms.split.find_flowline_vertex import find_flowline_vertex
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/split/find_flowline_vertex.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
from pyflowline.algorithms.cython.kernel import add_unique_vertex
Expand Down
2 changes: 1 addition & 1 deletion pyflowline/algorithms/split/split_flowline.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from pyflowline.classes.edge import pyedge
from pyflowline.classes.flowline import pyflowline

import importlib
import importlib.util
iFlag_cython = importlib.util.find_spec("cython")
if iFlag_cython is not None:
from pyflowline.algorithms.cython.kernel import find_vertex_on_edge
Expand Down
214 changes: 146 additions & 68 deletions pyflowline/classes/_visual_basin.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def basin_plot(self,
sFilename_mesh_in = None,
iFont_size_in = None,
iFlag_title_in=None,
iFlag_colorbar_in=None,
iFlag_colorbar_in=None,
iFlag_scientific_notation_colorbar_in=None,
iFlag_openstreetmap_in = None,
dData_min_in = None,
Expand Down Expand Up @@ -67,7 +67,7 @@ def basin_plot(self,
self._plot_polygon_variable( sVariable_in,
iFlag_title_in= iFlag_title_in,
iFont_size_in=iFont_size_in,
iFlag_colorbar_in=iFlag_colorbar_in,
iFlag_colorbar_in=iFlag_colorbar_in,
iFlag_scientific_notation_colorbar_in=iFlag_scientific_notation_colorbar_in,
dData_min_in = dData_min_in,
dData_max_in = dData_max_in,
Expand Down Expand Up @@ -116,10 +116,34 @@ def basin_plot(self,
aLegend_in = aLegend_in,
aFlag_color_in = [0, 0, 1],
aFlag_fill_in = [0, 0, 0],
aFlag_discrete_in = [0, 0, 1],
aExtent_in = aExtent_in,
pProjection_map_in = pProjection_map_in)
else:
if sVariable_in == "hillslope_with_flow_direction":
sFilename0 = self.sFilename_hillslope_parquet
sFilename1 = self.sFilename_flow_direction
aFiletype_in = [3, 2]
aFilename_in = [sFilename0, sFilename1]
map_multiple_vector_data(aFiletype_in,
aFilename_in,
iFlag_title_in=iFlag_title_in,
iFont_size_in=iFont_size_in,
iFlag_openstreetmap_in=iFlag_openstreetmap_in,
sFilename_output_in=sFilename_output_in,
sTitle_in= 'Flow direction with hillslope',
aData_min_in=[1, 1],
aFlag_thickness_in= [0, 1],
aFlag_discrete_in = [1,0],
aVariable_in= ['hillslope', 'drainage_area'],
aLegend_in = aLegend_in,
aFlag_color_in = [1, 0],
aFlag_fill_in = [1, 0],
aExtent_in = aExtent_in,
pProjection_map_in = pProjection_map_in)
else:
print('Unsupported variable: ', sVariable_in, ' in basin_plot.')

else:
print('Unsupported variable: ', sVariable_in, ' in basin_plot.')
return

pass
Expand Down Expand Up @@ -237,6 +261,7 @@ def _plot_polygon_variable(self,
iFigwidth_in=None,
iFigheight_in=None,
iFlag_colorbar_in=None,
iFlag_discrete_in= None,
iFlag_title_in=None,
iFont_size_in=None,
iFlag_scientific_notation_colorbar_in = None,
Expand All @@ -260,92 +285,144 @@ def _plot_polygon_variable(self,
"""

sMesh_type = self.sMesh_type
iFiletype = 1 #most file are geojson, but some are parquet
iFlag_integer_in = 0 #most variable are real, if not, it will be set to 1

if sMesh_type == 'mpas':
if sVariable_in == 'elevation':
sVariable='elevation' #Elevation_profile'
sTitle = 'Surface elevation'
sUnit = 'Unit: m'
sColormap ='terrain'
dData_min = dData_min_in
#start with integer
if sVariable_in == 'subbasin':
iFlag_integer_in = 1
iFiletype = 3
sVariable='subbasin'
sTitle = 'Subbasin'
sUnit = 'ID'
sColormap='Spectral_r'
dData_min = 1
dData_max = dData_max_in
sFilename = self.sFilename_elevation
sFilename = self.sFilename_variable_polygon
sFilename = self.sFilename_subbasin_parquet
else:
if sVariable_in == 'drainage_area':
sVariable='drainage_area'
sTitle = 'Drainage area'
sUnit = r'Units: $m^{2}$'
dData_min = dData_min_in
if sVariable_in == 'hillslope':
sVariable='hillslope'
iFlag_integer_in = 1
iFiletype = 3
sTitle = 'Hillslope'
sUnit = 'ID'
sColormap='Spectral_r'
dData_min = 1
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon
sFilename = self.sFilename_hillslope_parquet
else:
if sVariable_in == 'travel_distance':
sVariable='travel_distance'
sTitle = 'Distance to outlet'
sUnit = r'Unit: m'
dData_min = 0.0
dData_max = dData_max_in
sColormap ='Spectral_r'
#then with real
if sVariable_in == 'elevation':
sVariable='elevation' #Elevation_profile'
sTitle = 'Surface elevation'
sUnit = 'Unit: m'
sColormap ='terrain'
dData_min = dData_min_in
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
else:
sVariable='slope'
sTitle = 'Surface slope'
sUnit = 'Unit: percent'
sColormap='Spectral_r'
dData_min = 0.0
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
if sVariable_in == 'drainage_area':
sVariable='drainage_area'
sTitle = 'Drainage area'
sUnit = r'Units: $m^{2}$'
dData_min = dData_min_in
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon
else:
if sVariable_in == 'travel_distance':
sVariable='travel_distance'
sTitle = 'Distance to outlet'
sUnit = r'Unit: m'
dData_min = 0.0
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon
else:
if sVariable=='slope':
sTitle = 'Surface slope'
sUnit = 'Unit: percent'
sColormap='Spectral_r'
dData_min = 0.0
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
else:
pass


else:
if sVariable_in == 'area':
sVariable='area'
sTitle = 'Area'
sUnit = r'Units: $m^{2}$'
sColormap ='terrain'
dData_min = dData_min_in
if sVariable_in == 'subbasin':
iFlag_integer_in = 1
iFiletype = 3
sVariable='subbasin'
sTitle = 'Subbasin'
sUnit = 'ID'
sColormap='Spectral_r'
dData_min = 1
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
pass
sFilename = self.sFilename_subbasin_parquet
else:
if sVariable_in == 'elevation':
sVariable='elevation'
sTitle = 'Surface elevation'
sUnit = r'Unit: m'
sColormap ='terrain'
dData_min = dData_min_in
if sVariable_in == 'hillslope':
sVariable='hillslope'
iFlag_integer_in = 1
iFiletype = 3
sTitle = 'Hillslope'
sUnit = 'ID'
sColormap='Spectral_r'
dData_min = 1
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
sFilename = self.sFilename_hillslope_parquet
else:
if sVariable_in == 'drainage_area':
sVariable='drainage_area'
sTitle = 'Drainage area'
if sVariable_in == 'area':
sVariable='area'
sTitle = 'Area'
sUnit = r'Units: $m^{2}$'
sColormap ='terrain'
dData_min = dData_min_in
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon

pass
else:
if sVariable_in == 'travel_distance':
sVariable='travel_distance'
sTitle = 'Travel distance'
if sVariable_in == 'elevation':
sVariable='elevation'
sTitle = 'Surface elevation'
sUnit = r'Unit: m'
dData_min = 0.0
dData_max = dData_max_in
sColormap ='Spectral_r'
iFlag_subbasin = 1
sFilename = self.sFilename_variable_polygon
else:
sVariable='slope'
sTitle = 'Surface slope'
sUnit = r'Unit: percent'
sColormap='Spectral_r'
sColormap ='terrain'
dData_min = dData_min_in
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
pass
else:
if sVariable_in == 'drainage_area':
sVariable='drainage_area'
sTitle = 'Drainage area'
sUnit = r'Units: $m^{2}$'
dData_min = dData_min_in
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon

else:
if sVariable_in == 'travel_distance':
sVariable='travel_distance'
sTitle = 'Travel distance'
sUnit = r'Unit: m'
dData_min = 0.0
dData_max = dData_max_in
sColormap ='Spectral_r'
sFilename = self.sFilename_variable_polygon
else:
if sVariable_in=='slope':
sVariable = 'slope'
sTitle = 'Surface slope'
sUnit = r'Unit: percent'
sColormap='Spectral_r'
dData_min = dData_min_in
dData_max = dData_max_in
sFilename = self.sFilename_variable_polygon
else:
pass
pass

if iFlag_title_in is not None:
if iFlag_title_in == 0:
Expand All @@ -356,11 +433,12 @@ def _plot_polygon_variable(self,
sTitle=''
pass

map_vector_polygon_data(1,sFilename,
map_vector_polygon_data(iFiletype, sFilename,
iFlag_color_in = 1,
iFlag_colorbar_in = iFlag_colorbar_in,
iFont_size_in = iFont_size_in,
iFlag_scientific_notation_colorbar_in = iFlag_scientific_notation_colorbar_in,
iFlag_discrete_in = iFlag_integer_in,
dData_max_in = dData_max,
dData_min_in = dData_min,
sFilename_output_in=sFilename_output_in,
Expand Down
Loading

0 comments on commit 6164077

Please sign in to comment.