Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
08bbdb2
Phase 1 Implementation for Non self Consistent Modeling:
Chang-Scott Jun 16, 2025
f305998
Non-self consistent modeling update to PP:
Chang-Scott Jul 18, 2025
ba9d05c
Add Monte Carlo functionality to PlanetProfile
Chang-Scott Jul 19, 2025
a6c632a
Computational efficiency, reaktoro plotting updates, and monte plot u…
Chang-Scott Jul 27, 2025
31e9e5a
Computational efficiency updates/bugfixes, timing update, PyALMA upda…
Chang-Scott Aug 14, 2025
758bd65
Memory overhead improvement update:
Chang-Scott Aug 14, 2025
79e76fe
Update viscosity parameterization to use Deschamps and Sotin convecti…
Chang-Scott Aug 14, 2025
c899604
Bug fix to add solid phases to suppress ability to customsolution option
Chang-Scott Aug 14, 2025
186a8d4
Large scale results and plotting extensibility update:
Chang-Scott Aug 15, 2025
62bcdba
MgSO4 Seafreeze Coupling - Update MgSO4 to use chemical potential of …
Chang-Scott Oct 1, 2025
44901ee
Inversion Update #1: Invert 'true' model onto exploration model space…
Chang-Scott Oct 1, 2025
b8c8f82
Bug fixes for variety of files to ensure updates are compatible with …
Chang-Scott Oct 6, 2025
ea78975
Bug fixes to constant inner density option. Also updates to plotting …
Chang-Scott Oct 28, 2025
9459351
Implements better optionality for user configs:
Chang-Scott Dec 10, 2025
9146ab5
Exploration plots improvement:
Chang-Scott Dec 10, 2025
0e26ca9
Fixes errors in Porosity plot where no porosity is calculated but plo…
Chang-Scott Dec 10, 2025
d7b128c
Computational overhaul to HydroEOS: Continued improving the memory an…
Chang-Scott Dec 10, 2025
89effb0
Update to specifiy themodynamic hydrosphere figure size.
Chang-Scott Dec 10, 2025
8cc9d8d
Rebase accidental removed code
Chang-Scott Dec 10, 2025
2787bdb
Bolstering test file with new options that have been added. Also some…
Chang-Scott Dec 30, 2025
25e884e
Plotting updates: Add ability to toggle transparent backgrounds for i…
Chang-Scott Dec 30, 2025
09b09b8
PPv3.1 bug fix update
Chang-Scott Jan 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ configPP.py
configPPplots.py
configPPinduct.py
configPPtrajec.py
configPPmontecarlo.py
*/PP*.py
*~
.DS_Store
Expand Down
193 changes: 146 additions & 47 deletions PlanetProfile/BuildTest.py

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion PlanetProfile/CustomSolution/defaultConfigCustomSolution.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
""" Default custom ocean solution settings """
from PlanetProfile.Utilities.defineStructs import CustomSolutionParamsStruct

configCustomSolutionVersion = 6 # Integer number for config file version. Increment when new settings are added to the default config file.
configCustomSolutionVersion = 7 # Integer number for config file version. Increment when new settings are added to the default config file.

def customSolutionAssign():
CustomSolutionParams = CustomSolutionParamsStruct()
Expand All @@ -22,6 +22,7 @@ def customSolutionAssign():
CustomSolutionParams.SOLID_PHASES = True
# Only valid if SOLID_PHASES is True. Specify the Solid Phases to consider - specifying only primary phases can speed up runtime. 'All' considers all possible phases available in database
CustomSolutionParams.SOLID_PHASES_TO_CONSIDER = ['Carbonates', 'Sulfates'] # Can specify minerals specifically, or add keywords that include 'Carbonates', 'Sulfates' that are defined in Constants.py
CustomSolutionParams.SOLID_PHASES_TO_SUPPRESS = None # Specify solid phases to suppress from equilibrium calculations. None suppresses none. Should be in a list format like ['Dolomite', 'Calcite']

# Have PlanetProfile remove species that Frezchem does not have in database so we can consider more diverse speciated compositions in the ocean thermodynamcis
# This removes self-consistency between the phase equilibria (up to 200MPa) and ocean thermodynamics since frezchem is calculating liquid-IceI equilibria of a less speciated chemistry
Expand Down
432 changes: 246 additions & 186 deletions PlanetProfile/GetConfig.py

Large diffs are not rendered by default.

295 changes: 158 additions & 137 deletions PlanetProfile/Gravity/Gravity.py

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions PlanetProfile/Gravity/defaultConfigGravity.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
""" Configuration settings specific to gravity response calculations and plots """
from PlanetProfile.Utilities.defineStructs import GravityParamsStruct

configGravityVersion = 3 # Integer number for config file version. Increment when new settings are added to the default config file.
configGravityVersion = 4 # Integer number for config file version. Increment when new settings are added to the default config file.

def gravityAssign():
GravityParams = GravityParamsStruct()
Expand All @@ -12,14 +12,14 @@ def gravityAssign():
GravityParams.parallel = False # Use Parallel computing for PyALMA calculations. #TODO: Need to implement way to do this if Parallel already being used in Exploreogram

# Parsing parameters
GravityParams.rheology_models = {'0': 'newton', 'Ih': 'maxwell', 'Ih_conv': 'andrade','II': 'maxwell', 'III': 'maxwell', 'III_conv': 'andrade',
GravityParams.rheology_models = {'0': 'newton', 'Ih': 'elastic', 'Ih_conv': 'andrade','II': 'maxwell', 'III': 'maxwell', 'III_conv': 'andrade',
'IV': 'maxwell', 'V': 'maxwell','V_conv': 'andrade', 'VI': 'maxwell',
'Sil': 'elastic', 'Fe': 'elastic', 'Clath': 'newton', 'Clath_conv': 'andrade'} # Rheology structure model, where each model corresponds to a layer

# General parameters
GravityParams.num_digits = 128 # Set precision
GravityParams.gorder = 8 # Order of Gaver method
GravityParams.tau = 0 # TODO: FIGURE OUT WHAT TAU DOES
GravityParams.gorder = 4 # Order of Gaver method
GravityParams.tau = 2 # TODO: FIGURE OUT WHAT TAU DOES
GravityParams.loading_type = 'tidal' # Loading type to calculate love numbers - 'tidal' or 'loading'

# Harmonic degrees parameters
Expand All @@ -29,6 +29,6 @@ def gravityAssign():
GravityParams.ramp_function_length_kyrs = None # Ramp length in kyrs

# Output parameters
GravityParams.output_type = 'real' # Output type - 'complex' or 'real'
GravityParams.output_type = 'complex' # Output type - 'complex' or 'real'

return GravityParams
Loading
Loading