diff --git a/cmf/__init__.py b/cmf/__init__.py index 2ed1706a..3e5fd0cb 100644 --- a/cmf/__init__.py +++ b/cmf/__init__.py @@ -22,8 +22,8 @@ from .timetools import StopWatch, datetime_to_cmf, timerange -__version__ = '2.0.0b4.cmf2' -__compiletime__ = 'Mon Sep 23 14:41:22 2019' +__version__ = '2.0.0b5.cmf2' +__compiletime__ = 'Fri Jan 15 16:05:41 2021' from .cmf_core import connect_cells_with_flux as __ccwf diff --git a/cmf/cmf_core.py b/cmf/cmf_core.py index 50da6592..51ba36f7 100644 --- a/cmf/cmf_core.py +++ b/cmf/cmf_core.py @@ -1,15 +1,15 @@ # This file was automatically generated by SWIG (http://www.swig.org). -# Version 4.0.0 +# Version 4.0.2 # # Do not make changes to this file unless you know what you are doing--modify # the SWIG interface file instead. from sys import version_info as _swig_python_version_info if _swig_python_version_info < (2, 7, 0): - raise RuntimeError('Python 2.7 or later required') + raise RuntimeError("Python 2.7 or later required") # Import the low-level C/C++ module -if __package__ or '.' in __name__: +if __package__ or "." in __name__: from . import _cmf_core else: import _cmf_core @@ -22,35 +22,6 @@ _swig_new_instance_method = _cmf_core.SWIG_PyInstanceMethod_New _swig_new_static_method = _cmf_core.SWIG_PyStaticMethod_New -def _swig_setattr_nondynamic(self, class_type, name, value, static=1): - if name == "thisown": - return self.this.own(value) - if name == "this": - if type(value).__name__ == 'SwigPyObject': - self.__dict__[name] = value - return - method = class_type.__swig_setmethods__.get(name, None) - if method: - return method(self, value) - if not static: - object.__setattr__(self, name, value) - else: - raise AttributeError("You cannot add attributes to %s" % self) - - -def _swig_setattr(self, class_type, name, value): - return _swig_setattr_nondynamic(self, class_type, name, value, 0) - - -def _swig_getattr(self, class_type, name): - if name == "thisown": - return self.this.own() - method = class_type.__swig_getmethods__.get(name, None) - if method: - return method(self) - raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name)) - - def _swig_repr(self): try: strthis = "proxy of " + self.this.__repr__() @@ -110,7 +81,7 @@ class cubicspline(object): C++ includes: spline.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -142,7 +113,7 @@ class point(object): C++ includes: geometry.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr x = property(_cmf_core.point_x_get, _cmf_core.point_x_set, doc=r"""x : double""") y = property(_cmf_core.point_y_get, _cmf_core.point_y_set, doc=r"""y : double""") @@ -238,7 +209,7 @@ class point_vector(object): C++ includes: geometry.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr X = property(_cmf_core.point_vector_X_get, _cmf_core.point_vector_X_set, doc=r"""X : cmf::math::num_array""") Y = property(_cmf_core.point_vector_Y_get, _cmf_core.point_vector_Y_set, doc=r"""Y : cmf::math::num_array""") @@ -356,7 +327,7 @@ class Time(object): C++ includes: time.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr ms_per_day = _cmf_core.Time_ms_per_day @@ -465,7 +436,7 @@ class Date(object): C++ includes: time.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr year = property(_cmf_core.Date_year_get, _cmf_core.Date_year_set, doc=r"""year : int""") month = property(_cmf_core.Date_month_get, _cmf_core.Date_month_set, doc=r"""month : int""") @@ -530,7 +501,7 @@ class timeseries(object): C++ includes: timeseries.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr set_begin = _swig_new_instance_method(_cmf_core.timeseries_set_begin) set_step = _swig_new_instance_method(_cmf_core.timeseries_set_step) @@ -700,7 +671,7 @@ class StateVariable(object): C++ includes: statevariable.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -722,7 +693,7 @@ def __repr__(self): class state_list(object): r"""Proxy of C++ cmf::math::state_list class.""" - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -784,7 +755,7 @@ class Adsorption(object): C++ includes: adsorption.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -807,7 +778,7 @@ class NullAdsorption(Adsorption): C++ includes: adsorption.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr copy = _swig_new_instance_method(_cmf_core.NullAdsorption_copy) __swig_destroy__ = _cmf_core.delete_NullAdsorption @@ -858,7 +829,7 @@ class LinearAdsorption(Adsorption): C++ includes: adsorption.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr K = property(_cmf_core.LinearAdsorption_K_get, _cmf_core.LinearAdsorption_K_set, doc=r"""K : real""") m = property(_cmf_core.LinearAdsorption_m_get, _cmf_core.LinearAdsorption_m_set, doc=r"""m : real""") @@ -918,7 +889,7 @@ class FreundlichAdsorbtion(Adsorption): C++ includes: adsorption.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr K = property(_cmf_core.FreundlichAdsorbtion_K_get, _cmf_core.FreundlichAdsorbtion_K_set, doc=r"""K : real""") n = property(_cmf_core.FreundlichAdsorbtion_n_get, _cmf_core.FreundlichAdsorbtion_n_set, doc=r"""n : real""") @@ -977,7 +948,7 @@ class LangmuirAdsorption(Adsorption): C++ includes: adsorption.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr K = property(_cmf_core.LangmuirAdsorption_K_get, _cmf_core.LangmuirAdsorption_K_set, doc=r"""K : real""") m = property(_cmf_core.LangmuirAdsorption_m_get, _cmf_core.LangmuirAdsorption_m_set, doc=r"""m : real""") @@ -1004,7 +975,7 @@ class solute(object): C++ includes: Solute.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): r""" @@ -1038,7 +1009,7 @@ class solute_vector(object): C++ includes: Solute.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr size = _swig_new_instance_method(_cmf_core.solute_vector_size) @@ -1075,7 +1046,7 @@ class SoluteTimeseries(object): C++ includes: Solute.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr conc = _swig_new_instance_method(_cmf_core.SoluteTimeseries_conc) size = _swig_new_instance_method(_cmf_core.SoluteTimeseries_size) @@ -1126,7 +1097,7 @@ class SoluteStorage(StateVariable): C++ includes: SoluteStorage.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -1162,7 +1133,7 @@ class flux_node(object): C++ includes: flux_node.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr node_id = property(_cmf_core.flux_node_node_id_get, doc=r"""node_id : q(const).int""") is_storage = _swig_new_instance_method(_cmf_core.flux_node_is_storage) @@ -1221,7 +1192,7 @@ class flux_connection(object): C++ includes: flux_connection.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -1271,7 +1242,7 @@ class connection_list(object): C++ includes: flux_connection.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr append = _swig_new_instance_method(_cmf_core.connection_list_append) extend = _swig_new_instance_method(_cmf_core.connection_list_extend) @@ -1314,7 +1285,7 @@ class linear_scale(object): C++ includes: boundary_condition.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr displacement = property(_cmf_core.linear_scale_displacement_get, _cmf_core.linear_scale_displacement_set, doc=r"""displacement : real""") slope = property(_cmf_core.linear_scale_slope_get, _cmf_core.linear_scale_slope_set, doc=r"""slope : real""") @@ -1348,7 +1319,7 @@ class DirichletBoundary(flux_node): C++ includes: boundary_condition.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr set_dynamic_potential = _swig_new_instance_method(_cmf_core.DirichletBoundary_set_dynamic_potential) set_conc = _swig_new_instance_method(_cmf_core.DirichletBoundary_set_conc) @@ -1384,7 +1355,7 @@ class NeumannBoundary(flux_node): C++ includes: boundary_condition.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr get_flux = _swig_new_instance_method(_cmf_core.NeumannBoundary_get_flux) set_flux = _swig_new_instance_method(_cmf_core.NeumannBoundary_set_flux) @@ -1427,7 +1398,7 @@ class NeumannFlux(flux_connection): C++ includes: boundary_condition.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -1466,7 +1437,7 @@ class WaterStorage(StateVariable, flux_node): C++ includes: WaterStorage.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -1530,7 +1501,7 @@ class WaterbalanceFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -1558,7 +1529,7 @@ class ExternallyControlledFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr flux = property(_cmf_core.ExternallyControlledFlux_flux_get, _cmf_core.ExternallyControlledFlux_flux_set, doc=r"""flux : real""") @@ -1600,7 +1571,7 @@ class LinearStorageConnection(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr residencetime = property(_cmf_core.LinearStorageConnection_residencetime_get, _cmf_core.LinearStorageConnection_residencetime_set, doc=r"""residencetime : real""") residual = property(_cmf_core.LinearStorageConnection_residual_get, _cmf_core.LinearStorageConnection_residual_set, doc=r"""residual : real""") @@ -1674,7 +1645,7 @@ class PowerLawConnection(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Q0 = property(_cmf_core.PowerLawConnection_Q0_get, _cmf_core.PowerLawConnection_Q0_set, doc=r"""Q0 : real""") beta = property(_cmf_core.PowerLawConnection_beta_get, _cmf_core.PowerLawConnection_beta_set, doc=r"""beta : real""") @@ -1730,7 +1701,7 @@ class ExponentialDeclineConnection(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Q0 = property(_cmf_core.ExponentialDeclineConnection_Q0_get, _cmf_core.ExponentialDeclineConnection_Q0_set, doc=r"""Q0 : real""") m = property(_cmf_core.ExponentialDeclineConnection_m_get, _cmf_core.ExponentialDeclineConnection_m_set, doc=r"""m : real""") @@ -1783,7 +1754,7 @@ class ConstraintLinearStorageFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr residencetime = property(_cmf_core.ConstraintLinearStorageFlux_residencetime_get, _cmf_core.ConstraintLinearStorageFlux_residencetime_set, doc=r"""residencetime : real""") Vlmin = property(_cmf_core.ConstraintLinearStorageFlux_Vlmin_get, _cmf_core.ConstraintLinearStorageFlux_Vlmin_set, doc=r"""Vlmin : real""") @@ -1851,7 +1822,7 @@ class ConstantFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr MaxFlux = property(_cmf_core.ConstantFlux_MaxFlux_get, _cmf_core.ConstantFlux_MaxFlux_set, doc=r"""MaxFlux : real""") MinState = property(_cmf_core.ConstantFlux_MinState_get, _cmf_core.ConstantFlux_MinState_set, doc=r"""MinState : real""") @@ -1912,7 +1883,7 @@ class LinearGradientFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Q1 = property(_cmf_core.LinearGradientFlux_Q1_get, _cmf_core.LinearGradientFlux_Q1_set, doc=r"""Q1 : real""") d = property(_cmf_core.LinearGradientFlux_d_get, _cmf_core.LinearGradientFlux_d_set, doc=r"""d : real""") @@ -1968,7 +1939,7 @@ class ConstantStateFlux(flux_connection): C++ includes: simple_connections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr reaction_time = property(_cmf_core.ConstantStateFlux_reaction_time_get, _cmf_core.ConstantStateFlux_reaction_time_set, doc=r"""reaction_time : cmf::math::Time""") target_state = property(_cmf_core.ConstantStateFlux_target_state_get, _cmf_core.ConstantStateFlux_target_state_set, doc=r"""target_state : real""") @@ -2017,7 +1988,7 @@ class node_list(object): C++ includes: collections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr size = _swig_new_instance_method(_cmf_core.node_list_size) @@ -2041,7 +2012,6 @@ def __init__(self, *args): global_water_balance = _swig_new_instance_method(_cmf_core.node_list_global_water_balance) water_balance = _swig_new_instance_method(_cmf_core.node_list_water_balance) conc = _swig_new_instance_method(_cmf_core.node_list_conc) - set_solute_source = _swig_new_instance_method(_cmf_core.node_list_set_solute_source) get_fluxes_to = _swig_new_instance_method(_cmf_core.node_list_get_fluxes_to) get_fluxes3d_to = _swig_new_instance_method(_cmf_core.node_list_get_fluxes3d_to) get_fluxes3d = _swig_new_instance_method(_cmf_core.node_list_get_fluxes3d) @@ -2102,7 +2072,7 @@ class NeumannBoundary_list(object): C++ includes: collections.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr get = _swig_new_instance_method(_cmf_core.NeumannBoundary_list_get) get_fluxes = _swig_new_instance_method(_cmf_core.NeumannBoundary_list_get_fluxes) @@ -2163,7 +2133,7 @@ class Weather(object): C++ includes: Weather.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr T = property(_cmf_core.Weather_T_get, _cmf_core.Weather_T_set, doc=r"""T : double""") Tmax = property(_cmf_core.Weather_Tmax_get, _cmf_core.Weather_Tmax_set, doc=r"""Tmax : double""") @@ -2241,7 +2211,7 @@ class Meteorology(object): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -2266,7 +2236,7 @@ class ConstantMeteorology(Meteorology): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr weather = property(_cmf_core.ConstantMeteorology_weather_get, _cmf_core.ConstantMeteorology_weather_set, doc=r"""weather : cmf::atmosphere::Weather""") @@ -2313,7 +2283,7 @@ class can estimate missing data from a minimal set. As more data, as C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Latitude = property(_cmf_core.MeteoStation_Latitude_get, _cmf_core.MeteoStation_Latitude_set, doc=r"""Latitude : double""") Longitude = property(_cmf_core.MeteoStation_Longitude_get, _cmf_core.MeteoStation_Longitude_set, doc=r"""Longitude : double""") @@ -2381,7 +2351,7 @@ class MeteoStationReference(Meteorology): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr get_station = _swig_new_instance_method(_cmf_core.MeteoStationReference_get_station) get_position = _swig_new_instance_method(_cmf_core.MeteoStationReference_get_position) @@ -2411,7 +2381,7 @@ class MeteoStationList(object): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr __len__ = _swig_new_instance_method(_cmf_core.MeteoStationList___len__) __getitem__ = _swig_new_instance_method(_cmf_core.MeteoStationList___getitem__) @@ -2453,7 +2423,7 @@ class IDW_Meteorology(Meteorology): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -2481,7 +2451,7 @@ class aerodynamic_resistance(object): C++ includes: meteorology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -2501,7 +2471,7 @@ class RainSource(flux_node): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -2528,7 +2498,7 @@ class ConstantRainSource(RainSource): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr intensity = property(_cmf_core.ConstantRainSource_intensity_get, _cmf_core.ConstantRainSource_intensity_set, doc=r"""intensity : real""") @@ -2575,7 +2545,7 @@ class TimeseriesRainSource(RainSource): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -2600,7 +2570,7 @@ class RainfallStation(object): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") Location = property(_cmf_core.RainfallStation_Location_get, _cmf_core.RainfallStation_Location_set, doc=r"""Location : cmf::geometry::point""") create = _swig_new_static_method(_cmf_core.RainfallStation_create) id = property(_cmf_core.RainfallStation_id_get, doc=r"""id : q(const).size_t""") @@ -2634,7 +2604,7 @@ class RainfallStationList(object): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr __len__ = _swig_new_instance_method(_cmf_core.RainfallStationList___len__) __getitem__ = _swig_new_instance_method(_cmf_core.RainfallStationList___getitem__) @@ -2666,7 +2636,7 @@ class RainfallStationReference(RainSource): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -2696,7 +2666,7 @@ class IDWRainfall(RainSource): C++ includes: precipitation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -2722,7 +2692,7 @@ class Vegetation(object): C++ includes: StructVegetation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") LAI = property(_cmf_core.Vegetation_LAI_get, _cmf_core.Vegetation_LAI_set, doc=r"""LAI : double""") Height = property(_cmf_core.Vegetation_Height_get, _cmf_core.Vegetation_Height_set, doc=r"""Height : double""") albedo = property(_cmf_core.Vegetation_albedo_get, _cmf_core.Vegetation_albedo_set, doc=r"""albedo : double""") @@ -2764,7 +2734,7 @@ class CellConnector(object): C++ includes: cell.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -2793,7 +2763,7 @@ class Cell(object): C++ includes: cell.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr x = property(_cmf_core.Cell_x_get, _cmf_core.Cell_x_set, doc=r"""x : double""") y = property(_cmf_core.Cell_y_get, _cmf_core.Cell_y_set, doc=r"""y : double""") @@ -2933,7 +2903,7 @@ class Topology(object): C++ includes: Topology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -2967,7 +2937,7 @@ class neighbor_iterator(object): C++ includes: Topology.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -2996,7 +2966,7 @@ class cell_vector(object): C++ includes: cell_vector.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -3051,7 +3021,7 @@ class subcatchment(object): C++ includes: algorithm.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr pourpoint = property(_cmf_core.subcatchment_pourpoint_get, doc=r"""pourpoint : r.q(const).cmf::upslope::Cell""") inflowcells = property(_cmf_core.subcatchment_inflowcells_get, _cmf_core.subcatchment_inflowcells_set, doc=r"""inflowcells : cmf::upslope::cell_vector""") @@ -3097,7 +3067,7 @@ class RetentionCurve(object): C++ includes: RetentionCurve.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -3159,7 +3129,7 @@ class BrooksCoreyRetentionCurve(RetentionCurve): C++ includes: RetentionCurve.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Ksat = property(_cmf_core.BrooksCoreyRetentionCurve_Ksat_get, _cmf_core.BrooksCoreyRetentionCurve_Ksat_set, doc=r"""Ksat : real""") SetPorosity = _swig_new_instance_method(_cmf_core.BrooksCoreyRetentionCurve_SetPorosity) @@ -3247,7 +3217,7 @@ class VanGenuchtenMualem(RetentionCurve): C++ includes: RetentionCurve.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr alpha = property(_cmf_core.VanGenuchtenMualem_alpha_get, _cmf_core.VanGenuchtenMualem_alpha_set, doc=r"""alpha : real""") n = property(_cmf_core.VanGenuchtenMualem_n_get, _cmf_core.VanGenuchtenMualem_n_set, doc=r"""n : real""") @@ -3327,7 +3297,7 @@ class LinearRetention(RetentionCurve): C++ includes: RetentionCurve.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Ksat = property(_cmf_core.LinearRetention_Ksat_get, _cmf_core.LinearRetention_Ksat_set, doc=r"""Ksat : real""") porosity = property(_cmf_core.LinearRetention_porosity_get, _cmf_core.LinearRetention_porosity_set, doc=r"""porosity : real""") @@ -3366,7 +3336,7 @@ class conductable(object): C++ includes: conductable.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -3388,7 +3358,7 @@ class SoilLayer(WaterStorage, conductable): C++ includes: SoilLayer.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -3449,7 +3419,7 @@ class layer_list(object): C++ includes: layer_list.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -3541,7 +3511,7 @@ class MacroPore(WaterStorage): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -3580,7 +3550,7 @@ def __repr__(self): class BaseMacroFlow(flux_connection): r"""Proxy of C++ cmf::upslope::connections::BaseMacroFlow class.""" - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -3608,7 +3578,7 @@ class GradientMacroFlow(BaseMacroFlow): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -3653,7 +3623,7 @@ class KinematicMacroFlow(BaseMacroFlow): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -3718,7 +3688,7 @@ class JarvisMacroFlow(BaseMacroFlow): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr beta = property(_cmf_core.JarvisMacroFlow_beta_get, _cmf_core.JarvisMacroFlow_beta_set, doc=r"""beta : real""") porefraction_r = property(_cmf_core.JarvisMacroFlow_porefraction_r_get, _cmf_core.JarvisMacroFlow_porefraction_r_set, doc=r"""porefraction_r : real""") @@ -3776,7 +3746,7 @@ class GradientMacroMicroExchange(flux_connection): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -3829,7 +3799,7 @@ class DiffusiveMacroMicroExchange(flux_connection): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr omega = property(_cmf_core.DiffusiveMacroMicroExchange_omega_get, _cmf_core.DiffusiveMacroMicroExchange_omega_set, doc=r"""omega : real""") pFrmi = property(_cmf_core.DiffusiveMacroMicroExchange_pFrmi_get, _cmf_core.DiffusiveMacroMicroExchange_pFrmi_set, doc=r"""pFrmi : real""") @@ -3889,7 +3859,7 @@ class MACROlikeMacroMicroExchange(flux_connection): C++ includes: macropore.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Gf = property(_cmf_core.MACROlikeMacroMicroExchange_Gf_get, _cmf_core.MACROlikeMacroMicroExchange_Gf_set, doc=r"""Gf : real""") gamma_w = property(_cmf_core.MACROlikeMacroMicroExchange_gamma_w_get, _cmf_core.MACROlikeMacroMicroExchange_gamma_w_set, doc=r"""gamma_w : real""") @@ -3918,7 +3888,7 @@ class IVolumeHeightFunction(object): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -3942,7 +3912,7 @@ class Prism(IVolumeHeightFunction): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Area = property(_cmf_core.Prism_Area_get, _cmf_core.Prism_Area_set, doc=r"""Area : double""") RoughThickness = property(_cmf_core.Prism_RoughThickness_get, _cmf_core.Prism_RoughThickness_set, doc=r"""RoughThickness : double""") @@ -3969,7 +3939,7 @@ class volume_height_function(IVolumeHeightFunction): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -3997,7 +3967,7 @@ class IChannel(IVolumeHeightFunction): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -4032,7 +4002,7 @@ class SWATReachType(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr BottomWidth = property(_cmf_core.SWATReachType_BottomWidth_get, _cmf_core.SWATReachType_BottomWidth_set, doc=r"""BottomWidth : double""") ChannelDepth = property(_cmf_core.SWATReachType_ChannelDepth_get, _cmf_core.SWATReachType_ChannelDepth_set, doc=r"""ChannelDepth : double""") @@ -4078,7 +4048,7 @@ class TriangularReach(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr BankSlope = property(_cmf_core.TriangularReach_BankSlope_get, _cmf_core.TriangularReach_BankSlope_set, doc=r"""BankSlope : double""") @@ -4104,7 +4074,7 @@ class RectangularReach(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -4129,7 +4099,7 @@ class PipeReach(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr radius = property(_cmf_core.PipeReach_radius_get, _cmf_core.PipeReach_radius_set, doc=r"""radius : double""") @@ -4155,7 +4125,7 @@ class Channel(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -4209,7 +4179,7 @@ class MeanChannel(IChannel): C++ includes: ReachType.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -4239,7 +4209,7 @@ class CrossSectionReach(IChannel): C++ includes: cross_section_reach.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr depth = property(_cmf_core.CrossSectionReach_depth_get, _cmf_core.CrossSectionReach_depth_set, doc=r"""depth : cmf::math::num_array""") x = property(_cmf_core.CrossSectionReach_x_get, _cmf_core.CrossSectionReach_x_set, doc=r"""x : cmf::math::num_array""") @@ -4270,7 +4240,7 @@ class OpenWaterStorage(WaterStorage): C++ includes: OpenWaterStorage.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -4305,7 +4275,7 @@ class Reach(OpenWaterStorage): C++ includes: Reach.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -4390,7 +4360,7 @@ class ReachIterator(object): C++ includes: Reach.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr next = _swig_new_instance_method(_cmf_core.ReachIterator_next) valid = _swig_new_instance_method(_cmf_core.ReachIterator_valid) @@ -4438,7 +4408,7 @@ class SurfaceWater(OpenWaterStorage): C++ includes: surfacewater.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") @@ -4509,7 +4479,7 @@ class KinematicSurfaceRunoff(flux_connection): C++ includes: surfacewater.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -4607,7 +4577,7 @@ class DiffusiveSurfaceRunoff(flux_connection): C++ includes: surfacewater.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -4655,7 +4625,7 @@ class aquifer(WaterStorage, conductable): C++ includes: groundwater.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr area = property(_cmf_core.aquifer_area_get, _cmf_core.aquifer_area_set, doc=r"""area : real""") thickness = property(_cmf_core.aquifer_thickness_get, _cmf_core.aquifer_thickness_set, doc=r"""thickness : real""") @@ -4722,7 +4692,7 @@ class aquifer_Darcy(flux_connection): C++ includes: groundwater.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr flux_width = property(_cmf_core.aquifer_Darcy_flux_width_get, _cmf_core.aquifer_Darcy_flux_width_set, doc=r"""flux_width : real""") @@ -4760,7 +4730,7 @@ class lateral_sub_surface_flux(flux_connection): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -4797,7 +4767,7 @@ class Darcy(lateral_sub_surface_flux): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -4839,7 +4809,7 @@ class TopographicGradientDarcy(lateral_sub_surface_flux): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -4886,7 +4856,7 @@ class DarcyKinematic(lateral_sub_surface_flux): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -4944,7 +4914,7 @@ class Richards_lateral(lateral_sub_surface_flux): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr flow_thickness = property(_cmf_core.Richards_lateral_flow_thickness_get, _cmf_core.Richards_lateral_flow_thickness_set, doc=r"""flow_thickness : real""") wet_right_node = property(_cmf_core.Richards_lateral_wet_right_node_get, _cmf_core.Richards_lateral_wet_right_node_set, doc=r"""wet_right_node : bool""") @@ -5021,7 +4991,7 @@ class TOPModelFlow(flux_connection): C++ includes: subsurfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr flow_width = property(_cmf_core.TOPModelFlow_flow_width_get, _cmf_core.TOPModelFlow_flow_width_set, doc=r"""flow_width : real""") distance = property(_cmf_core.TOPModelFlow_distance_get, _cmf_core.TOPModelFlow_distance_set, doc=r"""distance : real""") @@ -5090,7 +5060,7 @@ class Manning(flux_connection): C++ includes: ManningConnection.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -5129,7 +5099,7 @@ class Manning_Diffusive(Manning): C++ includes: ManningConnection.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5180,7 +5150,7 @@ class Manning_Kinematic(Manning): C++ includes: ManningConnection.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5235,7 +5205,7 @@ class CanopyOverflow(flux_connection): C++ includes: surfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5297,7 +5267,7 @@ class RutterInterception(flux_connection): C++ includes: surfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5331,7 +5301,7 @@ class TempIndexSnowMelt(flux_connection): C++ includes: surfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr SnowMeltRate = property(_cmf_core.TempIndexSnowMelt_SnowMeltRate_get, _cmf_core.TempIndexSnowMelt_SnowMeltRate_set, doc=r"""SnowMeltRate : real""") @@ -5372,7 +5342,7 @@ class EnergyBudgetSnowMelt(flux_connection): C++ includes: surfacefluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5400,7 +5370,7 @@ class Rainfall(flux_connection): C++ includes: AtmosphericFluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Throughfall = property(_cmf_core.Rainfall_Throughfall_get, _cmf_core.Rainfall_Throughfall_set, doc=r"""Throughfall : bool""") InterceptedRainfall = property(_cmf_core.Rainfall_InterceptedRainfall_get, _cmf_core.Rainfall_InterceptedRainfall_set, doc=r"""InterceptedRainfall : bool""") @@ -5429,7 +5399,7 @@ class Snowfall(flux_connection): C++ includes: AtmosphericFluxes.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5490,7 +5460,7 @@ class MatrixInfiltration(flux_connection): C++ includes: infiltration.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5581,7 +5551,7 @@ class GreenAmptInfiltration(flux_connection): C++ includes: infiltration.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5632,7 +5602,7 @@ class ConceptualInfiltration(flux_connection): C++ includes: infiltration.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr W0 = property(_cmf_core.ConceptualInfiltration_W0_get, _cmf_core.ConceptualInfiltration_W0_set, doc=r"""W0 : real""") @@ -5682,7 +5652,7 @@ class SWATPercolation(flux_connection): C++ includes: Percolation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr use_for_cell = _swig_new_static_method(_cmf_core.SWATPercolation_use_for_cell) @@ -5732,7 +5702,7 @@ class Richards(flux_connection): C++ includes: Percolation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5776,7 +5746,7 @@ class FreeDrainagePercolation(flux_connection): C++ includes: Percolation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -5824,7 +5794,7 @@ class LayerBypass(flux_connection): C++ includes: Percolation.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr Kmax = property(_cmf_core.LayerBypass_Kmax_get, _cmf_core.LayerBypass_Kmax_set, doc=r"""Kmax : real""") w0 = property(_cmf_core.LayerBypass_w0_get, _cmf_core.LayerBypass_w0_set, doc=r"""w0 : real""") @@ -5873,7 +5843,7 @@ class RootUptakeStressFunction(object): C++ includes: waterstress.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -5913,7 +5883,7 @@ class SuctionStress(RootUptakeStressFunction): C++ includes: waterstress.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr P0 = property(_cmf_core.SuctionStress_P0_get, _cmf_core.SuctionStress_P0_set, doc=r"""P0 : real""") P1 = property(_cmf_core.SuctionStress_P1_get, _cmf_core.SuctionStress_P1_set, doc=r"""P1 : real""") @@ -5958,7 +5928,7 @@ class ContentStress(RootUptakeStressFunction): C++ includes: waterstress.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr theta_d = property(_cmf_core.ContentStress_theta_d_get, _cmf_core.ContentStress_theta_d_set, doc=r"""theta_d : real""") theta_w = property(_cmf_core.ContentStress_theta_w_get, _cmf_core.ContentStress_theta_w_set, doc=r"""theta_w : real""") @@ -5990,7 +5960,7 @@ class VolumeStress(RootUptakeStressFunction): C++ includes: waterstress.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr V1 = property(_cmf_core.VolumeStress_V1_get, _cmf_core.VolumeStress_V1_set, doc=r"""V1 : real""") V0 = property(_cmf_core.VolumeStress_V0_get, _cmf_core.VolumeStress_V0_set, doc=r"""V0 : real""") @@ -6019,7 +5989,7 @@ class log_wind_profile(aerodynamic_resistance): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6043,7 +6013,7 @@ class stressedET(flux_connection): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -6069,7 +6039,7 @@ class constantETpot(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr ETpot_value = property(_cmf_core.constantETpot_ETpot_value_get, _cmf_core.constantETpot_ETpot_value_set, doc=r"""ETpot_value : real""") GetETpot = _swig_new_instance_method(_cmf_core.constantETpot_GetETpot) @@ -6100,7 +6070,7 @@ class timeseriesETpot(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr ETpot_data = property(_cmf_core.timeseriesETpot_ETpot_data_get, _cmf_core.timeseriesETpot_ETpot_data_set, doc=r"""ETpot_data : cmf::math::timeseries""") @@ -6166,7 +6136,7 @@ class PenmanMonteithET(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr daily = property(_cmf_core.PenmanMonteithET_daily_get, _cmf_core.PenmanMonteithET_daily_set, doc=r"""daily : bool""") @@ -6218,7 +6188,7 @@ class PriestleyTaylorET(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr daily = property(_cmf_core.PriestleyTaylorET_daily_get, _cmf_core.PriestleyTaylorET_daily_set, doc=r"""daily : bool""") alpha = property(_cmf_core.PriestleyTaylorET_alpha_get, _cmf_core.PriestleyTaylorET_alpha_set, doc=r"""alpha : real""") @@ -6282,7 +6252,7 @@ class HargreaveET(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6319,7 +6289,7 @@ class OudinET(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6369,7 +6339,7 @@ class TurcET(stressedET): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6395,7 +6365,7 @@ class CanopyStorageEvaporation(flux_connection): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6419,7 +6389,7 @@ class PenmanEvaporation(flux_connection): C++ includes: ET.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6483,7 +6453,7 @@ class ShuttleworthWallace(aerodynamic_resistance): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr RAA = property(_cmf_core.ShuttleworthWallace_RAA_get, _cmf_core.ShuttleworthWallace_RAA_set, doc=r"""RAA : double""") RAC = property(_cmf_core.ShuttleworthWallace_RAC_get, _cmf_core.ShuttleworthWallace_RAC_set, doc=r"""RAC : double""") @@ -6535,7 +6505,7 @@ class SW_transpiration(flux_connection): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6560,7 +6530,7 @@ class SW_evap_from_layer(flux_connection): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6585,7 +6555,7 @@ class SW_evap_from_canopy(flux_connection): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6610,7 +6580,7 @@ class SW_evap_from_snow(flux_connection): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6635,7 +6605,7 @@ class SW_evap_from_surfacewater(flux_connection): C++ includes: ShuttleworthWallace.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args, **kwargs): @@ -6684,7 +6654,7 @@ class _Options(object): C++ includes: project.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr diffusive_slope_singularity_protection = property(_cmf_core._Options_diffusive_slope_singularity_protection_get, _cmf_core._Options_diffusive_slope_singularity_protection_set, doc=r"""diffusive_slope_singularity_protection : double""") richards_lateral_base_flow = property(_cmf_core._Options_richards_lateral_base_flow_get, _cmf_core._Options_richards_lateral_base_flow_set, doc=r"""richards_lateral_base_flow : bool""") @@ -6706,7 +6676,7 @@ class project(object): C++ includes: project.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr remove_node = _swig_new_instance_method(_cmf_core.project_remove_node) solutes = property(_cmf_core.project_solutes_get, doc=r"""solutes : q(const).cmf::water::solute_vector""") @@ -6790,7 +6760,7 @@ class Integrator(object): C++ includes: integrator.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -6945,7 +6915,7 @@ class BDF2(Integrator): C++ includes: bdf2.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr get_error_position = _swig_new_instance_method(_cmf_core.BDF2_get_error_position) max_order = property(_cmf_core.BDF2_max_order_get, _cmf_core.BDF2_max_order_set, doc=r"""max_order : int""") @@ -6980,7 +6950,7 @@ class ExplicitEuler_fixed(Integrator): C++ includes: explicit_euler.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7009,7 +6979,7 @@ class HeunIntegrator(Integrator): C++ includes: explicit_euler.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr alpha = property(_cmf_core.HeunIntegrator_alpha_get, _cmf_core.HeunIntegrator_alpha_set, doc=r"""alpha : real""") @@ -7037,7 +7007,7 @@ class ImplicitEuler(Integrator): C++ includes: implicit_euler.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr dt_min = property(_cmf_core.ImplicitEuler_dt_min_get, _cmf_core.ImplicitEuler_dt_min_set, doc=r"""dt_min : cmf::math::Time""") @@ -7066,7 +7036,7 @@ class RKFIntegrator(Integrator): C++ includes: RKFintegrator.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7109,7 +7079,7 @@ class CVodeOptions(object): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr max_order = property(_cmf_core.CVodeOptions_max_order_get, _cmf_core.CVodeOptions_max_order_set, doc=r"""max_order : int""") max_non_linear_iterations = property(_cmf_core.CVodeOptions_max_non_linear_iterations_get, _cmf_core.CVodeOptions_max_non_linear_iterations_set, doc=r"""max_non_linear_iterations : int""") @@ -7138,7 +7108,7 @@ class CVodeInfo(object): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr size = property(_cmf_core.CVodeInfo_size_get, _cmf_core.CVodeInfo_size_set, doc=r"""size : long""") workspace_real = property(_cmf_core.CVodeInfo_workspace_real_get, _cmf_core.CVodeInfo_workspace_real_set, doc=r"""workspace_real : long""") @@ -7180,7 +7150,7 @@ class CVodeBase(Integrator): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") @@ -7217,7 +7187,7 @@ class CVodeDense(CVodeBase): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7242,7 +7212,7 @@ class CVodeAdams(CVodeBase): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7267,7 +7237,7 @@ class CVodeBanded(CVodeBase): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr bandwidth = property(_cmf_core.CVodeBanded_bandwidth_get, _cmf_core.CVodeBanded_bandwidth_set, doc=r"""bandwidth : int""") @@ -7295,7 +7265,7 @@ class CVodeDiag(CVodeBase): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7320,7 +7290,7 @@ class CVodeKrylov(CVodeBase): C++ includes: cvode.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr bandwidth = property(_cmf_core.CVodeKrylov_bandwidth_get, _cmf_core.CVodeKrylov_bandwidth_set, doc=r"""bandwidth : int""") preconditioner = property(_cmf_core.CVodeKrylov_preconditioner_get, _cmf_core.CVodeKrylov_preconditioner_set, doc=r"""preconditioner : char""") @@ -7341,7 +7311,7 @@ def __init__(self, *args): class CVodeKLU(CVodeBase): r"""Proxy of C++ cmf::math::CVodeKLU class.""" - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): @@ -7369,7 +7339,7 @@ class MultiIntegrator(Integrator): C++ includes: multiintegrator.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr copy = _swig_new_instance_method(_cmf_core.MultiIntegrator_copy) @@ -7407,7 +7377,7 @@ class SoluteWaterIntegrator(Integrator): C++ includes: WaterSoluteIntegrator.h """ - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr copy = _swig_new_instance_method(_cmf_core.SoluteWaterIntegrator_copy) diff --git a/cmf/cmf_core_src/cmf_wrap.cpp b/cmf/cmf_core_src/cmf_wrap.cpp index 6f795d97..0ba7b4a5 100644 --- a/cmf/cmf_core_src/cmf_wrap.cpp +++ b/cmf/cmf_core_src/cmf_wrap.cpp @@ -1,6 +1,6 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.0 + * Version 4.0.2 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -810,15 +810,19 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { SWIGINTERN char* SWIG_Python_str_AsChar(PyObject *str) { -#if PY_VERSION_HEX >= 0x03000000 +#if PY_VERSION_HEX >= 0x03030000 + return (char *)PyUnicode_AsUTF8(str); +#elif PY_VERSION_HEX >= 0x03000000 char *newstr = 0; str = PyUnicode_AsUTF8String(str); if (str) { char *cstr; Py_ssize_t len; - PyBytes_AsStringAndSize(str, &cstr, &len); - newstr = (char *) malloc(len+1); - memcpy(newstr, cstr, len+1); + if (PyBytes_AsStringAndSize(str, &cstr, &len) != -1) { + newstr = (char *) malloc(len+1); + if (newstr) + memcpy(newstr, cstr, len+1); + } Py_XDECREF(str); } return newstr; @@ -827,10 +831,10 @@ SWIG_Python_str_AsChar(PyObject *str) #endif } -#if PY_VERSION_HEX >= 0x03000000 -# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) ) +#if PY_VERSION_HEX >= 0x03030000 || PY_VERSION_HEX < 0x03000000 +# define SWIG_Python_str_DelForPy3(x) #else -# define SWIG_Python_str_DelForPy3(x) +# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) ) #endif @@ -1245,8 +1249,21 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi } } +SWIGINTERN int +SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name) { + int no_kwargs = 1; + if (kwargs) { + assert(PyDict_Check(kwargs)); + if (PyDict_Size(kwargs) > 0) { + PyErr_Format(PyExc_TypeError, "%s() does not take keyword arguments", name); + no_kwargs = 0; + } + } + return no_kwargs; +} + /* A functor is a function object with one single object argument */ -#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, (char *)"O", obj); +#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); /* Helper for static pointer initialization for both C and C++ code, for example @@ -1758,6 +1775,12 @@ SwigPyObject_TypeOnce(void) { #if PY_VERSION_HEX >= 0x03040000 0, /* tp_finalize */ #endif +#if PY_VERSION_HEX >= 0x03080000 + 0, /* tp_vectorcall */ +#endif +#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000) + 0, /* tp_print */ +#endif #ifdef COUNT_ALLOCS 0, /* tp_allocs */ 0, /* tp_frees */ @@ -1919,6 +1942,12 @@ SwigPyPacked_TypeOnce(void) { #if PY_VERSION_HEX >= 0x03040000 0, /* tp_finalize */ #endif +#if PY_VERSION_HEX >= 0x03080000 + 0, /* tp_vectorcall */ +#endif +#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000) + 0, /* tp_print */ +#endif #ifdef COUNT_ALLOCS 0, /* tp_allocs */ 0, /* tp_frees */ @@ -2245,8 +2274,10 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) } } #else - PyObject *key = SWIG_This(); - PyObject_SetAttr(inst, key, swig_this); + if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) { + Py_DECREF(inst); + inst = 0; + } #endif } } else { @@ -2258,8 +2289,12 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) inst = ((PyTypeObject *)data->newargs)->tp_new((PyTypeObject *)data->newargs, empty_args, empty_kwargs); Py_DECREF(empty_kwargs); if (inst) { - PyObject_SetAttr(inst, SWIG_This(), swig_this); - Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG; + if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) { + Py_DECREF(inst); + inst = 0; + } else { + Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG; + } } } Py_DECREF(empty_args); @@ -2276,25 +2311,21 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) return inst; } -SWIGRUNTIME void +SWIGRUNTIME int SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) { - PyObject *dict; #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) - PyObject **dictptr = _PyObject_GetDictPtr(inst); - if (dictptr != NULL) { - dict = *dictptr; - if (dict == NULL) { - dict = PyDict_New(); - *dictptr = dict; - } - PyDict_SetItem(dict, SWIG_This(), swig_this); - return; - } + PyObject **dictptr = _PyObject_GetDictPtr(inst); + if (dictptr != NULL) { + PyObject *dict = *dictptr; + if (dict == NULL) { + dict = PyDict_New(); + *dictptr = dict; + } + return PyDict_SetItem(dict, SWIG_This(), swig_this); + } #endif - dict = PyObject_GetAttrString(inst, "__dict__"); - PyDict_SetItem(dict, SWIG_This(), swig_this); - Py_DECREF(dict); + return PyObject_SetAttr(inst, SWIG_This(), swig_this); } @@ -2308,7 +2339,8 @@ SWIG_Python_InitShadowInstance(PyObject *args) { if (sthis) { SwigPyObject_append((PyObject*) sthis, obj[1]); } else { - SWIG_Python_SetSwigThis(obj[0], obj[1]); + if (SWIG_Python_SetSwigThis(obj[0], obj[1]) != 0) + return NULL; } return SWIG_Py_Void(); } @@ -2884,7 +2916,7 @@ static swig_module_info swig_module = {swig_types, 198, 0, 0, 0, 0}; #endif #define SWIG_name "_cmf_core" -#define SWIGVERSION 0x040000 +#define SWIGVERSION 0x040002 #define SWIG_VERSION SWIGVERSION @@ -3595,9 +3627,11 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) if (alloc) *alloc = SWIG_NEWOBJ; #endif - PyBytes_AsStringAndSize(obj, &cstr, &len); + if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1) + return SWIG_TypeError; #else - PyString_AsStringAndSize(obj, &cstr, &len); + if (PyString_AsStringAndSize(obj, &cstr, &len) == -1) + return SWIG_TypeError; #endif if (cptr) { if (alloc) { @@ -16231,7 +16265,7 @@ SWIGINTERN PyObject *_wrap_state_list___getitem(PyObject *SWIGUNUSEDPARM(self), { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__math__StateVariable_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -16241,7 +16275,7 @@ SWIGINTERN PyObject *_wrap_state_list___getitem(PyObject *SWIGUNUSEDPARM(self), } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::SoluteStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::SoluteStorage */ { @@ -21659,7 +21693,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::RainSource*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::RainSource */ { @@ -21669,7 +21703,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::DirichletBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::DirichletBoundary */ { @@ -21679,7 +21713,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::NeumannBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::NeumannBoundary */ { @@ -21689,7 +21723,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SoilLayer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SoilLayer */ { @@ -21699,7 +21733,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::aquifer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::aquifer */ { @@ -21709,7 +21743,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::Reach*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::Reach */ { @@ -21719,7 +21753,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::OpenWaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::OpenWaterStorage */ { @@ -21729,7 +21763,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -21739,7 +21773,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::MacroPore*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::MacroPore */ { @@ -21749,7 +21783,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_0(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SurfaceWater*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SurfaceWater */ { @@ -21823,7 +21857,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::RainSource*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::RainSource */ { @@ -21833,7 +21867,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::DirichletBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::DirichletBoundary */ { @@ -21843,7 +21877,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::NeumannBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::NeumannBoundary */ { @@ -21853,7 +21887,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SoilLayer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SoilLayer */ { @@ -21863,7 +21897,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::aquifer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::aquifer */ { @@ -21873,7 +21907,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::Reach*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::Reach */ { @@ -21883,7 +21917,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::OpenWaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::OpenWaterStorage */ { @@ -21893,7 +21927,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -21903,7 +21937,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::MacroPore*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::MacroPore */ { @@ -21913,7 +21947,7 @@ SWIGINTERN PyObject *_wrap_flux_connection_get_target__SWIG_1(PyObject *SWIGUNUS } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SurfaceWater*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SurfaceWater */ { @@ -28669,7 +28703,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::RainSource*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::RainSource */ { @@ -28679,7 +28713,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::DirichletBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::DirichletBoundary */ { @@ -28689,7 +28723,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::NeumannBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::NeumannBoundary */ { @@ -28699,7 +28733,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SoilLayer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SoilLayer */ { @@ -28709,7 +28743,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::aquifer*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::aquifer */ { @@ -28719,7 +28753,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::Reach*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::Reach */ { @@ -28729,7 +28763,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::OpenWaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::OpenWaterStorage */ { @@ -28739,7 +28773,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -28749,7 +28783,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::MacroPore*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::MacroPore */ { @@ -28759,7 +28793,7 @@ SWIGINTERN PyObject *_wrap_node_list___get(PyObject *SWIGUNUSEDPARM(self), PyObj } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SurfaceWater*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SurfaceWater */ { @@ -29182,65 +29216,6 @@ SWIGINTERN PyObject *_wrap_node_list_conc(PyObject *SWIGUNUSEDPARM(self), PyObje } -SWIGINTERN PyObject *_wrap_node_list_set_solute_source(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) { - PyObject *resultobj = 0; - cmf::water::node_list *arg1 = (cmf::water::node_list *) 0 ; - cmf::water::solute *arg2 = 0 ; - cmf::math::num_array arg3 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - char * kwnames[] = { - (char *)"self", (char *)"_Solute", (char *)"source_fluxes", NULL - }; - ptrdiff_t result; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OOO:node_list_set_solute_source", kwnames, &obj0, &obj1, &obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_cmf__water__node_list, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "node_list_set_solute_source" "', argument " "1"" of type '" "cmf::water::node_list *""'"); - } - arg1 = reinterpret_cast< cmf::water::node_list * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_cmf__water__solute, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "node_list_set_solute_source" "', argument " "2"" of type '" "cmf::water::solute const &""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "node_list_set_solute_source" "', argument " "2"" of type '" "cmf::water::solute const &""'"); - } - arg2 = reinterpret_cast< cmf::water::solute * >(argp2); - { - // Convert a array_wrapper from numpy array - double * data=0; - ptrdiff_t size = from_npy_array(obj2,&data); - if (!data) { - SWIG_exception_fail(SWIG_TypeError,"Input data is not 'array-like' (in the sense of numpy arrays)"); - return NULL; - } - arg3 = cmf::math::num_array(size,data); - } - { - try { - result = (arg1)->set_solute_source((cmf::water::solute const &)*arg2,arg3); - } catch (const std::out_of_range& e) { - SWIG_exception(SWIG_IndexError, e.what()); - } catch (const std::exception& e) { - SWIG_exception(SWIG_RuntimeError, e.what()); - } catch (...) { - SWIG_exception(SWIG_RuntimeError, "unknown error"); - } - } - resultobj = SWIG_From_ptrdiff_t(static_cast< ptrdiff_t >(result)); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_node_list_get_fluxes_to(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) { PyObject *resultobj = 0; cmf::water::node_list *arg1 = (cmf::water::node_list *) 0 ; @@ -39357,7 +39332,7 @@ SWIGINTERN PyObject *_wrap_Cell___get_rain_source(PyObject *SWIGUNUSEDPARM(self) { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::RainfallStationReference::ptr*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::RainfallStationReference::ptr */ { @@ -39367,7 +39342,7 @@ SWIGINTERN PyObject *_wrap_Cell___get_rain_source(PyObject *SWIGUNUSEDPARM(self) } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::ConstantRainSource::ptr*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::ConstantRainSource::ptr */ { @@ -39377,7 +39352,7 @@ SWIGINTERN PyObject *_wrap_Cell___get_rain_source(PyObject *SWIGUNUSEDPARM(self) } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::atmosphere::IDWRainfall*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::atmosphere::IDWRainfall */ { @@ -39549,7 +39524,7 @@ SWIGINTERN PyObject *_wrap_Cell_get_surfacewater(PyObject *SWIGUNUSEDPARM(self), { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::upslope::SurfaceWater*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::upslope::SurfaceWater */ { @@ -39559,7 +39534,7 @@ SWIGINTERN PyObject *_wrap_Cell_get_surfacewater(PyObject *SWIGUNUSEDPARM(self), } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::DirichletBoundary*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::DirichletBoundary */ { @@ -39953,7 +39928,7 @@ SWIGINTERN PyObject *_wrap_Cell_get_storage(PyObject *SWIGUNUSEDPARM(self), PyOb { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__water__flux_node_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::river::OpenWaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::river::OpenWaterStorage */ { @@ -39963,7 +39938,7 @@ SWIGINTERN PyObject *_wrap_Cell_get_storage(PyObject *SWIGUNUSEDPARM(self), PyOb } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -48040,7 +48015,7 @@ SWIGINTERN PyObject *_wrap_SoilLayer_get_soil(PyObject *SWIGUNUSEDPARM(self), Py } { int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ if (!dcast) { cmf::upslope::BrooksCoreyRetentionCurve *dobj = dynamic_cast(result); if (dobj) { @@ -48049,7 +48024,7 @@ SWIGINTERN PyObject *_wrap_SoilLayer_get_soil(PyObject *SWIGUNUSEDPARM(self), Py } }/*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ if (!dcast) { cmf::upslope::VanGenuchtenMualem *dobj = dynamic_cast(result); if (dobj) { @@ -48058,7 +48033,7 @@ SWIGINTERN PyObject *_wrap_SoilLayer_get_soil(PyObject *SWIGUNUSEDPARM(self), Py } }/*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\factory.swg,72,%_factory_dispatch@*/ if (!dcast) { cmf::upslope::LinearRetention *dobj = dynamic_cast(result); if (dobj) { @@ -71104,7 +71079,7 @@ SWIGINTERN PyObject *_wrap_Integrator___getitem(PyObject *SWIGUNUSEDPARM(self), { if (!(result)) resultobj = SWIG_NewPointerObj(0,SWIGTYPE_p_std__shared_ptrT_cmf__math__StateVariable_t, SWIG_POINTER_OWN); int dcast = 0; - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,193,%formacro@*//*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::WaterStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::WaterStorage */ { @@ -71114,7 +71089,7 @@ SWIGINTERN PyObject *_wrap_Integrator___getitem(PyObject *SWIGUNUSEDPARM(self), } /*@SWIG@*/ - /*@SWIG:C:\Apps\swigwin-4.0.0\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ + /*@SWIG:C:\Users\philipp\anaconda3\envs\cmf2\Library\bin\Lib\typemaps\swigmacros.swg,185,%_formacro_1@*//*@SWIG:cmf\cmf_core_src\cmf_swiglib.i,74,%_node_down_cast@*/ if (dcast==0 && result) /*check for cmf::water::SoluteStorage*/ { std::shared_ptr output = std::dynamic_pointer_cast(result); if (output) /*flux_node is cmf::water::SoluteStorage */ { @@ -78887,14 +78862,6 @@ static PyMethodDef SwigMethods[] = { "Returns an array holding the concentration of all the flux nodes for\n" "the given solute. \n" ""}, - { "node_list_set_solute_source", (PyCFunction)(void(*)(void))_wrap_node_list_set_solute_source, METH_VARARGS|METH_KEYWORDS, "\n" - "node_list_set_solute_source(node_list self, solute _Solute, cmf::math::num_array source_fluxes) -> ptrdiff_t\n" - "ptrdiff_t set_solute_source(const cmf::water::solute &_Solute,\n" - "cmf::math::num_array source_fluxes)\n" - "\n" - "Sets the source flux of a solute storage associated with a node (node\n" - "has to be a water storage) \n" - ""}, { "node_list_get_fluxes_to", (PyCFunction)(void(*)(void))_wrap_node_list_get_fluxes_to, METH_VARARGS|METH_KEYWORDS, "\n" "node_list_get_fluxes_to(node_list self, node_list targets, Time t) -> cmf::math::num_array\n" "cmf::math::num_array get_fluxes_to(const cmf::water::node_list\n" @@ -84739,14 +84706,6 @@ static PyMethodDef SwigMethods_proxydocs[] = { "Returns an array holding the concentration of all the flux nodes for\n" "the given solute. \n" ""}, - { "node_list_set_solute_source", (PyCFunction)(void(*)(void))_wrap_node_list_set_solute_source, METH_VARARGS|METH_KEYWORDS, "\n" - "set_solute_source(node_list self, solute _Solute, cmf::math::num_array source_fluxes) -> ptrdiff_t\n" - "ptrdiff_t set_solute_source(const cmf::water::solute &_Solute,\n" - "cmf::math::num_array source_fluxes)\n" - "\n" - "Sets the source flux of a solute storage associated with a node (node\n" - "has to be a water storage) \n" - ""}, { "node_list_get_fluxes_to", (PyCFunction)(void(*)(void))_wrap_node_list_get_fluxes_to, METH_VARARGS|METH_KEYWORDS, "\n" "get_fluxes_to(node_list self, node_list targets, Time t) -> cmf::math::num_array\n" "cmf::math::num_array get_fluxes_to(const cmf::water::node_list\n" @@ -90781,6 +90740,12 @@ extern "C" { #if PY_VERSION_HEX >= 0x03040000 0, /* tp_finalize */ #endif +#if PY_VERSION_HEX >= 0x03080000 + 0, /* tp_vectorcall */ +#endif +#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000) + 0, /* tp_print */ +#endif #ifdef COUNT_ALLOCS 0, /* tp_allocs */ 0, /* tp_frees */ diff --git a/documentation/installation/CmfInstallUbuntu.md b/documentation/installation/CmfInstallUbuntu.md index d1bbbd96..7e32e427 100644 --- a/documentation/installation/CmfInstallUbuntu.md +++ b/documentation/installation/CmfInstallUbuntu.md @@ -4,87 +4,10 @@ # Install cmf on a Linux with sudo privileges -First you need to make sure that the dependencies of cmf are fullfilled. -It is good practise to get ppackages from your Linux distribution, if -they are available and to get only those packages, that you can't get -from your distribution to install directly in Python. Any package -installed by your OS package manager will be updated by the OS, while -other packages need to get updated by yourself. -I am working mostly with Ubuntu variants, hence i can't say anything -about other Linux package managers. However an internet search like -"apt-get fedora" will help. -## Python 2.7 -You need sudo privileges to install the dependencies for the system. You -will need `python-dev` and `numpy`. Recommended are `matplotlib`, -`scipy`and `pandas`. - -### Dependencies of cmf from the Ubuntu package manager - - #!sh - sudo apt-get install python-dev python-numpy python-scipy python-pandas python-matplotlib - -### Get dependencies from the Python Package Index (PyPI) - -Follow this steps if you can't get the packages from your OS or if you -do not have sudo privileges. This text assumes you want everything only -installed for yourself and not for other users. - -First check your python version: - - #!sh - python --version - -If the version is \<=2.7.8 then get the program `pip` to install more -packages.For higher versions, `pip` is already part of Python - - #!sh - wget https://bootstrap.pypa.io/get-pip.py - python get-pip.py --user - -The next steps are only needed if you did not used the `apt-get` -commands from above: - - #!sh - pip install numpy --user - pip install matplotlib --user - pip install scipy --user - pip install pandas --user - -### Compile cmf - -Get the source code from CmfDownload and unzip it to /cmf-source - - #!sh - cd cmf-source - python setup.py install --user - cd .. # Important! You cannot test your installation from the source folder - -or, without multi core processor support (without OpenMP) - - #!sh - cd cmf-source - python setup.py install noopenmp --user - cd .. # Important! You cannot test your installation from the source folder - -## Adding geometric support to CMF - -To added geometric features to cmf, you need to install the geos library -and shapely. For the geos library, you need sudo privileges - - #!sh - wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2 - tar -xjf geos-3.2.2.tar.bz2 - cd geos-3.2.2 - ./configure - make - sudo make install - cd .. - pip install shapely --user - -## Python 3.5 +## Python 3.7 and higher Work in progress.. diff --git a/documentation/installation/CmfInstallWindows.md b/documentation/installation/CmfInstallWindows.md index 53b16e11..e9c549de 100644 --- a/documentation/installation/CmfInstallWindows.md +++ b/documentation/installation/CmfInstallWindows.md @@ -2,7 +2,10 @@ [back...](@ref cmfInstall) -# Installing cmf on Windows for Python 2.7 + +# Python 3 + +## Without geometry This is the simplest way to install cmf on Windows. It shows one path, that should be suitable for most computers with a Windows system. @@ -10,135 +13,142 @@ Alternatives are listed below - Get a recent winpython distribution from (). Today the 64bit - variant should run on most computers. When in doubt - use 32bit, it - fits always. - - "Install" it to any directory on your computer, eg. C:\\Apps - - Download cmf - Binary for Python 2.7 32 bit from CmfDownload - - Open C:\\Apps\\Winpython2.732bit in your file explorer and double - click on the "Winpython Control Panel.exe" - - In that program, click on a "Add packages" and add the downloaded - cmf - - Click install, and here you go... - -If you already have an existing Python installation you can also use: + variant should run on most computers. + - "Install" it to any directory on your computer, eg. C:\\Apps + +Open the WinPython Command Prompt and type pip install cmf -### More choice - -What you really need to install cmf is a running python 2.7 interpreter -with the `numpy` package. Having other packages from the so called -`scipy-Stack` available, like `scipy`, `matplotlib`, `pandas` is -fine. The best way to get the scipy stack is to install a scientific -python distribution. winpython is one choice, but Anaconda and -python(x,y) are others and they work equally fine. But please follow the -instructions to add packages to these distributions, there are some -traps around. - -### Adding Geometry +## Adding Geometry Just get the shapely binary from: -and install it with the pacakge manager of your python distribution. it -is the Winpython Control Panel fro winpython. +and install it with the pacakge manager of your python distribution. Eg. use + the Winpython Control Panel for winpython. + +## Compile cmf for Python 3 with Visual Studio + +### Prerequisites + +To compile cmf2 you need the following installed on your computer: + +- Buildtools for Visual Studio from https://visualstudio.microsoft.com/de/downloads/. Please check + Python and Visual Studio compiler version at https://pythondev.readthedocs.io/windows.html +- A Python (>3.6)) installation, preferably a scientific distribution like WinPython or Anaconda, + including pip +- The CMF source code. Get it using Git or download a ZIP from + GitHub.com (https://github.com/philippkraft/cmf) +- Optional: SWIG from swig.org (in the path). If you plan to change the C++ API of CMF you need to + generate the Python interface with SWIG again. +accessible from + + +### Installation of requirements + +Open a Visual Studio Development Command Prompt and make sure the right python installation +is in the path (eg. python -VV). Navigate to the cmf source code. +It is a good idea to create a virtual environment (venv) for the compilation + +Check if nmake is in the path, if you get an error message you are not using the Visual Studio +Development Command Prompt or you have not installed the Build Tools properly + + nmake /? + +Install the requirements + + pip install -r requirements.txt + +Install cmake + + pip install cmake -## Compile cmf from source for python 2.7 +### One-Step installation of CMF -If you want to use always the most recent version of cmf or if you like -to make changes to the C++ source files of cmf, you need to compile the -C++ files to machine language. +Installing and compiling CMF takes some time. The easiest way is to just install cmf from +the source directory using pip install. In case of problems, it is better to compile CMF +step by step (see below) -'''Note''': Compiling C++ code on Windows is not simple + pip install . -v -To compile sources, you need a compiler - the right compiler. Python 2.7 -for Windows is compiled with Visual Studio 2008, and you need the same -compiler. However, you cannot buy this compiler and development tool -anymore, because it is to old. But Microsoft gives the compiler without -the integrated development environment (IDE) away for free. +The `-v` stands for verbose, to give more output -### Get the right compiler and other prerequisites +### Step by step installation of CMF -Download the right C++ compiler (called Windows SDK) here: [Microsoft -Visual C++ Compiler for -Python 2.7](https://www.microsoft.com/download/details.aspx?id=44266) +Compiling and installing of cmf consists of the following steps -And install it. To use the compiler you might need to tweak it a bit, to -have the compiler working seamlessly with Python. Save the following -batch file to as `C:\\Program Files\\Microsoft Visual Studio -9.0\\VC\\vcvarsall.bat` +1. Download the source code of the solvers in CMF (suitesparse and sundials) and build them +2. Build the CMF C++ library linking the solvers +3. Build the Python extension and link it with the libraries +4. Build the Python tools for CMF +5. Install the whole library in your Python installation +6. Test it - @echo off - REM Calls the right environment depending on your architecture - if "%1x"=="x86x" "%~dp0\bin\vcvars32.bat" - if "%1x"=="amd64x" "%~dp0\bin\vcvars64.bat" +#### Build the solvers (1) -Next you need to make the compiler a bit more "modern": + tools\install_solvers.bat - - Download and install the boost library (), - headers only is fine. - - Create an environmental variable called BOOSTDIR pointing to the - boost installation directory. +The source code for the solvers is downloaded to `build\extern`, the built libraries are +stored in the `lib` directory -### Compile +#### Build the CMF C++ Library (2) - - Get the cmf source code from CmfDownload and unzip it on your hard - drive - - Open a command line and navigate to the cmf source directory + tools\install_cmf_core.bat -Compiling cmf and installing it for your computer is than as simple as -typing in a command line: +There are a couple of test executables build together with cmf. +These executables can be found in the directory `bin`. The static library is together +with the solver libraries in `lib\lib` -'''Note''': Do not test the intallation in the source code folder. The -compiled library will not be found. +#### Build and link the Python extension (3) + + python setup.py build_ext + +If the C++ API has been changed, build the wrapper interface newly with + + python setup.py build_ext swig + +#### Build the Python tools + + python setup.py build_py + +#### Install the package to the current python version python setup.py install -# Python 3.5 +#### Test cmf -## Without geometry +Do not fire up a python command prompt and import cmf in the source directory. This will fail. -This is the simplest way to install cmf on Windows. It shows one path, -that should be suitable for most computers with a Windows system. -Alternatives are listed below +Either change the directory first or run the cmf tests with - - Get a recent winpython distribution from - (). Today the 64bit - variant should run on most computers. When in doubt - use 32bit, it - fits always. - - "Install" it to any directory on your computer, eg. C:\\Apps - - Download cmf - Binary for Python 3.5 32 bit from CmfDownload - - Open C:\\Apps\\Winpython2.732bit in your file explorer and double - click on the "Winpython Control Panel.exe" - - In that program, click on a "Add packages" and add the downloaded - cmf - - Click install, and here you go... - -If you already have an existing Python installation you can also use: + tools\test.bat - pip install cmf +This will take care of the necessary directory change -## Adding Geometry -Just get the shapely binary from: +### Deployment of the compiled version - +You can distribute your compiled version to other Windows users by building a binary wheel. + + python setup.py bdist_wheel + +or -and install it with the pacakge manager of your python distribution. Use -again the Winpython Control Panel for winpython. + pip wheel . -## Compile cmf for Python 3.5 +The .whl file is in the `dist` directory and can be easily shared between computers. -Compiling cmf for Python 3.5 works in Windows. However, there is no -established procedure by now. The main point is, that Python 3.5 is -compiled with Visual Studio 2015, which is actually available and for -free (no money, no freedom) available for private persons, academic -institutions and small companies. It should also work with: [Visual C++ -compiler 2015](http://landinghub.visualstudio.com/visual-cpp-build-tools). -You can find more references on how to compile C and C++ extensions -(like cmf) for Python on Windows -[here](https://wiki.python.org/moin/WindowsCompilers) including links to -the Microsoft Compiler without Visual Studio +#### Note: +The .whl is ony suitable for the same Python version, architecture (x64/x86) +and operating system (Windows). If you are distributing a compiled version of CMF, +it is required by the licence to give the receivers of the binary package access to +the source that has been used to compile the binary. In case of an unchanged CMF a +link to the CMF code repository is sufficient. If you have made changes to the source +code, you are responsible to provide the receiver with your source code, which inherits +the GNU Public Licence from CMF. +## Compile CMF2 for Python 3 with the Windows Subsystem for Linux (WSL) +Just follow the instructions for installing CMF on Linux \ No newline at end of file diff --git a/setup.py b/setup.py index 3e24b1d8..522ec7e6 100755 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ from distutils.sysconfig import customize_compiler from distutils.command.build_py import build_py -version = '2.0.0b4' +version = '2.0.0b5' branchversion = version try: @@ -429,9 +429,9 @@ def make_cmf_core(): 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)', 'Programming Language :: C++', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', 'Topic :: Scientific/Engineering', 'Topic :: Software Development :: Libraries :: Python Modules', ] @@ -441,7 +441,7 @@ def make_cmf_core(): license='GPLv3+', ext_modules=ext, packages=['cmf', 'cmf.draw', 'cmf.geometry'], - python_requires='>=3.5', + python_requires='>=3.7', install_requires='numpy>=1.11.1', keywords='hydrology catchment simulation toolbox', author='Philipp Kraft', diff --git a/tools/Doxyfile b/tools/Doxyfile index e2748e3e..a46986ec 100644 --- a/tools/Doxyfile +++ b/tools/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = cmf # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.0.0b4 +PROJECT_NUMBER = 2.0.0b5 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/tools/install_cmf_core.bat b/tools/install_cmf_core.bat index be5ffebf..bd7b2e84 100644 --- a/tools/install_cmf_core.bat +++ b/tools/install_cmf_core.bat @@ -1,5 +1,12 @@ @echo off -REM Gets and makes the dependencies for the new sparese CVodeIntegrator +REM Gets and makes the dependencies for the new sparse CVodeIntegrator +REM Check if run nmake is in the path +( + nmake /? >NUL 2>NUL +) || ( + echo NMAKE.exe not found, are you running a Visual Studio Developer Command Prompt? + exit /b 1 +) SET CMFDIR=%~dp0.. echo CMFDIR= %CMFDIR% diff --git a/tools/install_solvers.bat b/tools/install_solvers.bat index 969709ad..99dacf3b 100644 --- a/tools/install_solvers.bat +++ b/tools/install_solvers.bat @@ -1,10 +1,18 @@ -REM Gets and makes the dependencies for the new sparese CVodeIntegrator @echo off +REM Gets and makes the dependencies for the new sparse CVodeIntegrator +REM Check if run nmake is in the path +( + nmake /? >NUL 2>NUL +) || ( + echo NMAKE.exe not found, are you running a Visual Studio Developer Command Prompt? + exit /b 1 +) + SET TOOLSDIR=%~dp0 SET CMFDIR=%TOOLSDIR%.. SET BUILDDIR=%CMFDIR%\build\extern -mkdir %BUILDDIR% +if not exist %BUILDDIR% mkdir %BUILDDIR% cd %BUILDDIR% cmake %TOOLSDIR% -DCMAKE_BUILD_TYPE=Release -G"NMake Makefiles" nmake