Generate realistic synthetic oil & gas data (LAS well logs, SEG-Y seismic, core photos, time-series) with proper physical constraints for testing, demos, and training.
Natural language interface for generating realistic oil & gas domain data.
Generate synthetic well logs (LAS/DLIS), seismic (SEG-Y), core photos, and time-series data with proper physical constraints for testing, demos, and training.
Generate data with realistic relationships:
from synthetic_data.well_log import LASGenerator
from synthetic_data.seismic import SEGYGenerator
Create realistic LAS files:
generator = LASGenerator(seed=42)
las_path = generator.create_record(
well_name="Test-Well-001",
curves=["GR", "RHOB", "NPHI", "RT"],
depth_range=(1000.0, 2000.0),
sample_interval=0.15,
lithology="sandstone"
)
Options:
well_name: Well identifiercurves: Log curves to generate (GR, RHOB, NPHI, RT, DT, CALI)depth_range: (start, end) in meterssample_interval: Sampling interval in meterslithology: sandstone | shale | carbonateseed: Random seed for reproducibilityCreate SEG-Y volumes:
generator = SEGYGenerator(seed=42)
segy_path = generator.create_record(
survey_name="Test-Survey",
n_inlines=100,
n_crosslines=100,
n_samples=500,
sample_interval=4000 # microseconds
)
IMPORTANT: Expensive Operation
Core photo generation uses AI image generation APIs which are costly. Before generating:
When user requests core photos, ask these in order:
Question 1 - Count:
"How many core photos do you need? (Image generation is expensive - each photo costs API credits)"
Question 2 - Lithology:
"What lithology? (A) Sandstone (B) Shale (C) Carbonate (D) Limestone (E) Dolomite (F) Mixed/varies"
Question 3 - Visual Features (if user wants detail):
"Any specific visual features? (A) Default/random (B) With fractures (C) With oil staining (D) Specific bedding angles (E) Let me specify"
Question 4 - Full Context (if user wants geological accuracy):
"Need full geological context? If yes, specify: depth range, formation name, field name, well naming convention"
from synthetic_data.core_photos import CorePhotoGenerator
generator = CorePhotoGenerator(api_key="YOUR_GOOGLE_AI_API_KEY")
result = generator.create_record(
well_name="Test-Well-001",
lithology="sandstone",
depth_range=(1000.0, 2000.0),
output_dir="./output"
)
Options:
well_name: Well identifierlithology: sandstone | shale | carbonate | limestone | dolomitedepth_range: (start, end) in meterscore_length: Length of core sample in meters (default: 1.0)field_name: Field name for metadataformation: Formation name for metadataoutput_dir: Directory to save images and metadataReference examples available at synthetic_data/assets/:
core-photos.png - Real core sample photographs showing proper formatcore-photos.webp - WebP versionThese show proper format: depth markers, well identification, lithology variations, and scale bars.
Files validate against domain libraries:
Generate manifests for OSDU:
from synthetic_data.osdu import LASMapper
mapper = LASMapper()
manifest = mapper.to_manifest(
las_path,
legal_tags={"legaltags": ["test-license"]}
)
User says:
"Generate 5 LAS files for testing"
→ Uses LASGenerator.create_dataset(n_records=5)
User says:
"Create realistic well log with GR, RHOB, NPHI for carbonate formation"
→ Uses lithology="carbonate"
User says:
"Generate well log data with OSDU manifests for demo deployment"
→ Creates LAS files + OSDU-compliant JSON manifests
User says:
"Generate core photos for testing"
→ Ask: "How many?" then "What lithology?" then generate
User says:
"I need 5 sandstone core photos with visible fractures"
→ Confirms count (5), lithology (sandstone), feature (fractures) → generate
User says:
"Generate synthetic data for my reservoir project"
→ Ask: "What type of data? (well logs, seismic, core photos, production data)" → If core photos selected, proceed with mandatory questions
If user requests:
petropowers:oil-gas-delegationpip install lasio welly dlisio segyio numpy pandas scipy
See references/physical-constraints.md for detailed petrophysical relationships.38:["$","$L40",null,{"content":"$41","frontMatter":{"name":"synthetic-data-generation","description":"Generate realistic synthetic oil & gas data (LAS well logs, SEG-Y seismic, core photos, time-series) with proper physical constraints for testing, demos, and training."}}]