Methane Solubility

Calculates the solubility of methane in water.
876 Downloads
Updated 11 Jun 2012

View License

Given pressure (in MPa), Temperature (in Kelvin) and Salinity (in either mol/kg or parts per thousand), this function uses the formulae in Tischenko et al (2005) and Duan et al (1992, 2006) to calculate the solubility of methane inside and outside the methane hydrate stability field.
This function will compute solubilities either over a range of pressures, temperatures or salinities, or for discrete pressure, temperature, salinity points. Two demonstration can be seen using the following code:

To calculate solubility over a range of conditions:

P = [5:.5:15]';
T = [273:.5:293]';
S = [0:10:30];
SalinityUnits = 'ppt';
Datatype = 'range';
NetCH4Solubility = MethaneSolubility(P,T,S,SalinityUnits,Datatype);
surf(T,P,NetCH4Solubility(:,:,1))
xlabel('Temperature (K)')
ylabel('Pressure (MPa)')
zlabel('Methane Solubility (moles CH4 per kg water)')

To calculate solubility for discrete data points:

P = [5:.5:15]';
T = [273:1:293]';
S = [0:1:20]';
SalinityUnits = 'ppt';
Datatype = 'points';
NetCH4Solubility = MethaneSolubility(P,T,S,SalinityUnits,Datatype);
plot(T,NetCH4Solubility,'bo')

Cite As

William Waite (2024). Methane Solubility (https://www.mathworks.com/matlabcentral/fileexchange/36963-methane-solubility), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Oceanography and Hydrology in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.2.0.0

This version updates the U.S. Geological Survey disclaimer.

1.1.0.0

This update is only to ensure the acknowledgments written in the script are also included on the Mathworks download page. "Methane Solubility" gratefully acknowledges the XSteam script by Magnus Holmgren and the Progressbar script by Steve Hoelzer.

1.0.0.0