From a1c21ed34c07f8f939cc30bf15d5ef6cc0e74938 Mon Sep 17 00:00:00 2001 From: eusimeo <116293153+eusimeo@users.noreply.github.com> Date: Wed, 8 Jul 2026 15:48:48 +0200 Subject: [PATCH 1/2] Update pandas dependency.py Updated the code from lines 700ish and on to be compatible with newer pandas versions --- src/grid.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/grid.py b/src/grid.py index ec1cb4c..52ecd15 100644 --- a/src/grid.py +++ b/src/grid.py @@ -709,9 +709,19 @@ def reinitialization(self,initialization,microbes_pp,output,mode,pulse,*args): # calculate frequency of every taxon frequencies = cum_abundance/cum_abundance.sum() frequencies = frequencies.fillna(0) + frequencies = frequencies.clip(lower=0, upper=1) # guard against any stray negative/over-1 values (sum of 1) + frequencies = frequencies / frequencies.sum() if frequencies.sum() > 0 else frequencies # renormalize to exactly 1 + + #print("sum of frequencies:", frequencies.sum()) + #print("any NaN?", frequencies.isna().any()) + #print("min/max:", frequencies.min(), frequencies.max()) + #print("dtype:", frequencies.dtype) # last: assign microbes to each grid box randomly based on prior densities choose_taxa = np.zeros((self.n_taxa,self.gridsize), dtype='int8') for i in range(self.n_taxa): - choose_taxa[i,:] = np.random.binomial(1, frequencies[i], self.gridsize) - self.Microbes.loc[np.ravel(choose_taxa,order='F')==0] = np.float32(0) # NOTE order='F' \ No newline at end of file + freq=np.float64(frequencies.iloc[1]) #working independent of indexing (based on location not index labels) + p_vec = np.array([freq, 1.0 - freq], dtype=np.float64) #solve numoy issues + p_vec = p_vec / p_vec.sum() + choose_taxa[i,:] = np.random.choice([1,0], self.gridsize, replace=True, p=p_vec) + self.Microbes.loc[np.ravel(choose_taxa,order='F')==0] = np.float32(0) # NOTE order='F' From d6fae256fb123026dc14ef95deeaca4b1faa08a1 Mon Sep 17 00:00:00 2001 From: Jeth Walkup <161084507+jgwalkup@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:09:02 -0400 Subject: [PATCH 2/2] Clean up grid.py by removing commented debug code Removed debug print statements for frequencies. --- src/grid.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/grid.py b/src/grid.py index 52ecd15..d0ca2c7 100644 --- a/src/grid.py +++ b/src/grid.py @@ -712,11 +712,6 @@ def reinitialization(self,initialization,microbes_pp,output,mode,pulse,*args): frequencies = frequencies.clip(lower=0, upper=1) # guard against any stray negative/over-1 values (sum of 1) frequencies = frequencies / frequencies.sum() if frequencies.sum() > 0 else frequencies # renormalize to exactly 1 - #print("sum of frequencies:", frequencies.sum()) - #print("any NaN?", frequencies.isna().any()) - #print("min/max:", frequencies.min(), frequencies.max()) - #print("dtype:", frequencies.dtype) - # last: assign microbes to each grid box randomly based on prior densities choose_taxa = np.zeros((self.n_taxa,self.gridsize), dtype='int8') for i in range(self.n_taxa):