@@ -49,9 +49,9 @@ def __init__(self, frame, model=None, name="intrusion"):
4949 self .lateral_sgs_input_data = None
5050 self .vertical_sgs_input_data = None
5151
52- self .lateral_extent_sgs_parameters = None
53- self .vertical_extent_sgs_parameters = None
54- # grid points for simulation:
52+ # self.lateral_extent_sgs_parameters = None
53+ # self.vertical_extent_sgs_parameters = None
54+
5555 self .simulation_grid = None
5656 self .data = None
5757 self .data_prepared = False
@@ -235,6 +235,13 @@ def set_l_sgs_GSLIBparameters(self, lateral_simulation_parameters):
235235 ndmin = lateral_simulation_parameters .get ("ndmin" , 0 )
236236 ndmax = lateral_simulation_parameters .get ("ndmax" , 3 )
237237 radius = lateral_simulation_parameters .get ("radius" , 500 )
238+ nugget = lateral_simulation_parameters .get ("nugget" , 0 )
239+ nst = lateral_simulation_parameters .get ("nst" , 1 )
240+ it1 = lateral_simulation_parameters .get ("it1" , 1 )
241+ cc1 = lateral_simulation_parameters .get ("cc1" , 1 )
242+ azi1 = lateral_simulation_parameters .get ("azi1" , 90 )
243+ hmaj1 = lateral_simulation_parameters .get ("hmaj1" , 999999 )
244+ hmin1 = lateral_simulation_parameters .get ("hmin1" , 999999 )
238245
239246 l_parameters = {
240247 "tmin" : tmin ,
@@ -254,6 +261,14 @@ def set_l_sgs_GSLIBparameters(self, lateral_simulation_parameters):
254261 "ndmin" : ndmin ,
255262 "ndmax" : ndmax ,
256263 "radius" : radius ,
264+ "nugget" : nugget ,
265+ "nst" : nst ,
266+ "it1" : it1 ,
267+ "cc1" : cc1 ,
268+ "azi1" : azi1 ,
269+ "hmaj1" : hmaj1 ,
270+ "hmin1" : hmin1
271+
257272 }
258273
259274 self .lateral_sgs_parameters = l_parameters
@@ -306,6 +321,13 @@ def set_g_sgs_GSLIBparameters(self, vertical_simulation_parameters):
306321 ndmin = vertical_simulation_parameters .get ("ndmin" , 0 )
307322 ndmax = vertical_simulation_parameters .get ("ndmax" , 3 )
308323 radius = vertical_simulation_parameters .get ("radius" , 500 )
324+ nugget = vertical_simulation_parameters .get ("nugget" , 0 )
325+ nst = vertical_simulation_parameters .get ("nst" , 1 )
326+ it1 = vertical_simulation_parameters .get ("it1" , 1 )
327+ cc1 = vertical_simulation_parameters .get ("cc1" , 1 )
328+ azi1 = vertical_simulation_parameters .get ("azi1" , 90 )
329+ hmaj1 = vertical_simulation_parameters .get ("hmaj1" , 999999 )
330+ hmin1 = vertical_simulation_parameters .get ("hmin1" , 999999 )
309331
310332 g_parameters = {
311333 "tmin" : tmin ,
@@ -327,11 +349,18 @@ def set_g_sgs_GSLIBparameters(self, vertical_simulation_parameters):
327349 "ndmin" : ndmin ,
328350 "ndmax" : ndmax ,
329351 "radius" : radius ,
352+ "nugget" : nugget ,
353+ "nst" : nst ,
354+ "it1" : it1 ,
355+ "cc1" : cc1 ,
356+ "azi1" : azi1 ,
357+ "hmaj1" : hmaj1 ,
358+ "hmin1" : hmin1
330359 }
331360
332361 self .vertical_sgs_parameters = g_parameters
333362
334- def make_l_sgs_variogram (self , lateral_simulation_parameters ):
363+ def make_l_sgs_variogram (self ):
335364 """
336365 Make variogram for lateral extent simulation
337366 By default: variogram with no nugget effect, 1 spherical nested structure, isotropic and infinite range
@@ -350,18 +379,19 @@ def make_l_sgs_variogram(self, lateral_simulation_parameters):
350379 ----
351380 """
352381
353- nugget = lateral_simulation_parameters .get ("nugget" , 0 )
354- nst = lateral_simulation_parameters .get ("nst" , 1 )
355- it1 = lateral_simulation_parameters .get ("it1" , 1 )
356- cc1 = lateral_simulation_parameters .get ("cc1" , 1 )
357- azi1 = lateral_simulation_parameters .get ("azi1" , 90 )
358- hmaj1 = lateral_simulation_parameters .get ("hmaj1" , 999999 )
359- hmin1 = lateral_simulation_parameters .get ("hmin1" , 999999 )
382+ nugget = self .lateral_sgs_parameters .get ("nugget" )
383+ nst = self .lateral_sgs_parameters .get ("nst" )
384+ it1 = self .lateral_sgs_parameters .get ("it1" )
385+ cc1 = self .lateral_sgs_parameters .get ("cc1" )
386+ azi1 = self .lateral_sgs_parameters .get ("azi1" )
387+ hmaj1 = self .lateral_sgs_parameters .get ("hmaj1" )
388+ hmin1 = self .lateral_sgs_parameters .get ("hmin1" )
389+
360390 self .lateral_sgs_variogram = GSLIB .make_variogram (
361391 nugget , nst , it1 , cc1 , azi1 , hmaj1 , hmin1
362392 )
363393
364- def make_g_sgs_variogram (self , vertical_simulation_parameters ):
394+ def make_g_sgs_variogram (self ):
365395 """
366396 Make variogram for vertical extent simulation
367397 By default: variogram with no nugget effect, 1 spherical nested structure, isotropic and infinite range
@@ -378,13 +408,13 @@ def make_g_sgs_variogram(self, vertical_simulation_parameters):
378408 ----
379409 """
380410
381- nugget = vertical_simulation_parameters . get ("nugget" , 0 )
382- nst = vertical_simulation_parameters . get ("nst" , 1 )
383- it1 = vertical_simulation_parameters . get ("it1" , 1 )
384- cc1 = vertical_simulation_parameters . get ("cc1" , 1 )
385- azi1 = vertical_simulation_parameters . get ("azi1" , 90 )
386- hmaj1 = vertical_simulation_parameters . get ("hmaj1" , 999999 )
387- hmin1 = vertical_simulation_parameters . get ("hmin1" , 999999 )
411+ nugget = self . vertical_sgs_parameters . get ("nugget" )
412+ nst = self . vertical_sgs_parameters . get ("nst" )
413+ it1 = self . vertical_sgs_parameters . get ("it1" )
414+ cc1 = self . vertical_sgs_parameters . get ("cc1" )
415+ azi1 = self . vertical_sgs_parameters . get ("azi1" )
416+ hmaj1 = self . vertical_sgs_parameters . get ("hmaj1" )
417+ hmin1 = self . vertical_sgs_parameters . get ("hmin1" )
388418
389419 self .vertical_sgs_variogram = GSLIB .make_variogram (
390420 nugget , nst , it1 , cc1 , azi1 , hmaj1 , hmin1
@@ -408,7 +438,7 @@ def simulate_lateral_thresholds(self):
408438 grid_points_coord1 = self .simulation_grid [2 ]
409439 # grid_points_coord2 = self.simulation_grid[3]
410440
411- # generate data frame containing input data for simulation
441+ # -- generate data frame containing input data for simulation
412442 data_sides = self .lateral_contact_data [0 ]
413443
414444 minP = min (
@@ -464,7 +494,7 @@ def simulate_lateral_thresholds(self):
464494
465495 self .lateral_sgs_input_data = [inputsimdata_minL , inputsimdata_maxL ]
466496
467- # Compute simulation parameters if not defined
497+ # -- Compute simulation parameters if not defined
468498 if self .lateral_sgs_parameters .get ("zmin" ) == None :
469499 self .lateral_sgs_parameters ["zmin" ] = min (
470500 inputsimdata_maxL ["l_residual" ].min (),
@@ -483,7 +513,7 @@ def simulate_lateral_thresholds(self):
483513 maxC0 = np .nanmax (grid_points_coord1 )
484514 self .lateral_sgs_parameters ["xsiz" ] = (maxC0 - minC0 ) / nx
485515
486- # Simulation of lateral extent
516+ # -- Simulation of lateral extent
487517 tmin = self .lateral_sgs_parameters .get ("tmin" )
488518 tmax = self .lateral_sgs_parameters .get ("tmax" )
489519 itrans = self .lateral_sgs_parameters .get ("itrans" )
@@ -596,7 +626,7 @@ def simulate_lateral_thresholds(self):
596626
597627 # self.simulationGSLIB_s_outcome = [s_min_simulation, s_max_simulation]
598628
599- # Create dataframe containing S threshold for each grid point
629+ # -- Create dataframe containing S threshold for each grid point
600630
601631 propagation_grid_model = np .linspace (xmn , xmn + (nx * xsiz ), nx )
602632
@@ -652,13 +682,13 @@ def simulate_growth_thresholds(self):
652682 -------
653683 """
654684
655- # Get grid points and evaluated values in the intrusion frame
685+ # -- Get grid points and evaluated values in the intrusion frame
656686 grid_points = self .simulation_grid
657687 grid_points_coord0 = self .simulation_grid [1 ]
658688 grid_points_coord1 = self .simulation_grid [2 ]
659689 grid_points_coord2 = self .simulation_grid [3 ]
660690
661- # Generate data frame containing input data for simulation
691+ # -- Generate data frame containing input data for simulation
662692 inet_data = self .vertical_contact_data [0 ]
663693 other_contact_data = self .vertical_contact_data [1 ]
664694
@@ -734,9 +764,6 @@ def simulate_growth_thresholds(self):
734764 if self .vertical_sgs_parameters .get ("zmax2" ) == None :
735765 self .vertical_sgs_parameters ["zmax2" ] = inputsimdata_inetG ["coord0" ].max ()
736766
737- # --- make variogram
738- # self.make_g_simulation_variogram()
739-
740767 # --- get parameters for simulation
741768 tmin = self .vertical_sgs_parameters .get ("tmin" )
742769 tmax = self .vertical_sgs_parameters .get ("tmax" )
@@ -851,7 +878,7 @@ def simulate_growth_thresholds(self):
851878 )
852879
853880 # self.simulationGSLIB_g_outcome = [g_min_simulation, g_max_simulation]
854- # Create dataframe containing S threshold for each grid point
881+ # -- Create dataframe containing S threshold for each grid point
855882 lower_extent_gpl = [0 , xmn , ymn ]
856883 upper_extent_gpl = [0 , xmn + xsiz * nx , ymn + ysiz * ny ]
857884
@@ -899,7 +926,7 @@ def build(
899926 lateral_extent_sgs_parameters = {},
900927 ** kwargs ,
901928 ):
902- """Main building function for intrusion. Calculates variogram and thresholds
929+ """Main building function for intrusion. Calculates variogram and simulate thresholds along frame axes
903930
904931 Parameters
905932 ----------
@@ -909,16 +936,16 @@ def build(
909936 parameters for the vertical sequential gaussian simulation, by default {}
910937 """
911938 self .prepare_data ()
912- # self.set_data_for_extent_simulation(intrusion_data)
913939 self .create_grid_for_simulation ()
914940 self .set_l_sgs_GSLIBparameters (lateral_extent_sgs_parameters )
915941 self .set_g_sgs_GSLIBparameters (vertical_extent_sgs_parameters )
916- self .make_l_sgs_variogram (lateral_extent_sgs_parameters )
917- self .make_g_sgs_variogram (vertical_extent_sgs_parameters )
942+ self .make_l_sgs_variogram ()
943+ self .make_g_sgs_variogram ()
918944 self .simulate_lateral_thresholds ()
919945 self .simulate_growth_thresholds ()
920- self .feature .growth_simulated_threshold = self .growth_simulated_thresholds
946+ self .feature .growth_simulated_thresholds = self .growth_simulated_thresholds
921947 self .feature .lateral_simulated_thresholds = self .lateral_simulated_thresholds
948+
922949
923950 def update (self ):
924951 self .build (** self .build_arguments )
0 commit comments