13. Site Tools#
The pycsamt.site package provides station-centric tools for working
with EDI or EMTF-XML sites and survey-line collections. It sits between
low-level EDI/EMTF-XML parsing and higher-level processing, inversion,
plotting, and reporting.
Use this section when you need to:
wrap one EDI file as a single site object;
manage many sites as a survey collection;
inspect station names, coordinates, frequency axes, impedance arrays, phase, apparent resistivity, and tipper values;
select subsets of stations by name, index, frequency coverage, coordinates, chainage, or data quality;
edit station metadata, rotate tensors, subset frequencies, fill missing arrays, or recompute derived resistivity and phase;
normalize foreign or raw EDI files and rewrite them with pyCSAMT while preserving survey-line folder structure;
build survey-line profiles and chainages from coordinates;
export cleaned sites, write manifests, create zip packages, and generate human-readable site reports.
- 13.1. Site Containers
- 13.1.1. Where Containers Fit
- 13.1.2. Creating One Site
- 13.1.3. Station Identity
- 13.1.4. Coordinates
- 13.1.5. Array Accessors
- 13.1.6. Quality And Component Checks
- 13.1.7. DataFrame Export
- 13.1.8. Creating A Collection
- 13.1.9. Working With EMTF-XML
- 13.1.10. Unwrapping Back To EDI
- 13.1.11. Collection Lookup
- 13.1.12. Mapping And Selection
- 13.1.13. Bulk Edits
- 13.1.14. Topography Alignment
- 13.1.15. Closest Site
- 13.1.16. Profiles
- 13.1.17. Writing Sites
- 13.1.18. Common Patterns
- 13.1.19. Common Mistakes
- 13.1.20. Next Pages
- 13.2. Site Metadata
- 13.2.1. Why Identity Synchronization Matters
- 13.2.2. Real EDI Setup
- 13.2.3. Renaming One or Many Stations
- 13.2.4. Updating One Site Coherently
- 13.2.5. Coordinates and Their Validation
- 13.2.6. Metadata Sources
- 13.2.7. Tabular Review Workflow
- 13.2.8. Generic Field Actions
- 13.2.9. Editing Other EDI Sections
- 13.2.10. Transactions and Error Policies
- 13.2.11. Validation Controls
- 13.2.12. Audit Semantics
- 13.2.13. In-Place Editing
- 13.2.14. Export and Round-Trip Verification
- 13.2.15. Renaming Does Not Order a Survey Line
- 13.2.16. Choosing the Right Entry Point
- 13.2.17. Common Mistakes
- 13.2.18. Next Steps
- 13.3. Location And Profiles
- 13.3.1. Location Tool Map
- 13.3.2. Profile Tool Map
- 13.3.3. Coordinate Containers
- 13.3.4. Parsing Coordinates
- 13.3.5. Normalizing EDI Head Coordinates
- 13.3.6. Applying Topography Tables
- 13.3.7. Coordinate Projection
- 13.3.8. Distance And Bearing
- 13.3.9. Chainage Along A Line
- 13.3.10. Inferring Line Orientation
- 13.3.11. Ordering Sites Along A Survey Line
- 13.3.12. Building Profiles
- 13.3.13. Sorting And Slicing Profiles
- 13.3.14. Resampling And Summary
- 13.3.15. Gap Detection
- 13.3.16. End-To-End Example
- 13.3.17. Common Mistakes
- 13.3.18. Next Pages
- 13.4. Site Selection
- 13.4.1. Selector Map
- 13.4.2. Selection Contract
- 13.4.3. Name Selection
- 13.4.4. Index Selection
- 13.4.5. Chainage Selection
- 13.4.6. Frequency Coverage Selection
- 13.4.7. Bounding Box Selection
- 13.4.8. Custom Predicate Selection
- 13.4.9. Finite Impedance Selection
- 13.4.10. Phase Error Selection
- 13.4.11. Empty Site Selection
- 13.4.12. Functional Selectors Versus Sites.select
- 13.4.13. Combining Selectors
- 13.4.14. Selection Before Inversion
- 13.4.15. Common Mistakes
- 13.4.16. Next Pages
- 13.5. Site Editing
- 13.5.1. Editing Map
- 13.5.2. Copy Versus In-Place Editing
- 13.5.3. Tensor Rotation
- 13.5.4. Frequency Subsetting
- 13.5.5. Station Renaming
- 13.5.6. Coordinate Editing
- 13.5.7. Coordinate Tables
- 13.5.8. Easting/Northing Conversion
- 13.5.9. Missing Data Filling
- 13.5.10. Recomputing Resistivity And Phase
- 13.5.11. Practical Preparation Workflow
- 13.5.12. Common Mistakes
- 13.5.13. Next Pages
- 13.6. EDI Recompute Workflow
- 13.6.1. Tool Map
- 13.6.2. Quick Start
- 13.6.3. Whole Survey Folders
- 13.6.4. Flattened Output
- 13.6.5. Operation Order
- 13.6.6. Rotation Control
- 13.6.7. Frequency And Missing Values
- 13.6.8. Filename Templates
- 13.6.9. Result Object
- 13.6.10. Manifest CSV
- 13.6.11. In-Memory Recompute
- 13.6.12. Command-Line Use
- 13.6.13. Relationship To Editing And Export
- 13.7. Computed Diagnostics
- 13.7.1. Input Contract
- 13.7.2. Return Types
- 13.7.3. Diagnostic Map
- 13.7.4. Strike Estimate
- 13.7.5. Apparent Resistivity At One Frequency
- 13.7.6. Phase Slope
- 13.7.7. Tipper Magnitude
- 13.7.8. Plotting The Diagnostics
- 13.7.9. APIFrame Output
- 13.7.10. Quality-Control Workflow
- 13.7.11. Common Mistakes
- 13.7.12. Next Pages
- 13.8. Export And Reporting
- 13.8.1. Tool Map
- 13.8.2. Reproducible Demo Sites
- 13.8.3. Export Workflow
- 13.8.4. Writing One Site
- 13.8.5. Batch Writing Sites
- 13.8.6. Filename Templates
- 13.8.7. Collision Policy
- 13.8.8. Manifest CSV
- 13.8.9. Zip Packaging
- 13.8.10. Reporting Workflow
- 13.8.11. Single-Site Reports
- 13.8.12. Survey Reports
- 13.8.13. API View Wrapping
- 13.8.14. End-To-End Delivery Example
- 13.8.15. Common Mistakes
- 13.8.16. Next Pages
- 13.9. Site Utilities
- 13.9.1. Utility Map
- 13.9.2. Input Detection
- 13.9.3. Safe EDI Iteration
- 13.9.4. Coercing To EDICollection
- 13.9.5. Station Name Resolution
- 13.9.6. Updating Station Names
- 13.9.7. Metadata Changes Belong to the Metadata API
- 13.9.8. Coordinate Access
- 13.9.9. Writing Coordinates
- 13.9.10. Copy And In-Place Semantics
- 13.9.11. Frequency Access
- 13.9.12. Frequency Matching
- 13.9.13. Frequency Selection
- 13.9.14. Name Matching
- 13.9.15. Selecting By Name
- 13.9.16. Angle Helpers
- 13.9.17. Putting Utilities Together
- 13.9.18. Common Mistakes
- 13.9.19. Next Pages