diff --git a/doc/Makefile b/doc/Makefile index d0836895..39f60a95 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -7,6 +7,11 @@ SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter @@ -29,17 +34,20 @@ help: @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: - -rm -rf $(BUILDDIR)/* + rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @@ -108,6 +116,12 @@ latexpdf: $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @@ -151,3 +165,13 @@ doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/analysis.rst b/doc/analysis.rst new file mode 100644 index 00000000..a3acb341 --- /dev/null +++ b/doc/analysis.rst @@ -0,0 +1,31 @@ +*********** +Analysis +*********** + +**Module Distortion** +======================== +.. automodule:: mtpy.analysis.distortion + :members: + +**Module Geometry** +======================== +.. automodule:: mtpy.analysis.geometry + :members: + +**Module Phase Tensor** +======================== +.. automodule:: mtpy.analysis.pt + :members: + +**Module Static Shift** +======================== +.. automodule:: mtpy.analysis.staticshift + :members: + +**Module Z Invariants** +======================== +.. automodule:: mtpy.analysis.zinvariants + :members: + + + diff --git a/doc/conf.py b/doc/conf.py index 62b6867a..36e901f7 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- # # MTpy documentation build configuration file, created by -# sphinx-quickstart on Tue Dec 17 11:03:33 2013. +# sphinx-quickstart on Thu May 19 15:22:56 2016. # -# This file is execfile()d with the current directory set to its containing dir. +# This file is execfile()d with the current directory set to its +# containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. @@ -11,21 +12,42 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys, os +import sys +import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.abspath('.')) +#sys.path.insert(0, os.path.abspath('.')) -# -- General configuration ----------------------------------------------------- +# -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.viewcode'] +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.viewcode', + 'sphinx.ext.napoleon' +] + +# Napoleon settings +napoleon_google_docstring = True +napoleon_numpy_docstring = True +napoleon_include_private_with_doc = False +napoleon_include_special_with_doc = True +napoleon_use_admonition_for_examples = False +napoleon_use_admonition_for_notes = False +napoleon_use_admonition_for_references = False +napoleon_use_ivar = False +napoleon_use_param = True +napoleon_use_rtype = True # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -37,20 +59,20 @@ #source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = 'master_index' # General information about the project. project = u'MTpy' -copyright = u'2013, Jared Peacock, Lars Krieger, Stephan Thiel, Kent Inverarity' +copyright = u'2016, J. Peacock, L. Krieger' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '0.1' +version = '0.2' # The full version, including alpha/beta/rc tags. -release = '0.1' +release = '0.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -66,7 +88,8 @@ # directories to ignore when looking for source files. exclude_patterns = ['_build'] -# The reST default role (used for this markup: `text`) to use for all documents. +# The reST default role (used for this markup: `text`) to use for all +# documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. @@ -86,8 +109,11 @@ # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False -# -- Options for HTML output --------------------------------------------------- + +# -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. @@ -122,6 +148,11 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%b %d, %Y' @@ -167,7 +198,7 @@ htmlhelp_basename = 'MTpydoc' -# -- Options for LaTeX output -------------------------------------------------- +# -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). @@ -181,10 +212,11 @@ } # Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'MTpy.tex', u'MTpy Documentation', - u'Jared Peacock, Lars Krieger, Stephan Thiel, Kent Inverarity', 'manual'), + ('master_index', 'MTpy.tex', u'MTpy Documentation', + u'J. Peacock, L. Krieger', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -208,27 +240,27 @@ #latex_domain_indices = True -# -- Options for manual page output -------------------------------------------- +# -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'mtpy', u'MTpy Documentation', - [u'Jared Peacock, Lars Krieger, Stephan Thiel, Kent Inverarity'], 1) + ('master_index', 'mtpy', u'MTpy Documentation', + [u'J. Peacock, L. Krieger'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False -# -- Options for Texinfo output ------------------------------------------------ +# -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'MTpy', u'MTpy Documentation', - u'Jared Peacock, Lars Krieger, Stephan Thiel, Kent Inverarity', 'MTpy', 'One line description of project.', + ('master_index', 'MTpy', u'MTpy Documentation', + u'J. Peacock, L. Krieger', 'MTpy', 'One line description of project.', 'Miscellaneous'), ] @@ -240,3 +272,76 @@ # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = u'MTpy' +epub_author = u'J. Peacock, L. Krieger' +epub_publisher = u'J. Peacock, L. Krieger' +epub_copyright = u'2016, J. Peacock, L. Krieger' + +# The basename for the epub file. It defaults to the project name. +#epub_basename = u'MTpy' + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or en if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the PIL. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/doc/core.rst b/doc/core.rst index bd98e005..6669ec25 100644 --- a/doc/core.rst +++ b/doc/core.rst @@ -2,18 +2,18 @@ Core: ********* -.. **Module z** -.. ============= +**Module z** +============= .. automodule:: mtpy.core.z -.. **Class Z** -.. ------------ -.. .. autoclass:: mtpy.core.z.Z +**Class Z** +------------ +.. autoclass:: mtpy.core.z.Z :members: -.. **Class Tipper** -.. ----------------- -.. .. autoclass:: mtpy.core.z.Tipper +**Class Tipper** +----------------- +.. autoclass:: mtpy.core.z.Tipper :members: **Module edi** @@ -22,6 +22,15 @@ Core: **Class Edi** -------------- .. automodule:: mtpy.core.edi + :members: + +**Module MT** +=============== + +**Class MT** +------------- +.. automodule:: mtpy.core.mt + :members: diff --git a/doc/imaging.rst b/doc/imaging.rst new file mode 100644 index 00000000..e5a3e671 --- /dev/null +++ b/doc/imaging.rst @@ -0,0 +1,18 @@ +================== +Imaging +================== + +**Module MTPlot** +======================== +.. automodule:: mtpy.imaging.mtplot + +.. automodule:: mtpy.imaging.plotresponse + :members: + +.. automodule:: mtpy.imaging.plotnresponses + :members: + +.. automodule:: mtpy.imaging.plotstrike + :members: + + diff --git a/doc/make.bat b/doc/make.bat index 7fa1c53e..def52265 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -33,6 +33,8 @@ if "%1" == "help" ( echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items + echo. xml to make Docutils-native XML files + echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled goto end @@ -44,6 +46,20 @@ if "%1" == "clean" ( goto end ) + +%SPHINXBUILD% 2> nul +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 @@ -129,6 +145,26 @@ if "%1" == "latex" ( goto end ) +if "%1" == "latexpdf" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf + cd %BUILDDIR%/.. + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "latexpdfja" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + cd %BUILDDIR%/latex + make all-pdf-ja + cd %BUILDDIR%/.. + echo. + echo.Build finished; the PDF files are in %BUILDDIR%/latex. + goto end +) + if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 @@ -187,4 +223,20 @@ results in %BUILDDIR%/doctest/output.txt. goto end ) +if "%1" == "xml" ( + %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The XML files are in %BUILDDIR%/xml. + goto end +) + +if "%1" == "pseudoxml" ( + %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. + goto end +) + :end diff --git a/doc/master_index.rst b/doc/master_index.rst new file mode 100644 index 00000000..fc5ebd22 --- /dev/null +++ b/doc/master_index.rst @@ -0,0 +1,26 @@ +.. MTpy documentation master file, created by + sphinx-quickstart on Thu May 19 15:22:56 2016. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to MTpy's documentation! +================================ + +Contents: + +.. toctree:: + :maxdepth: 2 + + core + analysis + modeling + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/doc/modeling.rst b/doc/modeling.rst new file mode 100644 index 00000000..30b92506 --- /dev/null +++ b/doc/modeling.rst @@ -0,0 +1,34 @@ +================= +Modeling +================= + +**Module ModEM** +================== + +.. automodule:: mtpy.modeling.modem_new + :members: + +**Module Occam 1D** +================== + +.. automodule:: mtpy.modeling.occam1d + :members: + +**Module Occam 2D** +================== + +.. automodule:: mtpy.modeling.occam2d_rewrite + :members: + +**Module Winglink** +================== + +.. automodule:: mtpy.modeling.winglink + :members: + +**Module WS3DINV** +================== + +.. automodule:: mtpy.modeling.ws3dinv + :members: + \ No newline at end of file diff --git a/examples/data/NEConductor/par00.edi b/examples/data/NEConductor/par00.edi new file mode 100644 index 00000000..fd5c5b75 --- /dev/null +++ b/examples/data/NEConductor/par00.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par00" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par00" +REFLAT=-30:14:06.4266 +REFLONG=139:42:08.1068 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par00" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.493203e-02 5.975136e-05 1.931789e-05 3.360167e-07 -2.659985e-07 3.002248e-05 +-6.444653e-04 1.654296e-03 -7.720626e-04 -3.039426e-03 -3.120904e-03 -2.332059e-03 +-1.489406e-03 -8.808659e-04 +>ZXXI ROT=ZROT //14 +-2.335461e-03 2.152923e-05 5.032633e-06 -4.170725e-07 -2.625865e-07 -5.950210e-05 +-2.295596e-04 1.484689e-04 2.582432e-03 1.231889e-03 -2.437718e-04 -8.586662e-04 +-8.682712e-04 -6.485850e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865474e+02 1.241414e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317112e+01 + 8.357729e+00 6.602542e+00 5.481418e+00 4.280404e+00 3.016859e+00 1.928702e+00 + 1.149144e+00 6.607711e-01 +>ZXYI ROT=ZROT //14 + 3.081975e+02 1.471561e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271862e+01 + 6.029344e+00 2.956462e+00 2.000672e+00 1.767585e+00 1.579426e+00 1.254442e+00 + 8.822606e-01 5.643091e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866494e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317112e+01 +-8.357700e+00 -6.602927e+00 -5.480658e+00 -4.278979e+00 -3.015538e+00 -1.927747e+00 +-1.148543e+00 -6.604171e-01 +>ZYXI ROT=ZROT //14 +-3.082579e+02 -1.471581e+02 -7.805621e+01 -4.294172e+01 -2.400292e+01 -1.271861e+01 +-6.029268e+00 -2.956928e+00 -2.001644e+00 -1.767903e+00 -1.579216e+00 -1.254045e+00 +-8.818917e-01 -5.640417e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.782099e-03 -2.700954e-05 -7.027211e-07 3.696046e-07 4.502699e-08 -2.816561e-05 + 6.409560e-04 -1.612548e-03 6.687873e-04 2.912439e-03 3.003137e-03 2.243194e-03 + 1.431784e-03 8.464829e-04 +>ZYYI ROT=ZROT //14 + 3.563280e-04 -7.712449e-06 -1.035588e-07 -1.182903e-07 3.075653e-07 5.936723e-05 + 2.086742e-04 -6.888573e-05 -2.507459e-03 -1.215511e-03 2.255442e-04 8.244024e-04 + 8.347766e-04 6.234837e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.797693e-02 2.332932e-04 -3.200248e-05 -7.144650e-07 1.358417e-08 -2.804791e-06 + 7.473648e-05 7.012304e-05 -5.457032e-04 -5.879528e-04 -4.208767e-04 -2.661293e-04 +-1.574338e-04 -9.029429e-05 +>TXI.EXP //14 +-1.287037e-03 -4.262767e-05 4.788844e-07 1.184167e-06 1.616976e-08 3.576570e-06 +-5.038189e-05 3.859632e-04 3.228825e-04 -4.317116e-05 -1.620768e-04 -1.572555e-04 +-1.166618e-04 -7.595473e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.611007e-03 5.966931e-04 1.207712e-05 -7.044225e-07 -1.279080e-08 -2.424668e-06 + 6.081703e-05 5.498227e-05 -4.406999e-04 -4.687833e-04 -3.324683e-04 -2.095152e-04 +-1.238298e-04 -7.094485e-05 +>TYI.EXP //14 +-3.364314e-04 -7.187001e-05 -4.783290e-06 -7.034070e-07 -6.525778e-09 2.916657e-06 +-4.005424e-05 3.106937e-04 2.571084e-04 -3.890756e-05 -1.306993e-04 -1.249606e-04 +-9.215855e-05 -5.978144e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par01.edi b/examples/data/NEConductor/par01.edi new file mode 100644 index 00000000..86aeafb2 --- /dev/null +++ b/examples/data/NEConductor/par01.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par01" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par01" +REFLAT=-30:13:50.1871 +REFLONG=139:42:08.3202 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par01" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.433466e-02 9.246364e-05 1.842830e-05 3.343768e-07 -1.954291e-07 5.514276e-05 +-8.424640e-04 1.828447e-03 -3.432820e-04 -2.595903e-03 -2.778864e-03 -2.105458e-03 +-1.352389e-03 -8.016209e-04 +>ZXXI ROT=ZROT //14 +-2.470457e-03 3.243566e-05 4.944799e-06 -4.170273e-07 -4.694835e-07 -7.253697e-05 +-2.998308e-04 -1.707558e-04 2.428851e-03 1.263827e-03 -1.277301e-04 -7.358356e-04 +-7.721111e-04 -5.840710e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865462e+02 1.241414e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317094e+01 + 8.358804e+00 6.601043e+00 5.478938e+00 4.278090e+00 3.015111e+00 1.927554e+00 + 1.148454e+00 6.603728e-01 +>ZXYI ROT=ZROT //14 + 3.082005e+02 1.471561e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271853e+01 + 6.030169e+00 2.958268e+00 2.001176e+00 1.767273e+00 1.578776e+00 1.253795e+00 + 8.817660e-01 5.639810e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866347e+02 -1.241503e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317096e+01 +-8.358502e+00 -6.601385e+00 -5.479524e+00 -4.278474e+00 -3.015325e+00 -1.927668e+00 +-1.148514e+00 -6.604057e-01 +>ZYXI ROT=ZROT //14 +-3.082471e+02 -1.471573e+02 -7.805624e+01 -4.294172e+01 -2.400292e+01 -1.271851e+01 +-6.030138e+00 -2.957755e+00 -2.001168e+00 -1.767442e+00 -1.578932e+00 -1.253899e+00 +-8.818269e-01 -5.640150e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.366527e-03 -2.764924e-05 -6.379985e-07 3.381708e-07 -4.905079e-08 -4.833583e-05 + 7.626681e-04 -1.792942e-03 5.998798e-04 2.938948e-03 3.061526e-03 2.297203e-03 + 1.469495e-03 8.695879e-04 +>ZYYI ROT=ZROT //14 + 3.235441e-04 -7.886165e-06 -1.323085e-07 -1.121007e-07 4.524319e-07 6.901260e-05 + 3.014877e-04 -2.349763e-05 -2.601365e-03 -1.283315e-03 2.035218e-04 8.312456e-04 + 8.509308e-04 6.381824e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.684472e-02 1.879441e-04 -3.160404e-05 -8.476651e-07 6.913994e-09 -3.668195e-06 + 8.092402e-05 4.519887e-05 -5.255537e-04 -5.417220e-04 -3.826963e-04 -2.409901e-04 +-1.423639e-04 -8.161594e-05 +>TXI.EXP //14 +-1.144652e-03 -3.591946e-05 4.924736e-07 1.276945e-06 1.617362e-08 3.412839e-06 +-4.388821e-05 3.786306e-04 2.838867e-04 -5.240309e-05 -1.528869e-04 -1.445648e-04 +-1.062870e-04 -6.892872e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.579664e-03 5.966949e-04 1.207535e-05 -7.074412e-07 -1.952665e-08 -3.779173e-06 + 8.419727e-05 5.023991e-05 -5.539068e-04 -5.737490e-04 -4.048040e-04 -2.548544e-04 +-1.506006e-04 -8.628368e-05 +>TYI.EXP //14 +-3.419694e-04 -7.184448e-05 -4.779738e-06 -7.003798e-07 -7.022213e-09 3.652782e-06 +-4.727103e-05 3.973485e-04 3.036168e-04 -5.501901e-05 -1.618356e-04 -1.529118e-04 +-1.123799e-04 -7.281029e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par010.edi b/examples/data/NEConductor/par010.edi new file mode 100644 index 00000000..7fabfa54 --- /dev/null +++ b/examples/data/NEConductor/par010.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par010" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par010" +REFLAT=-30:11:24.0307 +REFLONG=139:42:10.2379 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par010" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.368895e-03 3.895611e-04 7.566856e-06 2.400888e-07 2.032087e-06 3.319034e-04 +-3.319465e-03 2.971840e-03 9.095717e-03 9.083803e-03 6.935309e-03 4.595379e-03 + 2.782890e-03 1.610949e-03 +>ZXXI ROT=ZROT //14 +-1.870580e-03 1.295579e-04 1.357597e-06 -2.704596e-07 2.394011e-07 -6.880431e-05 +-6.908837e-04 -7.132467e-03 -3.183681e-03 7.838353e-04 2.400539e-03 2.499703e-03 + 1.952351e-03 1.310235e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865461e+02 1.241416e+02 7.346939e+01 4.197591e+01 2.350537e+01 1.317044e+01 + 8.362021e+00 6.597166e+00 5.470299e+00 4.269262e+00 3.008173e+00 1.922889e+00 + 1.145609e+00 6.587219e-01 +>ZXYI ROT=ZROT //14 + 3.082042e+02 1.471562e+02 7.805627e+01 4.294175e+01 2.400291e+01 1.271831e+01 + 6.032249e+00 2.964596e+00 2.003954e+00 1.766659e+00 1.576522e+00 1.251341e+00 + 8.798084e-01 5.626531e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865631e+02 -1.241464e+02 -7.346938e+01 -4.197591e+01 -2.350537e+01 -1.317059e+01 +-8.360751e+00 -6.597926e+00 -5.474970e+00 -4.274725e+00 -3.012656e+00 -1.925973e+00 +-1.147512e+00 -6.598322e-01 +>ZYXI ROT=ZROT //14 +-3.081989e+02 -1.471559e+02 -7.805637e+01 -4.294174e+01 -2.400291e+01 -1.271833e+01 +-6.032007e+00 -2.961092e+00 -2.001485e+00 -1.766581e+00 -1.577747e+00 -1.252850e+00 +-8.810679e-01 -5.635266e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.240095e-03 -6.124292e-05 1.532867e-07 2.443494e-07 -1.045346e-06 -2.913730e-04 + 3.178396e-03 -2.861549e-03 -8.382102e-03 -8.171877e-03 -6.136157e-03 -4.020573e-03 +-2.419516e-03 -1.396671e-03 +>ZYYI ROT=ZROT //14 + 1.996998e-04 -1.727175e-05 -1.731625e-07 -1.333656e-07 2.492631e-07 9.670715e-05 + 5.568419e-04 6.640195e-03 2.752367e-03 -8.542149e-04 -2.230013e-03 -2.248451e-03 +-1.726642e-03 -1.147802e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.213414e-03 -5.145321e-04 -3.662855e-05 5.282304e-07 4.837284e-08 5.694107e-06 +-1.383318e-04 -4.370492e-05 8.079316e-04 8.525344e-04 6.159284e-04 3.924433e-04 + 2.331020e-04 1.338033e-04 +>TXI.EXP //14 + 1.614715e-04 6.335197e-05 1.237907e-05 3.753877e-07 -2.547447e-08 -6.075409e-06 + 7.035830e-05 -5.965988e-04 -4.380545e-04 6.691210e-05 2.341297e-04 2.290979e-04 + 1.712107e-04 1.119607e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.356541e-03 5.976751e-04 1.207009e-05 -7.240012e-07 -4.409214e-08 -8.679377e-06 + 1.928571e-04 5.346180e-05 -1.111232e-03 -1.165159e-03 -8.393736e-04 -5.341351e-04 +-3.170676e-04 -1.819985e-04 +>TYI.EXP //14 +-3.798457e-04 -7.180076e-05 -4.757041e-06 -6.827299e-07 6.829207e-10 8.174254e-06 +-9.379572e-05 8.213973e-04 5.946826e-04 -9.598750e-05 -3.215330e-04 -3.129325e-04 +-2.333641e-04 -1.524007e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par01ew.edi b/examples/data/NEConductor/par01ew.edi new file mode 100644 index 00000000..96c71cd1 --- /dev/null +++ b/examples/data/NEConductor/par01ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par01ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par01ew" +REFLAT=-30:12:44.1375 +REFLONG=139:38:44.2282 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par01ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.727004e-02 5.986271e-04 1.069579e-04 2.043161e-06 -7.785840e-08 -6.456230e-06 +-1.169332e-04 -8.525341e-05 9.229597e-04 7.908947e-04 4.888797e-04 2.973444e-04 + 1.764859e-04 1.018542e-04 +>ZXXI ROT=ZROT //14 +-1.732601e-03 4.226252e-04 4.055823e-05 -2.630247e-06 -1.408078e-07 -5.302447e-06 + 1.660911e-04 -7.273717e-04 -3.846806e-04 1.834605e-04 2.537554e-04 1.980559e-04 + 1.363974e-04 8.686757e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865093e+02 1.241739e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.317169e+01 + 8.353232e+00 6.609966e+00 5.487221e+00 4.281733e+00 3.016656e+00 1.928149e+00 + 1.148676e+00 6.604666e-01 +>ZXYI ROT=ZROT //14 + 3.082494e+02 1.471690e+02 7.805612e+01 4.294173e+01 2.400291e+01 1.271861e+01 + 6.026951e+00 2.951004e+00 2.003983e+00 1.770464e+00 1.580771e+00 1.254831e+00 + 8.822344e-01 5.641790e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865683e+02 -1.241456e+02 -7.346919e+01 -4.197589e+01 -2.350538e+01 -1.317168e+01 +-8.353168e+00 -6.608418e+00 -5.490069e+00 -4.287495e+00 -3.021897e+00 -1.931893e+00 +-1.151026e+00 -6.618476e-01 +>ZYXI ROT=ZROT //14 +-3.082079e+02 -1.471545e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271861e+01 +-6.027220e+00 -2.949507e+00 -1.999884e+00 -1.769178e+00 -1.581660e+00 -1.256423e+00 +-8.836911e-01 -5.652282e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.702238e-04 2.037270e-04 1.203923e-06 1.660124e-07 -2.172915e-08 4.287438e-06 + 9.839715e-05 -3.090087e-04 -1.807904e-04 7.107928e-04 9.013308e-04 7.074851e-04 + 4.581484e-04 2.720629e-04 +>ZYYI ROT=ZROT //14 + 3.621530e-04 6.322090e-05 -3.671460e-07 -1.757165e-07 -7.619743e-08 2.729715e-06 +-8.542197e-05 3.085775e-04 -6.668784e-04 -5.359314e-04 -3.595611e-05 2.172924e-04 + 2.509630e-04 1.946687e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.336521e-02 -1.237845e-04 -4.030187e-05 -7.264051e-07 1.341433e-08 -8.079588e-08 + 1.466279e-06 -2.616711e-05 3.742032e-05 9.045406e-05 7.670951e-05 5.044867e-05 + 3.016520e-05 1.730627e-05 +>TXI.EXP //14 +-7.096321e-04 7.415644e-06 5.848398e-06 1.320969e-06 5.446832e-09 2.230583e-08 + 3.679522e-06 -1.661825e-05 -6.698220e-05 -1.946295e-05 1.801323e-05 2.550293e-05 + 2.082028e-05 1.406135e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 2.200688e-02 5.572494e-04 -5.990868e-06 4.795883e-07 -4.799523e-09 4.729143e-07 +-9.335815e-07 1.425319e-04 -2.483314e-04 -4.925494e-04 -3.985918e-04 -2.584858e-04 +-1.537164e-04 -8.820902e-05 +>TYI.EXP //14 +-3.078520e-03 -4.600117e-05 3.994257e-06 5.059972e-07 1.267122e-08 3.052591e-07 +-2.357700e-05 1.154084e-04 3.616118e-04 7.527811e-05 -1.073125e-04 -1.363116e-04 +-1.083866e-04 -7.237938e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par02.edi b/examples/data/NEConductor/par02.edi new file mode 100644 index 00000000..0366eab9 --- /dev/null +++ b/examples/data/NEConductor/par02.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par02" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par02" +REFLAT=-30:13:33.9475 +REFLONG=139:42:08.5334 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par02" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.364136e-02 1.264935e-04 1.748092e-05 3.337337e-07 -4.033454e-08 9.087151e-05 +-1.115591e-03 2.048362e-03 3.689311e-04 -1.812220e-03 -2.155933e-03 -1.685718e-03 +-1.096377e-03 -6.530028e-04 +>ZXXI ROT=ZROT //14 +-2.550224e-03 4.342224e-05 4.763367e-06 -4.139598e-07 -6.702260e-07 -8.334053e-05 +-3.898881e-04 -7.002018e-04 2.119192e-03 1.286863e-03 6.369772e-05 -5.186994e-04 +-5.971043e-04 -4.649129e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865455e+02 1.241414e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317075e+01 + 8.359969e+00 6.599371e+00 5.476103e+00 4.275403e+00 3.013067e+00 1.926208e+00 + 1.147642e+00 6.599039e-01 +>ZXYI ROT=ZROT //14 + 3.082024e+02 1.471561e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271841e+01 + 6.031137e+00 2.960303e+00 2.001796e+00 1.766939e+00 1.578032e+00 1.253045e+00 + 8.811882e-01 5.635963e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866226e+02 -1.241491e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317081e+01 +-8.359279e+00 -6.599782e+00 -5.478386e+00 -4.277981e+00 -3.015126e+00 -1.927600e+00 +-1.148493e+00 -6.603984e-01 +>ZYXI ROT=ZROT //14 +-3.082378e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271839e+01 +-6.031113e+00 -2.958537e+00 -2.000665e+00 -1.766970e+00 -1.578645e+00 -1.253756e+00 +-8.817659e-01 -5.639912e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.008441e-03 -2.858356e-05 -5.827773e-07 3.091184e-07 -1.963725e-07 -7.566182e-05 + 9.275560e-04 -1.987713e-03 3.350134e-04 2.714535e-03 2.910441e-03 2.206896e-03 + 1.418263e-03 8.408400e-04 +>ZYYI ROT=ZROT //14 + 2.922137e-04 -8.159029e-06 -1.495233e-07 -1.050494e-07 5.836137e-07 7.653813e-05 + 4.068067e-04 1.618390e-04 -2.569260e-03 -1.337428e-03 1.278615e-04 7.684934e-04 + 8.084310e-04 6.121243e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.560486e-02 1.314548e-04 -3.164962e-05 -9.119653e-07 1.149162e-10 -4.198895e-06 + 7.963984e-05 2.150920e-05 -4.689083e-04 -4.628218e-04 -3.222090e-04 -2.018696e-04 +-1.190315e-04 -6.820082e-05 +>TXI.EXP //14 +-1.002351e-03 -2.757653e-05 9.797710e-07 1.315154e-06 1.485334e-08 2.882141e-06 +-3.414571e-05 3.427305e-04 2.307562e-04 -5.604669e-05 -1.338933e-04 -1.232046e-04 +-8.966101e-05 -5.787694e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.550496e-03 5.967115e-04 1.207407e-05 -7.101474e-07 -2.785847e-08 -5.523835e-06 + 1.122589e-04 4.092801e-05 -6.812133e-04 -6.901740e-04 -4.848606e-04 -3.050194e-04 +-1.802210e-04 -1.032556e-04 +>TYI.EXP //14 +-3.471318e-04 -7.182192e-05 -4.776424e-06 -6.976378e-07 -9.380290e-09 4.395556e-06 +-5.398851e-05 4.954028e-04 3.532152e-04 -7.382588e-05 -1.966115e-04 -1.839381e-04 +-1.347846e-04 -8.723622e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par02ew.edi b/examples/data/NEConductor/par02ew.edi new file mode 100644 index 00000000..880e3ff5 --- /dev/null +++ b/examples/data/NEConductor/par02ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par02ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par02ew" +REFLAT=-30:12:43.4401 +REFLONG=139:39:11.432 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par02ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.296258e-02 5.296627e-04 9.253325e-05 1.830864e-06 -2.932383e-08 -7.099460e-06 +-2.427456e-04 5.366630e-05 1.206832e-03 9.430275e-04 5.684351e-04 3.388590e-04 + 1.982228e-04 1.135865e-04 +>ZXXI ROT=ZROT //14 +-2.816130e-03 3.685850e-04 3.496454e-05 -2.206165e-06 -1.391609e-07 -1.400172e-05 + 2.081585e-04 -1.013361e-03 -3.640366e-04 2.718102e-04 3.199768e-04 2.390874e-04 + 1.596017e-04 9.947930e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864487e+02 1.241664e+02 7.346947e+01 4.197588e+01 2.350537e+01 1.317166e+01 + 8.353798e+00 6.609454e+00 5.485715e+00 4.280534e+00 3.015808e+00 1.927606e+00 + 1.148353e+00 6.602813e-01 +>ZXYI ROT=ZROT //14 + 3.082243e+02 1.471660e+02 7.805621e+01 4.294172e+01 2.400291e+01 1.271865e+01 + 6.026881e+00 2.952357e+00 2.004244e+00 1.770204e+00 1.580405e+00 1.254502e+00 + 8.819934e-01 5.640227e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865769e+02 -1.241459e+02 -7.346919e+01 -4.197589e+01 -2.350538e+01 -1.317166e+01 +-8.353590e+00 -6.607807e+00 -5.489578e+00 -4.287413e+00 -3.021945e+00 -1.931964e+00 +-1.151081e+00 -6.618826e-01 +>ZYXI ROT=ZROT //14 +-3.082112e+02 -1.471547e+02 -7.805627e+01 -4.294173e+01 -2.400292e+01 -1.271863e+01 +-6.027265e+00 -2.950051e+00 -1.999582e+00 -1.768924e+00 -1.581549e+00 -1.256398e+00 +-8.837022e-01 -5.652458e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.436183e-03 1.662883e-04 9.510044e-07 1.717303e-07 3.185831e-08 5.418393e-06 + 1.839840e-04 -4.703535e-04 -1.940595e-04 8.521092e-04 1.058405e-03 8.294100e-04 + 5.376857e-04 3.195518e-04 +>ZYYI ROT=ZROT //14 + 3.462628e-04 5.190356e-05 -4.456273e-07 -1.678192e-07 -7.442074e-08 8.305922e-06 +-9.319040e-05 3.740939e-04 -8.329936e-04 -6.218754e-04 -3.596238e-05 2.559811e-04 + 2.944250e-04 2.284451e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.274661e-02 -1.143232e-04 -3.816810e-05 -7.035877e-07 1.349921e-08 -1.458588e-07 + 9.806840e-07 -2.897063e-05 4.920224e-05 1.007148e-04 8.376208e-05 5.507033e-05 + 3.297434e-05 1.893525e-05 +>TXI.EXP //14 +-6.674926e-04 6.608018e-06 5.481257e-06 1.269209e-06 3.161427e-09 -1.169755e-08 + 5.621901e-06 -2.560586e-05 -7.249851e-05 -1.770598e-05 2.088965e-05 2.813901e-05 + 2.281941e-05 1.539177e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.776174e-02 7.892530e-04 -5.171618e-06 -9.374278e-08 -4.007075e-09 6.068774e-07 + 7.153471e-06 1.670476e-04 -3.571462e-04 -5.941191e-04 -4.674035e-04 -3.019261e-04 +-1.795487e-04 -1.030594e-04 +>TYI.EXP //14 +-2.486144e-03 -8.521277e-05 2.205584e-06 5.351505e-07 2.358576e-08 8.770635e-07 +-3.700948e-05 1.919461e-04 4.185353e-04 6.012659e-05 -1.367498e-04 -1.626844e-04 +-1.276356e-04 -8.487277e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par03.edi b/examples/data/NEConductor/par03.edi new file mode 100644 index 00000000..36e804e5 --- /dev/null +++ b/examples/data/NEConductor/par03.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par03" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par03" +REFLAT=-30:13:17.708 +REFLONG=139:42:08.7467 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par03" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.285658e-02 1.614604e-04 1.647981e-05 3.308376e-07 1.440905e-07 1.377258e-04 +-1.473563e-03 2.326017e-03 1.407473e-03 -6.365973e-04 -1.208721e-03 -1.042841e-03 +-7.028561e-04 -4.242138e-04 +>ZXXI ROT=ZROT //14 +-2.578881e-03 5.443426e-05 4.490007e-06 -4.052279e-07 -9.147407e-07 -8.922516e-05 +-5.059704e-04 -1.470970e-03 1.631660e-03 1.299399e-03 3.418321e-04 -1.927767e-04 +-3.310500e-04 -2.826288e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865452e+02 1.241415e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317056e+01 + 8.361157e+00 6.597625e+00 5.473073e+00 4.272496e+00 3.010844e+00 1.924738e+00 + 1.146754e+00 6.593907e-01 +>ZXYI ROT=ZROT //14 + 3.082034e+02 1.471561e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271827e+01 + 6.032182e+00 2.962456e+00 2.002499e+00 1.766602e+00 1.577236e+00 1.252234e+00 + 8.805597e-01 5.631766e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866124e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.317066e+01 +-8.359989e+00 -6.598227e+00 -5.477289e+00 -4.277494e+00 -3.014926e+00 -1.927527e+00 +-1.148468e+00 -6.603889e-01 +>ZYXI ROT=ZROT //14 +-3.082296e+02 -1.471559e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271825e+01 +-6.032116e+00 -2.959257e+00 -2.000184e+00 -1.766515e+00 -1.578367e+00 -1.253616e+00 +-8.817045e-01 -5.639665e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.707230e-03 -2.994399e-05 -5.323903e-07 2.831561e-07 -3.705961e-07 -1.108271e-04 + 1.153899e-03 -2.208142e-03 -2.042730e-04 2.142905e-03 2.469171e-03 1.916380e-03 + 1.243541e-03 7.400717e-04 +>ZYYI ROT=ZROT //14 + 2.629934e-04 -8.565803e-06 -1.584937e-07 -9.812802e-08 6.779208e-07 8.026594e-05 + 5.251305e-04 5.474646e-04 -2.366430e-03 -1.373718e-03 -2.207517e-05 6.093769e-04 + 6.846141e-04 5.295119e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.427430e-02 6.525000e-05 -3.216610e-05 -9.000864e-07 -1.001519e-08 -4.129241e-06 + 6.816052e-05 2.471240e-06 -3.691793e-04 -3.470881e-04 -2.369963e-04 -1.473578e-04 +-8.662749e-05 -4.959059e-05 +>TXI.EXP //14 +-8.601131e-04 -1.789877e-05 1.901721e-06 1.302899e-06 7.167426e-09 2.010206e-06 +-2.199594e-05 2.728524e-04 1.633732e-04 -5.223839e-05 -1.034978e-04 -9.207695e-05 +-6.608698e-05 -4.237968e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.523175e-03 5.967442e-04 1.207315e-05 -7.125752e-07 -3.730476e-08 -7.563001e-06 + 1.435098e-04 2.784271e-05 -8.164431e-04 -8.131863e-04 -5.695388e-04 -3.581291e-04 +-2.115939e-04 -1.212348e-04 +>TYI.EXP //14 +-3.519595e-04 -7.180270e-05 -4.773337e-06 -6.951493e-07 -1.368273e-08 5.093814e-06 +-5.985672e-05 5.999350e-04 4.041945e-04 -9.404108e-05 -2.334186e-04 -2.167627e-04 +-1.584992e-04 -1.025121e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par03ew.edi b/examples/data/NEConductor/par03ew.edi new file mode 100644 index 00000000..6d965486 --- /dev/null +++ b/examples/data/NEConductor/par03ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par03ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par03ew" +REFLAT=-30:12:44.6963 +REFLONG=139:39:38.6092 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par03ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.564682e-02 4.967579e-04 7.891629e-05 1.546482e-06 -7.595601e-09 -5.626220e-06 +-3.357390e-04 1.633320e-04 1.380162e-03 1.033868e-03 6.147914e-04 3.620991e-04 + 2.099661e-04 1.197975e-04 +>ZXXI ROT=ZROT //14 +-3.148490e-03 3.222292e-04 2.908363e-05 -1.865049e-06 -1.298579e-07 -2.083529e-05 + 2.224406e-04 -1.187171e-03 -3.420927e-04 3.279573e-04 3.611085e-04 2.639091e-04 + 1.731556e-04 1.065949e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864445e+02 1.241622e+02 7.346951e+01 4.197588e+01 2.350538e+01 1.317163e+01 + 8.354215e+00 6.609012e+00 5.484755e+00 4.279785e+00 3.015281e+00 1.927271e+00 + 1.148155e+00 6.601679e-01 +>ZXYI ROT=ZROT //14 + 3.082171e+02 1.471644e+02 7.805626e+01 4.294172e+01 2.400291e+01 1.271868e+01 + 6.026897e+00 2.953217e+00 2.004362e+00 1.770028e+00 1.580169e+00 1.254294e+00 + 8.818433e-01 5.639261e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865809e+02 -1.241460e+02 -7.346918e+01 -4.197589e+01 -2.350538e+01 -1.317164e+01 +-8.353891e+00 -6.607381e+00 -5.489211e+00 -4.287279e+00 -3.021906e+00 -1.931961e+00 +-1.151087e+00 -6.618876e-01 +>ZYXI ROT=ZROT //14 +-3.082125e+02 -1.471548e+02 -7.805627e+01 -4.294173e+01 -2.400292e+01 -1.271865e+01 +-6.027340e+00 -2.950416e+00 -1.999425e+00 -1.768769e+00 -1.581461e+00 -1.256360e+00 +-8.836896e-01 -5.652435e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.859148e-03 1.443726e-04 8.667449e-07 1.726986e-07 6.341173e-08 4.973104e-06 + 2.448912e-04 -5.745110e-04 -2.089019e-04 9.241238e-04 1.141560e-03 8.949293e-04 + 5.807102e-04 3.453081e-04 +>ZYYI ROT=ZROT //14 + 3.375883e-04 4.529865e-05 -4.536364e-07 -1.628252e-07 -5.058252e-08 1.295219e-05 +-8.924623e-05 4.134359e-04 -9.265295e-04 -6.717613e-04 -3.852330e-05 2.755814e-04 + 3.174209e-04 2.465639e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.247041e-02 -1.101146e-04 -3.726671e-05 -6.936094e-07 1.434967e-08 -1.871075e-07 + 4.900766e-07 -2.959219e-05 5.490624e-05 1.049668e-04 8.662062e-05 5.696708e-05 + 3.413751e-05 1.961231e-05 +>TXI.EXP //14 +-6.485354e-04 6.246767e-06 5.327729e-06 1.245907e-06 2.015471e-09 -4.266616e-08 + 6.736808e-06 -3.048490e-05 -7.427716e-05 -1.661899e-05 2.214220e-05 2.922729e-05 + 2.364216e-05 1.594165e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.541890e-02 8.643102e-04 -3.667151e-06 -4.685427e-07 5.364924e-10 5.861966e-07 + 1.448814e-05 1.761654e-04 -4.238227e-04 -6.520033e-04 -5.059870e-04 -3.261633e-04 +-1.939357e-04 -1.113250e-04 +>TYI.EXP //14 +-2.193728e-03 -9.833073e-05 9.891235e-07 5.360733e-07 2.688287e-08 1.346737e-06 +-4.538626e-05 2.420387e-04 4.473825e-04 4.923206e-05 -1.541412e-04 -1.777335e-04 +-1.384768e-04 -9.186887e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par04.edi b/examples/data/NEConductor/par04.edi new file mode 100644 index 00000000..12b57a5d --- /dev/null +++ b/examples/data/NEConductor/par04.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par04" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par04" +REFLAT=-30:13:01.4684 +REFLONG=139:42:08.9598 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par04" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.198531e-02 1.969012e-04 1.541826e-05 3.238707e-07 5.250634e-07 1.938147e-04 +-1.908286e-03 2.657176e-03 2.761771e-03 9.233916e-04 5.834206e-05 -1.792887e-04 +-1.731764e-04 -1.160009e-04 +>ZXXI ROT=ZROT //14 +-2.562376e-03 6.543766e-05 4.137105e-06 -3.903655e-07 -8.018752e-07 -8.807623e-05 +-6.475977e-04 -2.473865e-03 9.677618e-04 1.298737e-03 7.038327e-04 2.399150e-04 + 2.480429e-05 -3.794306e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865451e+02 1.241415e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317038e+01 + 8.362270e+00 6.595976e+00 5.470131e+00 4.269640e+00 3.008649e+00 1.923281e+00 + 1.145873e+00 6.588810e-01 +>ZXYI ROT=ZROT //14 + 3.082039e+02 1.471562e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271812e+01 + 6.033190e+00 2.964535e+00 2.003222e+00 1.766293e+00 1.576463e+00 1.251437e+00 + 8.799393e-01 5.627611e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866037e+02 -1.241472e+02 -7.346920e+01 -4.197589e+01 -2.350537e+01 -1.317053e+01 +-8.360597e+00 -6.596852e+00 -5.476281e+00 -4.277008e+00 -3.014699e+00 -1.927429e+00 +-1.148425e+00 -6.603679e-01 +>ZYXI ROT=ZROT //14 +-3.082227e+02 -1.471555e+02 -7.805625e+01 -4.294174e+01 -2.400291e+01 -1.271811e+01 +-6.033032e+00 -2.959900e+00 -1.999792e+00 -1.766119e+00 -1.578110e+00 -1.253476e+00 +-8.816366e-01 -5.639349e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.462876e-03 -3.181430e-05 -4.813774e-07 2.610712e-07 -5.301036e-07 -1.532773e-04 + 1.454119e-03 -2.460918e-03 -1.074463e-03 1.153641e-03 1.677939e-03 1.383914e-03 + 9.194088e-04 5.521217e-04 +>ZYYI ROT=ZROT //14 + 2.365431e-04 -9.119027e-06 -1.618230e-07 -9.245325e-08 5.523893e-07 7.904811e-05 + 6.539272e-04 1.177871e-03 -1.959601e-03 -1.388218e-03 -2.608631e-04 3.343280e-04 + 4.626829e-04 3.785541e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.286613e-02 -9.021378e-06 -3.309212e-05 -8.133161e-07 4.170144e-09 -3.263925e-06 + 4.515658e-05 -9.333128e-06 -2.248359e-04 -1.944677e-04 -1.273511e-04 -7.772270e-05 +-4.533020e-05 -2.589174e-05 +>TXI.EXP //14 +-7.177460e-04 -7.177339e-06 3.187557e-06 1.246255e-06 1.019693e-08 8.824484e-07 +-8.614948e-06 1.677054e-04 8.302751e-05 -4.008157e-05 -6.141202e-05 -5.117226e-05 +-3.563239e-05 -2.250380e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.497381e-03 5.967949e-04 1.207249e-05 -7.147540e-07 -4.786019e-08 -9.669680e-06 + 1.751380e-04 1.323507e-05 -9.495647e-04 -9.350447e-04 -6.539224e-04 -4.112002e-04 +-2.429790e-04 -1.392288e-04 +>TYI.EXP //14 +-3.564937e-04 -7.178727e-05 -4.770469e-06 -6.928925e-07 -1.852446e-08 5.727939e-06 +-6.489450e-05 7.030010e-04 4.542418e-04 -1.134835e-04 -2.696645e-04 -2.493477e-04 +-1.821338e-04 -1.177682e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par04ew.edi b/examples/data/NEConductor/par04ew.edi new file mode 100644 index 00000000..1af8bde6 --- /dev/null +++ b/examples/data/NEConductor/par04ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par04ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par04ew" +REFLAT=-30:12:43.9672 +REFLONG=139:40:03.0002 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par04ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.693239e-02 4.652289e-04 6.338655e-05 1.220027e-06 8.265056e-10 -1.769980e-06 +-4.548350e-04 3.083787e-04 1.579168e-03 1.137246e-03 6.667853e-04 3.874688e-04 + 2.224588e-04 1.263032e-04 +>ZXXI ROT=ZROT //14 +-3.317319e-03 2.693609e-04 2.227085e-05 -1.508198e-06 -1.184866e-07 -2.967735e-05 + 2.265961e-04 -1.383843e-03 -3.104849e-04 3.940187e-04 4.090103e-04 2.923928e-04 + 1.883734e-04 1.144017e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864554e+02 1.241581e+02 7.346952e+01 4.197588e+01 2.350538e+01 1.317159e+01 + 8.354752e+00 6.608397e+00 5.483620e+00 4.278909e+00 3.014668e+00 1.926884e+00 + 1.147927e+00 6.600375e-01 +>ZXYI ROT=ZROT //14 + 3.082124e+02 1.471629e+02 7.805628e+01 4.294172e+01 2.400291e+01 1.271870e+01 + 6.026983e+00 2.954221e+00 2.004464e+00 1.769809e+00 1.579888e+00 1.254051e+00 + 8.816687e-01 5.638144e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865842e+02 -1.241461e+02 -7.346918e+01 -4.197589e+01 -2.350538e+01 -1.317160e+01 +-8.354273e+00 -6.606843e+00 -5.488719e+00 -4.287045e+00 -3.021796e+00 -1.931913e+00 +-1.151066e+00 -6.618776e-01 +>ZYXI ROT=ZROT //14 +-3.082135e+02 -1.471549e+02 -7.805627e+01 -4.294173e+01 -2.400292e+01 -1.271867e+01 +-6.027476e+00 -2.950871e+00 -1.999271e+00 -1.768589e+00 -1.581341e+00 -1.256293e+00 +-8.836569e-01 -5.652283e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.246477e-03 1.215992e-04 7.902804e-07 1.764092e-07 9.102281e-08 3.032765e-06 + 3.216273e-04 -6.982686e-04 -2.351971e-04 9.914965e-04 1.223792e-03 9.609410e-04 + 6.243996e-04 3.715432e-04 +>ZYYI ROT=ZROT //14 + 3.287833e-04 3.840573e-05 -4.374478e-07 -1.583220e-07 -8.596793e-09 1.921083e-05 +-7.645194e-05 4.606365e-04 -1.025794e-03 -7.271849e-04 -4.445347e-05 2.938140e-04 + 3.401322e-04 2.647730e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.223873e-02 -1.063329e-04 -3.653285e-05 -6.857720e-07 1.562590e-08 -2.342100e-07 +-1.809366e-07 -2.947456e-05 5.988831e-05 1.080094e-04 8.858918e-05 5.830507e-05 + 3.497193e-05 2.010136e-05 +>TXI.EXP //14 +-6.322452e-04 5.907320e-06 5.197440e-06 1.226129e-06 1.089654e-09 -8.513415e-08 + 7.874759e-06 -3.519624e-05 -7.502863e-05 -1.543967e-05 2.310105e-05 2.999693e-05 + 2.422377e-05 1.633378e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.307044e-02 9.093307e-04 -1.672134e-06 -8.259954e-07 5.774758e-09 4.336640e-07 + 2.498755e-05 1.814740e-04 -4.993831e-04 -7.144023e-04 -5.470187e-04 -3.518219e-04 +-2.091413e-04 -1.200556e-04 +>TYI.EXP //14 +-1.914964e-03 -1.067227e-04 -2.917303e-07 5.043420e-07 2.747536e-08 1.972660e-06 +-5.467296e-05 3.009717e-04 4.755147e-04 3.561462e-05 -1.734127e-04 -1.939662e-04 +-1.500442e-04 -9.929705e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par05ew.edi b/examples/data/NEConductor/par05ew.edi new file mode 100644 index 00000000..bdcd1142 --- /dev/null +++ b/examples/data/NEConductor/par05ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par05ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par05ew" +REFLAT=-30:12:43.1893 +REFLONG=139:40:22.7032 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par05ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.937854e-02 4.366981e-04 4.968168e-05 9.440254e-07 -7.467912e-09 5.833309e-06 +-6.050675e-04 4.964318e-04 1.808510e-03 1.256156e-03 7.260058e-04 4.157065e-04 + 2.360411e-04 1.332723e-04 +>ZXXI ROT=ZROT //14 +-3.394898e-03 2.217008e-04 1.632417e-05 -1.207428e-06 -1.131544e-07 -4.060221e-05 + 2.143004e-04 -1.605137e-03 -2.678399e-04 4.717080e-04 4.650930e-04 3.254077e-04 + 2.057098e-04 1.231239e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864731e+02 1.241543e+02 7.346954e+01 4.197589e+01 2.350538e+01 1.317151e+01 + 8.355431e+00 6.607560e+00 5.482276e+00 4.277882e+00 3.013954e+00 1.926436e+00 + 1.147664e+00 6.598874e-01 +>ZXYI ROT=ZROT //14 + 3.082091e+02 1.471615e+02 7.805631e+01 4.294172e+01 2.400291e+01 1.271872e+01 + 6.027173e+00 2.955385e+00 2.004543e+00 1.769538e+00 1.579554e+00 1.253764e+00 + 8.814654e-01 5.636849e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865869e+02 -1.241462e+02 -7.346918e+01 -4.197589e+01 -2.350538e+01 -1.317154e+01 +-8.354753e+00 -6.606161e+00 -5.488057e+00 -4.286666e+00 -3.021583e+00 -1.931799e+00 +-1.151006e+00 -6.618452e-01 +>ZYXI ROT=ZROT //14 +-3.082142e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400292e+01 -1.271868e+01 +-6.027700e+00 -2.951445e+00 -1.999128e+00 -1.768377e+00 -1.581175e+00 -1.256185e+00 +-8.835947e-01 -5.651941e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.604827e-03 9.862179e-05 7.012057e-07 1.844466e-07 1.063144e-07 -1.405530e-06 + 4.178980e-04 -8.456318e-04 -2.808715e-04 1.046438e-03 1.299241e-03 1.023607e-03 + 6.664466e-04 3.969256e-04 +>ZYYI ROT=ZROT //14 + 3.188958e-04 3.143517e-05 -4.012820e-07 -1.542505e-07 5.189226e-08 2.728834e-05 +-5.099093e-05 5.206764e-04 -1.128493e-03 -7.890291e-04 -5.590512e-05 3.085224e-04 + 3.609076e-04 2.819765e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.205276e-02 -1.029719e-04 -3.596677e-05 -6.800124e-07 1.709378e-08 -2.879046e-07 +-9.922701e-07 -2.847393e-05 6.340846e-05 1.091187e-04 8.915485e-05 5.875824e-05 + 3.528387e-05 2.029114e-05 +>TXI.EXP //14 +-6.188628e-04 5.589116e-06 5.088936e-06 1.210045e-06 6.221312e-10 -1.396623e-07 + 8.935335e-06 -3.916374e-05 -7.437489e-05 -1.424536e-05 2.356335e-05 3.025513e-05 + 2.442163e-05 1.647470e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.078967e-02 9.255296e-04 6.215094e-07 -1.121805e-06 9.869135e-09 6.332045e-08 + 3.946862e-05 1.813596e-04 -5.837984e-04 -7.805612e-04 -5.898063e-04 -3.784226e-04 +-2.248719e-04 -1.290808e-04 +>TYI.EXP //14 +-1.653980e-03 -1.106627e-04 -1.532221e-06 4.320865e-07 2.597625e-08 2.767648e-06 +-6.443643e-05 3.689467e-04 5.018239e-04 1.891002e-05 -1.944888e-04 -2.111810e-04 +-1.621524e-04 -1.070247e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par06.edi b/examples/data/NEConductor/par06.edi new file mode 100644 index 00000000..9f41d8e6 --- /dev/null +++ b/examples/data/NEConductor/par06.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par06" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par06" +REFLAT=-30:12:28.9892 +REFLONG=139:42:09.386 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par06" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.000833e-02 2.670884e-04 1.306865e-05 3.004494e-07 9.414815e-07 3.087130e-04 +-2.845592e-03 3.320658e-03 5.966584e-03 4.712432e-03 3.167961e-03 1.951242e-03 + 1.137038e-03 6.472305e-04 +>ZXXI ROT=ZROT //14 +-2.421041e-03 8.732759e-05 3.271245e-06 -3.508233e-07 -4.460340e-07 -6.782005e-05 +-9.322366e-04 -4.840046e-03 -7.116291e-04 1.237871e-03 1.559595e-03 1.291105e-03 + 8.978566e-04 5.651756e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865453e+02 1.241415e+02 7.346939e+01 4.197591e+01 2.350537e+01 1.317015e+01 + 8.363765e+00 6.593865e+00 5.466025e+00 4.265555e+00 3.005475e+00 1.921162e+00 + 1.144586e+00 6.581353e-01 +>ZXYI ROT=ZROT //14 + 3.082043e+02 1.471562e+02 7.805628e+01 4.294175e+01 2.400290e+01 1.271792e+01 + 6.034463e+00 2.967454e+00 2.004368e+00 1.765925e+00 1.575387e+00 1.250299e+00 + 8.790430e-01 5.621570e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865889e+02 -1.241461e+02 -7.346915e+01 -4.197590e+01 -2.350537e+01 -1.317038e+01 +-8.361394e+00 -6.595216e+00 -5.474753e+00 -4.276002e+00 -3.014074e+00 -1.927066e+00 +-1.148221e+00 -6.602542e-01 +>ZYXI ROT=ZROT //14 +-3.082116e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271795e+01 +-6.034104e+00 -2.960912e+00 -1.999551e+00 -1.765675e+00 -1.577714e+00 -1.253192e+00 +-8.814561e-01 -5.638278e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.151157e-03 -3.757559e-05 -3.608066e-07 2.293404e-07 -8.564409e-07 -2.459602e-04 + 2.234333e-03 -2.997728e-03 -3.717556e-03 -1.995510e-03 -8.974589e-04 -3.725976e-04 +-1.576311e-04 -7.441249e-05 +>ZYYI ROT=ZROT //14 + 1.939902e-04 -1.077593e-05 -1.597329e-07 -8.706837e-08 5.208184e-07 6.637837e-05 + 8.848366e-04 3.120289e-03 -5.490255e-04 -1.335584e-03 -9.781619e-04 -5.403543e-04 +-2.595666e-04 -1.185584e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.854769e-03 -1.743984e-04 -3.558269e-05 -4.527425e-07 7.946275e-09 5.965518e-07 +-2.821607e-05 -1.240150e-05 1.637587e-04 1.911817e-04 1.446298e-04 9.400417e-05 + 5.631213e-05 3.239579e-05 +>TXI.EXP //14 +-4.313193e-04 1.627219e-05 6.459090e-06 1.027506e-06 1.097793e-08 -1.690459e-06 + 1.837294e-05 -1.216745e-04 -1.034385e-04 4.017231e-06 4.873515e-05 5.195038e-05 + 4.014213e-05 2.666390e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.449065e-03 5.969612e-04 1.207166e-05 -7.184736e-07 -5.601215e-08 -1.270204e-05 + 2.236761e-04 -5.916814e-06 -1.156962e-03 -1.134705e-03 -7.957778e-04 -5.013457e-04 +-2.965016e-04 -1.699604e-04 +>TYI.EXP //14 +-3.648467e-04 -7.176944e-05 -4.765353e-06 -6.889737e-07 -2.521587e-08 6.926503e-06 +-7.444705e-05 8.633590e-04 5.404055e-04 -1.386700e-04 -3.269256e-04 -3.030613e-04 +-2.217977e-04 -1.435926e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par06ew.edi b/examples/data/NEConductor/par06ew.edi new file mode 100644 index 00000000..5abaa6fe --- /dev/null +++ b/examples/data/NEConductor/par06ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par06ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par06ew" +REFLAT=-30:12:44.3848 +REFLONG=139:40:44.2551 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par06ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.463683e-02 4.059226e-04 4.007507e-05 7.696341e-07 -2.461316e-08 1.899894e-05 +-7.915377e-04 7.359648e-04 2.074149e-03 1.394930e-03 7.950219e-04 4.481748e-04 + 2.514217e-04 1.410850e-04 +>ZXXI ROT=ZROT //14 +-3.509559e-03 1.849202e-04 1.239061e-05 -9.922508e-07 -1.204540e-07 -5.333661e-05 + 1.771663e-04 -1.852983e-03 -2.131421e-04 5.629188e-04 5.311597e-04 3.641963e-04 + 2.258956e-04 1.331643e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864882e+02 1.241511e+02 7.346952e+01 4.197589e+01 2.350538e+01 1.317141e+01 + 8.356275e+00 6.606447e+00 5.480684e+00 4.276679e+00 3.013124e+00 1.925918e+00 + 1.147361e+00 6.597149e-01 +>ZXYI ROT=ZROT //14 + 3.082065e+02 1.471602e+02 7.805631e+01 4.294173e+01 2.400291e+01 1.271873e+01 + 6.027516e+00 2.956728e+00 2.004590e+00 1.769202e+00 1.579154e+00 1.253428e+00 + 8.812287e-01 5.635350e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865890e+02 -1.241463e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317146e+01 +-8.355357e+00 -6.605291e+00 -5.487159e+00 -4.286081e+00 -3.021219e+00 -1.931589e+00 +-1.150888e+00 -6.617798e-01 +>ZYXI ROT=ZROT //14 +-3.082148e+02 -1.471550e+02 -7.805626e+01 -4.294174e+01 -2.400292e+01 -1.271869e+01 +-6.028048e+00 -2.952177e+00 -1.999009e+00 -1.768125e+00 -1.580947e+00 -1.256020e+00 +-8.834899e-01 -5.651321e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.941662e-03 7.571690e-05 5.856941e-07 1.961115e-07 9.890366e-08 -9.776167e-06 + 5.385111e-04 -1.021986e-03 -3.583637e-04 1.076353e-03 1.358226e-03 1.076505e-03 + 7.029614e-04 4.192043e-04 +>ZYYI ROT=ZROT //14 + 3.062675e-04 2.446762e-05 -3.528934e-07 -1.494842e-07 1.303340e-07 3.720975e-05 +-7.888692e-06 6.017608e-04 -1.230539e-03 -8.583820e-04 -7.620919e-05 3.162200e-04 + 3.770196e-04 2.963434e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.190051e-02 -9.998121e-05 -3.552955e-05 -6.755729e-07 1.848584e-08 -3.512615e-07 +-1.818072e-06 -2.651088e-05 6.438663e-05 1.072812e-04 8.760208e-05 5.787168e-05 + 3.480298e-05 2.002643e-05 +>TXI.EXP //14 +-6.079479e-04 5.297765e-06 4.999207e-06 1.196790e-06 8.307805e-10 -2.048115e-07 + 9.775154e-06 -4.151087e-05 -7.184235e-05 -1.316720e-05 2.323913e-05 2.973087e-05 + 2.403557e-05 1.623417e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 8.591210e-03 9.160698e-04 3.022270e-06 -1.323784e-06 1.122333e-08 -6.366434e-07 + 5.867315e-05 1.740454e-04 -6.761437e-04 -8.489006e-04 -6.330733e-04 -4.051129e-04 +-2.406111e-04 -1.381018e-04 +>TYI.EXP //14 +-1.409949e-03 -1.106892e-04 -2.642659e-06 3.150170e-07 2.334058e-08 3.717860e-06 +-7.391175e-05 4.453359e-04 5.247965e-04 -1.142262e-06 -2.170617e-04 -2.289569e-04 +-1.744520e-04 -1.148129e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par07.edi b/examples/data/NEConductor/par07.edi new file mode 100644 index 00000000..621f3035 --- /dev/null +++ b/examples/data/NEConductor/par07.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par07" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par07" +REFLAT=-30:12:12.7496 +REFLONG=139:42:09.5991 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par07" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-8.918612e-03 3.007274e-04 1.177420e-05 2.857907e-07 1.177211e-06 3.492946e-04 +-3.215981e-03 3.513783e-03 7.417020e-03 6.501983e-03 4.657716e-03 2.979302e-03 + 1.771555e-03 1.017423e-03 +>ZXXI ROT=ZROT //14 +-2.309069e-03 9.815935e-05 2.796329e-06 -3.290521e-07 -2.992284e-08 -5.781061e-05 +-1.004889e-03 -5.909401e-03 -1.562153e-03 1.165879e-03 1.947090e-03 1.787274e-03 + 1.315798e-03 8.558100e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865455e+02 1.241415e+02 7.346939e+01 4.197591e+01 2.350537e+01 1.317012e+01 + 8.363934e+00 6.593774e+00 5.465518e+00 4.264972e+00 3.004996e+00 1.920831e+00 + 1.144381e+00 6.580157e-01 +>ZXYI ROT=ZROT //14 + 3.082043e+02 1.471562e+02 7.805628e+01 4.294175e+01 2.400290e+01 1.271793e+01 + 6.034473e+00 2.967849e+00 2.004625e+00 1.765932e+00 1.575257e+00 1.250138e+00 + 8.789080e-01 5.620632e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865822e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350537e+01 -1.317036e+01 +-8.361538e+00 -6.595160e+00 -5.474345e+00 -4.275514e+00 -3.013674e+00 -1.926792e+00 +-1.148053e+00 -6.601564e-01 +>ZYXI ROT=ZROT //14 +-3.082073e+02 -1.471549e+02 -7.805628e+01 -4.294175e+01 -2.400290e+01 -1.271796e+01 +-6.034083e+00 -2.961238e+00 -1.999779e+00 -1.765686e+00 -1.577605e+00 -1.253057e+00 +-8.813438e-01 -5.637504e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.083504e-03 -4.172640e-05 -2.787069e-07 2.211922e-07 -1.198966e-06 -2.837689e-04 + 2.631484e-03 -3.187370e-03 -5.235131e-03 -3.871486e-03 -2.454635e-03 -1.444013e-03 +-8.177130e-04 -4.591997e-04 +>ZYYI ROT=ZROT //14 + 1.810430e-04 -1.193645e-05 -1.581053e-07 -8.935170e-08 1.953640e-07 6.351476e-05 + 9.301251e-04 4.250548e-03 3.483927e-04 -1.260975e-03 -1.387129e-03 -1.060693e-03 +-6.961201e-04 -4.214188e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.265129e-03 -2.615247e-04 -3.672536e-05 -2.096556e-07 1.882927e-08 2.837407e-06 +-6.867092e-05 -1.078431e-05 3.715644e-04 3.946409e-04 2.875621e-04 1.841303e-04 + 1.096305e-04 6.296591e-05 +>TXI.EXP //14 +-2.863966e-04 2.844774e-05 8.212243e-06 8.795923e-07 1.256098e-08 -3.000802e-06 + 3.167490e-05 -2.772031e-04 -1.997465e-04 2.881842e-05 1.072896e-04 1.063390e-04 + 7.999008e-05 5.248586e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.425887e-03 5.970842e-04 1.207138e-05 -7.200647e-07 -5.727802e-08 -1.298619e-05 + 2.331370e-04 -3.545469e-06 -1.207285e-03 -1.193296e-03 -8.405620e-04 -5.305660e-04 +-3.140192e-04 -1.800544e-04 +>TYI.EXP //14 +-3.687478e-04 -7.176800e-05 -4.763074e-06 -6.872319e-07 -2.353367e-08 7.524864e-06 +-7.992495e-05 9.017354e-04 5.710542e-04 -1.396198e-04 -3.417331e-04 -3.190715e-04 +-2.342406e-04 -1.518815e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par07ew.edi b/examples/data/NEConductor/par07ew.edi new file mode 100644 index 00000000..6db1476d --- /dev/null +++ b/examples/data/NEConductor/par07ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par07ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par07ew" +REFLAT=-30:12:44.6016 +REFLONG=139:41:05.8203 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par07ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.885810e-02 3.369516e-04 2.779418e-05 5.651679e-07 8.111378e-10 7.151529e-05 +-1.291082e-03 1.405911e-03 2.748403e-03 1.761312e-03 9.821535e-04 5.375863e-04 + 2.942643e-04 1.629939e-04 +>ZXXI ROT=ZROT //14 +-3.447703e-03 1.329298e-04 8.029467e-06 -6.943367e-07 -2.561939e-07 -8.003666e-05 +-1.605446e-05 -2.439272e-03 -6.851070e-05 7.937795e-04 7.033815e-04 4.673636e-04 + 2.803860e-04 1.606078e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865119e+02 1.241461e+02 7.346948e+01 4.197590e+01 2.350537e+01 1.317108e+01 + 8.358531e+00 6.603129e+00 5.476580e+00 4.273633e+00 3.011048e+00 1.924634e+00 + 1.146615e+00 6.592910e-01 +>ZXYI ROT=ZROT //14 + 3.082031e+02 1.471581e+02 7.805631e+01 4.294174e+01 2.400291e+01 1.271866e+01 + 6.028936e+00 2.959995e+00 2.004534e+00 1.768276e+00 1.578112e+00 1.252572e+00 + 8.806353e-01 5.631629e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865925e+02 -1.241464e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317118e+01 +-8.357035e+00 -6.602755e+00 -5.484286e+00 -4.283945e+00 -3.019774e+00 -1.930702e+00 +-1.150375e+00 -6.614888e-01 +>ZYXI ROT=ZROT //14 +-3.082157e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400292e+01 -1.271861e+01 +-6.029325e+00 -2.954343e+00 -1.998918e+00 -1.767456e+00 -1.580205e+00 -1.255419e+00 +-8.830771e-01 -5.648748e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.556012e-03 3.040186e-05 2.572323e-07 2.223820e-07 -4.541122e-08 -4.684973e-05 + 8.808587e-04 -1.494944e-03 -6.947541e-04 9.718520e-04 1.356987e-03 1.106177e-03 + 7.308906e-04 4.379139e-04 +>ZYYI ROT=ZROT //14 + 2.715377e-04 1.054345e-05 -2.509838e-07 -1.335512e-07 3.388180e-07 6.063838e-05 + 1.591896e-04 8.861410e-04 -1.401947e-03 -1.025389e-03 -1.661298e-04 2.858589e-04 + 3.755818e-04 3.032441e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.165046e-02 -9.498207e-05 -3.488241e-05 -6.680405e-07 2.024817e-08 -5.504971e-07 +-2.231912e-06 -2.011294e-05 5.204901e-05 8.875253e-05 7.391662e-05 4.939401e-05 + 2.986674e-05 1.721688e-05 +>TXI.EXP //14 +-5.910760e-04 4.814669e-06 4.864883e-06 1.175127e-06 3.433286e-09 -3.444234e-07 + 1.005305e-05 -3.579115e-05 -5.870664e-05 -1.228454e-05 1.847292e-05 2.472146e-05 + 2.032459e-05 1.383848e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 4.381229e-03 8.338165e-04 7.513680e-06 -1.389292e-06 2.057000e-11 -3.518560e-06 + 1.121990e-04 1.314052e-04 -8.725813e-04 -9.789072e-04 -7.112736e-04 -4.524227e-04 +-2.683172e-04 -1.539423e-04 +>TYI.EXP //14 +-9.607348e-04 -1.014299e-04 -4.235428e-06 -3.674137e-08 1.562170e-08 5.771404e-06 +-8.700969e-05 6.133348e-04 5.521438e-04 -5.090264e-05 -2.633425e-04 -2.626739e-04 +-1.969145e-04 -1.287702e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par08.edi b/examples/data/NEConductor/par08.edi new file mode 100644 index 00000000..a5d26c74 --- /dev/null +++ b/examples/data/NEConductor/par08.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par08" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par08" +REFLAT=-30:11:56.51 +REFLONG=139:42:09.812 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par08" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.774456e-03 3.326738e-04 1.041222e-05 2.697905e-07 1.553180e-06 3.677820e-04 +-3.434056e-03 3.526713e-03 8.486137e-03 7.906497e-03 5.848721e-03 3.808747e-03 + 2.285846e-03 1.318064e-03 +>ZXXI ROT=ZROT //14 +-2.176906e-03 1.088575e-04 2.312640e-06 -3.072389e-07 2.972358e-07 -5.453338e-05 +-9.881739e-04 -6.696977e-03 -2.295887e-03 1.062485e-03 2.233346e-03 2.176133e-03 + 1.649530e-03 1.089883e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865457e+02 1.241416e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317017e+01 + 8.363660e+00 6.594385e+00 5.466191e+00 4.265517e+00 3.005377e+00 1.921068e+00 + 1.144519e+00 6.580943e-01 +>ZXYI ROT=ZROT //14 + 3.082043e+02 1.471562e+02 7.805628e+01 4.294174e+01 2.400290e+01 1.271802e+01 + 6.034036e+00 2.967424e+00 2.004621e+00 1.766074e+00 1.575438e+00 1.250292e+00 + 8.790166e-01 5.621318e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865758e+02 -1.241457e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.317039e+01 +-8.361483e+00 -6.595644e+00 -5.474236e+00 -4.275097e+00 -3.013263e+00 -1.926489e+00 +-1.147860e+00 -6.600422e-01 +>ZYXI ROT=ZROT //14 +-3.082037e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400290e+01 -1.271805e+01 +-6.033674e+00 -2.961399e+00 -2.000223e+00 -1.765859e+00 -1.577571e+00 -1.252943e+00 +-8.812305e-01 -5.636660e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.073454e-03 -4.688663e-05 -1.696191e-07 2.205805e-07 -1.083666e-06 -3.062682e-04 + 2.952062e-03 -3.245548e-03 -6.623267e-03 -5.651337e-03 -3.950342e-03 -2.480387e-03 +-1.458620e-03 -8.334318e-04 +>ZYYI ROT=ZROT //14 + 1.768360e-04 -1.335171e-05 -1.586186e-07 -9.734831e-08 2.972441e-07 6.810237e-05 + 8.908783e-04 5.295461e-03 1.254518e-03 -1.152571e-03 -1.759774e-03 -1.553557e-03 +-1.115220e-03 -7.140666e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.626014e-03 -3.487801e-04 -3.746256e-05 4.944829e-08 3.816293e-08 4.617453e-06 +-1.032741e-04 -1.368576e-05 5.587052e-04 5.814505e-04 4.196131e-04 2.675529e-04 + 1.590128e-04 9.128502e-05 +>TXI.EXP //14 +-1.396640e-04 4.055116e-05 9.872924e-06 7.158701e-07 4.627522e-09 -4.245126e-06 + 4.507754e-05 -4.165593e-04 -2.906834e-04 4.948269e-05 1.604597e-04 1.563227e-04 + 1.167668e-04 7.636238e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.402946e-03 5.972399e-04 1.207108e-05 -7.215048e-07 -5.565714e-08 -1.228338e-05 + 2.302674e-04 8.531835e-06 -1.214037e-03 -1.216951e-03 -8.625420e-04 -5.457572e-04 +-3.233064e-04 -1.854432e-04 +>TYI.EXP //14 +-3.725204e-04 -7.177224e-05 -4.760946e-06 -6.856152e-07 -1.654497e-08 8.025740e-06 +-8.564561e-05 9.057731e-04 5.906831e-04 -1.317955e-04 -3.452027e-04 -3.258313e-04 +-2.402468e-04 -1.560967e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par08ew.edi b/examples/data/NEConductor/par08ew.edi new file mode 100644 index 00000000..f09ff2cf --- /dev/null +++ b/examples/data/NEConductor/par08ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par08ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par08ew" +REFLAT=-30:12:44.8362 +REFLONG=139:41:29.2607 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par08ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.613056e-02 3.030261e-04 2.280210e-05 4.747967e-07 1.159916e-07 1.163496e-04 +-1.610022e-03 1.854165e-03 3.181987e-03 2.013732e-03 1.118634e-03 6.063126e-04 + 3.287139e-04 1.810952e-04 +>ZXXI ROT=ZROT //14 +-3.202873e-03 1.124142e-04 6.379262e-06 -5.733139e-07 -4.204585e-07 -8.946541e-05 +-1.986513e-04 -2.787096e-03 1.572098e-05 9.368428e-04 8.167648e-04 5.386905e-04 + 3.198621e-04 1.813802e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865235e+02 1.241442e+02 7.346945e+01 4.197590e+01 2.350537e+01 1.317084e+01 + 8.359945e+00 6.600800e+00 5.473987e+00 4.271741e+00 3.009775e+00 1.923854e+00 + 1.146164e+00 6.590354e-01 +>ZXYI ROT=ZROT //14 + 3.082027e+02 1.471573e+02 7.805630e+01 4.294174e+01 2.400291e+01 1.271854e+01 + 6.030169e+00 2.961926e+00 2.004403e+00 1.767656e+00 1.577448e+00 1.252039e+00 + 8.802707e-01 5.629361e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865939e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350537e+01 -1.317097e+01 +-8.358161e+00 -6.600935e+00 -5.482070e+00 -4.282161e+00 -3.018514e+00 -1.929907e+00 +-1.149907e+00 -6.612214e-01 +>ZYXI ROT=ZROT //14 +-3.082160e+02 -1.471551e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271850e+01 +-6.030387e+00 -2.955922e+00 -1.998997e+00 -1.767010e+00 -1.579628e+00 -1.254918e+00 +-8.827185e-01 -5.646453e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.826437e-03 8.230862e-06 4.966289e-08 2.330623e-07 -2.335643e-07 -8.139684e-05 + 1.123192e-03 -1.817444e-03 -1.023267e-03 7.639459e-04 1.238611e-03 1.043712e-03 + 6.983402e-04 4.204242e-04 +>ZYYI ROT=ZROT //14 + 2.516867e-04 3.633650e-06 -2.091582e-07 -1.214244e-07 4.566417e-07 7.125519e-05 + 3.028344e-04 1.138298e-03 -1.445394e-03 -1.126823e-03 -2.540582e-04 2.274172e-04 + 3.416450e-04 2.846210e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.154879e-02 -9.291013e-05 -3.464195e-05 -6.648476e-07 1.996051e-08 -7.390624e-07 +-5.831525e-07 -1.652692e-05 3.394394e-05 6.786532e-05 5.884421e-05 3.993383e-05 + 2.430021e-05 1.403359e-05 +>TXI.EXP //14 +-5.845777e-04 4.618315e-06 4.815287e-06 1.166233e-06 5.172741e-09 -3.964197e-07 + 9.132799e-06 -2.370853e-05 -4.662589e-05 -1.320714e-05 1.278281e-05 1.910624e-05 + 1.617163e-05 1.114588e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 2.367326e-03 7.670694e-04 9.380637e-06 -1.254787e-06 -1.469821e-08 -5.847643e-06 + 1.446435e-04 9.468798e-05 -9.637110e-04 -1.028676e-03 -7.378864e-04 -4.677575e-04 +-2.771429e-04 -1.589573e-04 +>TYI.EXP //14 +-7.521427e-04 -9.319940e-05 -4.658627e-06 -2.500358e-07 8.192862e-09 6.537163e-06 +-8.741915e-05 6.939069e-04 5.508181e-04 -7.895472e-05 -2.836266e-04 -2.754519e-04 +-2.047478e-04 -1.334240e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par09.edi b/examples/data/NEConductor/par09.edi new file mode 100644 index 00000000..fab3dea5 --- /dev/null +++ b/examples/data/NEConductor/par09.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par09" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par09" +REFLAT=-30:11:40.2703 +REFLONG=139:42:10.025 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par09" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.587147e-03 3.624306e-04 9.001512e-06 2.538161e-07 1.831778e-06 3.611530e-04 +-3.466896e-03 3.337554e-03 9.050471e-03 8.777783e-03 6.618122e-03 4.354953e-03 + 2.627744e-03 1.518736e-03 +>ZXXI ROT=ZROT //14 +-2.029296e-03 1.193536e-04 1.830433e-06 -2.869892e-07 5.332797e-07 -5.906651e-05 +-8.764337e-04 -7.109584e-03 -2.845751e-03 9.318677e-04 2.385702e-03 2.416525e-03 + 1.864555e-03 1.243457e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865459e+02 1.241416e+02 7.346939e+01 4.197590e+01 2.350537e+01 1.317028e+01 + 8.362990e+00 6.595582e+00 5.467887e+00 4.267044e+00 3.006510e+00 1.921803e+00 + 1.144958e+00 6.583467e-01 +>ZXYI ROT=ZROT //14 + 3.082043e+02 1.471562e+02 7.805628e+01 4.294174e+01 2.400291e+01 1.271815e+01 + 6.033244e+00 2.966274e+00 2.004377e+00 1.766329e+00 1.575886e+00 1.250721e+00 + 8.793375e-01 5.623423e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865694e+02 -1.241460e+02 -7.346928e+01 -4.197589e+01 -2.350537e+01 -1.317047e+01 +-8.361219e+00 -6.596604e+00 -5.474447e+00 -4.274817e+00 -3.012904e+00 -1.926201e+00 +-1.147670e+00 -6.599284e-01 +>ZYXI ROT=ZROT //14 +-3.082009e+02 -1.471554e+02 -7.805633e+01 -4.294174e+01 -2.400291e+01 -1.271818e+01 +-6.032943e+00 -2.961358e+00 -2.000818e+00 -1.766170e+00 -1.577618e+00 -1.252870e+00 +-8.811333e-01 -5.635873e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.123122e-03 -5.324971e-05 -2.623454e-08 2.281238e-07 -8.922270e-07 -3.090499e-04 + 3.143219e-03 -3.136552e-03 -7.706197e-03 -7.127622e-03 -5.213695e-03 -3.364470e-03 +-2.008217e-03 -1.155084e-03 +>ZYYI ROT=ZROT //14 + 1.830370e-04 -1.507687e-05 -1.630532e-07 -1.118767e-07 6.626625e-08 8.033637e-05 + 7.605925e-04 6.120005e-03 2.077932e-03 -1.014265e-03 -2.049526e-03 -1.961302e-03 +-1.468878e-03 -9.633193e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.941059e-03 -4.339077e-04 -3.752089e-05 3.028323e-07 5.173458e-08 5.596289e-06 +-1.271991e-04 -2.447565e-05 7.073315e-04 7.369292e-04 5.310377e-04 3.382321e-04 + 2.009054e-04 1.153194e-04 +>TXI.EXP //14 + 9.433193e-06 5.228992e-05 1.130681e-05 5.446508e-07 1.089679e-09 -5.311539e-06 + 5.828520e-05 -5.255723e-04 -3.713080e-04 6.264695e-05 2.035855e-04 1.980021e-04 + 1.477258e-04 9.654446e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.379939e-03 5.974344e-04 1.207068e-05 -7.228100e-07 -5.249126e-08 -1.074331e-05 + 2.159479e-04 2.864787e-05 -1.179489e-03 -1.206043e-03 -8.613426e-04 -5.465084e-04 +-3.240787e-04 -1.859548e-04 +>TYI.EXP //14 +-3.762054e-04 -7.178287e-05 -4.758942e-06 -6.841219e-07 -8.414073e-09 8.282520e-06 +-9.065468e-05 8.770501e-04 5.984603e-04 -1.164679e-04 -3.378436e-04 -3.233927e-04 +-2.397230e-04 -1.561365e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par09ew.edi b/examples/data/NEConductor/par09ew.edi new file mode 100644 index 00000000..98578130 --- /dev/null +++ b/examples/data/NEConductor/par09ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par09ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par09ew" +REFLAT=-30:12:45.0696 +REFLONG=139:41:52.7013 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par09ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.353603e-02 2.681697e-04 1.833822e-05 3.915539e-07 3.872425e-07 1.768031e-04 +-1.975722e-03 2.387657e-03 3.704180e-03 2.339584e-03 1.305306e-03 7.055193e-04 + 3.806425e-04 2.090574e-04 +>ZXXI ROT=ZROT //14 +-2.883291e-03 9.379520e-05 4.961644e-06 -4.667142e-07 -6.008543e-07 -9.111736e-05 +-4.566426e-04 -3.182651e-03 9.782744e-05 1.099404e-03 9.551429e-04 6.307720e-04 + 3.735578e-04 2.109618e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865346e+02 1.241427e+02 7.346942e+01 4.197591e+01 2.350537e+01 1.317055e+01 + 8.361516e+00 6.597968e+00 5.471004e+00 4.269589e+00 3.008341e+00 1.922981e+00 + 1.145661e+00 6.587505e-01 +>ZXYI ROT=ZROT //14 + 3.082031e+02 1.471567e+02 7.805629e+01 4.294175e+01 2.400291e+01 1.271832e+01 + 6.031848e+00 2.964037e+00 2.004185e+00 1.766915e+00 1.576679e+00 1.251431e+00 + 8.798593e-01 5.626818e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865950e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350537e+01 -1.317072e+01 +-8.359509e+00 -6.598640e+00 -5.479149e+00 -4.279718e+00 -3.016759e+00 -1.928786e+00 +-1.149243e+00 -6.608405e-01 +>ZYXI ROT=ZROT //14 +-3.082164e+02 -1.471551e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271831e+01 +-6.031837e+00 -2.957942e+00 -1.999202e+00 -1.766470e+00 -1.578865e+00 -1.254233e+00 +-8.822192e-01 -5.643227e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.067638e-03 -1.339535e-05 -1.797692e-07 2.402036e-07 -5.473796e-07 -1.313469e-04 + 1.431974e-03 -2.222880e-03 -1.527568e-03 3.785033e-04 9.828300e-04 8.897868e-04 + 6.103432e-04 3.708302e-04 +>ZYYI ROT=ZROT //14 + 2.318837e-04 -3.179049e-06 -1.786166e-07 -1.064476e-07 5.469101e-07 7.714736e-05 + 5.046621e-04 1.512448e-03 -1.434392e-03 -1.243267e-03 -3.886975e-04 1.196457e-04 + 2.689640e-04 2.399384e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.146226e-02 -9.110104e-05 -3.444763e-05 -6.620824e-07 1.813683e-08 -1.057716e-06 + 3.627578e-06 -1.385734e-05 3.708880e-06 3.564579e-05 3.577470e-05 2.539442e-05 + 1.571714e-05 9.118012e-06 +>TXI.EXP //14 +-5.792252e-04 4.448882e-06 4.775188e-06 1.158570e-06 6.212030e-09 -4.140916e-07 + 7.398079e-06 -1.995908e-06 -2.977540e-05 -1.571235e-05 3.809160e-06 1.044845e-05 + 9.778662e-06 6.996460e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 4.159781e-04 6.871587e-04 1.090802e-05 -1.024369e-06 -3.420211e-08 -8.645902e-06 + 1.769077e-04 4.951766e-05 -1.034664e-03 -1.055520e-03 -7.476191e-04 -4.722079e-04 +-2.794667e-04 -1.602301e-04 +>TYI.EXP //14 +-5.525614e-04 -8.318244e-05 -4.829823e-06 -4.717459e-07 -4.292787e-09 6.798132e-06 +-8.175003e-05 7.591632e-04 5.348708e-04 -1.063603e-04 -2.980247e-04 -2.821205e-04 +-2.079055e-04 -1.349845e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par10.edi b/examples/data/NEConductor/par10.edi new file mode 100644 index 00000000..7ad07e91 --- /dev/null +++ b/examples/data/NEConductor/par10.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par10" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par10" +REFLAT=-30:14:06.6115 +REFLONG=139:42:26.8093 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par10" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.168294e-02 6.934503e-05 1.452273e-05 2.483032e-07 -2.174611e-07 4.959412e-05 +-7.801912e-04 1.791111e-03 -5.244095e-04 -2.798140e-03 -2.945131e-03 -2.221042e-03 +-1.424253e-03 -8.437092e-04 +>ZXXI ROT=ZROT //14 +-1.939031e-03 1.994656e-05 3.339728e-06 -3.319158e-07 -4.680273e-07 -6.781663e-05 +-2.998090e-04 -2.536262e-05 2.514004e-03 1.263760e-03 -1.728140e-04 -7.913793e-04 +-8.190015e-04 -6.168644e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865579e+02 1.241406e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.317100e+01 + 8.358364e+00 6.601275e+00 5.480650e+00 4.280213e+00 3.016876e+00 1.928771e+00 + 1.149204e+00 6.608104e-01 +>ZXYI ROT=ZROT //14 + 3.081992e+02 1.471557e+02 7.805626e+01 4.294175e+01 2.400291e+01 1.271855e+01 + 6.030056e+00 2.957023e+00 2.000163e+00 1.767187e+00 1.579237e+00 1.254384e+00 + 8.822609e-01 5.643249e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866497e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317097e+01 +-8.358598e+00 -6.601742e+00 -5.478445e+00 -4.276824e+00 -3.013878e+00 -1.926646e+00 +-1.147876e+00 -6.600317e-01 +>ZYXI ROT=ZROT //14 +-3.082581e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400292e+01 -1.271854e+01 +-6.029912e+00 -2.958547e+00 -2.002210e+00 -1.767680e+00 -1.578636e+00 -1.253444e+00 +-8.814229e-01 -5.637277e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.076263e-03 -5.481192e-05 -1.087621e-06 3.621730e-07 -5.202416e-08 -5.213510e-05 + 8.632011e-04 -1.741237e-03 5.377189e-06 2.134531e-03 2.369996e-03 1.810878e-03 + 1.166232e-03 6.918465e-04 +>ZYYI ROT=ZROT //14 + 3.405716e-04 -1.801454e-05 -1.225406e-07 -9.275340e-08 4.095866e-07 7.167066e-05 + 2.473632e-04 4.251448e-04 -2.158076e-03 -1.207995e-03 4.756322e-05 6.093002e-04 + 6.571113e-04 5.010332e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.790041e-02 2.336944e-04 -3.185369e-05 -7.122760e-07 5.201167e-09 -4.100074e-06 + 9.789351e-05 6.554334e-05 -6.577663e-04 -6.931713e-04 -4.941037e-04 -3.122211e-04 +-1.846937e-04 -1.059232e-04 +>TXI.EXP //14 +-1.280110e-03 -4.265582e-05 4.496554e-07 1.179115e-06 1.825747e-08 4.334129e-06 +-5.777343e-05 4.721846e-04 3.696175e-04 -5.825718e-05 -1.929268e-04 -1.853586e-04 +-1.371280e-04 -8.918608e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.445021e-03 4.979156e-04 1.287059e-05 -3.407537e-07 -2.319825e-08 -2.802046e-06 + 5.865451e-05 3.265324e-05 -3.821677e-04 -3.874084e-04 -2.699195e-04 -1.690376e-04 +-9.968624e-05 -5.706321e-05 +>TYI.EXP //14 +-1.492402e-04 -5.934850e-05 -4.516278e-06 -9.107016e-07 -1.126798e-08 2.496235e-06 +-3.122034e-05 2.733972e-04 2.032730e-04 -4.265901e-05 -1.111026e-04 -1.028786e-04 +-7.496108e-05 -4.834713e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par100.edi b/examples/data/NEConductor/par100.edi new file mode 100644 index 00000000..d6d9e12e --- /dev/null +++ b/examples/data/NEConductor/par100.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par100" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par100" +REFLAT=-30:14:08.242 +REFLONG=139:45:15.1333 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par100" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.716333e-02 1.176231e-04 -2.532417e-05 -4.962432e-07 8.585494e-07 1.733378e-04 +-2.420997e-03 1.719245e-03 7.232985e-03 7.399952e-03 5.659766e-03 3.751616e-03 + 2.272709e-03 1.315896e-03 +>ZXXI ROT=ZROT //14 + 1.775212e-03 -5.253336e-06 -1.014370e-05 3.257333e-07 -1.939359e-07 -1.101447e-04 +-2.950454e-05 -5.748897e-03 -2.890126e-03 5.306907e-04 1.925556e-03 2.029135e-03 + 1.590157e-03 1.068710e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866527e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317097e+01 + 8.358936e+00 6.601313e+00 5.478386e+00 4.277360e+00 3.014486e+00 1.927111e+00 + 1.148176e+00 6.602095e-01 +>ZXYI ROT=ZROT //14 + 3.082532e+02 1.471576e+02 7.805611e+01 4.294172e+01 2.400292e+01 1.271862e+01 + 6.029766e+00 2.958818e+00 2.001649e+00 1.767352e+00 1.578641e+00 1.253598e+00 + 8.815910e-01 5.638561e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866475e+02 -1.241514e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317094e+01 +-8.359089e+00 -6.601810e+00 -5.476312e+00 -4.274090e+00 -3.011551e+00 -1.925009e+00 +-1.146854e+00 -6.594324e-01 +>ZYXI ROT=ZROT //14 +-3.082609e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400292e+01 -1.271860e+01 +-6.029709e+00 -2.960204e+00 -2.003652e+00 -1.767875e+00 -1.578092e+00 -1.252692e+00 +-8.807693e-01 -5.632654e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.356350e-03 -2.558636e-04 -4.612574e-06 2.161731e-07 -6.148990e-07 -1.985222e-04 + 2.527207e-03 -1.652158e-03 -8.026770e-03 -8.526276e-03 -6.670192e-03 -4.484056e-03 +-2.737111e-03 -1.590085e-03 +>ZYYI ROT=ZROT //14 + 4.453632e-04 -9.563975e-05 -7.785817e-07 1.753825e-07 2.879463e-07 9.738871e-05 + 4.597567e-05 6.313354e-03 3.515097e-03 -3.845999e-04 -2.116131e-03 -2.339034e-03 +-1.874676e-03 -1.275151e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.805453e-02 2.373768e-04 -3.235300e-05 -7.209727e-07 9.814398e-09 -4.002816e-06 + 1.298912e-04 1.133854e-04 -9.182495e-04 -1.029144e-03 -7.553159e-04 -4.829724e-04 +-2.870389e-04 -1.648832e-04 +>TXI.EXP //14 +-1.308694e-03 -4.289678e-05 5.249265e-07 1.189660e-06 3.369378e-08 6.573117e-06 +-9.212709e-05 6.607826e-04 5.658764e-04 -4.899155e-05 -2.742085e-04 -2.773416e-04 +-2.093612e-04 -1.374654e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.681081e-02 -3.795889e-04 9.476988e-06 1.852033e-06 -3.479052e-08 3.023777e-06 +-1.059895e-04 -1.016470e-04 7.687802e-04 8.708467e-04 6.416973e-04 4.109934e-04 + 2.444329e-04 1.404284e-04 +>TYI.EXP //14 + 1.403461e-03 5.545285e-05 7.761415e-08 -1.642057e-06 -2.704130e-08 -5.522073e-06 + 7.970722e-05 -5.518998e-04 -4.831711e-04 3.645620e-05 2.303829e-04 2.348710e-04 + 1.778217e-04 1.169620e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par101.edi b/examples/data/NEConductor/par101.edi new file mode 100644 index 00000000..2c3cce3f --- /dev/null +++ b/examples/data/NEConductor/par101.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par101" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par101" +REFLAT=-30:13:52.0022 +REFLONG=139:45:15.3381 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par101" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.652532e-02 6.005179e-05 -2.443018e-05 -4.730846e-07 1.179915e-06 2.483447e-04 +-2.966116e-03 2.389580e-03 8.368770e-03 8.415102e-03 6.412992e-03 4.241531e-03 + 2.565923e-03 1.484685e-03 +>ZXXI ROT=ZROT //14 + 1.801597e-03 -2.397225e-05 -9.378254e-06 3.423092e-07 -7.514863e-08 -1.090720e-04 +-3.047041e-04 -6.630277e-03 -3.093124e-03 6.925237e-04 2.219942e-03 2.312271e-03 + 1.803444e-03 1.209023e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866514e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317074e+01 + 8.360320e+00 6.599305e+00 5.475294e+00 4.274559e+00 3.012396e+00 1.925749e+00 + 1.147359e+00 6.597391e-01 +>ZXYI ROT=ZROT //14 + 3.082557e+02 1.471577e+02 7.805611e+01 4.294172e+01 2.400291e+01 1.271850e+01 + 6.030900e+00 2.961052e+00 2.002169e+00 1.766913e+00 1.577832e+00 1.252815e+00 + 8.809992e-01 5.634660e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866324e+02 -1.241501e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317072e+01 +-8.360210e+00 -6.599734e+00 -5.474464e+00 -4.272970e+00 -3.010886e+00 -1.924637e+00 +-1.146650e+00 -6.593200e-01 +>ZYXI ROT=ZROT //14 +-3.082504e+02 -1.471574e+02 -7.805624e+01 -4.294172e+01 -2.400291e+01 -1.271846e+01 +-6.030915e+00 -2.961525e+00 -2.003250e+00 -1.767296e+00 -1.577622e+00 -1.252374e+00 +-8.805760e-01 -5.631543e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.681839e-03 -2.356891e-04 -4.231026e-06 1.941443e-07 -9.680998e-07 -2.752489e-04 + 3.017014e-03 -2.372915e-03 -8.876687e-03 -9.150238e-03 -7.087794e-03 -4.738177e-03 +-2.883331e-03 -1.672725e-03 +>ZYYI ROT=ZROT //14 + 4.005204e-04 -8.661542e-05 -7.044538e-07 1.699654e-07 1.959514e-07 8.381245e-05 + 3.764123e-04 6.971269e-03 3.492348e-03 -5.854155e-04 -2.335172e-03 -2.514583e-03 +-1.994010e-03 -1.348987e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.691757e-02 1.914090e-04 -3.193196e-05 -8.532431e-07 -6.748395e-09 -5.819431e-06 + 1.540281e-04 7.797071e-05 -9.633513e-04 -1.045108e-03 -7.623038e-04 -4.869575e-04 +-2.893785e-04 -1.662282e-04 +>TXI.EXP //14 +-1.163431e-03 -3.614399e-05 5.369124e-07 1.281965e-06 3.616629e-08 7.164908e-06 +-8.942752e-05 7.064032e-04 5.514240e-04 -6.575686e-05 -2.824996e-04 -2.815170e-04 +-2.116609e-04 -1.387721e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.676950e-02 -3.782681e-04 9.501736e-06 1.848498e-06 -2.283812e-08 5.127902e-06 +-1.396015e-04 -7.794926e-05 8.895033e-04 9.682252e-04 7.065491e-04 4.514538e-04 + 2.683288e-04 1.541262e-04 +>TYI.EXP //14 + 1.393972e-03 5.535737e-05 7.572955e-08 -1.640532e-06 -2.636272e-08 -6.623897e-06 + 8.464521e-05 -6.503117e-04 -5.144684e-04 5.945861e-05 2.612325e-04 2.607425e-04 + 1.961503e-04 1.286833e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1010.edi b/examples/data/NEConductor/par1010.edi new file mode 100644 index 00000000..77183242 --- /dev/null +++ b/examples/data/NEConductor/par1010.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1010" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1010" +REFLAT=-30:11:25.8429 +REFLONG=139:45:17.1791 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1010" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.639647e-03 -4.089267e-04 -1.207247e-05 -2.421447e-07 2.319648e-06 4.011304e-04 +-2.597256e-03 4.193894e-03 3.761921e-03 1.303888e-03 1.761374e-04 -1.604833e-04 +-1.803421e-04 -1.247855e-04 +>ZXXI ROT=ZROT //14 + 1.062839e-03 -1.809450e-04 -4.700658e-07 4.697849e-07 2.030860e-07 5.491501e-05 +-1.806194e-03 -3.036036e-03 1.483387e-03 1.751490e-03 9.546326e-04 3.505615e-04 + 6.315645e-05 -2.835131e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866480e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317000e+01 + 8.363611e+00 6.592803e+00 5.467911e+00 4.268560e+00 3.008161e+00 1.923082e+00 + 1.145792e+00 6.588442e-01 +>ZXYI ROT=ZROT //14 + 3.082594e+02 1.471577e+02 7.805612e+01 4.294172e+01 2.400290e+01 1.271775e+01 + 6.035593e+00 2.965766e+00 2.002338e+00 1.765399e+00 1.575881e+00 1.251125e+00 + 8.797930e-01 5.626963e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865590e+02 -1.241463e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.317013e+01 +-8.362309e+00 -6.593802e+00 -5.471683e+00 -4.272563e+00 -3.011326e+00 -1.925218e+00 +-1.147097e+00 -6.596028e-01 +>ZYXI ROT=ZROT //14 +-3.082039e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400290e+01 -1.271771e+01 +-6.035405e+00 -2.962819e+00 -2.000776e+00 -1.765566e+00 -1.576866e+00 -1.252230e+00 +-8.806837e-01 -5.633035e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.018040e-03 -1.502823e-04 -2.722173e-06 1.664568e-09 -2.599647e-06 -3.915775e-04 + 2.276348e-03 -4.110677e-03 -2.685546e-03 -5.308206e-05 8.641158e-04 8.845268e-04 + 6.300532e-04 3.879795e-04 +>ZYYI ROT=ZROT //14 + 1.087987e-04 -4.598552e-05 -4.396871e-08 2.383781e-07 -1.043651e-06 -9.184458e-05 + 1.936746e-03 2.146372e-03 -2.070086e-03 -1.784511e-03 -6.854383e-04 -6.208861e-06 + 2.295713e-04 2.333166e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.212845e-03 -5.157038e-04 -3.675462e-05 5.375491e-07 4.957567e-08 5.396668e-06 +-8.293665e-05 6.793635e-06 4.319392e-04 3.935893e-04 2.634531e-04 1.625635e-04 + 9.536707e-05 5.446001e-05 +>TXI.EXP //14 + 1.681076e-04 6.341574e-05 1.242151e-05 3.719703e-07 1.253550e-09 -1.936237e-06 + 2.180345e-05 -3.185048e-04 -1.804614e-04 6.856504e-05 1.202514e-04 1.038271e-04 + 7.353650e-05 4.684224e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.652667e-02 -3.695464e-04 9.660445e-06 1.827973e-06 1.587066e-09 9.582094e-06 +-1.570428e-04 1.535124e-05 7.849508e-04 7.650428e-04 5.375668e-04 3.390629e-04 + 2.006040e-04 1.150406e-04 +>TYI.EXP //14 + 1.339456e-03 5.467151e-05 5.536568e-08 -1.633921e-06 -4.079337e-09 -4.570302e-06 + 4.566840e-05 -5.882769e-04 -3.575280e-04 9.485881e-05 2.204959e-04 2.046456e-04 + 1.499374e-04 9.722247e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par102.edi b/examples/data/NEConductor/par102.edi new file mode 100644 index 00000000..5da76f15 --- /dev/null +++ b/examples/data/NEConductor/par102.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par102" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par102" +REFLAT=-30:13:35.7623 +REFLONG=139:45:15.5428 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par102" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.574203e-02 3.164002e-06 -2.346451e-05 -4.478234e-07 1.572899e-06 3.355188e-04 +-3.522919e-03 3.148426e-03 9.462791e-03 9.333021e-03 7.074996e-03 4.665385e-03 + 2.817463e-03 1.628944e-03 +>ZXXI ROT=ZROT //14 + 1.797895e-03 -4.359510e-05 -8.564399e-06 3.591048e-07 1.210787e-07 -9.478626e-05 +-6.652878e-04 -7.461049e-03 -3.206598e-03 8.844568e-04 2.502501e-03 2.568837e-03 + 1.991480e-03 1.330907e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866505e+02 1.241454e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317048e+01 + 8.361821e+00 6.597007e+00 5.471779e+00 4.271352e+00 3.009997e+00 1.924183e+00 + 1.146420e+00 6.591976e-01 +>ZXYI ROT=ZROT //14 + 3.082574e+02 1.471577e+02 7.805611e+01 4.294173e+01 2.400291e+01 1.271833e+01 + 6.032289e+00 2.963537e+00 2.002773e+00 1.766423e+00 1.576909e+00 1.251918e+00 + 8.803197e-01 5.630175e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866200e+02 -1.241489e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317049e+01 +-8.361306e+00 -6.597500e+00 -5.472627e+00 -4.271918e+00 -3.010294e+00 -1.924320e+00 +-1.146483e+00 -6.592293e-01 +>ZYXI ROT=ZROT //14 +-3.082414e+02 -1.471567e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271826e+01 +-6.032338e+00 -2.962759e+00 -2.002750e+00 -1.766677e+00 -1.577153e+00 -1.252074e+00 +-8.804027e-01 -5.630589e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.067754e-03 -2.179483e-04 -3.893734e-06 1.730117e-07 -1.438433e-06 -3.599187e-04 + 3.473399e-03 -3.152255e-03 -9.555879e-03 -9.537107e-03 -7.299921e-03 -4.847327e-03 +-2.939049e-03 -1.702304e-03 +>ZYYI ROT=ZROT //14 + 3.499374e-04 -7.860497e-05 -6.307340e-07 1.659020e-07 -8.468833e-09 5.355090e-05 + 7.957959e-04 7.471647e-03 3.324064e-03 -8.144356e-04 -2.510364e-03 -2.624944e-03 +-2.055855e-03 -1.382001e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.567202e-02 1.343074e-04 -3.195638e-05 -9.163577e-07 -2.511883e-08 -7.562355e-06 + 1.722552e-04 4.083682e-05 -9.725068e-04 -1.028082e-03 -7.466850e-04 -4.767689e-04 +-2.833428e-04 -1.627721e-04 +>TXI.EXP //14 +-1.018268e-03 -2.775714e-05 1.023225e-06 1.319582e-06 3.412226e-08 7.340740e-06 +-8.197826e-05 7.238692e-04 5.214307e-04 -7.740967e-05 -2.810294e-04 -2.769571e-04 +-2.076402e-04 -1.360035e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.673190e-02 -3.770523e-04 9.524539e-06 1.845260e-06 -9.744880e-09 7.786465e-06 +-1.762359e-04 -4.726074e-05 1.010007e-03 1.061624e-03 7.677134e-04 4.893618e-04 + 2.906612e-04 1.669159e-04 +>TYI.EXP //14 + 1.385342e-03 5.526876e-05 7.382782e-08 -1.639170e-06 -2.105440e-08 -7.507557e-06 + 8.602341e-05 -7.487647e-04 -5.404350e-04 8.433637e-05 2.916646e-04 2.855348e-04 + 2.134876e-04 1.397004e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par103.edi b/examples/data/NEConductor/par103.edi new file mode 100644 index 00000000..a75ca555 --- /dev/null +++ b/examples/data/NEConductor/par103.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par103" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par103" +REFLAT=-30:13:19.5224 +REFLONG=139:45:15.7475 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par103" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.482433e-02 -5.307997e-05 -2.241504e-05 -4.224024e-07 2.081668e-06 4.277887e-04 +-4.035574e-03 3.941279e-03 1.038194e-02 1.001422e-02 7.535522e-03 4.949114e-03 + 2.982256e-03 1.722536e-03 +>ZXXI ROT=ZROT //14 + 1.764559e-03 -6.356197e-05 -7.701727e-06 3.774071e-07 5.005632e-07 -6.568731e-05 +-1.091446e-03 -8.138996e-03 -3.183224e-03 1.099041e-03 2.738129e-03 2.759975e-03 + 2.123210e-03 1.413308e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866499e+02 1.241454e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317020e+01 + 8.363348e+00 6.594535e+00 5.468042e+00 4.267935e+00 3.007438e+00 1.922510e+00 + 1.145416e+00 6.586192e-01 +>ZXYI ROT=ZROT //14 + 3.082583e+02 1.471577e+02 7.805611e+01 4.294173e+01 2.400291e+01 1.271809e+01 + 6.033868e+00 2.966124e+00 2.003410e+00 1.765902e+00 1.575927e+00 1.250962e+00 + 8.795949e-01 5.625389e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866095e+02 -1.241478e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.317027e+01 +-8.362297e+00 -6.595245e+00 -5.470921e+00 -4.271010e+00 -3.009822e+00 -1.924088e+00 +-1.146368e+00 -6.591691e-01 +>ZYXI ROT=ZROT //14 +-3.082337e+02 -1.471561e+02 -7.805625e+01 -4.294173e+01 -2.400291e+01 -1.271802e+01 +-6.033890e+00 -2.963825e+00 -2.002175e+00 -1.766051e+00 -1.576714e+00 -1.251813e+00 +-8.802633e-01 -5.629871e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.508413e-03 -2.024825e-04 -3.599870e-06 1.523874e-07 -2.031732e-06 -4.436428e-04 + 3.837056e-03 -3.922814e-03 -9.935530e-03 -9.557617e-03 -7.205778e-03 -4.744291e-03 +-2.863529e-03 -1.655246e-03 +>ZYYI ROT=ZROT //14 + 2.974248e-04 -7.154194e-05 -5.582140e-07 1.636862e-07 -3.781534e-07 6.609110e-06 + 1.273751e-03 7.717727e-03 2.973461e-03 -1.060935e-03 -2.607800e-03 -2.633991e-03 +-2.031770e-03 -1.355054e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.433495e-02 6.750274e-05 -3.245264e-05 -9.030827e-07 -4.529857e-08 -8.829498e-06 + 1.797684e-04 7.101772e-06 -9.329537e-04 -9.684951e-04 -7.022263e-04 -4.485618e-04 +-2.666726e-04 -1.532230e-04 +>TXI.EXP //14 +-8.731753e-04 -1.803685e-05 1.944674e-06 1.306657e-06 2.278274e-08 7.035485e-06 +-7.046569e-05 7.026605e-04 4.740539e-04 -8.113660e-05 -2.665915e-04 -2.611010e-04 +-1.955266e-04 -1.280396e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.669764e-02 -3.759277e-04 9.545594e-06 1.842302e-06 2.156789e-09 1.078440e-05 +-2.124880e-04 -1.219272e-05 1.119620e-03 1.142330e-03 8.193324e-04 5.210558e-04 + 3.092673e-04 1.775579e-04 +>TYI.EXP //14 + 1.377500e-03 5.518585e-05 7.188898e-08 -1.637968e-06 -1.154459e-08 -8.008177e-06 + 8.344652e-05 -8.384748e-04 -5.583992e-04 1.090985e-04 3.189330e-04 3.069207e-04 + 2.281788e-04 1.489537e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par104.edi b/examples/data/NEConductor/par104.edi new file mode 100644 index 00000000..22ebafb9 --- /dev/null +++ b/examples/data/NEConductor/par104.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par104" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par104" +REFLAT=-30:13:03.2825 +REFLONG=139:45:15.9522 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par104" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.378350e-02 -1.086367e-04 -2.126957e-05 -3.975638e-07 2.446273e-06 5.138072e-04 +-4.434573e-03 4.683740e-03 1.096273e-02 1.029675e-02 7.669095e-03 5.009208e-03 + 3.009706e-03 1.736178e-03 +>ZXXI ROT=ZROT //14 + 1.704341e-03 -8.336046e-05 -6.790532e-06 3.963583e-07 7.963166e-07 -2.408342e-05 +-1.539543e-03 -8.543816e-03 -2.977650e-03 1.321385e-03 2.883884e-03 2.840513e-03 + 2.163213e-03 1.432428e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866496e+02 1.241454e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.316994e+01 + 8.364761e+00 6.592108e+00 5.464450e+00 4.264655e+00 3.004984e+00 1.920908e+00 + 1.144455e+00 6.580652e-01 +>ZXYI ROT=ZROT //14 + 3.082589e+02 1.471577e+02 7.805611e+01 4.294173e+01 2.400290e+01 1.271782e+01 + 6.035495e+00 2.968562e+00 2.004001e+00 1.765393e+00 1.574981e+00 1.250044e+00 + 8.788998e-01 5.620801e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866005e+02 -1.241470e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.317007e+01 +-8.363103e+00 -6.593169e+00 -5.469490e+00 -4.270326e+00 -3.009515e+00 -1.923962e+00 +-1.146317e+00 -6.591460e-01 +>ZYXI ROT=ZROT //14 +-3.082270e+02 -1.471555e+02 -7.805625e+01 -4.294174e+01 -2.400290e+01 -1.271775e+01 +-6.035416e+00 -2.964642e+00 -2.001573e+00 -1.765471e+00 -1.576342e+00 -1.251615e+00 +-8.801706e-01 -5.629463e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.001025e-03 -1.891778e-04 -3.348242e-06 1.318824e-07 -2.700072e-06 -5.147357e-04 + 4.048591e-03 -4.596102e-03 -9.890557e-03 -9.097220e-03 -6.719593e-03 -4.373197e-03 +-2.623326e-03 -1.512299e-03 +>ZYYI ROT=ZROT //14 + 2.458085e-04 -6.538082e-05 -4.866541e-07 1.640403e-07 -8.309227e-07 -5.158206e-05 + 1.754962e-03 7.622965e-03 2.420566e-03 -1.307296e-03 -2.594362e-03 -2.509572e-03 +-1.897465e-03 -1.252153e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.291952e-02 -7.350850e-06 -3.335889e-05 -8.147596e-07 -4.155719e-08 -9.174801e-06 + 1.723051e-04 -1.782030e-05 -8.351610e-04 -8.594137e-04 -6.243775e-04 -3.995138e-04 +-2.377056e-04 -1.366288e-04 +>TXI.EXP //14 +-7.279684e-04 -7.274997e-06 3.230379e-06 1.249270e-06 1.070841e-08 6.275674e-06 +-5.641445e-05 6.349919e-04 4.086525e-04 -7.473560e-05 -2.368249e-04 -2.320723e-04 +-1.740193e-04 -1.140578e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.666640e-02 -3.748809e-04 9.565108e-06 1.839611e-06 1.199312e-08 1.370460e-05 +-2.436006e-04 2.268483e-05 1.204683e-03 1.199716e-03 8.544186e-04 5.422114e-04 + 3.216033e-04 1.845962e-04 +>TYI.EXP //14 + 1.370374e-03 5.510749e-05 6.989097e-08 -1.636921e-06 -1.008813e-09 -8.041317e-06 + 7.745161e-05 -9.084202e-04 -5.657373e-04 1.308991e-04 3.395558e-04 3.220630e-04 + 2.382437e-04 1.551871e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par106.edi b/examples/data/NEConductor/par106.edi new file mode 100644 index 00000000..4e4a8053 --- /dev/null +++ b/examples/data/NEConductor/par106.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par106" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par106" +REFLAT=-30:12:30.8027 +REFLONG=139:45:16.3613 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par106" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.137828e-02 -2.168041e-04 -1.865114e-05 -3.498954e-07 3.340951e-06 6.136425e-04 +-4.630127e-03 5.610659e-03 1.051059e-02 9.130761e-03 6.557894e-03 4.199178e-03 + 2.496996e-03 1.433935e-03 +>ZXXI ROT=ZROT //14 + 1.523631e-03 -1.208645e-04 -4.830584e-06 4.341689e-07 1.375949e-06 6.453176e-05 +-2.240489e-03 -8.118990e-03 -1.929704e-03 1.699730e-03 2.749827e-03 2.520391e-03 + 1.855296e-03 1.206495e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866490e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316960e+01 + 8.366545e+00 6.588671e+00 5.459737e+00 4.260448e+00 3.001871e+00 1.918887e+00 + 1.143247e+00 6.573701e-01 +>ZXYI ROT=ZROT //14 + 3.082594e+02 1.471577e+02 7.805611e+01 4.294172e+01 2.400290e+01 1.271737e+01 + 6.037969e+00 2.971637e+00 2.004621e+00 1.764658e+00 1.573738e+00 1.248865e+00 + 8.780167e-01 5.615007e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865852e+02 -1.241458e+02 -7.346916e+01 -4.197589e+01 -2.350537e+01 -1.316984e+01 +-8.363930e+00 -6.590456e+00 -5.468022e+00 -4.269885e+00 -3.009494e+00 -1.924067e+00 +-1.146419e+00 -6.592147e-01 +>ZYXI ROT=ZROT //14 +-3.082163e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400290e+01 -1.271732e+01 +-6.037604e+00 -2.965293e+00 -2.000571e+00 -1.764698e+00 -1.575948e+00 -1.251480e+00 +-8.801572e-01 -5.629689e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.131163e-03 -1.686540e-04 -2.972362e-06 8.985256e-08 -3.635897e-06 -5.780353e-04 + 3.888465e-03 -5.314522e-03 -8.308837e-03 -6.627848e-03 -4.524915e-03 -2.809386e-03 +-1.642600e-03 -9.362045e-04 +>ZYYI ROT=ZROT //14 + 1.561841e-04 -5.562479e-05 -3.465564e-07 1.730671e-07 -1.817534e-06 -1.552637e-04 + 2.445989e-03 6.308655e-03 8.026036e-04 -1.708805e-03 -2.176087e-03 -1.829489e-03 +-1.284324e-03 -8.127141e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.891759e-03 -1.738181e-04 -3.580912e-05 -4.507316e-07 -1.867159e-08 -6.088877e-06 + 1.072635e-04 -2.883871e-05 -4.669544e-04 -4.957000e-04 -3.697542e-04 -2.394074e-04 +-1.431159e-04 -8.242547e-05 +>TXI.EXP //14 +-4.358854e-04 1.624623e-05 6.502295e-06 1.028714e-06 3.681127e-09 3.867065e-06 +-2.772385e-05 3.616950e-04 2.300364e-04 -3.156104e-05 -1.321713e-04 -1.350683e-04 +-1.031232e-04 -6.818946e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.661184e-02 -3.729703e-04 9.600315e-06 1.834963e-06 1.415078e-08 1.713073e-05 +-2.701662e-04 6.867767e-05 1.246673e-03 1.204162e-03 8.490892e-04 5.370522e-04 + 3.181791e-04 1.825567e-04 +>TYI.EXP //14 + 1.358036e-03 5.496006e-05 6.562371e-08 -1.635254e-06 9.554315e-09 -7.045097e-06 + 6.175080e-05 -9.459626e-04 -5.412857e-04 1.530941e-04 3.471029e-04 3.228451e-04 + 2.371232e-04 1.539665e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par107.edi b/examples/data/NEConductor/par107.edi new file mode 100644 index 00000000..13820a82 --- /dev/null +++ b/examples/data/NEConductor/par107.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par107" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par107" +REFLAT=-30:12:14.5627 +REFLONG=139:45:16.5658 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par107" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.003832e-02 -2.686192e-04 -1.716977e-05 -3.257826e-07 3.587748e-06 6.077540e-04 +-4.362001e-03 5.637668e-03 9.353020e-03 7.615867e-03 5.278573e-03 3.311368e-03 + 1.947680e-03 1.113129e-03 +>ZXXI ROT=ZROT //14 + 1.414441e-03 -1.380195e-04 -3.788503e-06 4.501318e-07 1.388992e-06 9.076219e-05 +-2.369803e-03 -7.218585e-03 -1.126181e-03 1.810079e-03 2.438494e-03 2.101038e-03 + 1.497128e-03 9.559856e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866488e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316956e+01 + 8.366622e+00 6.588279e+00 5.459560e+00 4.260406e+00 3.001882e+00 1.918910e+00 + 1.143266e+00 6.573827e-01 +>ZXYI ROT=ZROT //14 + 3.082595e+02 1.471577e+02 7.805611e+01 4.294172e+01 2.400290e+01 1.271729e+01 + 6.038346e+00 2.971670e+00 2.004471e+00 1.764553e+00 1.573689e+00 1.248852e+00 + 8.780187e-01 5.615064e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865784e+02 -1.241456e+02 -7.346917e+01 -4.197590e+01 -2.350537e+01 -1.316982e+01 +-8.363903e+00 -6.590189e+00 -5.468169e+00 -4.270172e+00 -3.009773e+00 -1.924277e+00 +-1.146555e+00 -6.592954e-01 +>ZYXI ROT=ZROT //14 +-3.082122e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400290e+01 -1.271724e+01 +-6.037911e+00 -2.965087e+00 -2.000313e+00 -1.764609e+00 -1.575976e+00 -1.251557e+00 +-8.802353e-01 -5.630277e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.769966e-03 -1.612752e-04 -2.847201e-06 6.859016e-08 -3.458482e-06 -5.622794e-04 + 3.551390e-03 -5.280354e-03 -6.915587e-03 -4.844655e-03 -3.018840e-03 -1.761417e-03 +-9.929686e-04 -5.564709e-04 +>ZYYI ROT=ZROT //14 + 1.236744e-04 -5.198303e-05 -2.759862e-07 1.819284e-07 -2.231843e-06 -1.765199e-04 + 2.547415e-03 5.230265e-03 -1.102062e-04 -1.824041e-03 -1.808171e-03 -1.336047e-03 +-8.620270e-04 -5.168181e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.293179e-03 -2.614426e-04 -3.693012e-05 -2.057900e-07 -3.612676e-09 -2.967457e-06 + 5.610759e-05 -1.780612e-05 -2.246679e-04 -2.631679e-04 -2.068939e-04 -1.367416e-04 +-8.237443e-05 -4.759732e-05 +>TXI.EXP //14 +-2.881476e-04 2.845170e-05 8.255706e-06 8.797488e-07 1.420716e-08 2.436253e-06 +-1.499229e-05 1.783336e-04 1.248609e-04 -7.384802e-07 -6.463291e-05 -7.286255e-05 +-5.765350e-05 -3.874845e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.658797e-02 -3.720825e-04 9.616404e-06 1.832954e-06 1.664361e-08 1.682359e-05 +-2.594254e-04 7.117994e-05 1.188440e-03 1.140920e-03 8.023351e-04 5.069347e-04 + 3.002105e-04 1.722214e-04 +>TYI.EXP //14 + 1.352706e-03 5.488880e-05 6.330799e-08 -1.634666e-06 9.482982e-09 -6.388125e-06 + 5.561788e-05 -9.018593e-04 -5.089336e-04 1.495054e-04 3.302700e-04 3.057331e-04 + 2.241195e-04 1.453924e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par108.edi b/examples/data/NEConductor/par108.edi new file mode 100644 index 00000000..ef12b22a --- /dev/null +++ b/examples/data/NEConductor/par108.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par108" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par108" +REFLAT=-30:11:58.3228 +REFLONG=139:45:16.7703 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par108" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 8.625003e-03 -3.182560e-04 -1.557593e-05 -3.002082e-07 3.469109e-06 5.634775e-04 +-3.879956e-03 5.356454e-03 7.684390e-03 5.634207e-03 3.650201e-03 2.194992e-03 + 1.260935e-03 7.130325e-04 +>ZXXI ROT=ZROT //14 + 1.298949e-03 -1.538492e-04 -2.710642e-06 4.619801e-07 1.113039e-06 9.563813e-05 +-2.316461e-03 -5.953336e-03 -2.251030e-04 1.850555e-03 1.993955e-03 1.551726e-03 + 1.040115e-03 6.400429e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866486e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316962e+01 + 8.366091e+00 6.588954e+00 5.461075e+00 4.261954e+00 3.003096e+00 1.919726e+00 + 1.143762e+00 6.576706e-01 +>ZXYI ROT=ZROT //14 + 3.082595e+02 1.471577e+02 7.805611e+01 4.294172e+01 2.400290e+01 1.271734e+01 + 6.038001e+00 2.970557e+00 2.003985e+00 1.764662e+00 1.574085e+00 1.249282e+00 + 8.783612e-01 5.617384e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865718e+02 -1.241456e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.316987e+01 +-8.363598e+00 -6.590733e+00 -5.468901e+00 -4.270762e+00 -3.010202e+00 -1.924558e+00 +-1.146724e+00 -6.593934e-01 +>ZYXI ROT=ZROT //14 +-3.082087e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400290e+01 -1.271730e+01 +-6.037588e+00 -2.964562e+00 -2.000272e+00 -1.764745e+00 -1.576157e+00 -1.251721e+00 +-8.803579e-01 -5.631086e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.463502e-03 -1.557632e-04 -2.762415e-06 4.694551e-08 -4.049105e-06 -5.200455e-04 + 3.124895e-03 -5.017992e-03 -5.373866e-03 -3.002623e-03 -1.496643e-03 -7.135520e-04 +-3.468747e-04 -1.796670e-04 +>ZYYI ROT=ZROT //14 + 1.029846e-04 -4.915687e-05 -2.021234e-07 1.952023e-07 -2.158365e-06 -1.685658e-04 + 2.470733e-03 4.074281e-03 -9.488176e-04 -1.870254e-03 -1.400420e-03 -8.254666e-04 +-4.345778e-04 -2.203141e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.644759e-03 -3.491587e-04 -3.764382e-05 5.520380e-08 1.545581e-08 4.515840e-07 + 2.093962e-06 -3.561452e-06 2.306266e-05 -2.321275e-05 -3.744182e-05 -2.949524e-05 +-1.881753e-05 -1.113152e-05 +>TXI.EXP //14 +-1.386086e-04 4.058033e-05 9.916477e-06 7.149168e-07 2.656673e-08 9.586901e-07 +-3.004395e-06 -9.774588e-06 1.707237e-05 2.936553e-05 4.410492e-06 -8.499885e-06 +-1.033537e-05 -8.019793e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.656602e-02 -3.712238e-04 9.631696e-06 1.831125e-06 1.741513e-08 1.515334e-05 +-2.336706e-04 5.986129e-05 1.081929e-03 1.038432e-03 7.293188e-04 4.604592e-04 + 2.725964e-04 1.563612e-04 +>TYI.EXP //14 + 1.347868e-03 5.481769e-05 6.084370e-08 -1.634255e-06 9.910547e-09 -5.784861e-06 + 5.153996e-05 -8.195483e-04 -4.652834e-04 1.366332e-04 3.009348e-04 2.781271e-04 + 2.036953e-04 1.320815e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par109.edi b/examples/data/NEConductor/par109.edi new file mode 100644 index 00000000..b73e2f0c --- /dev/null +++ b/examples/data/NEConductor/par109.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par109" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par109" +REFLAT=-30:11:42.0828 +REFLONG=139:45:16.9747 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par109" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.153485e-03 -3.651925e-04 -1.387463e-05 -2.724240e-07 3.019865e-06 4.900335e-04 +-3.260057e-03 4.837363e-03 5.729735e-03 3.435607e-03 1.874659e-03 9.873732e-04 + 5.208940e-04 2.825726e-04 +>ZXXI ROT=ZROT //14 + 1.180687e-03 -1.681998e-04 -1.602351e-06 4.687797e-07 6.669966e-07 8.090008e-05 +-2.108267e-03 -4.492745e-03 6.762275e-04 1.825476e-03 1.475509e-03 9.419285e-04 + 5.410534e-04 2.976148e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866483e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316978e+01 + 8.365030e+00 6.590563e+00 5.464033e+00 4.264840e+00 3.005318e+00 1.921202e+00 + 1.144656e+00 6.581879e-01 +>ZXYI ROT=ZROT //14 + 3.082595e+02 1.471577e+02 7.805612e+01 4.294172e+01 2.400290e+01 1.271751e+01 + 6.037011e+00 2.968473e+00 2.003234e+00 1.764963e+00 1.574861e+00 1.250087e+00 + 8.789892e-01 5.621595e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865654e+02 -1.241458e+02 -7.346928e+01 -4.197590e+01 -2.350537e+01 -1.316998e+01 +-8.363051e+00 -6.591999e+00 -5.470119e+00 -4.271586e+00 -3.010735e+00 -1.924880e+00 +-1.146909e+00 -6.594982e-01 +>ZYXI ROT=ZROT //14 +-3.082060e+02 -1.471555e+02 -7.805633e+01 -4.294174e+01 -2.400290e+01 -1.271747e+01 +-6.036700e+00 -2.963783e+00 -2.000441e+00 -1.765081e+00 -1.576465e+00 -1.251953e+00 +-8.805118e-01 -5.632030e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.213653e-03 -1.521106e-04 -2.719083e-06 2.495290e-08 -2.956793e-06 -4.602331e-04 + 2.682175e-03 -4.601513e-03 -3.907994e-03 -1.348788e-03 -1.580515e-04 1.980881e-04 + 2.121723e-04 1.456095e-04 +>ZYYI ROT=ZROT //14 + 9.693763e-05 -4.715565e-05 -1.240323e-07 2.137604e-07 -1.489528e-06 -1.371134e-04 + 2.249482e-03 3.007501e-03 -1.619213e-03 -1.852640e-03 -1.011500e-03 -3.664205e-04 +-5.821553e-05 3.817720e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.950233e-03 -4.347054e-04 -3.767617e-05 3.104533e-07 2.915241e-08 3.424276e-06 +-4.641056e-05 6.460612e-06 2.489239e-04 2.017854e-04 1.235816e-04 7.296445e-05 + 4.202857e-05 2.380603e-05 +>TXI.EXP //14 + 1.328501e-05 5.233913e-05 1.135009e-05 5.425258e-07 1.316086e-08 -5.162236e-07 + 9.110698e-06 -1.809651e-04 -8.667019e-05 5.358907e-05 6.786978e-05 5.203614e-05 + 3.458981e-05 2.128525e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.654568e-02 -3.703823e-04 9.646325e-06 1.829466e-06 1.377511e-08 1.254321e-05 +-1.975272e-04 3.920158e-05 9.413721e-04 9.082563e-04 6.377898e-04 4.024607e-04 + 2.381897e-04 1.366108e-04 +>TYI.EXP //14 + 1.343466e-03 5.474562e-05 5.820404e-08 -1.634009e-06 5.844437e-09 -5.205492e-06 + 4.867716e-05 -7.102445e-04 -4.135377e-04 1.172296e-04 2.627802e-04 2.431221e-04 + 1.780420e-04 1.154337e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par10ew.edi b/examples/data/NEConductor/par10ew.edi new file mode 100644 index 00000000..2e83e27c --- /dev/null +++ b/examples/data/NEConductor/par10ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par10ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par10ew" +REFLAT=-30:12:45.2288 +REFLONG=139:42:09.173 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par10ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.103347e-02 2.322944e-04 1.428398e-05 3.133596e-07 8.855597e-07 2.536845e-04 +-2.385585e-03 3.009532e-03 4.340172e-03 2.770322e-03 1.568345e-03 8.532812e-04 + 4.612122e-04 2.533945e-04 +>ZXXI ROT=ZROT //14 +-2.507513e-03 7.640969e-05 3.723986e-06 -3.715587e-07 -6.904337e-07 -7.983200e-05 +-8.000953e-04 -3.640142e-03 1.629784e-04 1.280288e-03 1.125346e-03 7.523280e-04 + 4.488200e-04 2.544642e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865452e+02 1.241415e+02 7.346939e+01 4.197591e+01 2.350537e+01 1.317024e+01 + 8.363182e+00 6.594649e+00 5.467653e+00 4.267201e+00 3.006762e+00 1.922025e+00 + 1.145111e+00 6.584401e-01 +>ZXYI ROT=ZROT //14 + 3.082042e+02 1.471562e+02 7.805628e+01 4.294174e+01 2.400291e+01 1.271799e+01 + 6.034004e+00 2.966287e+00 2.003876e+00 1.766055e+00 1.575813e+00 1.250757e+00 + 8.794062e-01 5.624028e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865960e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350537e+01 -1.317044e+01 +-8.361073e+00 -6.595806e+00 -5.475417e+00 -4.276509e+00 -3.014421e+00 -1.927280e+00 +-1.148346e+00 -6.603252e-01 +>ZYXI ROT=ZROT //14 +-3.082167e+02 -1.471551e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271800e+01 +-6.033733e+00 -2.960457e+00 -1.999562e+00 -1.765826e+00 -1.577888e+00 -1.253334e+00 +-8.815550e-01 -5.638899e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.277187e-03 -3.431206e-05 -4.257336e-07 2.431174e-07 -1.017772e-06 -2.001016e-04 + 1.824063e-03 -2.736139e-03 -2.274507e-03 -2.573284e-04 5.308940e-04 6.043820e-04 + 4.423484e-04 2.748444e-04 +>ZYYI ROT=ZROT //14 + 2.132159e-04 -9.844783e-06 -1.615960e-07 -8.866058e-08 5.436905e-07 7.327878e-05 + 7.818626e-04 2.055588e-03 -1.342639e-03 -1.376893e-03 -5.875393e-04 -5.772356e-05 + 1.409808e-04 1.578346e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.139039e-02 -8.954933e-05 -3.429430e-05 -6.597409e-07 1.449474e-08 -1.598466e-06 + 1.172638e-05 -1.347738e-05 -4.217829e-05 -1.089991e-05 2.598365e-06 4.427244e-06 + 3.313679e-06 2.007745e-06 +>TXI.EXP //14 +-5.749468e-04 4.305242e-06 4.743479e-06 1.152107e-06 5.614411e-09 -3.810570e-07 + 4.984470e-06 3.224753e-05 -7.377341e-06 -2.038774e-05 -9.353402e-06 -2.065753e-06 + 5.492187e-07 1.001812e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.472788e-03 5.968662e-04 1.207201e-05 -7.167115e-07 -5.402467e-08 -1.150524e-05 + 2.032508e-04 6.605221e-07 -1.067569e-03 -1.045739e-03 -7.316206e-04 -4.603418e-04 +-2.721038e-04 -1.559406e-04 +>TYI.EXP //14 +-3.607756e-04 -7.177603e-05 -4.767813e-06 -6.908473e-07 -2.201014e-08 6.324648e-06 +-6.954785e-05 7.943495e-04 5.006050e-04 -1.293092e-04 -3.019951e-04 -2.790485e-04 +-2.038799e-04 -1.318699e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par11.edi b/examples/data/NEConductor/par11.edi new file mode 100644 index 00000000..fda380e9 --- /dev/null +++ b/examples/data/NEConductor/par11.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par11" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par11" +REFLAT=-30:13:50.3719 +REFLONG=139:42:27.0217 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par11" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.120389e-02 9.300798e-05 1.380778e-05 2.491291e-07 -2.787600e-08 8.401431e-05 +-1.015079e-03 2.032543e-03 -5.927187e-05 -2.353622e-03 -2.613740e-03 -2.005724e-03 +-1.295426e-03 -7.695492e-04 +>ZXXI ROT=ZROT //14 +-2.047485e-03 2.774175e-05 3.341760e-06 -3.301832e-07 -6.891038e-07 -7.973285e-05 +-4.102913e-04 -3.703177e-04 2.392361e-03 1.319771e-03 -4.735911e-05 -6.680582e-04 +-7.256339e-04 -5.553274e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865565e+02 1.241406e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.317078e+01 + 8.359612e+00 6.599387e+00 5.477771e+00 4.277597e+00 3.014922e+00 1.927495e+00 + 1.148439e+00 6.603699e-01 +>ZXYI ROT=ZROT //14 + 3.082022e+02 1.471557e+02 7.805627e+01 4.294175e+01 2.400291e+01 1.271841e+01 + 6.031169e+00 2.959074e+00 2.000646e+00 1.766781e+00 1.578482e+00 1.253652e+00 + 8.817074e-01 5.639598e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866351e+02 -1.241504e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317078e+01 +-8.359591e+00 -6.599802e+00 -5.476843e+00 -4.275934e+00 -3.013390e+00 -1.926391e+00 +-1.147744e+00 -6.599606e-01 +>ZYXI ROT=ZROT //14 +-3.082473e+02 -1.471573e+02 -7.805624e+01 -4.294172e+01 -2.400291e+01 -1.271840e+01 +-6.031070e+00 -2.959670e+00 -2.001754e+00 -1.767128e+00 -1.578229e+00 -1.253190e+00 +-8.812796e-01 -5.636502e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.633585e-03 -5.341084e-05 -9.875588e-07 3.322580e-07 -2.205924e-07 -8.221749e-05 + 1.029471e-03 -1.995156e-03 -1.223965e-04 2.136110e-03 2.419612e-03 1.862780e-03 + 1.203853e-03 7.151999e-04 +>ZYYI ROT=ZROT //14 + 3.094380e-04 -1.720653e-05 -1.479509e-07 -8.821332e-08 5.669432e-07 8.035300e-05 + 3.808433e-04 5.144409e-04 -2.274789e-03 -1.300524e-03 1.054471e-05 6.090474e-04 + 6.705722e-04 5.149057e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.677086e-02 1.885189e-04 -3.145936e-05 -8.455624e-07 -3.653490e-09 -5.346407e-06 + 1.077910e-04 3.596796e-05 -6.469117e-04 -6.532391e-04 -4.597857e-04 -2.893951e-04 +-1.709658e-04 -9.800876e-05 +>TXI.EXP //14 +-1.138356e-03 -3.596423e-05 4.636301e-07 1.271806e-06 1.585440e-08 4.101786e-06 +-5.010555e-05 4.724644e-04 3.311335e-04 -6.989769e-05 -1.860261e-04 -1.743445e-04 +-1.278598e-04 -8.284159e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.411812e-03 4.980807e-04 1.287119e-05 -3.438898e-07 -3.053846e-08 -4.344413e-06 + 8.289187e-05 2.524071e-05 -4.942215e-04 -4.897228e-04 -3.399876e-04 -2.128368e-04 +-1.255192e-04 -7.185844e-05 +>TYI.EXP //14 +-1.552660e-04 -5.933996e-05 -4.513263e-06 -9.077668e-07 -1.363976e-08 3.102488e-06 +-3.700086e-05 3.592594e-04 2.471973e-04 -5.942833e-05 -1.417887e-04 -1.301095e-04 +-9.456355e-05 -6.094641e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par110.edi b/examples/data/NEConductor/par110.edi new file mode 100644 index 00000000..c739ebb7 --- /dev/null +++ b/examples/data/NEConductor/par110.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par110" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par110" +REFLAT=-30:11:24.2152 +REFLONG=139:42:28.9318 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par110" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.162828e-03 3.109569e-04 5.405479e-06 1.933032e-07 2.392142e-06 4.336224e-04 +-3.845911e-03 3.868086e-03 9.972359e-03 9.670450e-03 7.300226e-03 4.804646e-03 + 2.898671e-03 1.675134e-03 +>ZXXI ROT=ZROT //14 +-1.589939e-03 1.001280e-04 1.084685e-06 -1.971852e-07 9.170599e-07 -2.204268e-05 +-1.209884e-03 -7.754519e-03 -3.069303e-03 1.032481e-03 2.630382e-03 2.666034e-03 + 2.057213e-03 1.371784e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865560e+02 1.241408e+02 7.346937e+01 4.197591e+01 2.350537e+01 1.317015e+01 + 8.363447e+00 6.594219e+00 5.467614e+00 4.267511e+00 3.007085e+00 1.922258e+00 + 1.145256e+00 6.585249e-01 +>ZXYI ROT=ZROT //14 + 3.082061e+02 1.471558e+02 7.805627e+01 4.294175e+01 2.400290e+01 1.271801e+01 + 6.034205e+00 2.966360e+00 2.003490e+00 1.765871e+00 1.575830e+00 1.250845e+00 + 8.794938e-01 5.624669e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865640e+02 -1.241464e+02 -7.346937e+01 -4.197591e+01 -2.350537e+01 -1.317029e+01 +-8.362356e+00 -6.595221e+00 -5.471087e+00 -4.271236e+00 -3.010065e+00 -1.924288e+00 +-1.146504e+00 -6.592519e-01 +>ZYXI ROT=ZROT //14 +-3.081992e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400290e+01 -1.271806e+01 +-6.033770e+00 -2.963755e+00 -2.002054e+00 -1.765998e+00 -1.576725e+00 -1.251873e+00 +-8.803335e-01 -5.630438e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.335142e-03 -7.889154e-05 -1.015625e-07 2.417770e-07 -1.633062e-06 -3.955510e-04 + 3.801631e-03 -3.735098e-03 -9.635321e-03 -9.245543e-03 -6.914135e-03 -4.518731e-03 +-2.715011e-03 -1.566083e-03 +>ZYYI ROT=ZROT //14 + 1.828109e-04 -2.219198e-05 -1.252355e-07 -1.093152e-07 -1.038251e-09 6.930305e-05 + 1.012683e-03 7.566514e-03 2.899162e-03 -1.066808e-03 -2.557871e-03 -2.548895e-03 +-1.947315e-03 -1.290909e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.185411e-03 -5.124338e-04 -3.656563e-05 5.300159e-07 7.079411e-08 8.538445e-06 +-1.732039e-04 -1.051501e-05 9.153187e-04 9.299933e-04 6.644328e-04 4.219357e-04 + 2.503496e-04 1.436540e-04 +>TXI.EXP //14 + 1.603352e-04 6.314808e-05 1.236602e-05 3.706738e-07 -1.314881e-08 -6.619333e-06 + 6.820590e-05 -6.839315e-04 -4.552557e-04 9.221664e-05 2.608150e-04 2.494978e-04 + 1.850285e-04 1.205978e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.177805e-03 5.001627e-04 1.288033e-05 -3.614601e-07 -6.434826e-08 -1.103486e-05 + 2.141131e-04 8.457585e-06 -1.119439e-03 -1.140852e-03 -8.166970e-04 -5.190125e-04 +-3.080039e-04 -1.767830e-04 +>TYI.EXP //14 +-1.959698e-04 -5.941347e-05 -4.494689e-06 -8.906406e-07 -1.219307e-08 7.993333e-06 +-8.217552e-05 8.379998e-04 5.571409e-04 -1.108985e-04 -3.192599e-04 -3.062946e-04 +-2.274280e-04 -1.482698e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1101.edi b/examples/data/NEConductor/par1101.edi new file mode 100644 index 00000000..fb62f687 --- /dev/null +++ b/examples/data/NEConductor/par1101.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1101" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1101" +REFLAT=-30:12:25.514 +REFLONG=139:41:53.5699 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1101" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.229165e-02 3.124998e-04 1.683077e-05 3.730088e-07 4.643931e-07 2.173291e-04 +-2.348005e-03 2.568516e-03 5.116967e-03 4.081170e-03 2.752328e-03 1.702968e-03 + 9.959337e-04 5.679543e-04 +>ZXXI ROT=ZROT //14 +-2.772646e-03 1.073598e-04 4.341860e-06 -4.431173e-07 -4.199258e-07 -8.927332e-05 +-5.158257e-04 -4.227529e-03 -7.334055e-04 1.031178e-03 1.333557e-03 1.113398e-03 + 7.794145e-04 4.929595e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865348e+02 1.241427e+02 7.346942e+01 4.197591e+01 2.350537e+01 1.317048e+01 + 8.361977e+00 6.597423e+00 5.469714e+00 4.268250e+00 3.007282e+00 1.922267e+00 + 1.145225e+00 6.584976e-01 +>ZXYI ROT=ZROT //14 + 3.082032e+02 1.471567e+02 7.805630e+01 4.294175e+01 2.400291e+01 1.271829e+01 + 6.032139e+00 2.964982e+00 2.004626e+00 1.766835e+00 1.576342e+00 1.251059e+00 + 8.795611e-01 5.624788e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865879e+02 -1.241460e+02 -7.346916e+01 -4.197590e+01 -2.350537e+01 -1.317068e+01 +-8.359761e+00 -6.598218e+00 -5.478655e+00 -4.279337e+00 -3.016497e+00 -1.928623e+00 +-1.149148e+00 -6.607864e-01 +>ZYXI ROT=ZROT //14 +-3.082112e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271828e+01 +-6.032079e+00 -2.958295e+00 -1.999202e+00 -1.766361e+00 -1.578737e+00 -1.254126e+00 +-8.821446e-01 -5.642755e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.959439e-03 -1.744310e-05 -1.262022e-07 2.262032e-07 -3.525205e-07 -1.649823e-04 + 1.768161e-03 -2.371356e-03 -2.802279e-03 -1.207216e-03 -3.319099e-04 -1.353923e-05 + 5.429125e-05 4.681129e-05 +>ZYYI ROT=ZROT //14 + 2.137159e-04 -4.564177e-06 -1.829075e-07 -1.045854e-07 4.522705e-07 7.803580e-05 + 5.443023e-04 2.455136e-03 -6.673695e-04 -1.177867e-03 -7.348396e-04 -3.201371e-04 +-9.942312e-05 -1.537364e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.919999e-03 -1.761794e-04 -3.572346e-05 -4.550237e-07 1.243203e-08 3.179282e-07 +-2.579538e-05 -2.070483e-05 1.718790e-04 2.071364e-04 1.576830e-04 1.025465e-04 + 6.141567e-05 3.533058e-05 +>TXI.EXP //14 +-4.344877e-04 1.643968e-05 6.488451e-06 1.033849e-06 1.154179e-08 -1.584593e-06 + 2.068649e-05 -1.260650e-04 -1.159454e-04 1.295903e-06 5.206558e-05 5.635212e-05 + 4.369446e-05 2.905561e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 4.383168e-04 6.871310e-04 1.090633e-05 -1.026022e-06 -3.584961e-08 -9.451933e-06 + 1.926846e-04 4.725168e-05 -1.109985e-03 -1.132587e-03 -8.035828e-04 -5.080383e-04 +-3.007966e-04 -1.724889e-04 +>TYI.EXP //14 +-5.563039e-04 -8.316263e-05 -4.826973e-06 -4.698400e-07 -5.920587e-09 7.368343e-06 +-8.715690e-05 8.169276e-04 5.711407e-04 -1.132687e-04 -3.192919e-04 -3.029293e-04 +-2.235102e-04 -1.452147e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1102.edi b/examples/data/NEConductor/par1102.edi new file mode 100644 index 00000000..34f2c5a2 --- /dev/null +++ b/examples/data/NEConductor/par1102.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1102" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1102" +REFLAT=-30:12:23.4573 +REFLONG=139:41:37.2466 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1102" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.466563e-02 3.574392e-04 2.098168e-05 4.506108e-07 2.028772e-07 1.445130e-04 +-1.898498e-03 1.930241e-03 4.377215e-03 3.537405e-03 2.395566e-03 1.490144e-03 + 8.750616e-04 5.000668e-04 +>ZXXI ROT=ZROT //14 +-3.063871e-03 1.285034e-04 5.577010e-06 -5.470295e-07 -2.961919e-07 -9.329263e-05 +-2.076880e-04 -3.668820e-03 -7.518253e-04 8.508285e-04 1.138293e-03 9.604919e-04 + 6.777116e-04 4.310245e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865237e+02 1.241442e+02 7.346945e+01 4.197590e+01 2.350537e+01 1.317079e+01 + 8.360297e+00 6.600436e+00 5.472977e+00 4.270661e+00 3.008913e+00 1.923270e+00 + 1.145806e+00 6.588273e-01 +>ZXYI ROT=ZROT //14 + 3.082028e+02 1.471573e+02 7.805630e+01 4.294174e+01 2.400291e+01 1.271852e+01 + 6.030339e+00 2.962679e+00 2.004793e+00 1.767613e+00 1.577184e+00 1.251739e+00 + 8.800277e-01 5.627701e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865866e+02 -1.241460e+02 -7.346916e+01 -4.197590e+01 -2.350537e+01 -1.317094e+01 +-8.358356e+00 -6.600640e+00 -5.481701e+00 -4.281871e+00 -3.018314e+00 -1.929781e+00 +-1.149834e+00 -6.611794e-01 +>ZYXI ROT=ZROT //14 +-3.082108e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271849e+01 +-6.030540e+00 -2.956199e+00 -1.999006e+00 -1.766933e+00 -1.579533e+00 -1.254837e+00 +-8.826612e-01 -5.646091e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.733988e-03 3.485951e-06 9.102214e-08 2.183602e-07 -8.049597e-08 -1.046443e-04 + 1.386531e-03 -1.874024e-03 -2.117121e-03 -6.430387e-04 6.200224e-05 2.318743e-04 + 1.975093e-04 1.283035e-04 +>ZYYI ROT=ZROT //14 + 2.345793e-04 1.815474e-06 -2.195963e-07 -1.190705e-07 2.969307e-07 7.627536e-05 + 2.990915e-04 1.944973e-03 -7.279699e-04 -1.044768e-03 -5.524106e-04 -1.623657e-04 + 1.222748e-05 5.537518e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.998519e-03 -1.782708e-04 -3.590204e-05 -4.576875e-07 1.494995e-08 5.036539e-08 +-2.148209e-05 -2.871742e-05 1.693754e-04 2.120558e-04 1.625635e-04 1.057939e-04 + 6.334993e-05 3.643996e-05 +>TXI.EXP //14 +-4.384623e-04 1.663807e-05 6.525720e-06 1.041382e-06 1.020065e-08 -1.356135e-06 + 2.145615e-05 -1.218768e-04 -1.231172e-04 -2.201698e-06 5.244931e-05 5.776489e-05 + 4.496601e-05 2.993834e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 2.388089e-03 7.669148e-04 9.377841e-06 -1.256328e-06 -1.587398e-08 -6.345303e-06 + 1.562882e-04 9.583182e-05 -1.025729e-03 -1.094279e-03 -7.859123e-04 -4.985666e-04 +-2.954931e-04 -1.695052e-04 +>TYI.EXP //14 +-7.555361e-04 -9.316565e-05 -4.655451e-06 -2.481301e-07 7.445428e-09 7.030406e-06 +-9.283859e-05 7.409674e-04 5.833695e-04 -8.366331e-05 -3.014123e-04 -2.931767e-04 +-2.181153e-04 -1.422076e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1103.edi b/examples/data/NEConductor/par1103.edi new file mode 100644 index 00000000..00d60c3a --- /dev/null +++ b/examples/data/NEConductor/par1103.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1103" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1103" +REFLAT=-30:12:20.4258 +REFLONG=139:41:18.2114 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1103" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.535900e-02 4.655654e-04 2.330882e-05 5.003685e-07 3.010192e-07 1.042761e-04 +-1.681488e-03 1.358258e-03 4.654070e-03 4.313361e-03 3.147412e-03 2.044896e-03 + 1.228705e-03 7.092192e-04 +>ZXXI ROT=ZROT //14 +-3.067547e-03 1.696568e-04 5.966439e-06 -6.353803e-07 -2.058894e-07 -9.090131e-05 + 3.932379e-05 -3.827918e-03 -1.442869e-03 5.885413e-04 1.219655e-03 1.173068e-03 + 8.865329e-04 5.858254e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865125e+02 1.241461e+02 7.346947e+01 4.197590e+01 2.350537e+01 1.317104e+01 + 8.358866e+00 6.602897e+00 5.475497e+00 4.272393e+00 3.010034e+00 1.923937e+00 + 1.146185e+00 6.590401e-01 +>ZXYI ROT=ZROT //14 + 3.082032e+02 1.471581e+02 7.805630e+01 4.294174e+01 2.400291e+01 1.271866e+01 + 6.029006e+00 2.960819e+00 2.005066e+00 1.768281e+00 1.577831e+00 1.252229e+00 + 8.803498e-01 5.629653e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865782e+02 -1.241457e+02 -7.346917e+01 -4.197590e+01 -2.350537e+01 -1.317116e+01 +-8.357247e+00 -6.602551e+00 -5.483740e+00 -4.283377e+00 -3.019328e+00 -1.930402e+00 +-1.150193e+00 -6.613829e-01 +>ZYXI ROT=ZROT //14 +-3.082061e+02 -1.471548e+02 -7.805628e+01 -4.294174e+01 -2.400291e+01 -1.271862e+01 +-6.029384e+00 -2.954770e+00 -1.999115e+00 -1.767423e+00 -1.580061e+00 -1.255262e+00 +-8.829514e-01 -5.647896e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.449706e-03 1.950047e-05 3.435854e-07 1.959351e-07 -1.220131e-07 -7.479481e-05 + 1.272384e-03 -1.435449e-03 -2.592909e-03 -1.577011e-03 -7.989461e-04 -3.900501e-04 +-1.949677e-04 -1.028368e-04 +>ZYYI ROT=ZROT //14 + 2.447352e-04 6.131285e-06 -2.904853e-07 -1.317472e-07 2.488613e-07 7.368138e-05 + 7.893483e-05 2.275954e-03 -2.256956e-05 -8.221316e-04 -6.859453e-04 -4.193095e-04 +-2.275245e-04 -1.188034e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.475328e-03 -2.686245e-04 -3.721462e-05 -2.173509e-07 1.386360e-08 2.549303e-07 +-3.073083e-05 -5.061857e-05 2.670253e-04 3.287255e-04 2.485859e-04 1.606332e-04 + 9.587447e-05 5.510042e-05 +>TXI.EXP //14 +-2.941464e-04 2.912874e-05 8.315569e-06 9.016844e-07 2.284037e-09 -1.795755e-06 + 3.154218e-05 -1.880506e-04 -1.927619e-04 3.876112e-07 8.297787e-05 8.917727e-05 + 6.870722e-05 4.551516e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 4.418969e-03 8.332864e-04 7.506786e-06 -1.392004e-06 -1.117781e-09 -3.766156e-06 + 1.233165e-04 1.405340e-04 -9.489367e-04 -1.068655e-03 -7.790252e-04 -4.962800e-04 +-2.945139e-04 -1.690152e-04 +>TYI.EXP //14 +-9.666858e-04 -1.013394e-04 -4.228805e-06 -3.315585e-08 1.600508e-08 6.381713e-06 +-9.561977e-05 6.695560e-04 6.016139e-04 -5.248370e-05 -2.862886e-04 -2.870677e-04 +-2.156941e-04 -1.412169e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1104.edi b/examples/data/NEConductor/par1104.edi new file mode 100644 index 00000000..14261d51 --- /dev/null +++ b/examples/data/NEConductor/par1104.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1104" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1104" +REFLAT=-30:12:16.4464 +REFLONG=139:40:59.1892 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1104" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.774230e-02 5.235681e-04 2.821423e-05 5.845546e-07 1.502536e-07 6.049587e-05 +-1.300974e-03 8.955424e-04 3.951553e-03 3.741337e-03 2.744419e-03 1.791400e-03 + 1.079911e-03 6.243287e-04 +>ZXXI ROT=ZROT //14 +-3.116418e-03 1.981836e-04 7.449686e-06 -7.721613e-07 -2.199672e-07 -7.869938e-05 + 1.840603e-04 -3.254799e-03 -1.374663e-03 4.568968e-04 1.037613e-03 1.013318e-03 + 7.721633e-04 5.127999e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865007e+02 1.241484e+02 7.346950e+01 4.197590e+01 2.350537e+01 1.317124e+01 + 8.357550e+00 6.604866e+00 5.477945e+00 4.274259e+00 3.011324e+00 1.924741e+00 + 1.146655e+00 6.593079e-01 +>ZXYI ROT=ZROT //14 + 3.082043e+02 1.471591e+02 7.805631e+01 4.294173e+01 2.400291e+01 1.271872e+01 + 6.028099e+00 2.958913e+00 2.005057e+00 1.768811e+00 1.578455e+00 1.252753e+00 + 8.807181e-01 5.631980e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865763e+02 -1.241456e+02 -7.346918e+01 -4.197590e+01 -2.350537e+01 -1.317132e+01 +-8.356267e+00 -6.604052e+00 -5.485501e+00 -4.284735e+00 -3.020265e+00 -1.930985e+00 +-1.150533e+00 -6.615764e-01 +>ZYXI ROT=ZROT //14 +-3.082056e+02 -1.471548e+02 -7.805629e+01 -4.294174e+01 -2.400291e+01 -1.271867e+01 +-6.028591e+00 -2.953465e+00 -1.999116e+00 -1.767808e+00 -1.580518e+00 -1.255643e+00 +-8.832187e-01 -5.649582e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.173566e-03 4.121727e-05 4.975827e-07 1.803397e-07 -2.236071e-08 -4.116749e-05 + 9.749400e-04 -1.087009e-03 -2.060692e-03 -1.131159e-03 -4.842728e-04 -1.929052e-04 +-7.961984e-05 -3.713568e-05 +>ZYYI ROT=ZROT //14 + 2.651540e-04 1.240175e-05 -3.544990e-07 -1.389191e-07 1.571084e-07 6.129586e-05 +-4.009514e-05 1.852367e-03 -8.661046e-05 -7.258645e-04 -5.448701e-04 -2.946976e-04 +-1.384671e-04 -6.208214e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.570147e-03 -2.717508e-04 -3.746002e-05 -2.205755e-07 1.095029e-08 -9.167558e-08 +-2.128900e-05 -5.677329e-05 2.313905e-04 3.011554e-04 2.303633e-04 1.491759e-04 + 8.906907e-05 5.118957e-05 +>TXI.EXP //14 +-2.979503e-04 2.943378e-05 8.368068e-06 9.114371e-07 1.624944e-09 -1.320596e-06 + 2.831890e-05 -1.580516e-04 -1.841345e-04 -6.724356e-06 7.420637e-05 8.189959e-05 + 6.353014e-05 4.218992e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 6.491140e-03 8.836768e-04 5.355369e-06 -1.416901e-06 7.629016e-09 -1.883190e-06 + 9.044297e-05 1.684396e-04 -8.350966e-04 -9.916680e-04 -7.318450e-04 -4.675488e-04 +-2.776551e-04 -1.593704e-04 +>TYI.EXP //14 +-1.184805e-03 -1.073044e-04 -3.550607e-06 1.591921e-07 2.036640e-08 5.199327e-06 +-8.926051e-05 5.720625e-04 5.857168e-04 -2.441473e-05 -2.592684e-04 -2.669712e-04 +-2.021644e-04 -1.327657e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1105.edi b/examples/data/NEConductor/par1105.edi new file mode 100644 index 00000000..aa94dbbf --- /dev/null +++ b/examples/data/NEConductor/par1105.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1105" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1105" +REFLAT=-30:12:13.3584 +REFLONG=139:40:34.7055 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1105" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.013472e-02 5.880119e-04 3.402413e-05 6.731289e-07 3.821287e-08 3.104630e-05 +-9.894612e-04 5.388214e-04 3.352551e-03 3.249106e-03 2.395167e-03 1.570291e-03 + 9.495954e-04 5.498370e-04 +>ZXXI ROT=ZROT //14 +-2.945143e-03 2.327083e-04 9.319646e-06 -9.354360e-07 -2.250302e-07 -6.386814e-05 + 2.631918e-04 -2.750871e-03 -1.301774e-03 3.498034e-04 8.837173e-04 8.762386e-04 + 6.730937e-04 4.491683e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864889e+02 1.241512e+02 7.346952e+01 4.197589e+01 2.350538e+01 1.317140e+01 + 8.356451e+00 6.606393e+00 5.480010e+00 4.275850e+00 3.012432e+00 1.925437e+00 + 1.147063e+00 6.595405e-01 +>ZXYI ROT=ZROT //14 + 3.082064e+02 1.471602e+02 7.805630e+01 4.294173e+01 2.400291e+01 1.271874e+01 + 6.027509e+00 2.957240e+00 2.004995e+00 1.769238e+00 1.578978e+00 1.253199e+00 + 8.810342e-01 5.633990e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865742e+02 -1.241456e+02 -7.346918e+01 -4.197590e+01 -2.350537e+01 -1.317145e+01 +-8.355474e+00 -6.605217e+00 -5.486807e+00 -4.285683e+00 -3.020897e+00 -1.931369e+00 +-1.150754e+00 -6.617015e-01 +>ZYXI ROT=ZROT //14 +-3.082050e+02 -1.471548e+02 -7.805629e+01 -4.294174e+01 -2.400291e+01 -1.271869e+01 +-6.028049e+00 -2.952455e+00 -1.999179e+00 -1.768123e+00 -1.580854e+00 -1.255910e+00 +-8.833996e-01 -5.650700e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.871858e-03 6.327950e-05 6.153267e-07 1.645314e-07 1.240229e-08 -1.949509e-05 + 7.399105e-04 -8.198320e-04 -1.650726e-03 -7.973086e-04 -2.525981e-04 -4.944507e-05 + 3.717083e-06 1.017059e-05 +>ZYYI ROT=ZROT //14 + 2.829149e-04 1.871825e-05 -4.204663e-07 -1.429549e-07 7.821564e-08 4.809265e-05 +-1.102817e-04 1.515024e-03 -1.288993e-04 -6.470437e-04 -4.364864e-04 -2.014182e-04 +-7.287379e-05 -2.073110e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.676982e-03 -2.753155e-04 -3.775742e-05 -2.239874e-07 9.121509e-09 -2.662133e-07 +-1.394436e-05 -5.977607e-05 1.985109e-04 2.741899e-04 2.121298e-04 1.376214e-04 + 8.218748e-05 4.723134e-05 +>TXI.EXP //14 +-3.025039e-04 2.978739e-05 8.432947e-06 9.224056e-07 2.466071e-09 -9.198381e-07 + 2.455475e-05 -1.307315e-04 -1.741112e-04 -1.254449e-05 6.595718e-05 7.477068e-05 + 5.837182e-05 3.885115e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 8.621239e-03 9.150170e-04 3.014032e-06 -1.326328e-06 1.065370e-08 -6.416693e-07 + 6.345030e-05 1.851814e-04 -7.247899e-04 -9.116741e-04 -6.812821e-04 -4.363988e-04 +-2.593017e-04 -1.488550e-04 +>TYI.EXP //14 +-1.414379e-03 -1.105389e-04 -2.635880e-06 3.184162e-07 2.356021e-08 4.018041e-06 +-7.992682e-05 4.792714e-04 5.625345e-04 2.480528e-07 -2.324868e-04 -2.460658e-04 +-1.877602e-04 -1.236649e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1106.edi b/examples/data/NEConductor/par1106.edi new file mode 100644 index 00000000..a78f6ef7 --- /dev/null +++ b/examples/data/NEConductor/par1106.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1106" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1106" +REFLAT=-30:12:10.3336 +REFLONG=139:40:16.5797 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1106" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.399859e-02 6.635016e-04 4.296942e-05 8.200482e-07 -3.346959e-08 1.236347e-05 +-7.402863e-04 2.701442e-04 2.845155e-03 2.828769e-03 2.095138e-03 1.379227e-03 + 8.365618e-04 4.851083e-04 +>ZXXI ROT=ZROT //14 +-2.639144e-03 2.804250e-04 1.256864e-05 -1.168948e-06 -2.059335e-07 -4.921978e-05 + 2.964856e-04 -2.313136e-03 -1.227436e-03 2.631256e-04 7.544807e-04 7.595453e-04 + 5.880216e-04 3.942297e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864738e+02 1.241544e+02 7.346953e+01 4.197589e+01 2.350538e+01 1.317150e+01 + 8.355555e+00 6.607554e+00 5.481744e+00 4.277201e+00 3.013379e+00 1.926035e+00 + 1.147415e+00 6.597415e-01 +>ZXYI ROT=ZROT //14 + 3.082090e+02 1.471615e+02 7.805630e+01 4.294172e+01 2.400291e+01 1.271873e+01 + 6.027152e+00 2.955786e+00 2.004895e+00 1.769581e+00 1.579414e+00 1.253577e+00 + 8.813041e-01 5.635716e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865717e+02 -1.241455e+02 -7.346918e+01 -4.197590e+01 -2.350537e+01 -1.317154e+01 +-8.354838e+00 -6.606123e+00 -5.487773e+00 -4.286330e+00 -3.021307e+00 -1.931610e+00 +-1.150890e+00 -6.617774e-01 +>ZYXI ROT=ZROT //14 +-3.082043e+02 -1.471547e+02 -7.805628e+01 -4.294174e+01 -2.400291e+01 -1.271869e+01 +-6.027689e+00 -2.951667e+00 -1.999284e+00 -1.768384e+00 -1.581100e+00 -1.256093e+00 +-8.835175e-01 -5.651407e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.548972e-03 8.556784e-05 6.957059e-07 1.510896e-07 1.105150e-08 -6.362162e-06 + 5.562640e-04 -6.153882e-04 -1.335193e-03 -5.496318e-04 -8.454244e-05 5.301574e-05 + 6.266525e-05 4.347805e-05 +>ZYYI ROT=ZROT //14 + 2.967785e-04 2.506729e-05 -4.807848e-07 -1.447861e-07 2.382710e-08 3.595452e-05 +-1.467678e-04 1.246109e-03 -1.545239e-04 -5.818687e-04 -3.534202e-04 -1.322570e-04 +-2.525772e-05 8.880151e-06 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.799063e-03 -2.794155e-04 -3.812972e-05 -2.277154e-07 8.501506e-09 -3.282043e-07 +-8.483838e-06 -6.024087e-05 1.689525e-04 2.487052e-04 1.946143e-04 1.264624e-04 + 7.552922e-05 4.339924e-05 +>TXI.EXP //14 +-3.080629e-04 3.019866e-05 8.514020e-06 9.349848e-07 4.175476e-09 -6.061961e-07 + 2.070528e-05 -1.066209e-04 -1.633696e-04 -1.719898e-05 5.840361e-05 6.803056e-05 + 5.343346e-05 3.563697e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.081552e-02 9.242140e-04 6.134230e-07 -1.124438e-06 9.462533e-09 9.761733e-08 + 4.241254e-05 1.923187e-04 -6.224018e-04 -8.330944e-04 -6.305208e-04 -4.048751e-04 +-2.406743e-04 -1.381716e-04 +>TYI.EXP //14 +-1.657614e-03 -1.104817e-04 -1.525842e-06 4.354540e-07 2.617217e-08 2.966168e-06 +-6.925225e-05 3.949395e-04 5.346445e-04 2.116183e-05 -2.071324e-04 -2.255262e-04 +-1.733681e-04 -1.144977e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1107.edi b/examples/data/NEConductor/par1107.edi new file mode 100644 index 00000000..6fcc92b2 --- /dev/null +++ b/examples/data/NEConductor/par1107.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1107" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1107" +REFLAT=-30:12:07.2803 +REFLONG=139:39:55.7296 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1107" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.010284e-02 7.550122e-04 5.611314e-05 1.057901e-06 -7.077556e-08 1.342764e-06 +-5.447496e-04 7.257963e-05 2.416670e-03 2.471089e-03 1.838531e-03 1.214926e-03 + 7.390181e-04 4.291559e-04 +>ZXXI ROT=ZROT //14 +-2.249877e-03 3.442038e-04 1.760223e-05 -1.504355e-06 -1.689094e-07 -3.625757e-05 + 2.996645e-04 -1.936328e-03 -1.153744e-03 1.931301e-04 6.462609e-04 6.605854e-04 + 5.152897e-04 3.470214e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864562e+02 1.241581e+02 7.346953e+01 4.197588e+01 2.350538e+01 1.317158e+01 + 8.354838e+00 6.608420e+00 5.483200e+00 4.278347e+00 3.014188e+00 1.926548e+00 + 1.147718e+00 6.599147e-01 +>ZXYI ROT=ZROT //14 + 3.082123e+02 1.471629e+02 7.805629e+01 4.294172e+01 2.400291e+01 1.271871e+01 + 6.026958e+00 2.954532e+00 2.004770e+00 1.769857e+00 1.579777e+00 1.253896e+00 + 8.815343e-01 5.637195e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865686e+02 -1.241454e+02 -7.346919e+01 -4.197590e+01 -2.350537e+01 -1.317160e+01 +-8.354333e+00 -6.606830e+00 -5.488490e+00 -4.286760e+00 -3.021560e+00 -1.931750e+00 +-1.150965e+00 -6.618188e-01 +>ZYXI ROT=ZROT //14 +-3.082035e+02 -1.471547e+02 -7.805629e+01 -4.294174e+01 -2.400291e+01 -1.271867e+01 +-6.027460e+00 -2.951049e+00 -1.999413e+00 -1.768602e+00 -1.581280e+00 -1.256214e+00 +-8.835907e-01 -5.651823e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-2.204313e-03 1.079651e-04 7.457132e-07 1.423110e-07 -4.940750e-09 9.684687e-07 + 4.140097e-04 -4.588971e-04 -1.091579e-03 -3.671146e-04 3.565281e-05 1.247713e-04 + 1.034006e-04 6.634588e-05 +>ZYYI ROT=ZROT //14 + 3.067604e-04 3.144092e-05 -5.261167e-07 -1.458649e-07 -4.166068e-09 2.573137e-05 +-1.608677e-04 1.030818e-03 -1.678096e-04 -5.273238e-04 -2.896753e-04 -8.134273e-05 + 8.838849e-06 2.969662e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.947210e-03 -2.842056e-04 -3.862309e-05 -2.324601e-07 8.843973e-09 -3.238031e-07 +-4.586893e-06 -5.879156e-05 1.428346e-04 2.251321e-04 1.782099e-04 1.159714e-04 + 6.926141e-05 3.979030e-05 +>TXI.EXP //14 +-3.149967e-04 3.067297e-05 8.616559e-06 9.501874e-07 6.059331e-09 -3.745444e-07 + 1.706796e-05 -8.582838e-05 -1.523897e-04 -2.084700e-05 5.160168e-05 6.179781e-05 + 4.882226e-05 3.262269e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.309190e-02 9.077528e-04 -1.679837e-06 -8.288530e-07 5.527808e-09 4.812289e-07 + 2.670167e-05 1.918203e-04 -5.299508e-04 -7.584693e-04 -5.814980e-04 -3.742473e-04 +-2.225366e-04 -1.277607e-04 +>TYI.EXP //14 +-1.917785e-03 -1.065109e-04 -2.860567e-07 5.077962e-07 2.765596e-08 2.099127e-06 +-5.844848e-05 3.207217e-04 5.040239e-04 3.843513e-05 -1.837952e-04 -2.060273e-04 +-1.595223e-04 -1.056226e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1108.edi b/examples/data/NEConductor/par1108.edi new file mode 100644 index 00000000..83974e81 --- /dev/null +++ b/examples/data/NEConductor/par1108.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1108" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1108" +REFLAT=-30:12:03.2791 +REFLONG=139:39:34.8928 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1108" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.241727e-02 1.025135e-03 6.632234e-05 1.235708e-06 -1.475281e-07 -4.289854e-06 +-4.071163e-04 -1.902955e-04 2.336113e-03 2.669134e-03 2.069641e-03 1.394312e-03 + 8.557473e-04 4.987547e-04 +>ZXXI ROT=ZROT //14 +-1.066840e-03 4.574917e-04 2.019161e-05 -1.942438e-06 -1.515239e-07 -2.680660e-05 + 3.103391e-04 -1.781911e-03 -1.422275e-03 4.115644e-05 6.381181e-04 7.154340e-04 + 5.786126e-04 3.964365e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864458e+02 1.241622e+02 7.346951e+01 4.197588e+01 2.350538e+01 1.317163e+01 + 8.354246e+00 6.609103e+00 5.484452e+00 4.279310e+00 3.014860e+00 1.926970e+00 + 1.147966e+00 6.600567e-01 +>ZXYI ROT=ZROT //14 + 3.082169e+02 1.471645e+02 7.805626e+01 4.294172e+01 2.400291e+01 1.271868e+01 + 6.026860e+00 2.953425e+00 2.004661e+00 1.770101e+00 1.580088e+00 1.254164e+00 + 8.817256e-01 5.638415e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865575e+02 -1.241453e+02 -7.346924e+01 -4.197590e+01 -2.350538e+01 -1.317164e+01 +-8.353921e+00 -6.607466e+00 -5.488910e+00 -4.286815e+00 -3.021501e+00 -1.931675e+00 +-1.150908e+00 -6.617830e-01 +>ZYXI ROT=ZROT //14 +-3.081985e+02 -1.471548e+02 -7.805632e+01 -4.294174e+01 -2.400291e+01 -1.271865e+01 +-6.027294e+00 -2.950627e+00 -1.999715e+00 -1.768835e+00 -1.581377e+00 -1.256232e+00 +-8.835765e-01 -5.651632e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.853617e-03 1.244543e-04 8.053099e-07 1.216475e-07 -8.972305e-09 4.604159e-06 + 3.264805e-04 -2.035155e-04 -1.253759e-03 -8.342676e-04 -4.131445e-04 -2.040116e-04 +-1.054640e-04 -5.701021e-05 +>ZYYI ROT=ZROT //14 + 3.073776e-04 3.459760e-05 -6.289318e-07 -1.461836e-07 1.509461e-08 1.939453e-05 +-1.988365e-04 1.078467e-03 2.261698e-04 -3.762303e-04 -3.429975e-04 -2.099784e-04 +-1.157097e-04 -6.208615e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 7.374378e-03 -3.806793e-04 -3.977225e-05 2.254404e-08 7.040333e-09 -3.255374e-07 +-2.863799e-06 -6.849083e-05 1.495139e-04 2.494644e-04 1.987620e-04 1.292789e-04 + 7.714072e-05 4.430292e-05 +>TXI.EXP //14 +-1.580592e-04 4.370038e-05 1.037397e-05 8.021273e-07 9.176940e-09 -2.800793e-07 + 1.693486e-05 -8.490370e-05 -1.730670e-04 -2.729951e-05 5.632922e-05 6.862474e-05 + 5.434355e-05 3.632375e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.544407e-02 8.616283e-04 -3.676825e-06 -4.731847e-07 7.766108e-10 6.619686e-07 + 1.469082e-05 1.880578e-04 -4.481532e-04 -6.950275e-04 -5.409660e-04 -3.490799e-04 +-2.076420e-04 -1.192111e-04 +>TYI.EXP //14 +-2.196674e-03 -9.797738e-05 9.957183e-07 5.413594e-07 2.688844e-08 1.388138e-06 +-4.833100e-05 2.559478e-04 4.773589e-04 5.499544e-05 -1.635044e-04 -1.896527e-04 +-1.480415e-04 -9.830009e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1109.edi b/examples/data/NEConductor/par1109.edi new file mode 100644 index 00000000..734d9db4 --- /dev/null +++ b/examples/data/NEConductor/par1109.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1109" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1109" +REFLAT=-30:12:00.2241 +REFLONG=139:39:14.0436 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1109" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.771605e-02 1.137075e-03 7.857189e-05 1.472211e-06 -1.394960e-07 -7.091359e-06 +-2.861011e-04 -2.780617e-04 1.977379e-03 2.339283e-03 1.822272e-03 1.231264e-03 + 7.573237e-04 4.418698e-04 +>ZXXI ROT=ZROT //14 +-3.942815e-04 5.194207e-04 2.451379e-05 -2.341246e-06 -9.126224e-08 -1.808331e-05 + 2.795630e-04 -1.468554e-03 -1.312593e-03 1.460513e-06 5.480305e-04 6.248475e-04 + 5.087463e-04 3.498499e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.864501e+02 1.241664e+02 7.346946e+01 4.197588e+01 2.350537e+01 1.317166e+01 + 8.353817e+00 6.609542e+00 5.485471e+00 4.280130e+00 3.015446e+00 1.927346e+00 + 1.148190e+00 6.601852e-01 +>ZXYI ROT=ZROT //14 + 3.082240e+02 1.471660e+02 7.805621e+01 4.294172e+01 2.400291e+01 1.271865e+01 + 6.026850e+00 2.952518e+00 2.004507e+00 1.770275e+00 1.580338e+00 1.254390e+00 + 8.818921e-01 5.639498e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865527e+02 -1.241451e+02 -7.346924e+01 -4.197590e+01 -2.350538e+01 -1.317166e+01 +-8.353609e+00 -6.607891e+00 -5.489334e+00 -4.287015e+00 -3.021595e+00 -1.931717e+00 +-1.150927e+00 -6.617919e-01 +>ZYXI ROT=ZROT //14 +-3.081969e+02 -1.471547e+02 -7.805632e+01 -4.294174e+01 -2.400291e+01 -1.271863e+01 +-6.027227e+00 -2.950217e+00 -1.999838e+00 -1.768987e+00 -1.581480e+00 -1.256289e+00 +-8.836046e-01 -5.651764e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.427705e-03 1.453635e-04 8.340796e-07 1.206139e-07 -1.193718e-08 6.123665e-06 + 2.336838e-04 -1.212195e-04 -1.038436e-03 -6.492004e-04 -2.810138e-04 -1.202813e-04 +-5.612542e-05 -2.881474e-05 +>ZYYI ROT=ZROT //14 + 3.142712e-04 4.033250e-05 -6.227921e-07 -1.464071e-07 1.573591e-08 1.272188e-05 +-1.824334e-04 8.867896e-04 1.789055e-04 -3.429919e-04 -2.871209e-04 -1.588096e-04 +-7.841940e-05 -3.806374e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 7.560823e-03 -3.880831e-04 -4.052768e-05 1.536787e-08 9.497290e-09 -2.684979e-07 +-5.966549e-07 -6.329357e-05 1.233852e-04 2.230188e-04 1.799458e-04 1.172152e-04 + 6.993485e-05 4.015488e-05 +>TXI.EXP //14 +-1.633114e-04 4.440733e-05 1.053074e-05 8.231729e-07 9.445380e-09 -1.396361e-07 + 1.336431e-05 -6.580593e-05 -1.583686e-04 -2.983024e-05 4.907938e-05 6.162994e-05 + 4.909397e-05 3.287450e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 + 1.777917e-02 7.862177e-04 -5.182108e-06 -9.893387e-08 -3.751037e-09 6.622644e-07 + 7.052476e-06 1.774743e-04 -3.763791e-04 -6.307139e-04 -4.974435e-04 -3.216150e-04 +-1.913184e-04 -1.098293e-04 +>TYI.EXP //14 +-2.487822e-03 -8.481870e-05 2.210906e-06 5.409265e-07 2.363877e-08 8.951860e-07 +-3.920768e-05 2.022684e-04 4.445760e-04 6.577752e-05 -1.445491e-04 -1.728598e-04 +-1.358336e-04 -9.039012e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1110.edi b/examples/data/NEConductor/par1110.edi new file mode 100644 index 00000000..3ed1ee5b --- /dev/null +++ b/examples/data/NEConductor/par1110.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1110" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1110" +REFLAT=-30:13:02.721 +REFLONG=139:45:36.5611 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1110" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.655138e-02 -1.397424e-04 -2.571734e-05 -4.815116e-07 2.119949e-06 4.166486e-04 +-3.965888e-03 3.841999e-03 1.022424e-02 9.833578e-03 7.401187e-03 4.866786e-03 + 2.935390e-03 1.696266e-03 +>ZXXI ROT=ZROT //14 + 1.935489e-03 -1.037544e-04 -8.212437e-06 5.025136e-07 3.266872e-07 -7.380137e-05 +-1.018222e-03 -8.043764e-03 -3.123782e-03 1.086978e-03 2.685477e-03 2.708078e-03 + 2.086007e-03 1.389987e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866648e+02 1.241470e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317025e+01 + 8.363285e+00 6.595325e+00 5.467372e+00 4.266590e+00 3.006198e+00 1.921615e+00 + 1.144851e+00 6.582864e-01 +>ZXYI ROT=ZROT //14 + 3.082695e+02 1.471583e+02 7.805610e+01 4.294172e+01 2.400291e+01 1.271819e+01 + 6.033282e+00 2.966692e+00 2.004489e+00 1.766241e+00 1.575740e+00 1.250594e+00 + 8.792501e-01 5.622882e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865991e+02 -1.241469e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.317038e+01 +-8.361387e+00 -6.596243e+00 -5.473833e+00 -4.274186e+00 -3.012370e+00 -1.925817e+00 +-1.147427e+00 -6.597849e-01 +>ZYXI ROT=ZROT //14 +-3.082273e+02 -1.471555e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271810e+01 +-6.033357e+00 -2.961701e+00 -2.000988e+00 -1.766145e+00 -1.577481e+00 -1.252695e+00 +-8.809806e-01 -5.634782e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.902872e-03 -1.972981e-04 -3.603150e-06 1.298405e-07 -2.079256e-06 -4.121852e-04 + 3.427466e-03 -3.694343e-03 -8.534434e-03 -7.903337e-03 -5.846756e-03 -3.811924e-03 +-2.289643e-03 -1.320799e-03 +>ZYYI ROT=ZROT //14 + 2.628462e-04 -6.869686e-05 -4.868793e-07 1.771038e-07 -2.550347e-07 -2.450467e-06 + 1.259030e-03 6.639336e-03 2.223031e-03 -1.092412e-03 -2.236736e-03 -2.175740e-03 +-1.650256e-03 -1.091147e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.300769e-02 -8.431554e-06 -3.358063e-05 -8.173738e-07 -2.814058e-08 -6.513100e-06 + 1.431752e-04 1.439282e-05 -7.553812e-04 -8.051238e-04 -5.909112e-04 -3.792458e-04 +-2.258647e-04 -1.298680e-04 +>TXI.EXP //14 +-7.349559e-04 -7.166418e-06 3.273281e-06 1.256365e-06 2.130151e-08 6.087333e-06 +-6.133360e-05 5.690280e-04 4.013358e-04 -5.460356e-05 -2.174859e-04 -2.177274e-04 +-1.644243e-04 -1.080938e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.771257e-02 -4.368498e-04 8.490458e-06 1.679399e-06 6.493954e-09 1.112898e-05 +-2.236946e-04 -2.448360e-05 1.204128e-03 1.236623e-03 8.880530e-04 5.648649e-04 + 3.352756e-04 1.924875e-04 +>TYI.EXP //14 + 1.544040e-03 6.354431e-05 1.761630e-07 -1.538666e-06 -1.545944e-08 -8.727969e-06 + 9.245862e-05 -8.987515e-04 -6.110777e-04 1.140032e-04 3.442264e-04 3.322519e-04 + 2.472181e-04 1.614260e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1111.edi b/examples/data/NEConductor/par1111.edi new file mode 100644 index 00000000..35abd3e6 --- /dev/null +++ b/examples/data/NEConductor/par1111.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1111" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1111" +REFLAT=-30:13:04.8123 +REFLONG=139:45:57.4297 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1111" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.946286e-02 -1.701189e-04 -3.062272e-05 -5.723929e-07 1.717481e-06 3.188347e-04 +-3.421018e-03 2.995843e-03 9.270797e-03 9.115773e-03 6.921281e-03 4.577230e-03 + 2.769910e-03 1.603068e-03 +>ZXXI ROT=ZROT //14 + 2.081382e-03 -1.263039e-04 -9.831952e-06 6.233060e-07 -5.437916e-08 -1.058105e-04 +-5.546928e-04 -7.352298e-03 -3.144638e-03 8.620886e-04 2.432675e-03 2.505464e-03 + 1.949243e-03 1.305931e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866828e+02 1.241487e+02 7.346934e+01 4.197588e+01 2.350537e+01 1.317055e+01 + 8.361742e+00 6.598310e+00 5.470264e+00 4.268581e+00 3.007482e+00 1.922377e+00 + 1.145284e+00 6.585298e-01 +>ZXYI ROT=ZROT //14 + 3.082812e+02 1.471590e+02 7.805607e+01 4.294172e+01 2.400291e+01 1.271845e+01 + 6.031384e+00 2.964727e+00 2.004847e+00 1.767025e+00 1.576489e+00 1.251158e+00 + 8.796197e-01 5.625117e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865977e+02 -1.241468e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.317067e+01 +-8.359785e+00 -6.598930e+00 -5.477630e+00 -4.277531e+00 -3.014836e+00 -1.927415e+00 +-1.148382e+00 -6.603343e-01 +>ZYXI ROT=ZROT //14 +-3.082270e+02 -1.471555e+02 -7.805626e+01 -4.294173e+01 -2.400291e+01 -1.271836e+01 +-6.031642e+00 -2.959074e+00 -2.000496e+00 -1.766746e+00 -1.578474e+00 -1.253631e+00 +-8.816801e-01 -5.639366e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.786305e-03 -2.042067e-04 -3.825939e-06 1.291725e-07 -1.487841e-06 -3.136678e-04 + 2.797036e-03 -2.847341e-03 -7.125393e-03 -6.618598e-03 -4.891138e-03 -3.190860e-03 +-1.918206e-03 -1.107057e-03 +>ZYYI ROT=ZROT //14 + 2.796497e-04 -7.134610e-05 -4.797553e-07 1.843742e-07 1.383884e-07 3.258376e-05 + 8.279752e-04 5.596528e-03 1.955110e-03 -8.975848e-04 -1.865849e-03 -1.817113e-03 +-1.379970e-03 -9.133809e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.311179e-02 -9.762650e-06 -3.384813e-05 -8.204469e-07 -1.187936e-08 -4.196482e-06 + 1.138750e-04 4.268788e-05 -6.683978e-04 -7.403963e-04 -5.488694e-04 -3.532034e-04 +-2.105167e-04 -1.210762e-04 +>TXI.EXP //14 +-7.430789e-04 -7.033482e-06 3.325364e-06 1.264708e-06 2.812386e-08 5.461630e-06 +-6.258898e-05 4.969476e-04 3.869781e-04 -3.555304e-05 -1.959502e-04 -2.005110e-04 +-1.524571e-04 -1.005057e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.863187e-02 -4.864059e-04 7.217011e-06 1.429114e-06 -5.439340e-09 8.152423e-06 +-1.924320e-04 -7.363590e-05 1.150877e-03 1.225207e-03 8.880296e-04 5.662271e-04 + 3.363184e-04 1.931288e-04 +>TYI.EXP //14 + 1.720710e-03 7.016183e-05 1.586961e-07 -1.386314e-06 -2.584501e-08 -8.620078e-06 + 1.016449e-04 -8.469617e-04 -6.354089e-04 8.980014e-05 3.347399e-04 3.295449e-04 + 2.467626e-04 1.615493e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1112.edi b/examples/data/NEConductor/par1112.edi new file mode 100644 index 00000000..4472f80e --- /dev/null +++ b/examples/data/NEConductor/par1112.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1112" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1112" +REFLAT=-30:13:08.7287 +REFLONG=139:46:11.008 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1112" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.258854e-02 -1.996418e-04 -3.612160e-05 -6.728835e-07 1.273950e-06 2.299548e-04 +-2.858828e-03 2.213786e-03 8.227084e-03 8.266338e-03 6.324299e-03 4.203416e-03 + 2.551235e-03 1.478527e-03 +>ZXXI ROT=ZROT //14 + 2.126911e-03 -1.516163e-04 -1.170936e-05 7.625216e-07 -3.037977e-07 -1.194817e-04 +-1.829337e-04 -6.561718e-03 -3.073315e-03 6.586250e-04 2.158488e-03 2.267062e-03 + 1.779710e-03 1.198182e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867046e+02 1.241505e+02 7.346933e+01 4.197588e+01 2.350537e+01 1.317083e+01 + 8.360237e+00 6.600936e+00 5.472991e+00 4.270519e+00 3.008759e+00 1.923149e+00 + 1.145726e+00 6.587790e-01 +>ZXYI ROT=ZROT //14 + 3.082945e+02 1.471597e+02 7.805605e+01 4.294172e+01 2.400292e+01 1.271863e+01 + 6.029869e+00 2.962772e+00 2.005079e+00 1.767719e+00 1.577193e+00 1.251705e+00 + 8.799859e-01 5.627366e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865964e+02 -1.241468e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.317093e+01 +-8.358370e+00 -6.601167e+00 -5.480767e+00 -4.280258e+00 -3.016834e+00 -1.928706e+00 +-1.149152e+00 -6.607769e-01 +>ZYXI ROT=ZROT //14 +-3.082260e+02 -1.471555e+02 -7.805625e+01 -4.294173e+01 -2.400291e+01 -1.271853e+01 +-6.030301e+00 -2.956850e+00 -2.000121e+00 -1.767259e+00 -1.579293e+00 -1.254395e+00 +-8.822471e-01 -5.643072e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.654700e-03 -2.100411e-04 -4.005712e-06 1.258050e-07 -9.719345e-07 -2.278853e-04 + 2.214085e-03 -2.116330e-03 -5.804198e-03 -5.388550e-03 -3.967220e-03 -2.586794e-03 +-1.555726e-03 -8.981571e-04 +>ZYYI ROT=ZROT //14 + 2.946572e-04 -7.323625e-05 -4.760124e-07 1.883683e-07 3.469090e-07 5.228226e-05 + 4.896907e-04 4.600031e-03 1.664226e-03 -7.319880e-04 -1.518773e-03 -1.474219e-03 +-1.118875e-03 -7.406973e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.323257e-02 -1.135277e-05 -3.416718e-05 -8.239845e-07 4.067764e-09 -2.392710e-06 + 8.697793e-05 6.509593e-05 -5.814194e-04 -6.716360e-04 -5.028367e-04 -3.243348e-04 +-1.934231e-04 -1.112673e-04 +>TXI.EXP //14 +-7.524048e-04 -6.874981e-06 3.387867e-06 1.274352e-06 2.919727e-08 4.576918e-06 +-6.052148e-05 4.248097e-04 3.676557e-04 -1.861790e-05 -1.740855e-04 -1.821617e-04 +-1.394101e-04 -9.213961e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.940251e-02 -5.228220e-04 5.673350e-06 1.108905e-06 -1.810674e-08 5.372958e-06 +-1.567369e-04 -1.180461e-04 1.064456e-03 1.180237e-03 8.639020e-04 5.521688e-04 + 3.281754e-04 1.884887e-04 +>TYI.EXP //14 + 1.900666e-03 7.467885e-05 4.661402e-08 -1.175723e-06 -2.835814e-08 -7.870261e-06 + 1.043945e-04 -7.689762e-04 -6.420995e-04 6.256582e-05 3.160359e-04 3.178736e-04 + 2.395893e-04 1.572671e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1113.edi b/examples/data/NEConductor/par1113.edi new file mode 100644 index 00000000..9fd81287 --- /dev/null +++ b/examples/data/NEConductor/par1113.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1113" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1113" +REFLAT=-30:13:11.774 +REFLONG=139:46:32.7739 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1113" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.603371e-02 -2.282811e-04 -4.240581e-05 -7.865622e-07 8.518206e-07 1.558443e-04 +-2.323827e-03 1.534882e-03 7.185483e-03 7.380206e-03 5.685059e-03 3.795606e-03 + 2.309964e-03 1.340385e-03 +>ZXXI ROT=ZROT //14 + 2.053333e-03 -1.806166e-04 -1.393356e-05 9.250973e-07 -4.227554e-07 -1.180115e-04 + 8.833267e-05 -5.746039e-03 -2.940984e-03 4.824160e-04 1.886981e-03 2.019305e-03 + 1.598500e-03 1.081033e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867315e+02 1.241523e+02 7.346931e+01 4.197588e+01 2.350537e+01 1.317107e+01 + 8.358846e+00 6.603155e+00 5.475477e+00 4.272331e+00 3.009976e+00 1.923892e+00 + 1.146155e+00 6.590220e-01 +>ZXYI ROT=ZROT //14 + 3.083095e+02 1.471603e+02 7.805602e+01 4.294172e+01 2.400291e+01 1.271872e+01 + 6.028731e+00 2.960899e+00 2.005200e+00 1.768314e+00 1.577830e+00 1.252216e+00 + 8.803343e-01 5.629528e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865954e+02 -1.241468e+02 -7.346922e+01 -4.197589e+01 -2.350537e+01 -1.317115e+01 +-8.357170e+00 -6.602967e+00 -5.483259e+00 -4.282383e+00 -3.018378e+00 -1.929698e+00 +-1.149742e+00 -6.611157e-01 +>ZYXI ROT=ZROT //14 +-3.082241e+02 -1.471554e+02 -7.805626e+01 -4.294173e+01 -2.400291e+01 -1.271863e+01 +-6.029302e+00 -2.955035e+00 -1.999863e+00 -1.767687e+00 -1.579942e+00 -1.254989e+00 +-8.826856e-01 -5.645923e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.512410e-03 -2.149161e-04 -4.139750e-06 1.156486e-07 -5.558097e-07 -1.586153e-04 + 1.709484e-03 -1.523300e-03 -4.645083e-03 -4.293954e-03 -3.139785e-03 -2.043653e-03 +-1.229078e-03 -7.097183e-04 +>ZYYI ROT=ZROT //14 + 3.071941e-04 -7.429841e-05 -4.864687e-07 1.939059e-07 4.047009e-07 5.930305e-05 + 2.459448e-04 3.709693e-03 1.381834e-03 -5.976809e-04 -1.214925e-03 -1.169472e-03 +-8.851935e-04 -5.855617e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.337123e-02 -1.321388e-05 -3.454540e-05 -8.280003e-07 1.660637e-08 -1.124072e-06 + 6.391553e-05 8.102040e-05 -4.991665e-04 -6.034450e-04 -4.562370e-04 -2.948749e-04 +-1.759267e-04 -1.012161e-04 +>TXI.EXP //14 +-7.630381e-04 -6.689207e-06 3.462399e-06 1.285376e-06 2.538848e-08 3.613591e-06 +-5.594485e-05 3.567164e-04 3.452474e-04 -4.239286e-06 -1.531376e-04 -1.639343e-04 +-1.262440e-04 -8.363365e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.999570e-02 -5.459399e-04 3.776187e-06 7.499915e-07 -2.597897e-08 3.109788e-06 +-1.216973e-04 -1.537338e-04 9.607772e-04 1.114454e-03 8.241647e-04 5.279817e-04 + 3.139685e-04 1.803557e-04 +>TYI.EXP //14 + 2.083892e-03 7.683491e-05 -1.124553e-07 -9.070536e-07 -2.380015e-08 -6.731432e-06 + 1.014267e-04 -6.780505e-04 -6.348892e-04 3.537492e-05 2.921788e-04 3.006364e-04 + 2.281000e-04 1.501135e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1114.edi b/examples/data/NEConductor/par1114.edi new file mode 100644 index 00000000..a84a1088 --- /dev/null +++ b/examples/data/NEConductor/par1114.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1114" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1114" +REFLAT=-30:13:14.793 +REFLONG=139:46:51.815 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1114" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.217593e-02 -1.401731e-04 -5.235538e-05 -9.563589e-07 3.378300e-07 8.112354e-05 +-1.726419e-03 6.959822e-04 6.260281e-03 6.818206e-03 5.349405e-03 3.605800e-03 + 2.205596e-03 1.282680e-03 +>ZXXI ROT=ZROT //14 + 2.013851e-03 -1.771411e-04 -1.856852e-05 1.047325e-06 -4.924964e-07 -1.035823e-04 + 3.607082e-04 -4.953754e-03 -3.076763e-03 2.092554e-04 1.658307e-03 1.861352e-03 + 1.501256e-03 1.024724e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867657e+02 1.241539e+02 7.346927e+01 4.197588e+01 2.350537e+01 1.317133e+01 + 8.357159e+00 6.605501e+00 5.478729e+00 4.274976e+00 3.011863e+00 1.925092e+00 + 1.146864e+00 6.594277e-01 +>ZXYI ROT=ZROT //14 + 3.083262e+02 1.471608e+02 7.805599e+01 4.294172e+01 2.400292e+01 1.271877e+01 + 6.027702e+00 2.958358e+00 2.004968e+00 1.768923e+00 1.578665e+00 1.252957e+00 + 8.808710e-01 5.632983e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866045e+02 -1.241476e+02 -7.346926e+01 -4.197589e+01 -2.350537e+01 -1.317136e+01 +-8.355994e+00 -6.604900e+00 -5.485071e+00 -4.283508e+00 -3.019053e+00 -1.930077e+00 +-1.149949e+00 -6.612298e-01 +>ZYXI ROT=ZROT //14 +-3.082279e+02 -1.471557e+02 -7.805625e+01 -4.294173e+01 -2.400292e+01 -1.271869e+01 +-6.028308e+00 -2.953663e+00 -2.000200e+00 -1.768237e+00 -1.580405e+00 -1.255309e+00 +-8.828807e-01 -5.647046e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.025294e-03 -2.394830e-04 -4.585671e-06 1.285322e-07 -2.417147e-07 -9.239821e-05 + 1.281790e-03 -7.971585e-04 -4.155186e-03 -4.191348e-03 -3.174062e-03 -2.107020e-03 +-1.280556e-03 -7.428584e-04 +>ZYYI ROT=ZROT //14 + 4.175554e-04 -8.372921e-05 -6.180637e-07 2.024922e-07 3.093892e-07 6.391366e-05 +-4.713645e-05 3.283443e-03 1.694117e-03 -3.390409e-04 -1.095322e-03 -1.138485e-03 +-8.923071e-04 -6.011558e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.499535e-02 6.190185e-05 -3.418536e-05 -9.234531e-07 3.001302e-08 -1.931276e-07 + 4.516669e-05 1.081112e-04 -4.616467e-04 -5.927535e-04 -4.522311e-04 -2.924538e-04 +-1.744195e-04 -1.003264e-04 +>TXI.EXP //14 +-9.313236e-04 -1.746509e-05 2.273938e-06 1.356495e-06 1.892708e-08 2.757324e-06 +-5.421121e-05 3.162133e-04 3.588745e-04 1.017661e-05 -1.470470e-04 -1.612077e-04 +-1.247849e-04 -8.279468e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.040159e-02 -5.576489e-04 1.415266e-06 3.969211e-07 -3.098002e-08 9.043031e-07 +-7.884486e-05 -1.859941e-04 8.055128e-04 1.001868e-03 7.519693e-04 4.831809e-04 + 2.874972e-04 1.651725e-04 +>TYI.EXP //14 + 2.277366e-03 7.651372e-05 -2.498265e-07 -5.882791e-07 -1.151170e-08 -4.919228e-06 + 9.056823e-05 -5.458639e-04 -6.057191e-04 1.045065e-06 2.547170e-04 2.710030e-04 + 2.075075e-04 1.370376e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1115.edi b/examples/data/NEConductor/par1115.edi new file mode 100644 index 00000000..789ae14a --- /dev/null +++ b/examples/data/NEConductor/par1115.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1115" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1115" +REFLAT=-30:13:17.8028 +REFLONG=139:47:09.948 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1115" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.752013e-02 -1.508904e-04 -6.230998e-05 -1.153785e-06 6.524913e-08 4.578257e-05 +-1.344532e-03 3.000870e-04 5.404255e-03 6.039771e-03 4.767837e-03 3.225718e-03 + 1.977527e-03 1.151246e-03 +>ZXXI ROT=ZROT //14 + 1.746367e-03 -2.144268e-04 -2.270772e-05 1.255153e-06 -4.058568e-07 -8.636883e-05 + 4.346074e-04 -4.243854e-03 -2.879708e-03 1.006255e-04 1.438333e-03 1.645151e-03 + 1.336833e-03 9.160269e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.868086e+02 1.241552e+02 7.346923e+01 4.197588e+01 2.350538e+01 1.317145e+01 + 8.356214e+00 6.606788e+00 5.480416e+00 4.276212e+00 3.012701e+00 1.925608e+00 + 1.147164e+00 6.595980e-01 +>ZXYI ROT=ZROT //14 + 3.083460e+02 1.471611e+02 7.805597e+01 4.294172e+01 2.400292e+01 1.271876e+01 + 6.027257e+00 2.956954e+00 2.004979e+00 1.769305e+00 1.579089e+00 1.253303e+00 + 8.811104e-01 5.634481e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866031e+02 -1.241476e+02 -7.346927e+01 -4.197589e+01 -2.350537e+01 -1.317147e+01 +-8.355247e+00 -6.605886e+00 -5.486485e+00 -4.284677e+00 -3.019891e+00 -1.930612e+00 +-1.150266e+00 -6.614115e-01 +>ZYXI ROT=ZROT //14 +-3.082258e+02 -1.471556e+02 -7.805626e+01 -4.294173e+01 -2.400291e+01 -1.271870e+01 +-6.027899e+00 -2.952550e+00 -2.000073e+00 -1.768491e+00 -1.580768e+00 -1.255635e+00 +-8.831190e-01 -5.648586e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.921466e-03 -2.430475e-04 -4.615250e-06 1.072599e-07 -7.951367e-08 -5.866456e-05 + 9.579791e-04 -4.891098e-04 -3.329457e-03 -3.373456e-03 -2.542631e-03 -1.687082e-03 +-1.026166e-03 -5.956283e-04 +>ZYYI ROT=ZROT //14 + 4.522575e-04 -8.423198e-05 -7.022629e-07 2.138192e-07 2.321216e-07 5.479355e-05 +-1.154865e-04 2.621294e-03 1.428228e-03 -2.699368e-04 -8.804925e-04 -9.116580e-04 +-7.142981e-04 -4.815220e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.519269e-02 6.013593e-05 -3.475245e-05 -9.295068e-07 3.072237e-08 2.266177e-07 + 3.038380e-05 1.105727e-04 -3.883068e-04 -5.261227e-04 -4.055266e-04 -2.626955e-04 +-1.566995e-04 -9.013742e-05 +>TXI.EXP //14 +-9.483541e-04 -1.729284e-05 2.380448e-06 1.371448e-06 1.154479e-08 1.964236e-06 +-4.633054e-05 2.572144e-04 3.302925e-04 2.028723e-05 -1.276929e-04 -1.434195e-04 +-1.116733e-04 -7.424872e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.051296e-02 -5.572659e-04 -1.429462e-06 9.616288e-08 -2.714378e-08 3.928450e-08 +-5.592402e-05 -1.980225e-04 7.067022e-04 9.273194e-04 7.034110e-04 4.528320e-04 + 2.695115e-04 1.548447e-04 +>TYI.EXP //14 + 2.465502e-03 7.341338e-05 -2.917270e-07 -2.363336e-07 -2.631596e-09 -3.781202e-06 + 8.068176e-05 -4.625649e-04 -5.820316e-04 -1.929631e-05 2.306555e-04 2.514134e-04 + 1.937028e-04 1.282094e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1116.edi b/examples/data/NEConductor/par1116.edi new file mode 100644 index 00000000..e87b4fcc --- /dev/null +++ b/examples/data/NEConductor/par1116.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1116" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1116" +REFLAT=-30:13:20.8203 +REFLONG=139:47:28.9898 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1116" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.434480e-02 -1.568404e-04 -7.499132e-05 -1.412777e-06 -9.691048e-08 2.159407e-05 +-1.025789e-03 -1.176578e-06 4.634730e-03 5.324688e-03 4.228170e-03 2.870469e-03 + 1.763450e-03 1.027634e-03 +>ZXXI ROT=ZROT //14 + 1.483324e-03 -2.592295e-04 -2.825950e-05 1.516614e-06 -2.763850e-07 -6.868382e-05 + 4.603063e-04 -3.597220e-03 -2.673864e-03 1.389669e-05 1.241608e-03 1.447091e-03 + 1.184376e-03 8.145564e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.868634e+02 1.241559e+02 7.346918e+01 4.197588e+01 2.350538e+01 1.317154e+01 + 8.355421e+00 6.607799e+00 5.481903e+00 4.277326e+00 3.013466e+00 1.926085e+00 + 1.147443e+00 6.597568e-01 +>ZXYI ROT=ZROT //14 + 3.083692e+02 1.471612e+02 7.805595e+01 4.294172e+01 2.400291e+01 1.271874e+01 + 6.026987e+00 2.955679e+00 2.004934e+00 1.769621e+00 1.579460e+00 1.253614e+00 + 8.813288e-01 5.635862e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865992e+02 -1.241474e+02 -7.346927e+01 -4.197589e+01 -2.350538e+01 -1.317155e+01 +-8.354650e+00 -6.606654e+00 -5.487566e+00 -4.285535e+00 -3.020496e+00 -1.930994e+00 +-1.150491e+00 -6.615402e-01 +>ZYXI ROT=ZROT //14 +-3.082275e+02 -1.471556e+02 -7.805626e+01 -4.294173e+01 -2.400292e+01 -1.271869e+01 +-6.027627e+00 -2.951668e+00 -2.000008e+00 -1.768702e+00 -1.581044e+00 -1.255875e+00 +-8.832911e-01 -5.649687e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.843064e-03 -2.437103e-04 -4.496785e-06 9.190420e-08 1.243418e-08 -3.521391e-05 + 7.052171e-04 -2.688872e-04 -2.652383e-03 -2.694473e-03 -2.016116e-03 -1.335890e-03 +-8.130636e-04 -4.722012e-04 +>ZYYI ROT=ZROT //14 + 4.968063e-04 -8.542120e-05 -8.570365e-07 2.092050e-07 1.450169e-07 4.468828e-05 +-1.464937e-04 2.072882e-03 1.193598e-03 -2.191123e-04 -7.046873e-04 -7.236567e-04 +-5.659460e-04 -3.815330e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.542330e-02 5.809768e-05 -3.544542e-05 -9.369098e-07 2.833428e-08 4.225476e-07 + 1.939438e-05 1.089938e-04 -3.246870e-04 -4.661980e-04 -3.631003e-04 -2.355717e-04 +-1.405286e-04 -8.083494e-05 +>TXI.EXP //14 +-9.679162e-04 -1.711086e-05 2.505067e-06 1.389221e-06 6.338979e-09 1.340410e-06 +-3.868969e-05 2.068496e-04 3.025401e-04 2.808256e-05 -1.106630e-04 -1.274233e-04 +-9.978787e-05 -6.647391e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.029528e-02 -5.491318e-04 -4.816635e-06 -9.665811e-08 -2.279179e-08 -4.630284e-07 +-3.767850e-05 -2.021344e-04 6.129323e-04 8.524797e-04 6.537396e-04 4.216034e-04 + 2.509691e-04 1.441901e-04 +>TYI.EXP //14 + 2.654443e-03 6.763191e-05 -1.512168e-07 1.177444e-07 3.769026e-09 -2.787497e-06 + 6.989368e-05 -3.853649e-04 -5.537127e-04 -3.678660e-05 2.073180e-04 2.317447e-04 + 1.796452e-04 1.191612e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1117_0.edi b/examples/data/NEConductor/par1117_0.edi new file mode 100644 index 00000000..6513b6f3 --- /dev/null +++ b/examples/data/NEConductor/par1117_0.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1117_0" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1117_0" +REFLAT=-30:13:25.7312 +REFLONG=139:47:48.0089 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1117_0" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.180589e-02 -1.578832e-04 -8.902232e-05 -1.701153e-06 -1.598137e-07 6.112639e-06 +-7.673167e-04 -2.207751e-04 3.956971e-03 4.683025e-03 3.740009e-03 2.547238e-03 + 1.567992e-03 9.145935e-04 +>ZXXI ROT=ZROT //14 + 1.246705e-03 -3.061717e-04 -3.456166e-05 1.815927e-06 -1.273188e-07 -5.234072e-05 + 4.526539e-04 -3.022623e-03 -2.469167e-03 -5.407182e-05 1.069130e-03 1.269842e-03 + 1.046562e-03 7.223220e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.869343e+02 1.241559e+02 7.346913e+01 4.197589e+01 2.350538e+01 1.317160e+01 + 8.354771e+00 6.608575e+00 5.483202e+00 4.278317e+00 3.014155e+00 1.926519e+00 + 1.147698e+00 6.599023e-01 +>ZXYI ROT=ZROT //14 + 3.083967e+02 1.471609e+02 7.805594e+01 4.294173e+01 2.400291e+01 1.271871e+01 + 6.026843e+00 2.954542e+00 2.004846e+00 1.769881e+00 1.579783e+00 1.253891e+00 + 8.815253e-01 5.637115e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865929e+02 -1.241469e+02 -7.346927e+01 -4.197589e+01 -2.350538e+01 -1.317160e+01 +-8.354178e+00 -6.607250e+00 -5.488387e+00 -4.286152e+00 -3.020919e+00 -1.931257e+00 +-1.150645e+00 -6.616277e-01 +>ZYXI ROT=ZROT //14 +-3.082329e+02 -1.471558e+02 -7.805626e+01 -4.294173e+01 -2.400292e+01 -1.271867e+01 +-6.027454e+00 -2.950972e+00 -1.999991e+00 -1.768878e+00 -1.581251e+00 -1.256048e+00 +-8.834120e-01 -5.650451e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.818122e-03 -2.408840e-04 -4.276204e-06 9.414870e-08 5.151579e-08 -1.960107e-05 + 5.125718e-04 -1.175485e-04 -2.105708e-03 -2.140004e-03 -1.584553e-03 -1.047283e-03 +-6.376746e-04 -3.705480e-04 +>ZYYI ROT=ZROT //14 + 5.804069e-04 -8.781255e-05 -1.050857e-06 1.813859e-07 6.987523e-08 3.502288e-05 +-1.532291e-04 1.626818e-03 9.909403e-04 -1.824438e-04 -5.630091e-04 -5.703950e-04 +-4.444089e-04 -2.994060e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.569313e-02 5.577319e-05 -3.629219e-05 -9.459592e-07 2.482190e-08 4.787266e-07 + 1.150115e-05 1.044801e-04 -2.701311e-04 -4.129266e-04 -3.250608e-04 -2.111879e-04 +-1.259774e-04 -7.246136e-05 +>TXI.EXP //14 +-9.902667e-04 -1.692803e-05 2.648673e-06 1.410245e-06 3.455946e-09 8.730391e-07 +-3.168399e-05 1.645639e-04 2.761193e-04 3.394221e-05 -9.582716e-05 -1.132088e-04 +-8.915294e-05 -5.949596e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.966392e-02 -5.379283e-04 -8.689442e-06 -1.397587e-07 -1.921718e-08 -7.032866e-07 +-2.377531e-05 -1.997870e-04 5.265865e-04 7.800949e-04 6.050151e-04 3.908374e-04 + 2.326750e-04 1.336729e-04 +>TYI.EXP //14 + 2.841245e-03 5.939430e-05 2.374235e-07 4.334468e-07 6.376891e-09 -1.972929e-06 + 5.915626e-05 -3.161858e-04 -5.226197e-04 -5.141295e-05 1.853821e-04 2.127304e-04 + 1.659051e-04 1.102737e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1117_1.edi b/examples/data/NEConductor/par1117_1.edi new file mode 100644 index 00000000..7760ab59 --- /dev/null +++ b/examples/data/NEConductor/par1117_1.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1117_1" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1117_1" +REFLAT=-30:13:28.7804 +REFLONG=139:48:10.6852 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1117_1" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.796682e-02 -1.580208e-04 -1.012512e-04 -1.950459e-06 -1.498749e-07 -2.964069e-06 +-5.626105e-04 -3.729845e-04 3.368265e-03 4.116049e-03 3.305784e-03 2.258285e-03 + 1.392744e-03 8.131040e-04 +>ZXXI ROT=ZROT //14 + 9.753021e-04 -3.455714e-04 -4.003638e-05 2.099169e-06 1.516919e-08 -3.829570e-05 + 4.239492e-04 -2.521293e-03 -2.271762e-03 -1.064346e-04 9.198865e-04 1.113644e-03 + 9.240519e-04 6.399371e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.870244e+02 1.241548e+02 7.346912e+01 4.197589e+01 2.350538e+01 1.317164e+01 + 8.354245e+00 6.609155e+00 5.484330e+00 4.279194e+00 3.014771e+00 1.926909e+00 + 1.147928e+00 6.600342e-01 +>ZXYI ROT=ZROT //14 + 3.084297e+02 1.471601e+02 7.805596e+01 4.294173e+01 2.400291e+01 1.271868e+01 + 6.026787e+00 2.953539e+00 2.004730e+00 1.770094e+00 1.580060e+00 1.254133e+00 + 8.817005e-01 5.638240e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865847e+02 -1.241464e+02 -7.346927e+01 -4.197589e+01 -2.350537e+01 -1.317164e+01 +-8.353809e+00 -6.607714e+00 -5.489007e+00 -4.286587e+00 -3.021206e+00 -1.931431e+00 +-1.150745e+00 -6.616844e-01 +>ZYXI ROT=ZROT //14 +-3.082408e+02 -1.471560e+02 -7.805627e+01 -4.294173e+01 -2.400291e+01 -1.271865e+01 +-6.027352e+00 -2.950424e+00 -2.000008e+00 -1.769027e+00 -1.581405e+00 -1.256169e+00 +-8.834941e-01 -5.650958e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.864545e-03 -2.349912e-04 -3.973133e-06 1.109235e-07 5.894180e-08 -9.657874e-06 + 3.685021e-04 -1.808693e-05 -1.668751e-03 -1.692073e-03 -1.234822e-03 -8.128536e-04 +-4.950128e-04 -2.878113e-04 +>ZYYI ROT=ZROT //14 + 7.242155e-04 -9.095342e-05 -1.275665e-06 1.407458e-07 1.506768e-08 2.654618e-05 +-1.455919e-04 1.268736e-03 8.183803e-04 -1.564034e-04 -4.499623e-04 -4.468105e-04 +-3.459643e-04 -2.327267e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.599938e-02 5.318403e-05 -3.729094e-05 -9.565249e-07 2.175432e-08 4.555376e-07 + 6.022032e-06 9.799656e-05 -2.237204e-04 -3.659205e-04 -2.912442e-04 -1.894653e-04 +-1.130050e-04 -6.499430e-05 +>TXI.EXP //14 +-1.015153e-03 -1.674703e-05 2.810667e-06 1.434196e-06 2.577693e-09 5.375895e-07 +-2.551894e-05 1.295327e-04 2.513182e-04 3.822227e-05 -8.298206e-05 -1.006735e-04 +-7.971709e-05 -5.328907e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.851246e-02 -5.301983e-04 -1.281799e-05 -2.561706e-08 -1.631108e-08 -7.706453e-07 +-1.358797e-05 -1.925230e-04 4.487100e-04 7.117555e-04 5.584918e-04 3.613640e-04 + 2.151301e-04 1.235824e-04 +>TYI.EXP //14 + 3.019362e-03 4.934610e-05 8.819979e-07 6.730117e-07 4.894203e-09 -1.338019e-06 + 4.910213e-05 -2.557381e-04 -4.901640e-04 -6.336188e-05 1.651829e-04 1.947938e-04 + 1.528265e-04 1.017807e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1118.edi b/examples/data/NEConductor/par1118.edi new file mode 100644 index 00000000..47154c30 --- /dev/null +++ b/examples/data/NEConductor/par1118.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1118" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1118" +REFLAT=-30:13:33.7475 +REFLONG=139:48:36.0645 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1118" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.606098e-02 6.340064e-05 -1.170607e-04 -2.198886e-06 -1.140843e-08 -9.868844e-06 +-2.553041e-04 -6.155564e-04 2.457116e-03 3.356710e-03 2.755977e-03 1.900287e-03 + 1.177764e-03 6.891174e-04 +>ZXXI ROT=ZROT //14 + 9.856033e-04 -3.165848e-04 -4.797756e-05 2.275874e-06 2.167207e-07 -1.628855e-05 + 3.401779e-04 -1.703947e-03 -2.063007e-03 -2.433211e-04 6.988272e-04 9.060376e-04 + 7.680283e-04 5.371475e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.872829e+02 1.241464e+02 7.346923e+01 4.197589e+01 2.350538e+01 1.317169e+01 + 8.353423e+00 6.609917e+00 5.486417e+00 4.280924e+00 3.016022e+00 1.927719e+00 + 1.148412e+00 6.603128e-01 +>ZXYI ROT=ZROT //14 + 3.085202e+02 1.471564e+02 7.805605e+01 4.294173e+01 2.400291e+01 1.271863e+01 + 6.026841e+00 2.951687e+00 2.004328e+00 1.770421e+00 1.580573e+00 1.254610e+00 + 8.820556e-01 5.640566e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865824e+02 -1.241464e+02 -7.346934e+01 -4.197589e+01 -2.350537e+01 -1.317168e+01 +-8.353254e+00 -6.608507e+00 -5.489727e+00 -4.286790e+00 -3.021224e+00 -1.931396e+00 +-1.150709e+00 -6.616600e-01 +>ZYXI ROT=ZROT //14 +-3.082632e+02 -1.471570e+02 -7.805627e+01 -4.294173e+01 -2.400291e+01 -1.271861e+01 +-6.027247e+00 -2.949677e+00 -2.000351e+00 -1.769355e+00 -1.581570e+00 -1.256227e+00 +-8.835025e-01 -5.650889e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.761872e-03 -2.497685e-04 -3.479150e-06 1.553423e-07 3.550738e-08 1.201359e-06 + 1.754887e-04 1.998996e-04 -1.219475e-03 -1.424372e-03 -1.078384e-03 -7.239228e-04 +-4.457361e-04 -2.604480e-04 +>ZYYI ROT=ZROT //14 + 9.233796e-04 -1.060161e-04 -1.969151e-06 8.739303e-08 -3.923691e-08 1.344496e-05 +-1.352088e-04 8.447151e-04 8.303468e-04 -3.079096e-05 -3.441303e-04 -3.738065e-04 +-3.007244e-04 -2.063360e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.816983e-02 1.231737e-04 -3.933224e-05 -1.000815e-06 2.023767e-08 3.296113e-07 +-4.821164e-07 8.795442e-05 -1.577833e-04 -3.072477e-04 -2.507794e-04 -1.634957e-04 +-9.743884e-05 -5.601573e-05 +>TXI.EXP //14 +-1.249899e-03 -2.695851e-05 2.248612e-06 1.501222e-06 6.951224e-09 1.485985e-07 +-1.621167e-05 7.885267e-05 2.219244e-04 4.766133e-05 -6.611975e-05 -8.531926e-05 +-6.832490e-05 -4.581699e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.416172e-02 -5.703457e-04 -1.978416e-05 3.546065e-07 -8.708113e-09 -6.165985e-07 +-3.085267e-07 -1.651554e-04 3.024302e-04 5.743388e-04 4.637137e-04 3.011105e-04 + 1.792188e-04 1.029199e-04 +>TYI.EXP //14 + 3.308689e-03 3.075077e-05 2.427858e-06 9.318259e-07 -1.916397e-09 -4.363452e-07 + 3.020317e-05 -1.488459e-04 -4.162410e-04 -8.242483e-05 1.258965e-04 1.588057e-04 + 1.262965e-04 8.447130e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1119.edi b/examples/data/NEConductor/par1119.edi new file mode 100644 index 00000000..f291ba1b --- /dev/null +++ b/examples/data/NEConductor/par1119.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1119" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1119" +REFLAT=-30:13:38.7049 +REFLONG=139:49:00.5361 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1119" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.674308e-02 5.409446e-05 -1.188629e-04 -2.237128e-06 2.161860e-08 -9.513161e-06 +-1.716224e-04 -6.274679e-04 2.088833e-03 2.975001e-03 2.457101e-03 1.698371e-03 + 1.054230e-03 6.172931e-04 +>ZXXI ROT=ZROT //14 + 1.221002e-03 -3.191818e-04 -4.862653e-05 2.357881e-06 2.138406e-07 -1.027373e-05 + 2.925431e-04 -1.398562e-03 -1.890712e-03 -2.599746e-04 6.055887e-04 8.018111e-04 + 6.839218e-04 4.797432e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.874764e+02 1.241385e+02 7.346934e+01 4.197588e+01 2.350538e+01 1.317169e+01 + 8.353197e+00 6.610095e+00 5.487083e+00 4.281457e+00 3.016399e+00 1.927962e+00 + 1.148557e+00 6.603963e-01 +>ZXYI ROT=ZROT //14 + 3.085840e+02 1.471535e+02 7.805611e+01 4.294172e+01 2.400291e+01 1.271861e+01 + 6.026901e+00 2.951086e+00 2.004194e+00 1.770532e+00 1.580734e+00 1.254756e+00 + 8.821630e-01 5.641266e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865753e+02 -1.241460e+02 -7.346935e+01 -4.197589e+01 -2.350537e+01 -1.317168e+01 +-8.353092e+00 -6.608701e+00 -5.490011e+00 -4.286948e+00 -3.021313e+00 -1.931445e+00 +-1.150736e+00 -6.616745e-01 +>ZYXI ROT=ZROT //14 +-3.082693e+02 -1.471571e+02 -7.805627e+01 -4.294173e+01 -2.400291e+01 -1.271860e+01 +-6.027253e+00 -2.949394e+00 -2.000388e+00 -1.769440e+00 -1.581636e+00 -1.256271e+00 +-8.835285e-01 -5.651037e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.641849e-03 -2.443844e-04 -3.220242e-06 1.395107e-07 2.521586e-08 2.444701e-06 + 1.216000e-04 2.013880e-04 -9.758006e-04 -1.153602e-03 -8.619244e-04 -5.766667e-04 +-3.553812e-04 -2.078534e-04 +>ZYYI ROT=ZROT //14 + 6.801888e-04 -1.051212e-04 -2.105461e-06 8.058555e-08 -4.817266e-08 9.265162e-06 +-1.116458e-04 6.509299e-04 6.997025e-04 -2.850905e-05 -2.809759e-04 -2.996469e-04 +-2.399438e-04 -1.645713e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.850848e-02 1.211972e-04 -4.049968e-05 -1.011885e-06 2.140404e-08 2.529622e-07 +-1.784997e-06 7.865553e-05 -1.286299e-04 -2.734558e-04 -2.260016e-04 -1.475299e-04 +-8.789798e-05 -5.052260e-05 +>TXI.EXP //14 +-1.281010e-03 -2.682329e-05 2.444685e-06 1.524707e-06 8.604220e-09 5.567855e-08 +-1.254857e-05 5.962585e-05 2.007631e-04 4.875810e-05 -5.738630e-05 -7.633227e-05 +-6.145908e-05 -4.127517e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.055178e-02 -6.510219e-04 -2.136484e-05 3.148301e-07 -6.587035e-09 -5.052573e-07 + 2.343005e-06 -1.510653e-04 2.525380e-04 5.238568e-04 4.284696e-04 2.786377e-04 + 1.658106e-04 9.520212e-05 +>TYI.EXP //14 + 3.370648e-03 2.787301e-05 2.905117e-06 1.022441e-06 -9.992224e-10 -2.333516e-07 + 2.403276e-05 -1.151698e-04 -3.860201e-04 -8.764143e-05 1.119337e-04 1.456154e-04 + 1.164724e-04 7.803259e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par11ew.edi b/examples/data/NEConductor/par11ew.edi new file mode 100644 index 00000000..25412c21 --- /dev/null +++ b/examples/data/NEConductor/par11ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par11ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par11ew" +REFLAT=-30:12:45.4135 +REFLONG=139:42:27.8711 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par11ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-8.593149e-03 1.954571e-04 1.054422e-05 2.385788e-07 1.635425e-06 3.454105e-04 +-2.834225e-03 3.715953e-03 5.118961e-03 3.346061e-03 1.942523e-03 1.074144e-03 + 5.857507e-04 3.230944e-04 +>ZXXI ROT=ZROT //14 +-2.090146e-03 5.977765e-05 2.625009e-06 -2.855002e-07 -5.387019e-07 -5.069485e-05 +-1.231120e-03 -4.178567e-03 1.889329e-04 1.475406e-03 1.334998e-03 9.144521e-04 + 5.553999e-04 3.188058e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865554e+02 1.241407e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.316992e+01 + 8.364847e+00 6.590950e+00 5.464033e+00 4.264645e+00 3.005086e+00 1.921014e+00 + 1.144531e+00 6.581128e-01 +>ZXYI ROT=ZROT //14 + 3.082061e+02 1.471558e+02 7.805626e+01 4.294175e+01 2.400290e+01 1.271754e+01 + 6.036581e+00 2.968598e+00 2.003485e+00 1.765100e+00 1.574874e+00 1.250034e+00 + 8.789245e-01 5.621076e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865967e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350537e+01 -1.317013e+01 +-8.362817e+00 -6.592452e+00 -5.470870e+00 -4.272518e+00 -3.011483e+00 -1.925377e+00 +-1.147209e+00 -6.596709e-01 +>ZYXI ROT=ZROT //14 +-3.082170e+02 -1.471551e+02 -7.805626e+01 -4.294174e+01 -2.400290e+01 -1.271758e+01 +-6.036077e+00 -2.963462e+00 -2.000092e+00 -1.765086e+00 -1.576695e+00 -1.252216e+00 +-8.807211e-01 -5.633437e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.453413e-03 -5.436648e-05 -6.836116e-07 2.417696e-07 -1.641771e-06 -2.894613e-04 + 2.313279e-03 -3.380740e-03 -3.330116e-03 -1.217862e-03 -1.780426e-04 1.457408e-04 + 1.686476e-04 1.174832e-04 +>ZYYI ROT=ZROT //14 + 1.966214e-04 -1.631545e-05 -1.590712e-07 -6.807580e-08 3.522816e-07 5.328065e-05 + 1.151121e-03 2.813511e-03 -1.142228e-03 -1.528447e-03 -8.678293e-04 -3.253977e-04 +-5.944971e-05 2.647001e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.133287e-02 -8.825281e-05 -3.417796e-05 -6.578079e-07 9.534667e-09 -2.479034e-06 + 2.505985e-05 -1.695748e-05 -1.067488e-04 -7.436469e-05 -4.254708e-05 -2.417017e-05 +-1.363009e-05 -7.712047e-06 +>TXI.EXP //14 +-5.716867e-04 4.186646e-06 4.719313e-06 1.146829e-06 2.614682e-09 -2.924691e-07 + 2.255057e-06 8.147670e-05 2.112175e-05 -2.773104e-05 -2.748014e-05 -1.914762e-05 +-1.204450e-05 -7.183899e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.298959e-03 4.987980e-04 1.287537e-05 -3.535591e-07 -6.919654e-08 -1.369641e-05 + 2.158348e-04 -4.377862e-05 -1.040282e-03 -9.832226e-04 -6.797829e-04 -4.260420e-04 +-2.514887e-04 -1.440553e-04 +>TYI.EXP //14 +-1.756268e-04 -5.932864e-05 -4.503238e-06 -8.985571e-07 -4.114003e-08 5.064706e-06 +-5.207307e-05 7.815981e-04 4.447961e-04 -1.425644e-04 -2.899570e-04 -2.619721e-04 +-1.897955e-04 -1.222889e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par12.edi b/examples/data/NEConductor/par12.edi new file mode 100644 index 00000000..14dfffa9 --- /dev/null +++ b/examples/data/NEConductor/par12.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par12" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par12" +REFLAT=-30:13:34.1323 +REFLONG=139:42:27.2342 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par12" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.065185e-02 1.177975e-04 1.305180e-05 2.507041e-07 2.731223e-07 1.320417e-04 +-1.337167e-03 2.341825e-03 7.161637e-04 -1.546616e-03 -1.985444e-03 -1.587062e-03 +-1.041564e-03 -6.225572e-04 +>ZXXI ROT=ZROT //14 +-2.113131e-03 3.564218e-05 3.265064e-06 -3.258837e-07 -8.680880e-07 -8.704438e-05 +-5.556704e-04 -9.435193e-04 2.113176e-03 1.371977e-03 1.605189e-04 -4.441572e-04 +-5.488624e-04 -4.362074e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865558e+02 1.241406e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.317055e+01 + 8.360984e+00 6.597239e+00 5.474407e+00 4.274487e+00 3.012580e+00 1.925961e+00 + 1.147517e+00 6.598378e-01 +>ZXYI ROT=ZROT //14 + 3.082042e+02 1.471558e+02 7.805627e+01 4.294175e+01 2.400291e+01 1.271822e+01 + 6.032500e+00 2.961433e+00 2.001270e+00 1.766335e+00 1.577599e+00 1.252783e+00 + 8.810446e-01 5.635208e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866231e+02 -1.241491e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317059e+01 +-8.360559e+00 -6.597743e+00 -5.475199e+00 -4.275033e+00 -3.012905e+00 -1.926142e+00 +-1.147616e+00 -6.598924e-01 +>ZYXI ROT=ZROT //14 +-3.082379e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271820e+01 +-6.032394e+00 -2.960762e+00 -2.001253e+00 -1.766549e+00 -1.577810e+00 -1.252932e+00 +-8.811368e-01 -5.635742e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.250566e-03 -5.256597e-05 -9.020570e-07 3.045335e-07 -4.733486e-07 -1.215978e-04 + 1.242598e-03 -2.278282e-03 -4.478429e-04 1.892182e-03 2.266313e-03 1.775645e-03 + 1.156030e-03 6.888024e-04 +>ZYYI ROT=ZROT //14 + 2.784289e-04 -1.661394e-05 -1.613859e-07 -8.252887e-08 6.966733e-07 8.462335e-05 + 5.400503e-04 7.421350e-04 -2.274895e-03 -1.384071e-03 -8.069249e-05 5.406158e-04 + 6.271825e-04 4.894750e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.553426e-02 1.322077e-04 -3.151031e-05 -9.099297e-07 -1.225755e-08 -6.147954e-06 + 1.083976e-04 8.748996e-06 -5.929153e-04 -5.752238e-04 -3.995875e-04 -2.503766e-04 +-1.476750e-04 -8.461346e-05 +>TXI.EXP //14 +-9.967459e-04 -2.763890e-05 9.516358e-07 1.309954e-06 1.199980e-08 3.417519e-06 +-3.881553e-05 4.387902e-04 2.766658e-04 -7.468140e-05 -1.675965e-04 -1.532268e-04 +-1.113331e-04 -7.183066e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.380943e-03 4.982483e-04 1.287205e-05 -3.467114e-07 -3.954490e-08 -6.370045e-06 + 1.128231e-04 1.233271e-05 -6.239178e-04 -6.064505e-04 -4.197531e-04 -2.626906e-04 +-1.549258e-04 -8.870130e-05 +>TYI.EXP //14 +-1.608728e-04 -5.933311e-05 -4.510455e-06 -9.051082e-07 -1.825357e-08 3.681137e-06 +-4.205871e-05 4.592247e-04 2.951480e-04 -7.955866e-05 -1.770488e-04 -1.612032e-04 +-1.169067e-04 -7.529839e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1201.edi b/examples/data/NEConductor/par1201.edi new file mode 100644 index 00000000..6d4efa70 --- /dev/null +++ b/examples/data/NEConductor/par1201.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1201" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1201" +REFLAT=-30:11:08.373 +REFLONG=139:44:24.4322 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1201" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.705658e-03 -1.801951e-04 -5.134247e-06 -6.294187e-08 3.984750e-06 5.180074e-04 +-3.142678e-03 5.020013e-03 5.409563e-03 3.033771e-03 1.523033e-03 7.327865e-04 + 3.591714e-04 1.869556e-04 +>ZXXI ROT=ZROT //14 + 3.133357e-04 -8.754760e-05 6.945211e-07 1.996812e-07 1.828244e-06 1.646328e-04 +-2.452319e-03 -4.112626e-03 9.380285e-04 1.871806e-03 1.406907e-03 8.339256e-04 + 4.421403e-04 2.257738e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866126e+02 1.241417e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.316974e+01 + 8.364482e+00 6.589497e+00 5.467027e+00 4.269314e+00 3.009226e+00 1.923956e+00 + 1.146373e+00 6.591939e-01 +>ZXYI ROT=ZROT //14 + 3.082339e+02 1.471562e+02 7.805617e+01 4.294173e+01 2.400290e+01 1.271726e+01 + 6.038171e+00 2.965981e+00 2.000403e+00 1.764339e+00 1.575670e+00 1.251321e+00 + 8.800800e-01 5.629340e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865573e+02 -1.241471e+02 -7.346950e+01 -4.197590e+01 -2.350537e+01 -1.316970e+01 +-8.365362e+00 -6.589588e+00 -5.462603e+00 -4.263237e+00 -3.004016e+00 -1.920320e+00 +-1.144119e+00 -6.578763e-01 +>ZYXI ROT=ZROT //14 +-3.082006e+02 -1.471567e+02 -7.805640e+01 -4.294174e+01 -2.400289e+01 -1.271726e+01 +-6.037958e+00 -2.969260e+00 -2.003681e+00 -1.764908e+00 -1.574467e+00 -1.249633e+00 +-8.786221e-01 -5.619095e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.871941e-03 -1.501865e-04 -1.784300e-06 7.055732e-08 -3.668946e-06 -5.751125e-04 + 3.856815e-03 -5.433995e-03 -7.529208e-03 -5.451023e-03 -3.479969e-03 -2.065294e-03 +-1.176288e-03 -6.624024e-04 +>ZYYI ROT=ZROT //14 + 1.813111e-04 -4.358397e-05 -9.579792e-08 1.275081e-07 -1.620889e-06 -1.134655e-04 + 2.425950e-03 5.794859e-03 1.133107e-04 -1.874168e-03 -1.968909e-03 -1.502917e-03 +-9.916079e-04 -6.034116e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.393679e-03 -5.835851e-04 -3.445704e-05 7.130359e-07 9.331838e-08 1.414157e-05 +-2.154257e-04 5.790161e-05 1.000728e-03 9.411687e-04 6.518502e-04 4.091278e-04 + 2.416940e-04 1.384631e-04 +>TXI.EXP //14 + 3.161342e-04 7.291945e-05 1.295308e-05 2.060210e-07 2.688867e-08 -4.977029e-06 + 4.437934e-05 -7.547795e-04 -4.178321e-04 1.380924e-04 2.775704e-04 2.510592e-04 + 1.821150e-04 1.174828e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.273677e-02 -1.214236e-04 1.210176e-05 1.704524e-06 -4.715841e-08 1.282523e-06 +-1.084018e-05 1.763675e-06 7.280478e-05 3.727020e-05 1.238907e-05 3.910618e-06 + 1.359431e-06 5.900617e-07 +>TYI.EXP //14 + 8.271757e-04 2.119159e-05 -1.045271e-06 -1.661581e-06 -3.150435e-09 5.665837e-07 +-5.053666e-08 -5.147611e-05 -9.848131e-06 2.703969e-05 1.836724e-05 8.617792e-06 + 3.575309e-06 1.490181e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1202.edi b/examples/data/NEConductor/par1202.edi new file mode 100644 index 00000000..abda511c --- /dev/null +++ b/examples/data/NEConductor/par1202.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1202" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1202" +REFLAT=-30:10:48.5633 +REFLONG=139:44:32.8574 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1202" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.520572e-03 -2.914046e-04 -5.522850e-06 -8.273992e-08 1.496110e-06 3.465274e-04 +-2.088394e-03 3.721793e-03 2.453673e-03 -6.142040e-06 -8.444017e-04 -8.456613e-04 +-5.980927e-04 -3.673329e-04 +>ZXXI ROT=ZROT //14 + 4.944346e-04 -1.281098e-04 1.485642e-06 2.723346e-07 -5.266867e-08 6.758015e-05 +-1.680849e-03 -2.004462e-03 1.922190e-03 1.652523e-03 6.184030e-04 -1.144206e-05 +-2.247670e-04 -2.235197e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866228e+02 1.241428e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317021e+01 + 8.361911e+00 6.594458e+00 5.473521e+00 4.274860e+00 3.013252e+00 1.926544e+00 + 1.147914e+00 6.600786e-01 +>ZXYI ROT=ZROT //14 + 3.082412e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400290e+01 1.271788e+01 + 6.034745e+00 2.961668e+00 1.999819e+00 1.765484e+00 1.577371e+00 1.252875e+00 + 8.812245e-01 5.636783e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865499e+02 -1.241481e+02 -7.346964e+01 -4.197590e+01 -2.350537e+01 -1.317015e+01 +-8.362896e+00 -6.594497e+00 -5.468671e+00 -4.268293e+00 -3.007647e+00 -1.922637e+00 +-1.145491e+00 -6.586628e-01 +>ZYXI ROT=ZROT //14 +-3.082007e+02 -1.471576e+02 -7.805643e+01 -4.294173e+01 -2.400290e+01 -1.271788e+01 +-6.034583e+00 -2.965247e+00 -2.003325e+00 -1.766053e+00 -1.576056e+00 -1.251053e+00 +-8.796550e-01 -5.625767e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.592166e-03 -1.580309e-04 -2.193838e-06 6.737639e-09 -2.547760e-06 -3.998491e-04 + 2.789376e-03 -4.125388e-03 -4.637982e-03 -2.498244e-03 -1.186702e-03 -5.394779e-04 +-2.521329e-04 -1.276054e-04 +>ZYYI ROT=ZROT //14 + 2.477033e-04 -4.648068e-05 -7.887500e-08 2.024759e-07 -4.775328e-07 -2.741641e-05 + 1.665139e-03 3.723780e-03 -8.207664e-04 -1.647832e-03 -1.197163e-03 -6.811472e-04 +-3.455326e-04 -1.689973e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-3.940959e-04 -6.490030e-04 -3.097959e-05 8.215914e-07 6.219868e-08 1.044308e-05 +-1.795042e-04 7.219593e-06 9.188525e-04 9.029192e-04 6.345475e-04 4.001885e-04 + 2.368030e-04 1.357394e-04 +>TXI.EXP //14 + 4.785927e-04 8.168745e-05 1.293610e-05 7.426200e-08 -7.437102e-09 -5.643166e-06 + 5.665806e-05 -6.850542e-04 -4.293761e-04 1.088639e-04 2.595300e-04 2.413241e-04 + 1.768688e-04 1.146282e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.406283e-02 -2.118070e-04 1.141105e-05 1.842615e-06 -3.854321e-08 2.551613e-06 +-3.497730e-05 -1.174408e-06 1.991097e-04 1.706148e-04 1.091783e-04 6.577565e-05 + 3.815672e-05 2.173104e-05 +>TYI.EXP //14 + 9.912661e-04 3.332262e-05 -5.606460e-07 -1.690564e-06 -7.492036e-09 -5.785798e-07 + 9.466202e-06 -1.448827e-04 -7.713365e-05 3.736793e-05 5.482899e-05 4.451302e-05 + 3.050408e-05 1.913680e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1203.edi b/examples/data/NEConductor/par1203.edi new file mode 100644 index 00000000..9ee35834 --- /dev/null +++ b/examples/data/NEConductor/par1203.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1203" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1203" +REFLAT=-30:10:30.6475 +REFLONG=139:44:41.2576 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1203" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.596059e-04 -3.122053e-04 -4.247124e-06 -5.663620e-08 6.766947e-07 2.528023e-04 +-1.571346e-03 2.999116e-03 1.260613e-03 -1.087095e-03 -1.638897e-03 -1.358625e-03 +-9.039583e-04 -5.431348e-04 +>ZXXI ROT=ZROT //14 + 4.302292e-04 -1.332492e-04 2.273662e-06 2.646628e-07 -2.413163e-07 2.586239e-05 +-1.250634e-03 -1.158338e-03 2.146553e-03 1.477330e-03 3.011341e-04 -3.123590e-04 +-4.493846e-04 -3.705100e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866225e+02 1.241428e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.317054e+01 + 8.360131e+00 6.597520e+00 5.477890e+00 4.278742e+00 3.016116e+00 1.928400e+00 + 1.149022e+00 6.607162e-01 +>ZXYI ROT=ZROT //14 + 3.082410e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400291e+01 1.271820e+01 + 6.032727e+00 2.958686e+00 1.999217e+00 1.766166e+00 1.578520e+00 1.253961e+00 + 8.820363e-01 5.642104e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865441e+02 -1.241495e+02 -7.346979e+01 -4.197589e+01 -2.350537e+01 -1.317045e+01 +-8.361433e+00 -6.597558e+00 -5.471648e+00 -4.270393e+00 -3.009018e+00 -1.923459e+00 +-1.145960e+00 -6.589267e-01 +>ZYXI ROT=ZROT //14 +-3.082010e+02 -1.471587e+02 -7.805648e+01 -4.294173e+01 -2.400291e+01 -1.271822e+01 +-6.032503e+00 -2.963305e+00 -2.003655e+00 -1.766841e+00 -1.576832e+00 -1.251647e+00 +-8.800489e-01 -5.628167e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.623453e-03 -1.657733e-04 -2.442721e-06 -3.672354e-08 -1.751744e-06 -3.051334e-04 + 2.383542e-03 -3.395310e-03 -3.931471e-03 -2.016603e-03 -8.919494e-04 -3.735360e-04 +-1.614623e-04 -7.765170e-05 +>ZYYI ROT=ZROT //14 + 3.626934e-04 -4.939457e-05 -1.769939e-07 2.333540e-07 6.175308e-08 2.462931e-05 + 1.168943e-03 3.266987e-03 -7.374596e-04 -1.443815e-03 -1.006343e-03 -5.449740e-04 +-2.611160e-04 -1.201229e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-2.223511e-03 -7.005330e-04 -2.588507e-05 8.456125e-07 4.194959e-08 8.386592e-06 +-1.642089e-04 -3.100125e-05 9.181730e-04 9.406080e-04 6.704233e-04 4.248059e-04 + 2.517759e-04 1.444078e-04 +>TXI.EXP //14 + 6.430785e-04 8.851210e-05 1.219639e-05 -2.413447e-08 -1.785426e-08 -6.269450e-06 + 6.858820e-05 -6.769660e-04 -4.715056e-04 9.089292e-05 2.638478e-04 2.519942e-04 + 1.865085e-04 1.214081e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.404192e-02 -2.108833e-04 1.142504e-05 1.841635e-06 -4.017540e-08 1.407370e-06 +-1.653596e-05 -6.037209e-06 1.121689e-04 8.772394e-05 5.095694e-05 2.901901e-05 + 1.639753e-05 9.251879e-06 +>TYI.EXP //14 + 9.875821e-04 3.323217e-05 -5.632251e-07 -1.690854e-06 -1.005992e-08 -1.848667e-07 + 4.804751e-06 -7.816998e-05 -4.051824e-05 2.629362e-05 3.075974e-05 2.229435e-05 + 1.423912e-05 8.595077e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1204.edi b/examples/data/NEConductor/par1204.edi new file mode 100644 index 00000000..a34a7c6f --- /dev/null +++ b/examples/data/NEConductor/par1204.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1204" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1204" +REFLAT=-30:10:08.9692 +REFLONG=139:44:52.4286 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1204" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.643107e-03 -4.534758e-04 -1.687828e-06 -3.246029e-08 3.783481e-09 9.753834e-05 +-6.743628e-04 1.883154e-03 -8.235639e-04 -3.082169e-03 -3.134990e-03 -2.334367e-03 +-1.488851e-03 -8.800899e-04 +>ZXXI ROT=ZROT //14 + 4.644174e-04 -1.790780e-04 4.523128e-06 3.222345e-07 -2.871700e-07 -1.517377e-05 +-6.083144e-04 3.269919e-04 2.672607e-03 1.228673e-03 -2.589101e-04 -8.670263e-04 +-8.712827e-04 -6.493080e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866332e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317113e+01 + 8.357010e+00 6.602674e+00 5.484440e+00 4.284137e+00 3.019956e+00 1.930835e+00 + 1.150459e+00 6.615381e-01 +>ZXYI ROT=ZROT //14 + 3.082489e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400292e+01 1.271859e+01 + 6.029593e+00 2.954080e+00 1.998818e+00 1.767421e+00 1.580234e+00 1.255474e+00 + 8.831283e-01 5.649119e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865333e+02 -1.241533e+02 -7.347011e+01 -4.197589e+01 -2.350537e+01 -1.317106e+01 +-8.358099e+00 -6.603164e+00 -5.478436e+00 -4.275805e+00 -3.012820e+00 -1.925849e+00 +-1.147363e+00 -6.597275e-01 +>ZYXI ROT=ZROT //14 +-3.082052e+02 -1.471615e+02 -7.805654e+01 -4.294172e+01 -2.400292e+01 -1.271863e+01 +-6.029219e+00 -2.958456e+00 -2.003478e+00 -1.768233e+00 -1.578599e+00 -1.253169e+00 +-8.811322e-01 -5.635069e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.442763e-03 -1.858489e-04 -2.899023e-06 -9.202696e-08 -4.534941e-07 -1.251542e-04 + 1.324974e-03 -2.042766e-03 -1.662676e-03 7.428496e-05 6.541782e-04 6.260223e-04 + 4.345873e-04 2.648992e-04 +>ZYYI ROT=ZROT //14 + 6.782197e-04 -5.568613e-05 2.555119e-07 4.335954e-07 2.638554e-07 5.831623e-05 + 4.336215e-04 1.625940e-03 -1.201725e-03 -1.129584e-03 -3.994519e-04 3.779550e-05 + 1.755247e-04 1.659879e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-5.962440e-03 -7.572143e-04 -1.083213e-05 6.185351e-07 -9.233642e-10 3.138164e-06 +-9.670483e-05 -1.037087e-04 7.219892e-04 8.212762e-04 6.018721e-04 3.842449e-04 + 2.282387e-04 1.309976e-04 +>TXI.EXP //14 + 9.957241e-04 9.500093e-05 8.392321e-06 -8.324677e-08 -2.087530e-08 -4.997100e-06 + 7.046263e-05 -5.088435e-04 -4.623614e-04 3.562527e-05 2.184346e-04 2.210017e-04 + 1.666267e-04 1.093073e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.526623e-02 -2.918775e-04 1.065583e-05 1.882801e-06 -4.218221e-08 8.219536e-07 +-1.259751e-05 -1.648070e-05 1.065202e-04 1.007560e-04 6.527417e-05 3.928262e-05 + 2.274521e-05 1.294935e-05 +>TYI.EXP //14 + 1.150539e-03 4.426562e-05 -1.991591e-07 -1.685255e-06 -1.616687e-08 -5.020877e-07 + 7.146239e-06 -7.040049e-05 -5.591942e-05 1.696850e-05 3.119858e-05 2.617028e-05 + 1.809089e-05 1.139602e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1205.edi b/examples/data/NEConductor/par1205.edi new file mode 100644 index 00000000..d658c57e --- /dev/null +++ b/examples/data/NEConductor/par1205.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1205" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1205" +REFLAT=-30:09:52.9212 +REFLONG=139:44:58.0793 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1205" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.791875e-03 -4.678420e-04 1.497894e-07 -9.538841e-10 -1.177238e-07 6.463043e-05 +-4.943407e-04 1.593695e-03 -1.026068e-03 -3.156169e-03 -3.146317e-03 -2.324451e-03 +-1.477239e-03 -8.719497e-04 +>ZXXI ROT=ZROT //14 + 4.131657e-04 -1.808848e-04 5.444520e-06 3.067819e-07 -1.240637e-07 -1.747748e-05 +-4.510314e-04 4.698557e-04 2.576851e-03 1.131428e-03 -3.143671e-04 -8.882385e-04 +-8.750893e-04 -6.473928e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866329e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317130e+01 + 8.356052e+00 6.604090e+00 5.486295e+00 4.285664e+00 3.021039e+00 1.931519e+00 + 1.150862e+00 6.617684e-01 +>ZXYI ROT=ZROT //14 + 3.082484e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400292e+01 1.271865e+01 + 6.028836e+00 2.952715e+00 1.998690e+00 1.767774e+00 1.580720e+00 1.255902e+00 + 8.834361e-01 5.651092e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865311e+02 -1.241557e+02 -7.347024e+01 -4.197589e+01 -2.350537e+01 -1.317124e+01 +-8.357065e+00 -6.604834e+00 -5.480201e+00 -4.277014e+00 -3.013600e+00 -1.926312e+00 +-1.147626e+00 -6.598746e-01 +>ZYXI ROT=ZROT //14 +-3.082090e+02 -1.471631e+02 -7.805656e+01 -4.294172e+01 -2.400292e+01 -1.271869e+01 +-6.028378e+00 -2.957109e+00 -2.003655e+00 -1.768699e+00 -1.579050e+00 -1.253511e+00 +-8.813562e-01 -5.636423e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.531875e-03 -2.130666e-04 -2.452332e-06 -4.183388e-08 -2.108787e-07 -8.219295e-05 + 1.091619e-03 -1.635143e-03 -1.478536e-03 5.071957e-05 5.681478e-04 5.433492e-04 + 3.762385e-04 2.290173e-04 +>ZYYI ROT=ZROT //14 + 8.388262e-04 -6.250155e-05 7.365655e-07 5.138980e-07 1.694757e-07 5.905181e-05 + 2.239330e-04 1.488309e-03 -9.985032e-04 -9.892941e-04 -3.508090e-04 3.279385e-05 + 1.524697e-04 1.438351e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-7.842735e-03 -7.543704e-04 -1.132530e-06 3.770609e-07 -5.092952e-09 1.728959e-06 +-7.523468e-05 -1.270668e-04 6.583438e-04 7.883086e-04 5.848360e-04 3.744646e-04 + 2.225962e-04 1.277862e-04 +>TXI.EXP //14 + 1.177346e-03 9.341617e-05 5.381268e-06 -4.334032e-08 -1.584799e-08 -4.281455e-06 + 6.852972e-05 -4.519552e-04 -4.639485e-04 1.550175e-05 2.046956e-04 2.126294e-04 + 1.615637e-04 1.063140e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.523778e-02 -2.906632e-04 1.066391e-05 1.880658e-06 -4.390858e-08 4.974249e-07 +-5.977440e-06 -1.193172e-05 6.009895e-05 5.281261e-05 3.126893e-05 1.783385e-05 + 1.006458e-05 5.681290e-06 +>TYI.EXP //14 + 1.147151e-03 4.413158e-05 -2.043344e-07 -1.685213e-06 -1.504625e-08 -2.587647e-07 + 3.082448e-06 -3.662189e-05 -3.081245e-05 1.250705e-05 1.772941e-05 1.335701e-05 + 8.647859e-06 5.265033e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1206.edi b/examples/data/NEConductor/par1206.edi new file mode 100644 index 00000000..4b3a369e --- /dev/null +++ b/examples/data/NEConductor/par1206.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1206" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1206" +REFLAT=-30:09:34.0577 +REFLONG=139:45:06.4888 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1206" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.883754e-03 -4.781793e-04 2.035762e-06 3.096500e-08 -1.304636e-07 4.197349e-05 +-3.670850e-04 1.364532e-03 -1.085599e-03 -3.085389e-03 -3.046208e-03 -2.240557e-03 +-1.420825e-03 -8.378782e-04 +>ZXXI ROT=ZROT //14 + 3.764124e-04 -1.811838e-04 6.335015e-06 2.902975e-07 1.528707e-08 -1.677749e-05 +-3.339195e-04 5.126040e-04 2.433788e-03 1.046317e-03 -3.316507e-04 -8.693623e-04 +-8.475059e-04 -6.243967e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866328e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317142e+01 + 8.355288e+00 6.605195e+00 5.487648e+00 4.286713e+00 3.021761e+00 1.931966e+00 + 1.151122e+00 6.619160e-01 +>ZXYI ROT=ZROT //14 + 3.082478e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400292e+01 1.271867e+01 + 6.028299e+00 2.951686e+00 1.998670e+00 1.768066e+00 1.581072e+00 1.256197e+00 + 8.836417e-01 5.652384e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865323e+02 -1.241585e+02 -7.347032e+01 -4.197589e+01 -2.350537e+01 -1.317138e+01 +-8.356167e+00 -6.606185e+00 -5.481740e+00 -4.278081e+00 -3.014297e+00 -1.926729e+00 +-1.147864e+00 -6.600084e-01 +>ZYXI ROT=ZROT //14 +-3.082148e+02 -1.471649e+02 -7.805657e+01 -4.294172e+01 -2.400292e+01 -1.271872e+01 +-6.027791e+00 -2.955879e+00 -2.003767e+00 -1.769090e+00 -1.579441e+00 -1.253812e+00 +-8.815560e-01 -5.637640e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.220425e-03 -2.412339e-04 -1.973114e-06 -9.076033e-09 -7.493197e-08 -5.047486e-05 + 8.854765e-04 -1.285868e-03 -1.334248e-03 1.087978e-06 4.681366e-04 4.540438e-04 + 3.147642e-04 1.915556e-04 +>ZYYI ROT=ZROT //14 + 9.727028e-04 -7.006857e-05 1.136988e-06 5.841065e-07 7.284413e-08 5.381085e-05 + 7.270143e-05 1.363796e-03 -8.053741e-04 -8.633204e-04 -3.142000e-04 2.028417e-05 + 1.254172e-04 1.196760e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-9.703940e-03 -7.283500e-04 9.557497e-06 7.802869e-08 -5.444609e-09 7.030689e-07 +-5.579554e-05 -1.432994e-04 5.884320e-04 7.445831e-04 5.591162e-04 3.589187e-04 + 2.134740e-04 1.225646e-04 +>TXI.EXP //14 + 1.363889e-03 8.802964e-05 1.821211e-06 3.414437e-08 -1.057656e-08 -3.458845e-06 + 6.371548e-05 -3.913490e-04 -4.566461e-04 -3.106009e-06 1.887356e-04 2.013489e-04 + 1.541210e-04 1.017022e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.520417e-02 -2.892334e-04 1.066273e-05 1.877297e-06 -4.445985e-08 3.250473e-07 +-2.396102e-06 -6.354702e-06 2.770779e-05 1.765693e-05 6.184255e-06 2.028567e-06 + 7.309675e-07 3.344219e-07 +>TYI.EXP //14 + 1.143789e-03 4.396090e-05 -2.111451e-07 -1.684354e-06 -1.374241e-08 -1.152448e-07 + 1.214074e-07 -1.405016e-05 -1.101381e-05 1.002491e-05 8.022038e-06 3.965758e-06 + 1.705751e-06 7.547208e-07 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1207.edi b/examples/data/NEConductor/par1207.edi new file mode 100644 index 00000000..f35b6014 --- /dev/null +++ b/examples/data/NEConductor/par1207.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1207" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1207" +REFLAT=-30:09:20.8765 +REFLONG=139:45:14.8259 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1207" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.007091e-03 -6.041972e-04 5.003152e-06 5.980633e-08 9.660576e-08 2.042844e-05 +-2.143130e-04 1.200948e-03 -1.355816e-03 -3.360892e-03 -3.251595e-03 -2.372484e-03 +-1.499131e-03 -8.827814e-04 +>ZXXI ROT=ZROT //14 + 4.657404e-04 -2.188731e-04 8.482286e-06 3.521056e-07 -1.265117e-08 -1.156585e-05 +-2.475898e-04 6.968432e-04 2.513693e-03 1.017025e-03 -4.095717e-04 -9.461566e-04 +-9.050829e-04 -6.620357e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866454e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350538e+01 1.317154e+01 + 8.354530e+00 6.606348e+00 5.488695e+00 4.287280e+00 3.022062e+00 1.932116e+00 + 1.151197e+00 6.619553e-01 +>ZXYI ROT=ZROT //14 + 3.082566e+02 1.471577e+02 7.805612e+01 4.294172e+01 2.400292e+01 1.271867e+01 + 6.027825e+00 2.950820e+00 1.998943e+00 1.768425e+00 1.581337e+00 1.256358e+00 + 8.837296e-01 5.652843e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865388e+02 -1.241613e+02 -7.347036e+01 -4.197588e+01 -2.350537e+01 -1.317152e+01 +-8.355116e+00 -6.607445e+00 -5.483982e+00 -4.280044e+00 -3.015744e+00 -1.927667e+00 +-1.148424e+00 -6.603308e-01 +>ZYXI ROT=ZROT //14 +-3.082237e+02 -1.471667e+02 -7.805657e+01 -4.294172e+01 -2.400291e+01 -1.271871e+01 +-6.027372e+00 -2.954065e+00 -2.003387e+00 -1.769421e+00 -1.580016e+00 -1.254359e+00 +-8.819658e-01 -5.640329e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.292721e-03 -2.569958e-04 -2.990285e-06 -6.718529e-08 2.066788e-09 -2.158092e-05 + 5.712209e-04 -1.027681e-03 -5.663249e-04 8.180520e-04 1.108637e-03 8.824823e-04 + 5.751204e-04 3.424583e-04 +>ZYYI ROT=ZROT //14 + 7.583451e-04 -8.070870e-05 1.829341e-06 8.279084e-07 -4.476764e-08 3.711746e-05 + 1.294516e-05 7.701897e-04 -1.111410e-03 -8.232798e-04 -1.083216e-04 2.465108e-04 + 3.054267e-04 2.414595e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-1.154724e-02 -6.811398e-04 2.077366e-05 -2.397169e-07 -3.871275e-09 -8.493392e-08 +-3.298802e-05 -1.443275e-04 4.655154e-04 6.366831e-04 4.853536e-04 3.123822e-04 + 1.858615e-04 1.067087e-04 +>TXI.EXP //14 + 1.567050e-03 7.885615e-05 -2.054546e-06 1.334994e-07 -5.080437e-09 -2.284375e-06 + 5.118434e-05 -2.940886e-04 -4.100087e-04 -2.221840e-05 1.564981e-04 1.727819e-04 + 1.333966e-04 8.829900e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.635033e-02 -3.608749e-04 9.745172e-06 1.814486e-06 -4.466311e-08 1.871907e-07 +-3.937257e-06 -1.606249e-05 5.348087e-05 6.013313e-05 4.052576e-05 2.461743e-05 + 1.428079e-05 8.140150e-06 +>TYI.EXP //14 + 1.314379e-03 5.376891e-05 1.621045e-08 -1.635133e-06 -1.204686e-08 -2.794062e-07 + 3.764328e-06 -3.004067e-05 -3.955268e-05 5.227537e-06 1.738609e-05 1.569533e-05 + 1.112917e-05 7.100064e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1208.edi b/examples/data/NEConductor/par1208.edi new file mode 100644 index 00000000..ff147c30 --- /dev/null +++ b/examples/data/NEConductor/par1208.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1208" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1208" +REFLAT=-30:09:00.1271 +REFLONG=139:45:24.1652 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1208" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.173666e-03 -6.076529e-04 7.278704e-06 1.034461e-07 7.558042e-08 1.296671e-05 +-1.665288e-04 1.062726e-03 -1.230035e-03 -3.112385e-03 -3.018968e-03 -2.202315e-03 +-1.391018e-03 -8.189255e-04 +>ZXXI ROT=ZROT //14 + 4.693815e-04 -2.159154e-04 9.463170e-06 3.286215e-07 -2.386386e-08 -9.181244e-06 +-1.899224e-04 6.110599e-04 2.320124e-03 9.541484e-04 -3.769049e-04 -8.780779e-04 +-8.401538e-04 -6.143803e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866455e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350538e+01 1.317159e+01 + 8.354095e+00 6.606946e+00 5.489357e+00 4.287717e+00 3.022334e+00 1.932273e+00 + 1.151284e+00 6.620037e-01 +>ZXYI ROT=ZROT //14 + 3.082556e+02 1.471577e+02 7.805611e+01 4.294172e+01 2.400292e+01 1.271866e+01 + 6.027619e+00 2.950264e+00 1.999013e+00 1.768606e+00 1.581506e+00 1.256482e+00 + 8.838078e-01 5.653303e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865613e+02 -1.241641e+02 -7.347033e+01 -4.197588e+01 -2.350537e+01 -1.317158e+01 +-8.354566e+00 -6.608184e+00 -5.484941e+00 -4.280673e+00 -3.016142e+00 -1.927902e+00 +-1.148557e+00 -6.604053e-01 +>ZYXI ROT=ZROT //14 +-3.082371e+02 -1.471685e+02 -7.805655e+01 -4.294173e+01 -2.400291e+01 -1.271869e+01 +-6.027168e+00 -2.953226e+00 -2.003456e+00 -1.769673e+00 -1.580253e+00 -1.254535e+00 +-8.820805e-01 -5.641019e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.119256e-03 -2.710472e-04 -2.771245e-06 -7.565909e-08 -2.319780e-09 -9.974067e-06 + 4.567490e-04 -8.088442e-04 -5.711366e-04 6.464939e-04 9.251963e-04 7.421847e-04 + 4.842464e-04 2.883635e-04 +>ZYYI ROT=ZROT //14 + 4.992564e-04 -8.802460e-05 1.932958e-06 8.775125e-07 -9.106988e-08 2.986097e-05 +-4.986943e-05 7.419887e-04 -9.115032e-04 -7.291926e-04 -1.127355e-04 1.997461e-04 + 2.547316e-04 2.025636e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-1.323684e-02 -6.073115e-04 3.174203e-05 -5.261525e-07 -2.613841e-09 -3.948072e-07 +-2.209889e-05 -1.468421e-04 4.079633e-04 5.949498e-04 4.590751e-04 2.960773e-04 + 1.762040e-04 1.011626e-04 +>TXI.EXP //14 + 1.756512e-03 6.577942e-05 -5.968539e-06 2.166781e-07 -3.346848e-09 -1.683823e-06 + 4.473404e-05 -2.466859e-04 -3.956051e-04 -3.491619e-05 1.427247e-04 1.619933e-04 + 1.259023e-04 8.353490e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.630853e-02 -3.590525e-04 9.732280e-06 1.809713e-06 -4.441644e-08 1.202640e-07 +-2.132599e-06 -1.004549e-05 3.068721e-05 3.307924e-05 2.083296e-05 1.214816e-05 + 6.907214e-06 3.914230e-06 +>TYI.EXP //14 + 1.311205e-03 5.354572e-05 7.207940e-09 -1.633309e-06 -1.148142e-08 -1.719059e-07 + 1.599289e-06 -1.521049e-05 -2.296231e-05 4.424463e-06 1.020840e-05 8.447974e-06 + 5.700565e-06 3.552314e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1209.edi b/examples/data/NEConductor/par1209.edi new file mode 100644 index 00000000..8eab4e50 --- /dev/null +++ b/examples/data/NEConductor/par1209.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1209" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1209" +REFLAT=-30:08:36.5535 +REFLONG=139:45:35.3543 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1209" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.787404e-03 -7.361367e-04 1.166849e-05 1.615557e-07 9.224801e-08 6.330577e-06 +-1.078124e-04 9.696227e-04 -1.220141e-03 -3.079118e-03 -2.980110e-03 -2.169893e-03 +-1.369116e-03 -8.056624e-04 +>ZXXI ROT=ZROT //14 + 6.487700e-04 -2.476424e-04 1.221223e-05 3.874028e-07 -4.709397e-08 -5.264166e-06 +-1.472981e-04 5.960034e-04 2.271863e-03 9.341151e-04 -3.793039e-04 -8.696298e-04 +-8.291464e-04 -6.053546e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866600e+02 1.241469e+02 7.346936e+01 4.197589e+01 2.350538e+01 1.317164e+01 + 8.353659e+00 6.607613e+00 5.489833e+00 4.287806e+00 3.022293e+00 1.932207e+00 + 1.151232e+00 6.619702e-01 +>ZXYI ROT=ZROT //14 + 3.082652e+02 1.471583e+02 7.805610e+01 4.294172e+01 2.400291e+01 1.271864e+01 + 6.027442e+00 2.949794e+00 1.999318e+00 1.768856e+00 1.581619e+00 1.256509e+00 + 8.837988e-01 5.653139e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866234e+02 -1.241672e+02 -7.347015e+01 -4.197589e+01 -2.350537e+01 -1.317164e+01 +-8.353947e+00 -6.608811e+00 -5.486389e+00 -4.281961e+00 -3.017099e+00 -1.928527e+00 +-1.148932e+00 -6.606212e-01 +>ZYXI ROT=ZROT //14 +-3.082608e+02 -1.471701e+02 -7.805650e+01 -4.294173e+01 -2.400291e+01 -1.271866e+01 +-6.027075e+00 -2.952001e+00 -2.003138e+00 -1.769867e+00 -1.580620e+00 -1.254892e+00 +-8.823512e-01 -5.642806e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.563968e-03 -2.376513e-04 -4.058808e-06 -1.914331e-07 -4.175754e-08 -1.467045e-06 + 2.933354e-04 -6.868740e-04 -1.790102e-04 1.070831e-03 1.258720e-03 9.653545e-04 + 6.198941e-04 3.669953e-04 +>ZYYI ROT=ZROT //14 +-1.127484e-04 -8.456403e-05 2.208808e-06 1.061342e-06 -1.306850e-07 1.810932e-05 +-5.054678e-05 4.284745e-04 -1.076866e-03 -7.123250e-04 -6.798733e-06 3.171536e-04 + 3.483580e-04 2.659642e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 +-1.469118e-02 -5.147969e-04 4.161151e-05 -6.961782e-07 -3.323449e-10 -5.241724e-07 +-1.082772e-05 -1.353206e-04 3.170813e-04 5.076896e-04 3.980841e-04 2.573239e-04 + 1.531503e-04 8.791258e-05 +>TXI.EXP //14 + 1.948982e-03 4.980989e-05 -9.433309e-06 2.365833e-07 -5.184723e-09 -9.858379e-07 + 3.384943e-05 -1.788392e-04 -3.505776e-04 -4.589220e-05 1.179147e-04 1.389165e-04 + 1.088590e-04 7.242443e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.733132e-02 -4.191104e-04 8.657703e-06 1.645863e-06 -4.226894e-08 2.157578e-08 +-1.968950e-06 -1.677739e-05 4.169772e-05 5.811045e-05 4.204980e-05 2.620551e-05 + 1.534505e-05 8.774285e-06 +>TYI.EXP //14 + 1.485154e-03 6.179506e-05 9.759280e-08 -1.534562e-06 -1.006298e-08 -1.842019e-07 + 3.249369e-06 -2.080816e-05 -4.125151e-05 -6.556766e-07 1.516465e-05 1.547409e-05 + 1.148288e-05 7.475455e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1210.edi b/examples/data/NEConductor/par1210.edi new file mode 100644 index 00000000..7e81b11a --- /dev/null +++ b/examples/data/NEConductor/par1210.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1210" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1210" +REFLAT=-30:14:22.6537 +REFLONG=139:42:58.3589 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1210" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.487248e-03 7.825290e-05 5.987908e-06 7.988783e-08 -8.479703e-07 6.393329e-05 +-9.492476e-04 1.762269e-03 3.417113e-04 -1.621305e-03 -1.950728e-03 -1.533230e-03 +-9.996881e-04 -5.960391e-04 +>ZXXI ROT=ZROT //14 +-9.957553e-04 1.612960e-05 9.638330e-08 -1.831787e-07 -5.267649e-07 -6.752714e-05 +-2.835766e-04 -6.436837e-04 1.872236e-03 1.167037e-03 6.840012e-05 -4.650856e-04 +-5.410805e-04 -4.229366e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865797e+02 1.241399e+02 7.346933e+01 4.197590e+01 2.350537e+01 1.317102e+01 + 8.358088e+00 6.601212e+00 5.482114e+00 4.282217e+00 3.018583e+00 1.929960e+00 + 1.149941e+00 6.612414e-01 +>ZXYI ROT=ZROT //14 + 3.082009e+02 1.471553e+02 7.805623e+01 4.294175e+01 2.400291e+01 1.271855e+01 + 6.030092e+00 2.955968e+00 1.999066e+00 1.767009e+00 1.579637e+00 1.254939e+00 + 8.827386e-01 5.646603e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866682e+02 -1.241532e+02 -7.346948e+01 -4.197588e+01 -2.350537e+01 -1.317095e+01 +-8.358988e+00 -6.601852e+00 -5.476390e+00 -4.274055e+00 -3.011521e+00 -1.925001e+00 +-1.146855e+00 -6.594343e-01 +>ZYXI ROT=ZROT //14 +-3.082709e+02 -1.471590e+02 -7.805620e+01 -4.294172e+01 -2.400292e+01 -1.271855e+01 +-6.029800e+00 -2.960059e+00 -2.003721e+00 -1.767916e+00 -1.578083e+00 -1.252679e+00 +-8.807630e-01 -5.632637e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.139602e-03 -1.144007e-04 -2.063238e-06 3.584763e-07 -2.166638e-07 -7.914424e-05 + 1.243198e-03 -1.686651e-03 -1.884379e-03 -3.796590e-04 2.331641e-04 3.202358e-04 + 2.409122e-04 1.506222e-04 +>ZYYI ROT=ZROT //14 + 3.419192e-04 -4.104833e-05 -1.914047e-07 -3.517238e-08 3.684999e-07 8.104959e-05 + 1.597724e-04 1.825734e-03 -8.100700e-04 -1.006710e-03 -4.586360e-04 -8.556774e-05 + 5.859711e-05 8.046548e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.880199e-02 2.672989e-04 -3.239149e-05 -5.249622e-07 -6.829281e-09 -4.785255e-06 + 1.218333e-04 8.884327e-05 -8.322713e-04 -8.919816e-04 -6.407095e-04 -4.061088e-04 +-2.405281e-04 -1.379948e-04 +>TXI.EXP //14 +-1.413698e-03 -4.744996e-05 8.709139e-07 1.025551e-06 1.580005e-08 5.556552e-06 +-7.560414e-05 5.971550e-04 4.802769e-04 -6.614720e-05 -2.454471e-04 -2.389885e-04 +-1.777393e-04 -1.158859e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.960301e-03 2.862088e-04 1.347296e-05 4.633077e-07 -2.844329e-08 -1.408537e-06 + 1.872998e-05 -1.685713e-06 -9.893455e-05 -7.580391e-05 -4.375292e-05 -2.506877e-05 +-1.426168e-05 -8.035636e-06 +>TYI.EXP //14 + 2.168873e-04 -3.237756e-05 -3.536146e-06 -1.270229e-06 -2.055856e-08 5.799359e-07 +-3.796366e-06 7.078229e-05 3.238847e-05 -2.404711e-05 -2.679736e-05 -1.920131e-05 +-1.226450e-05 -7.327493e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1211.edi b/examples/data/NEConductor/par1211.edi new file mode 100644 index 00000000..696c4861 --- /dev/null +++ b/examples/data/NEConductor/par1211.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1211" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1211" +REFLAT=-30:14:35.841 +REFLONG=139:42:50.9179 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1211" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.025625e-03 5.108443e-05 1.093976e-05 1.685322e-07 -3.606850e-07 2.278938e-05 +-6.040795e-04 1.466085e-03 -4.489974e-04 -2.467656e-03 -2.608232e-03 -1.968514e-03 +-1.262426e-03 -7.478367e-04 +>ZXXI ROT=ZROT //14 +-1.254824e-03 9.672465e-06 1.446132e-06 -2.645065e-07 -2.836750e-07 -4.909358e-05 +-1.596073e-04 -6.331298e-05 2.185455e-03 1.121105e-03 -1.497202e-04 -7.001634e-04 +-7.255697e-04 -5.466624e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865728e+02 1.241401e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317127e+01 + 8.356688e+00 6.603498e+00 5.484569e+00 4.283981e+00 3.019752e+00 1.930668e+00 + 1.150348e+00 6.614712e-01 +>ZXYI ROT=ZROT //14 + 3.081913e+02 1.471554e+02 7.805625e+01 4.294175e+01 2.400291e+01 1.271866e+01 + 6.028841e+00 2.954171e+00 1.999231e+00 1.767620e+00 1.580271e+00 1.255435e+00 + 8.830733e-01 5.648665e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866909e+02 -1.241547e+02 -7.346951e+01 -4.197588e+01 -2.350537e+01 -1.317122e+01 +-8.357294e+00 -6.604380e+00 -5.479877e+00 -4.276970e+00 -3.013631e+00 -1.926354e+00 +-1.147658e+00 -6.598954e-01 +>ZYXI ROT=ZROT //14 +-3.082854e+02 -1.471599e+02 -7.805617e+01 -4.294172e+01 -2.400292e+01 -1.271867e+01 +-6.028512e+00 -2.957443e+00 -2.003417e+00 -1.768533e+00 -1.578982e+00 -1.253496e+00 +-8.813625e-01 -5.636528e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.486146e-03 -8.911324e-05 -1.770930e-06 4.073545e-07 3.201649e-08 -2.907579e-05 + 7.937164e-04 -1.310198e-03 -7.668183e-04 8.169700e-04 1.176251e-03 9.529409e-04 + 6.259105e-04 3.738841e-04 +>ZYYI ROT=ZROT //14 + 3.706414e-04 -3.187326e-05 -5.263389e-08 -6.469578e-08 1.566209e-07 6.003816e-05 + 3.616183e-05 9.773668e-04 -1.260114e-03 -9.537164e-04 -1.598867e-04 2.461371e-04 + 3.237370e-04 2.602428e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.968420e-02 2.869254e-04 -3.323060e-05 -3.178908e-07 1.537496e-08 -2.242148e-06 + 8.113220e-05 1.185248e-04 -6.813072e-04 -7.768324e-04 -5.660941e-04 -3.600252e-04 +-2.134090e-04 -1.224694e-04 +>TXI.EXP //14 +-1.557489e-03 -4.994174e-05 1.748508e-06 8.327733e-07 1.611839e-08 4.324772e-06 +-6.861200e-05 4.721249e-04 4.466833e-04 -3.450956e-05 -2.076745e-04 -2.085707e-04 +-1.565818e-04 -1.024768e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.294093e-03 3.931437e-04 1.332038e-05 6.263577e-08 -2.174322e-08 -1.038295e-06 + 2.097527e-05 1.510762e-05 -1.449670e-04 -1.401487e-04 -9.367081e-05 -5.755433e-05 +-3.368888e-05 -1.921745e-05 +>TYI.EXP //14 + 4.692515e-05 -4.608344e-05 -4.090937e-06 -1.106633e-06 -1.424977e-08 1.002693e-06 +-1.126249e-05 1.007651e-04 7.458009e-05 -2.069186e-05 -4.207004e-05 -3.670785e-05 +-2.600471e-05 -1.650047e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1212.edi b/examples/data/NEConductor/par1212.edi new file mode 100644 index 00000000..dd97fc3b --- /dev/null +++ b/examples/data/NEConductor/par1212.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1212" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1212" +REFLAT=-30:14:50.9311 +REFLONG=139:42:44.3602 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1212" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.211153e-03 3.894942e-05 1.121485e-05 1.756177e-07 -3.294779e-07 9.703750e-06 +-4.854054e-04 1.281912e-03 -4.737449e-04 -2.376206e-03 -2.497043e-03 -1.879262e-03 +-1.203431e-03 -7.124414e-04 +>ZXXI ROT=ZROT //14 +-1.094417e-03 6.008301e-06 1.293642e-06 -2.706680e-07 -1.171325e-07 -3.767572e-05 +-8.912077e-05 -3.583848e-05 2.052607e-03 1.048423e-03 -1.572885e-04 -6.753008e-04 +-6.947796e-04 -5.220364e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865752e+02 1.241401e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317140e+01 + 8.355841e+00 6.604715e+00 5.486108e+00 4.285208e+00 3.020613e+00 1.931209e+00 + 1.150666e+00 6.616525e-01 +>ZXYI ROT=ZROT //14 + 3.081859e+02 1.471554e+02 7.805625e+01 4.294175e+01 2.400291e+01 1.271869e+01 + 6.028251e+00 2.953003e+00 1.999169e+00 1.767930e+00 1.580670e+00 1.255780e+00 + 8.833186e-01 5.650227e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.867201e+02 -1.241561e+02 -7.346948e+01 -4.197588e+01 -2.350537e+01 -1.317136e+01 +-8.356365e+00 -6.605820e+00 -5.481435e+00 -4.278008e+00 -3.014293e+00 -1.926746e+00 +-1.147881e+00 -6.600200e-01 +>ZYXI ROT=ZROT //14 +-3.083026e+02 -1.471607e+02 -7.805613e+01 -4.294172e+01 -2.400292e+01 -1.271870e+01 +-6.027878e+00 -2.956196e+00 -2.003589e+00 -1.768952e+00 -1.579374e+00 -1.253788e+00 +-8.815533e-01 -5.637678e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-8.201644e-03 -8.942084e-05 -1.838203e-06 4.368114e-07 3.910741e-08 -1.329810e-05 + 6.468410e-04 -1.060918e-03 -7.363938e-04 6.677101e-04 1.003587e-03 8.174430e-04 + 5.372259e-04 3.208822e-04 +>ZYYI ROT=ZROT //14 + 3.638027e-04 -3.252149e-05 8.751433e-08 -6.284936e-08 6.151078e-08 4.799865e-05 +-4.447454e-05 9.273541e-04 -1.058803e-03 -8.475013e-04 -1.541351e-04 2.053619e-04 + 2.760899e-04 2.228268e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 2.033302e-02 2.941990e-04 -3.370641e-05 -1.248659e-07 1.999713e-08 -1.073940e-06 + 6.092523e-05 1.383184e-04 -6.144324e-04 -7.397222e-04 -5.459967e-04 -3.483071e-04 +-2.066228e-04 -1.186030e-04 +>TXI.EXP //14 +-1.696930e-03 -4.997383e-05 2.885376e-06 6.060492e-07 1.132562e-08 3.581971e-06 +-6.490306e-05 4.127028e-04 4.450091e-04 -1.454748e-05 -1.929105e-04 -1.990976e-04 +-1.506829e-04 -9.893482e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.339109e-03 3.928106e-04 1.332022e-05 6.696472e-08 -1.917057e-08 -6.117589e-07 + 1.337238e-05 1.236126e-05 -9.817380e-05 -9.376770e-05 -6.144939e-05 -3.740138e-05 +-2.181284e-05 -1.241927e-05 +>TYI.EXP //14 + 5.512042e-05 -4.607442e-05 -4.094652e-06 -1.110581e-06 -1.519578e-08 7.175527e-07 +-7.744184e-06 6.666114e-05 5.116338e-05 -1.511840e-05 -2.863834e-05 -2.437316e-05 +-1.704534e-05 -1.072517e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1213.edi b/examples/data/NEConductor/par1213.edi new file mode 100644 index 00000000..51c814b1 --- /dev/null +++ b/examples/data/NEConductor/par1213.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1213" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1213" +REFLAT=-30:15:03.18 +REFLONG=139:42:37.8391 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1213" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.211153e-03 3.894942e-05 1.121485e-05 1.756177e-07 -3.294779e-07 9.703750e-06 +-4.854054e-04 1.281912e-03 -4.737449e-04 -2.376206e-03 -2.497043e-03 -1.879262e-03 +-1.203431e-03 -7.124414e-04 +>ZXXI ROT=ZROT //14 +-1.094417e-03 6.008301e-06 1.293642e-06 -2.706680e-07 -1.171325e-07 -3.767572e-05 +-8.912077e-05 -3.583848e-05 2.052607e-03 1.048423e-03 -1.572885e-04 -6.753008e-04 +-6.947796e-04 -5.220364e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865752e+02 1.241401e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.317140e+01 + 8.355841e+00 6.604715e+00 5.486108e+00 4.285208e+00 3.020613e+00 1.931209e+00 + 1.150666e+00 6.616525e-01 +>ZXYI ROT=ZROT //14 + 3.081859e+02 1.471554e+02 7.805625e+01 4.294175e+01 2.400291e+01 1.271869e+01 + 6.028251e+00 2.953003e+00 1.999169e+00 1.767930e+00 1.580670e+00 1.255780e+00 + 8.833186e-01 5.650227e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.867201e+02 -1.241561e+02 -7.346948e+01 -4.197588e+01 -2.350537e+01 -1.317136e+01 +-8.356365e+00 -6.605820e+00 -5.481435e+00 -4.278008e+00 -3.014293e+00 -1.926746e+00 +-1.147881e+00 -6.600200e-01 +>ZYXI ROT=ZROT //14 +-3.083026e+02 -1.471607e+02 -7.805613e+01 -4.294172e+01 -2.400292e+01 -1.271870e+01 +-6.027878e+00 -2.956196e+00 -2.003589e+00 -1.768952e+00 -1.579374e+00 -1.253788e+00 +-8.815533e-01 -5.637678e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-8.201644e-03 -8.942084e-05 -1.838203e-06 4.368114e-07 3.910741e-08 -1.329810e-05 + 6.468410e-04 -1.060918e-03 -7.363938e-04 6.677101e-04 1.003587e-03 8.174430e-04 + 5.372259e-04 3.208822e-04 +>ZYYI ROT=ZROT //14 + 3.638027e-04 -3.252149e-05 8.751433e-08 -6.284936e-08 6.151078e-08 4.799865e-05 +-4.447454e-05 9.273541e-04 -1.058803e-03 -8.475013e-04 -1.541351e-04 2.053619e-04 + 2.760899e-04 2.228268e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 2.033302e-02 2.941990e-04 -3.370641e-05 -1.248659e-07 1.999713e-08 -1.073940e-06 + 6.092523e-05 1.383184e-04 -6.144324e-04 -7.397222e-04 -5.459967e-04 -3.483071e-04 +-2.066228e-04 -1.186030e-04 +>TXI.EXP //14 +-1.696930e-03 -4.997383e-05 2.885376e-06 6.060492e-07 1.132562e-08 3.581971e-06 +-6.490306e-05 4.127028e-04 4.450091e-04 -1.454748e-05 -1.929105e-04 -1.990976e-04 +-1.506829e-04 -9.893482e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.339109e-03 3.928106e-04 1.332022e-05 6.696472e-08 -1.917057e-08 -6.117589e-07 + 1.337238e-05 1.236126e-05 -9.817380e-05 -9.376770e-05 -6.144939e-05 -3.740138e-05 +-2.181284e-05 -1.241927e-05 +>TYI.EXP //14 + 5.512042e-05 -4.607442e-05 -4.094652e-06 -1.110581e-06 -1.519578e-08 7.175527e-07 +-7.744184e-06 6.666114e-05 5.116338e-05 -1.511840e-05 -2.863834e-05 -2.437316e-05 +-1.704534e-05 -1.072517e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1214.edi b/examples/data/NEConductor/par1214.edi new file mode 100644 index 00000000..3f990415 --- /dev/null +++ b/examples/data/NEConductor/par1214.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1214" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1214" +REFLAT=-30:15:16.3847 +REFLONG=139:42:32.2138 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1214" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.272135e-02 -1.649417e-05 1.614074e-05 2.756346e-07 -8.947828e-08 -2.184669e-06 +-3.242588e-04 1.139244e-03 -7.349873e-04 -2.643770e-03 -2.694755e-03 -2.004982e-03 +-1.277523e-03 -7.547825e-04 +>ZXXI ROT=ZROT //14 +-1.224273e-03 -5.138494e-06 3.101019e-06 -3.317653e-07 2.302157e-08 -2.294485e-05 +-4.589245e-05 1.549300e-04 2.137234e-03 1.020613e-03 -2.336473e-04 -7.498521e-04 +-7.500658e-04 -5.578861e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865651e+02 1.241406e+02 7.346935e+01 4.197590e+01 2.350538e+01 1.317153e+01 + 8.354954e+00 6.606054e+00 5.487363e+00 4.285922e+00 3.021013e+00 1.931421e+00 + 1.150777e+00 6.617124e-01 +>ZXYI ROT=ZROT //14 + 3.081825e+02 1.471556e+02 7.805626e+01 4.294175e+01 2.400291e+01 1.271869e+01 + 6.027708e+00 2.951967e+00 1.999457e+00 1.768338e+00 1.580985e+00 1.255983e+00 + 8.834351e-01 5.650865e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.867580e+02 -1.241573e+02 -7.346940e+01 -4.197588e+01 -2.350538e+01 -1.317151e+01 +-8.355261e+00 -6.607215e+00 -5.483705e+00 -4.279936e+00 -3.015702e+00 -1.927656e+00 +-1.148423e+00 -6.603316e-01 +>ZYXI ROT=ZROT //14 +-3.083230e+02 -1.471613e+02 -7.805607e+01 -4.294172e+01 -2.400292e+01 -1.271871e+01 +-6.027384e+00 -2.954360e+00 -2.003291e+00 -1.769318e+00 -1.579952e+00 -1.254327e+00 +-8.819532e-01 -5.640289e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-8.458289e-03 -5.703696e-05 -1.769165e-06 4.511473e-07 2.788819e-08 1.814619e-06 + 4.162071e-04 -8.955334e-04 -1.877712e-04 1.264219e-03 1.474328e-03 1.133482e-03 + 7.296629e-04 4.325204e-04 +>ZYYI ROT=ZROT //14 + 3.677435e-04 -2.058378e-05 2.553917e-07 -5.844668e-08 -1.084103e-08 2.951691e-05 +-6.429803e-05 5.007343e-04 -1.294926e-03 -8.260380e-04 -6.662181e-06 3.703432e-04 + 4.082985e-04 3.125895e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 2.080105e-02 2.900146e-04 -3.352362e-05 8.185433e-09 2.239166e-08 -9.718105e-08 + 3.600022e-05 1.430403e-04 -4.869681e-04 -6.332266e-04 -4.749279e-04 -3.039313e-04 +-1.804005e-04 -1.035681e-04 +>TXI.EXP //14 +-1.839327e-03 -4.738206e-05 4.092925e-06 3.794160e-07 5.080628e-09 2.399602e-06 +-5.266438e-05 3.105998e-04 4.021527e-04 7.886834e-06 -1.599559e-04 -1.710184e-04 +-1.306738e-04 -8.610583e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.608870e-03 4.973841e-04 1.287898e-05 -3.247096e-07 -1.055156e-08 -2.794680e-07 + 1.120154e-05 2.548534e-05 -1.130926e-04 -1.268826e-04 -8.910648e-05 -5.568969e-05 +-3.279227e-05 -1.874597e-05 +>TYI.EXP //14 +-1.200538e-04 -5.939391e-05 -4.532923e-06 -9.262147e-07 -1.460392e-08 7.189784e-07 +-1.074729e-05 7.304396e-05 7.706502e-05 -8.661664e-06 -3.523542e-05 -3.355457e-05 +-2.457946e-05 -1.583898e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1215_0.edi b/examples/data/NEConductor/par1215_0.edi new file mode 100644 index 00000000..aada323d --- /dev/null +++ b/examples/data/NEConductor/par1215_0.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1215_0" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1215_0" +REFLAT=-30:15:29.5894 +REFLONG=139:42:26.5881 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1215_0" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.259023e-02 -4.141474e-05 1.574369e-05 2.703362e-07 -3.222517e-08 -4.693645e-06 +-2.645946e-04 1.007839e-03 -6.340395e-04 -2.425874e-03 -2.488040e-03 -1.853205e-03 +-1.180969e-03 -6.977283e-04 +>ZXXI ROT=ZROT //14 +-1.250432e-03 -5.681135e-06 3.266861e-06 -2.969182e-07 2.698479e-08 -1.607713e-05 +-1.166329e-05 9.583250e-05 1.962056e-03 9.600088e-04 -2.068527e-04 -6.900288e-04 +-6.924216e-04 -5.154296e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865625e+02 1.241405e+02 7.346935e+01 4.197590e+01 2.350537e+01 1.317159e+01 + 8.354446e+00 6.606726e+00 5.488183e+00 4.286516e+00 3.021409e+00 1.931662e+00 + 1.150915e+00 6.617905e-01 +>ZXYI ROT=ZROT //14 + 3.081867e+02 1.471556e+02 7.805627e+01 4.294175e+01 2.400291e+01 1.271868e+01 + 6.027486e+00 2.951283e+00 1.999481e+00 1.768532e+00 1.581195e+00 1.256150e+00 + 8.835483e-01 5.651565e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.868078e+02 -1.241580e+02 -7.346928e+01 -4.197589e+01 -2.350538e+01 -1.317158e+01 +-8.354684e+00 -6.608010e+00 -5.484689e+00 -4.280561e+00 -3.016091e+00 -1.927883e+00 +-1.148550e+00 -6.604028e-01 +>ZYXI ROT=ZROT //14 +-3.083477e+02 -1.471617e+02 -7.805603e+01 -4.294172e+01 -2.400291e+01 -1.271869e+01 +-6.027167e+00 -2.953490e+00 -2.003391e+00 -1.769587e+00 -1.580194e+00 -1.254502e+00 +-8.820655e-01 -5.640957e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-9.116338e-03 -7.340888e-05 -2.795640e-06 4.222275e-07 -6.201442e-09 5.331945e-06 + 3.350755e-04 -7.259541e-04 -2.515961e-04 1.038654e-03 1.250552e-03 9.672436e-04 + 6.234274e-04 3.696347e-04 +>ZYYI ROT=ZROT //14 + 2.678425e-04 -2.852013e-05 3.603174e-07 3.872215e-08 -3.728285e-08 2.156064e-05 +-9.566601e-05 5.135647e-04 -1.088160e-03 -7.406698e-04 -2.710395e-05 3.082235e-04 + 3.461920e-04 2.662738e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 2.090167e-02 2.773996e-04 -3.197530e-05 4.763420e-08 2.182868e-08 2.764528e-07 + 2.445578e-05 1.474581e-04 -4.291512e-04 -5.946338e-04 -4.518197e-04 -2.898861e-04 +-1.721434e-04 -9.883833e-05 +>TXI.EXP //14 +-1.970194e-03 -4.221941e-05 5.026768e-06 1.821116e-07 2.097716e-09 1.799230e-06 +-4.639033e-05 2.621008e-04 3.910065e-04 2.219237e-05 -1.464500e-04 -1.611313e-04 +-1.240434e-04 -8.196301e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.659258e-03 4.972076e-04 1.288115e-05 -3.196131e-07 -1.031748e-08 -1.284948e-07 + 7.137101e-06 2.019302e-05 -7.980821e-05 -9.107394e-05 -6.366266e-05 -3.966470e-05 +-2.332710e-05 -1.332367e-05 +>TYI.EXP //14 +-1.112841e-04 -5.940213e-05 -4.537852e-06 -9.310708e-07 -1.566097e-08 4.952167e-07 +-7.574153e-06 4.983120e-05 5.697436e-05 -5.919129e-06 -2.530056e-05 -2.400729e-05 +-1.753315e-05 -1.126661e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1215_1.edi b/examples/data/NEConductor/par1215_1.edi new file mode 100644 index 00000000..3d758f70 --- /dev/null +++ b/examples/data/NEConductor/par1215_1.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1215_1" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1215_1" +REFLAT=-30:15:43.741 +REFLONG=139:42:20.9495 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1215_1" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.216764e-02 -6.548975e-05 1.500474e-05 2.487666e-07 -3.060317e-09 -5.591192e-06 +-2.143797e-04 8.843617e-04 -5.259523e-04 -2.201281e-03 -2.277253e-03 -1.699189e-03 +-1.083200e-03 -6.400045e-04 +>ZXXI ROT=ZROT //14 +-1.600697e-03 -6.125293e-06 3.509448e-06 -2.465770e-07 1.197845e-08 -1.082013e-05 + 1.361254e-05 3.566088e-05 1.785542e-03 9.012536e-04 -1.776039e-04 -6.283883e-04 +-6.336488e-04 -4.723192e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865576e+02 1.241404e+02 7.346936e+01 4.197590e+01 2.350538e+01 1.317163e+01 + 8.354038e+00 6.607264e+00 5.488801e+00 4.286919e+00 3.021661e+00 1.931808e+00 + 1.150996e+00 6.618358e-01 +>ZXYI ROT=ZROT //14 + 3.081955e+02 1.471556e+02 7.805627e+01 4.294175e+01 2.400291e+01 1.271866e+01 + 6.027346e+00 2.950740e+00 1.999544e+00 1.768699e+00 1.581350e+00 1.256263e+00 + 8.836207e-01 5.651993e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.868748e+02 -1.241578e+02 -7.346912e+01 -4.197589e+01 -2.350538e+01 -1.317162e+01 +-8.354208e+00 -6.608626e+00 -5.485553e+00 -4.281123e+00 -3.016447e+00 -1.928094e+00 +-1.148670e+00 -6.604699e-01 +>ZYXI ROT=ZROT //14 +-3.083778e+02 -1.471615e+02 -7.805601e+01 -4.294172e+01 -2.400291e+01 -1.271867e+01 +-6.027046e+00 -2.952707e+00 -2.003444e+00 -1.769812e+00 -1.580404e+00 -1.254659e+00 +-8.821679e-01 -5.641575e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-9.855757e-03 -9.719408e-05 -4.052361e-06 3.832047e-07 -3.948103e-08 6.893868e-06 + 2.644523e-04 -5.760167e-04 -3.002618e-04 8.398570e-04 1.051974e-03 8.195860e-04 + 5.290448e-04 3.137612e-04 +>ZYYI ROT=ZROT //14 + 1.392906e-04 -3.959037e-05 4.875849e-07 1.629045e-07 -5.138038e-08 1.512691e-05 +-1.134960e-04 5.117054e-04 -9.024128e-04 -6.619323e-04 -4.415118e-05 2.534137e-04 + 2.911388e-04 2.251641e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 2.060783e-02 2.618028e-04 -2.881375e-05 -2.205715e-08 2.025025e-08 4.708387e-07 + 1.546651e-05 1.469513e-04 -3.735404e-04 -5.542196e-04 -4.266993e-04 -2.744211e-04 +-1.630139e-04 -9.360158e-05 +>TXI.EXP //14 +-2.090873e-03 -3.496607e-05 5.370492e-06 4.913405e-08 7.037949e-10 1.287913e-06 +-3.979534e-05 2.171253e-04 3.758890e-04 3.455062e-05 -1.330335e-04 -1.507457e-04 +-1.168922e-04 -7.743805e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.713953e-03 4.968543e-04 1.287777e-05 -3.137499e-07 -1.047503e-08 -4.738473e-08 + 4.565938e-06 1.506259e-05 -5.514695e-05 -6.317042e-05 -4.362295e-05 -2.702149e-05 +-1.585849e-05 -9.045492e-06 +>TYI.EXP //14 +-1.018576e-04 -5.940071e-05 -4.541383e-06 -9.360642e-07 -1.625764e-08 3.367589e-07 +-5.181978e-06 3.324191e-05 4.052870e-05 -4.431235e-06 -1.771825e-05 -1.655426e-05 +-1.199808e-05 -7.667143e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1216.edi b/examples/data/NEConductor/par1216.edi new file mode 100644 index 00000000..67e979fe --- /dev/null +++ b/examples/data/NEConductor/par1216.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1216" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1216" +REFLAT=-30:15:57.8746 +REFLONG=139:42:13.4929 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1216" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.465222e-02 -1.426490e-04 1.884442e-05 3.030277e-07 3.439898e-08 -5.372180e-06 +-1.493694e-04 8.009864e-04 -5.472006e-04 -2.202105e-03 -2.265540e-03 -1.685080e-03 +-1.072451e-03 -6.332109e-04 +>ZXXI ROT=ZROT //14 +-2.535141e-03 -3.253988e-05 6.119732e-06 -2.250079e-07 -4.755879e-08 -4.847996e-06 + 2.057035e-05 5.836768e-05 1.756613e-03 8.816211e-04 -1.878305e-04 -6.292579e-04 +-6.302317e-04 -4.684747e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865406e+02 1.241411e+02 7.346938e+01 4.197590e+01 2.350538e+01 1.317166e+01 + 8.353618e+00 6.607888e+00 5.489285e+00 4.287020e+00 3.021634e+00 1.931753e+00 + 1.150951e+00 6.618068e-01 +>ZXYI ROT=ZROT //14 + 3.082054e+02 1.471560e+02 7.805628e+01 4.294175e+01 2.400291e+01 1.271863e+01 + 6.027236e+00 2.950238e+00 1.999830e+00 1.768943e+00 1.581462e+00 1.256293e+00 + 8.836154e-01 5.651860e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.869674e+02 -1.241560e+02 -7.346899e+01 -4.197590e+01 -2.350538e+01 -1.317166e+01 +-8.353695e+00 -6.609128e+00 -5.486790e+00 -4.282210e+00 -3.017253e+00 -1.928621e+00 +-1.148986e+00 -6.606522e-01 +>ZYXI ROT=ZROT //14 +-3.084155e+02 -1.471606e+02 -7.805602e+01 -4.294173e+01 -2.400291e+01 -1.271865e+01 +-6.027010e+00 -2.951641e+00 -2.003174e+00 -1.769979e+00 -1.580714e+00 -1.254960e+00 +-8.823960e-01 -5.643083e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.039898e-02 -7.873021e-05 -4.394781e-06 3.972629e-07 -6.469006e-08 6.950921e-06 + 1.712590e-04 -5.197588e-04 -7.583966e-05 1.095889e-03 1.256717e-03 9.578713e-04 + 6.135280e-04 3.628478e-04 +>ZYYI ROT=ZROT //14 + 1.361470e-04 -3.227835e-05 7.995504e-07 2.204286e-07 -7.458224e-08 7.311197e-06 +-9.427757e-05 3.296130e-04 -1.012270e-03 -6.594906e-04 1.688686e-05 3.241444e-04 + 3.485400e-04 2.643798e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.987339e-02 2.531314e-04 -2.430088e-05 -1.682617e-07 1.688690e-08 5.175006e-07 + 6.657902e-06 1.331333e-04 -2.895999e-04 -4.740045e-04 -3.712664e-04 -2.393977e-04 +-1.422278e-04 -8.166402e-05 +>TXI.EXP //14 +-2.203177e-03 -2.688789e-05 4.924460e-06 -1.211974e-08 9.194181e-10 7.259562e-07 +-2.967300e-05 1.557578e-04 3.332110e-04 4.510903e-05 -1.100053e-04 -1.296340e-04 +-1.014158e-04 -6.738623e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.921630e-03 5.966515e-04 1.209943e-05 -6.710351e-07 -4.331200e-09 5.032236e-08 + 3.039495e-06 2.193769e-05 -5.925320e-05 -8.106350e-05 -5.948183e-05 -3.757473e-05 +-2.218962e-05 -1.269127e-05 +>TYI.EXP //14 +-2.839050e-04 -7.207481e-05 -4.814545e-06 -7.350537e-07 -1.309898e-08 2.601201e-07 +-5.785329e-06 3.300761e-05 5.554749e-05 1.127085e-06 -2.079619e-05 -2.163809e-05 +-1.628216e-05 -1.059818e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1217.edi b/examples/data/NEConductor/par1217.edi new file mode 100644 index 00000000..bbffff88 --- /dev/null +++ b/examples/data/NEConductor/par1217.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1217" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1217" +REFLAT=-30:16:12.026 +REFLONG=139:42:07.8533 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1217" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.387235e-02 -1.533817e-04 1.754144e-05 2.648009e-07 1.610036e-08 -4.531422e-06 +-1.193276e-04 6.985331e-04 -4.343944e-04 -1.980784e-03 -2.061679e-03 -1.537469e-03 +-9.791396e-04 -5.782132e-04 +>ZXXI ROT=ZROT //14 +-2.999413e-03 -4.762536e-05 6.564635e-06 -1.809765e-07 -6.935030e-08 -2.670525e-06 + 3.146583e-05 6.307436e-07 1.588793e-03 8.297307e-04 -1.562761e-04 -5.685375e-04 +-5.734121e-04 -4.271155e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865335e+02 1.241410e+02 7.346938e+01 4.197590e+01 2.350538e+01 1.317167e+01 + 8.353382e+00 6.608191e+00 5.489631e+00 4.287201e+00 3.021729e+00 1.931800e+00 + 1.150975e+00 6.618193e-01 +>ZXYI ROT=ZROT //14 + 3.082185e+02 1.471561e+02 7.805628e+01 4.294174e+01 2.400291e+01 1.271862e+01 + 6.027209e+00 2.949899e+00 1.999903e+00 1.769057e+00 1.581546e+00 1.256345e+00 + 8.836433e-01 5.652005e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.870981e+02 -1.241521e+02 -7.346905e+01 -4.197589e+01 -2.350538e+01 -1.317167e+01 +-8.353426e+00 -6.609439e+00 -5.487355e+00 -4.282561e+00 -3.017468e+00 -1.928747e+00 +-1.149057e+00 -6.606921e-01 +>ZYXI ROT=ZROT //14 +-3.084636e+02 -1.471587e+02 -7.805611e+01 -4.294173e+01 -2.400291e+01 -1.271863e+01 +-6.027009e+00 -2.951106e+00 -2.003193e+00 -1.770129e+00 -1.580848e+00 -1.255057e+00 +-8.824584e-01 -5.643456e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.134084e-02 -9.696191e-05 -5.227122e-06 3.958409e-07 -6.671715e-08 6.160817e-06 + 1.311477e-04 -4.104775e-04 -1.362030e-04 9.047037e-04 1.070977e-03 8.214381e-04 + 5.268129e-04 3.116318e-04 +>ZYYI ROT=ZROT //14 + 1.068480e-04 -3.991161e-05 1.072189e-06 3.085380e-07 -8.017416e-08 4.438903e-06 +-9.683106e-05 3.367946e-04 -8.477059e-04 -5.939631e-04 -3.677412e-06 2.713187e-04 + 2.970147e-04 2.263301e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.836297e-02 2.645833e-04 -1.928991e-05 -2.792001e-07 1.533202e-08 4.960184e-07 + 2.728619e-06 1.265366e-04 -2.485818e-04 -4.407901e-04 -3.499802e-04 -2.261402e-04 +-1.343654e-04 -7.714621e-05 +>TXI.EXP //14 +-2.275805e-03 -2.017304e-05 3.800336e-06 -5.078515e-08 1.568949e-09 4.624410e-07 +-2.457335e-05 1.253908e-04 3.167406e-04 5.293125e-05 -9.964085e-05 -1.211335e-04 +-9.540644e-05 -6.353507e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.984071e-03 5.960169e-04 1.208976e-05 -6.629965e-07 -4.516130e-09 5.632741e-08 + 1.905617e-06 1.665084e-05 -4.229458e-05 -5.961247e-05 -4.366997e-05 -2.753011e-05 +-1.624416e-05 -9.283361e-06 +>TYI.EXP //14 +-2.739858e-04 -7.205941e-05 -4.814312e-06 -7.406217e-07 -1.293811e-08 1.708882e-07 +-4.054632e-06 2.248834e-05 4.177102e-05 1.213021e-06 -1.525104e-05 -1.588083e-05 +-1.193371e-05 -7.750722e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1218.edi b/examples/data/NEConductor/par1218.edi new file mode 100644 index 00000000..16efc9a8 --- /dev/null +++ b/examples/data/NEConductor/par1218.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1218" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1218" +REFLAT=-30:16:28.0443 +REFLONG=139:41:59.4618 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1218" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.328703e-02 -1.609605e-04 1.647900e-05 2.381021e-07 -3.300656e-09 -3.624177e-06 +-9.358084e-05 6.035180e-04 -3.337741e-04 -1.775640e-03 -1.872131e-03 -1.400129e-03 +-8.922934e-04 -5.270183e-04 +>ZXXI ROT=ZROT //14 +-3.015519e-03 -6.093591e-05 6.908342e-06 -1.565408e-07 -7.477954e-08 -1.216736e-06 + 3.783814e-05 -4.581314e-05 1.431158e-03 7.799122e-04 -1.275147e-04 -5.122613e-04 +-5.206141e-04 -3.886475e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865263e+02 1.241409e+02 7.346938e+01 4.197590e+01 2.350538e+01 1.317168e+01 + 8.353197e+00 6.608438e+00 5.489896e+00 4.287311e+00 3.021770e+00 1.931813e+00 + 1.150978e+00 6.618195e-01 +>ZXYI ROT=ZROT //14 + 3.082313e+02 1.471561e+02 7.805627e+01 4.294174e+01 2.400291e+01 1.271861e+01 + 6.027205e+00 2.949621e+00 1.999989e+00 1.769159e+00 1.581609e+00 1.256375e+00 + 8.836559e-01 5.652049e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.872820e+02 -1.241460e+02 -7.346940e+01 -4.197589e+01 -2.350538e+01 -1.317168e+01 +-8.353215e+00 -6.609663e+00 -5.487854e+00 -4.282881e+00 -3.017668e+00 -1.928866e+00 +-1.149125e+00 -6.607303e-01 +>ZYXI ROT=ZROT //14 +-3.085250e+02 -1.471560e+02 -7.805627e+01 -4.294172e+01 -2.400291e+01 -1.271861e+01 +-6.027033e+00 -2.950634e+00 -2.003186e+00 -1.770254e+00 -1.580965e+00 -1.255145e+00 +-8.825160e-01 -5.643805e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-1.210005e-02 -9.355593e-05 -4.874290e-06 4.416271e-07 -6.153166e-08 5.173781e-06 + 9.759644e-05 -3.166628e-04 -1.792841e-04 7.422363e-04 9.111866e-04 7.037319e-04 + 4.519227e-04 2.673826e-04 +>ZYYI ROT=ZROT //14 + 2.066429e-04 -3.779499e-05 1.804853e-06 3.502781e-07 -7.825444e-08 2.399162e-06 +-9.428833e-05 3.317733e-04 -7.042717e-04 -5.340384e-04 -1.983811e-05 2.263354e-04 + 2.527405e-04 1.935371e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.589207e-02 3.149736e-04 -1.666595e-05 -2.356667e-07 1.484283e-08 4.404172e-07 + 2.312024e-08 1.182514e-04 -2.112392e-04 -4.085828e-04 -3.289669e-04 -2.129857e-04 +-1.265520e-04 -7.265415e-05 +>TXI.EXP //14 +-2.296314e-03 -1.772266e-05 2.767331e-06 -1.007639e-07 1.996810e-09 2.692276e-07 +-2.002823e-05 9.910062e-05 2.991546e-04 5.932938e-05 -8.990668e-05 -1.128854e-04 +-8.949991e-05 -5.972771e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.048889e-03 5.944968e-04 1.206786e-05 -6.532529e-07 -4.584491e-09 5.280184e-08 + 1.222619e-06 1.215762e-05 -2.970420e-05 -4.262496e-05 -3.099075e-05 -1.946156e-05 +-1.146854e-05 -6.546373e-06 +>TYI.EXP //14 +-2.632332e-04 -7.193807e-05 -4.807467e-06 -7.456852e-07 -1.298989e-08 1.109734e-07 +-2.804783e-06 1.507678e-05 3.047075e-05 8.558877e-07 -1.096076e-05 -1.130581e-05 +-8.455553e-06 -5.468979e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par1219.edi b/examples/data/NEConductor/par1219.edi new file mode 100644 index 00000000..c27c50f2 --- /dev/null +++ b/examples/data/NEConductor/par1219.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par1219" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par1219" +REFLAT=-30:16:46.9125 +REFLONG=139:41:51.9408 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par1219" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.586083e-02 -2.375776e-04 2.074807e-05 2.890549e-07 -1.612036e-08 -2.293344e-06 +-6.451867e-05 5.389277e-04 -2.994560e-04 -1.709704e-03 -1.809341e-03 -1.352747e-03 +-8.616379e-04 -5.087688e-04 +>ZXXI ROT=ZROT //14 +-3.009259e-03 -1.001834e-04 9.659212e-06 -1.461181e-07 -8.436505e-08 1.202177e-07 + 3.399819e-05 -5.387876e-05 1.370650e-03 7.619836e-04 -1.206010e-04 -4.947623e-04 +-5.029813e-04 -3.753605e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865071e+02 1.241419e+02 7.346941e+01 4.197591e+01 2.350538e+01 1.317168e+01 + 8.353007e+00 6.608741e+00 5.490107e+00 4.287240e+00 3.021638e+00 1.931700e+00 + 1.150901e+00 6.617732e-01 +>ZXYI ROT=ZROT //14 + 3.082406e+02 1.471566e+02 7.805628e+01 4.294173e+01 2.400291e+01 1.271859e+01 + 6.027218e+00 2.949345e+00 2.000218e+00 1.769321e+00 1.581650e+00 1.256356e+00 + 8.836204e-01 5.651744e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.874735e+02 -1.241414e+02 -7.346997e+01 -4.197589e+01 -2.350538e+01 -1.317169e+01 +-8.353001e+00 -6.609790e+00 -5.488555e+00 -4.283525e+00 -3.018153e+00 -1.929186e+00 +-1.149319e+00 -6.608424e-01 +>ZYXI ROT=ZROT //14 +-3.085886e+02 -1.471540e+02 -7.805650e+01 -4.294172e+01 -2.400291e+01 -1.271860e+01 +-6.027096e+00 -2.950031e+00 -2.002959e+00 -1.770329e+00 -1.581139e+00 -1.255321e+00 +-8.826526e-01 -5.644720e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.073288e-03 9.613155e-05 6.903834e-06 7.337904e-07 -6.805792e-08 3.496300e-06 + 6.107859e-05 -2.954481e-04 -8.222381e-05 8.607439e-04 1.008127e-03 7.697824e-04 + 4.924485e-04 2.909730e-04 +>ZYYI ROT=ZROT //14 + 1.958011e-03 5.152294e-05 6.589516e-06 2.226118e-09 -8.234831e-08 3.434821e-07 +-7.333991e-05 2.470805e-04 -7.579799e-04 -5.372337e-04 6.980859e-06 2.591643e-04 + 2.798681e-04 2.122268e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.226006e-02 4.131580e-04 -2.021456e-05 -8.467421e-08 1.575290e-08 3.318938e-07 +-2.035256e-06 1.011342e-04 -1.602443e-04 -3.520010e-04 -2.887746e-04 -1.874083e-04 +-1.113350e-04 -6.390717e-05 +>TXI.EXP //14 +-2.256930e-03 -2.031023e-05 2.538740e-06 -1.619442e-07 3.059788e-09 9.508675e-08 +-1.426667e-05 6.706900e-05 2.630674e-04 6.286366e-05 -7.469999e-05 -9.801555e-05 +-7.836340e-05 -5.242770e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.816907e-04 6.801079e-04 1.089936e-05 -9.420895e-07 1.493002e-09 6.552084e-08 + 4.985300e-07 1.532534e-05 -3.015071e-05 -5.302732e-05 -4.076055e-05 -2.598532e-05 +-1.537262e-05 -8.791233e-06 +>TYI.EXP //14 +-4.510449e-04 -8.279840e-05 -4.837165e-06 -5.328379e-07 -8.692655e-09 6.743887e-08 +-2.769817e-06 1.366408e-05 3.927864e-05 5.171004e-06 -1.251423e-05 -1.435750e-05 +-1.107692e-05 -7.271156e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par12ew.edi b/examples/data/NEConductor/par12ew.edi new file mode 100644 index 00000000..99bd302e --- /dev/null +++ b/examples/data/NEConductor/par12ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par12ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par12ew" +REFLAT=-30:12:45.5975 +REFLONG=139:42:46.5693 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par12ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.198446e-03 1.577688e-04 7.039602e-06 1.663897e-07 2.569474e-06 4.473731e-04 +-3.312789e-03 4.490444e-03 6.065644e-03 4.108871e-03 2.466497e-03 1.396186e-03 + 7.720391e-04 4.286448e-04 +>ZXXI ROT=ZROT //14 +-1.645168e-03 4.351996e-05 1.630067e-06 -2.065056e-07 -4.600762e-08 -9.598474e-07 +-1.737382e-03 -4.817861e-03 1.469034e-04 1.676284e-03 1.590363e-03 1.128730e-03 + 7.041190e-04 4.118673e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865652e+02 1.241402e+02 7.346934e+01 4.197591e+01 2.350537e+01 1.316963e+01 + 8.366405e+00 6.587107e+00 5.460341e+00 4.262054e+00 3.003396e+00 1.919998e+00 + 1.143949e+00 6.577842e-01 +>ZXYI ROT=ZROT //14 + 3.082087e+02 1.471556e+02 7.805624e+01 4.294175e+01 2.400289e+01 1.271699e+01 + 6.039405e+00 2.970851e+00 2.003050e+00 1.764108e+00 1.573914e+00 1.249303e+00 + 8.784385e-01 5.618102e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865973e+02 -1.241466e+02 -7.346917e+01 -4.197589e+01 -2.350537e+01 -1.316984e+01 +-8.364640e+00 -6.588735e+00 -5.465715e+00 -4.267923e+00 -3.008076e+00 -1.923160e+00 +-1.145880e+00 -6.589056e-01 +>ZYXI ROT=ZROT //14 +-3.082173e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400289e+01 -1.271705e+01 +-6.038754e+00 -2.966818e+00 -2.000770e+00 -1.764284e+00 -1.575342e+00 -1.250930e+00 +-8.797544e-01 -5.627078e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.595306e-03 -7.341918e-05 -9.497485e-07 2.364605e-07 -2.356552e-06 -3.975555e-04 + 2.900619e-03 -4.164757e-03 -4.731029e-03 -2.550181e-03 -1.184597e-03 -5.147232e-04 +-2.285745e-04 -1.116891e-04 +>ZYYI ROT=ZROT //14 + 1.828808e-04 -2.254615e-05 -1.707948e-07 -4.504167e-08 -1.345140e-07 1.126378e-05 + 1.619646e-03 3.810604e-03 -8.120342e-04 -1.694803e-03 -1.239048e-03 -6.965327e-04 +-3.437590e-04 -1.622266e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.128946e-02 -8.721139e-05 -3.409559e-05 -6.562596e-07 4.948223e-09 -3.803701e-06 + 4.452549e-05 -2.556850e-05 -1.912526e-04 -1.559126e-04 -1.005879e-04 -6.102483e-05 +-3.549681e-05 -2.026346e-05 +>TXI.EXP //14 +-5.693991e-04 4.092632e-06 4.702046e-06 1.142730e-06 -2.888551e-09 -1.565044e-07 +-2.852022e-07 1.466640e-04 5.580940e-05 -3.789171e-05 -5.088477e-05 -4.112958e-05 +-2.826670e-05 -1.773956e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.062268e-03 3.953908e-04 1.334099e-05 4.187618e-08 -7.486198e-08 -1.427641e-05 + 2.061000e-04 -7.329666e-05 -9.301919e-04 -8.523976e-04 -5.826460e-04 -3.636756e-04 +-2.143608e-04 -1.227200e-04 +>TYI.EXP //14 + 3.997764e-06 -4.614917e-05 -4.074850e-06 -1.088562e-06 -5.605079e-08 3.278225e-06 +-3.257997e-05 7.031336e-04 3.655345e-04 -1.402580e-04 -2.562587e-04 -2.267734e-04 +-1.629476e-04 -1.045808e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par13.edi b/examples/data/NEConductor/par13.edi new file mode 100644 index 00000000..5c77211a --- /dev/null +++ b/examples/data/NEConductor/par13.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par13" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par13" +REFLAT=-30:13:17.8927 +REFLONG=139:42:27.4465 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par13" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.003008e-02 1.433950e-04 1.225994e-05 2.499203e-07 6.588318e-07 1.942251e-04 +-1.758883e-03 2.735249e-03 1.857736e-03 -3.101712e-04 -1.004277e-03 -9.263969e-04 +-6.388156e-04 -3.888219e-04 +>ZXXI ROT=ZROT //14 +-2.139095e-03 4.362393e-05 3.111496e-06 -3.167707e-07 -1.071917e-06 -8.592422e-05 +-7.451584e-04 -1.784967e-03 1.648630e-03 1.418609e-03 4.655581e-04 -1.009594e-04 +-2.729484e-04 -2.485701e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865555e+02 1.241406e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.317031e+01 + 8.362401e+00 6.594951e+00 5.470738e+00 4.271048e+00 3.009976e+00 1.924248e+00 + 1.146485e+00 6.592420e-01 +>ZXYI ROT=ZROT //14 + 3.082053e+02 1.471558e+02 7.805626e+01 4.294175e+01 2.400290e+01 1.271799e+01 + 6.033966e+00 2.963976e+00 2.002001e+00 1.765873e+00 1.576635e+00 1.251822e+00 + 8.803077e-01 5.630311e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866131e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.317040e+01 +-8.361453e+00 -6.595702e+00 -5.473588e+00 -4.274147e+00 -3.012426e+00 -1.925895e+00 +-1.147489e+00 -6.598246e-01 +>ZYXI ROT=ZROT //14 +-3.082299e+02 -1.471560e+02 -7.805625e+01 -4.294173e+01 -2.400290e+01 -1.271798e+01 +-6.033782e+00 -2.961783e+00 -2.000760e+00 -1.765978e+00 -1.577397e+00 -1.252679e+00 +-8.809960e-01 -5.634990e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.926084e-03 -5.238853e-05 -8.263701e-07 2.798236e-07 -7.901406e-07 -1.706262e-04 + 1.521655e-03 -2.603049e-03 -1.057416e-03 1.295985e-03 1.820464e-03 1.487370e-03 + 9.843700e-04 5.902409e-04 +>ZYYI ROT=ZROT //14 + 2.486676e-04 -1.626071e-05 -1.661486e-07 -7.661414e-08 7.626264e-07 8.204008e-05 + 7.263219e-04 1.174120e-03 -2.108674e-03 -1.453778e-03 -2.489421e-04 3.743132e-04 + 5.017760e-04 4.071911e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.420754e-02 6.618394e-05 -3.203335e-05 -8.980983e-07 -2.168347e-08 -6.100622e-06 + 9.576457e-05 -1.121599e-05 -4.858242e-04 -4.525882e-04 -3.096323e-04 -1.928833e-04 +-1.135065e-04 -6.499103e-05 +>TXI.EXP //14 +-8.552463e-04 -1.797950e-05 1.874606e-06 1.297646e-06 -1.342054e-09 2.347970e-06 +-2.523018e-05 3.631324e-04 2.057429e-04 -6.989726e-05 -1.351915e-04 -1.202794e-04 +-8.643499e-05 -5.547713e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.352066e-03 4.984213e-04 1.287307e-05 -3.492479e-07 -4.999357e-08 -8.793059e-06 + 1.471361e-04 -5.413575e-06 -7.656844e-04 -7.332965e-04 -5.065409e-04 -3.169941e-04 +-1.869745e-04 -1.070615e-04 +>TYI.EXP //14 +-1.661057e-04 -5.932855e-05 -4.507850e-06 -9.026990e-07 -2.546366e-08 4.184128e-06 +-4.604684e-05 5.688549e-04 3.456290e-04 -1.018306e-04 -2.154346e-04 -1.950401e-04 +-1.412361e-04 -9.093492e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par13ew.edi b/examples/data/NEConductor/par13ew.edi new file mode 100644 index 00000000..90f29455 --- /dev/null +++ b/examples/data/NEConductor/par13ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par13ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par13ew" +REFLAT=-30:12:45.7807 +REFLONG=139:43:05.2676 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par13ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.839387e-03 1.193604e-04 3.700276e-06 9.711520e-08 3.213366e-06 5.516548e-04 +-3.806896e-03 5.295234e-03 7.184151e-03 5.085111e-03 3.169063e-03 1.841881e-03 + 1.034777e-03 5.788318e-04 +>ZXXI ROT=ZROT //14 +-1.185385e-03 2.732934e-05 7.083460e-07 -1.320880e-07 6.675077e-07 6.721807e-05 +-2.284225e-03 -5.568268e-03 6.689362e-06 1.868599e-03 1.891698e-03 1.402303e-03 + 9.029945e-04 5.398882e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865748e+02 1.241400e+02 7.346933e+01 4.197590e+01 2.350538e+01 1.316941e+01 + 8.367735e+00 6.583506e+00 5.456899e+00 4.259634e+00 3.001819e+00 1.919049e+00 + 1.143406e+00 6.574772e-01 +>ZXYI ROT=ZROT //14 + 3.082121e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400288e+01 1.271643e+01 + 6.042149e+00 2.972884e+00 2.002639e+00 1.763179e+00 1.573017e+00 1.248619e+00 + 8.779846e-01 5.615326e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865975e+02 -1.241466e+02 -7.346916e+01 -4.197589e+01 -2.350538e+01 -1.316958e+01 +-8.366380e+00 -6.585028e+00 -5.460470e+00 -4.263188e+00 -3.004545e+00 -1.920853e+00 +-1.144496e+00 -6.581076e-01 +>ZYXI ROT=ZROT //14 +-3.082176e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400288e+01 -1.271648e+01 +-6.041479e+00 -2.970199e+00 -2.001526e+00 -1.763501e+00 -1.573964e+00 -1.249605e+00 +-8.787528e-01 -5.620469e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.702453e-03 -9.134526e-05 -1.221471e-06 2.262404e-07 -3.037494e-06 -5.167184e-04 + 3.560414e-03 -5.057557e-03 -6.439144e-03 -4.227876e-03 -2.472831e-03 -1.368058e-03 +-7.444131e-04 -4.099638e-04 +>ZYYI ROT=ZROT //14 + 1.726000e-04 -2.849638e-05 -1.953047e-07 -2.057743e-08 -1.051464e-06 -5.432530e-05 + 2.169279e-03 5.018843e-03 -3.511521e-04 -1.865469e-03 -1.690964e-03 -1.163819e-03 +-7.074091e-04 -4.056202e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.125999e-02 -8.642635e-05 -3.404500e-05 -6.550837e-07 2.726493e-10 -5.591492e-06 + 6.990403e-05 -3.947956e-05 -2.934602e-04 -2.539125e-04 -1.705850e-04 -1.056038e-04 +-6.198575e-05 -3.547727e-05 +>TXI.EXP //14 +-5.680431e-04 4.022992e-06 4.691205e-06 1.139809e-06 -1.210057e-08 2.830107e-08 +-2.255837e-06 2.259811e-04 9.602786e-05 -5.033521e-05 -7.898315e-05 -6.759557e-05 +-4.785425e-05 -3.050796e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.761977e-03 2.889287e-04 1.350546e-05 4.460363e-07 -6.055834e-08 -1.241268e-05 + 1.676057e-04 -7.815913e-05 -7.219269e-04 -6.436954e-04 -4.347600e-04 -2.701057e-04 +-1.589313e-04 -9.092316e-05 +>TYI.EXP //14 + 1.791773e-04 -3.251609e-05 -3.526300e-06 -1.256636e-06 -4.973508e-08 1.502174e-06 +-1.543061e-05 5.473183e-04 2.631548e-04 -1.178130e-04 -1.971225e-04 -1.709251e-04 +-1.217602e-04 -7.780721e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par14.edi b/examples/data/NEConductor/par14.edi new file mode 100644 index 00000000..5af7f4dd --- /dev/null +++ b/examples/data/NEConductor/par14.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par14" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par14" +REFLAT=-30:13:01.6531 +REFLONG=139:42:27.6588 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par14" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.342317e-03 1.694212e-04 1.142738e-05 2.452554e-07 1.158291e-06 2.678306e-04 +-2.271547e-03 3.207804e-03 3.360165e-03 1.356424e-03 3.328207e-04 -2.081886e-05 +-8.515476e-05 -6.710710e-05 +>ZXXI ROT=ZROT //14 +-2.129787e-03 5.167275e-05 2.892400e-06 -3.025449e-07 -8.212966e-07 -7.356085e-05 +-9.777952e-04 -2.889098e-03 9.954437e-04 1.455644e-03 8.663089e-04 3.618307e-04 + 1.029615e-04 8.369397e-06 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865553e+02 1.241407e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.317010e+01 + 8.363741e+00 6.592751e+00 5.467115e+00 4.267610e+00 3.007358e+00 1.922520e+00 + 1.145442e+00 6.586394e-01 +>ZXYI ROT=ZROT //14 + 3.082058e+02 1.471558e+02 7.805626e+01 4.294175e+01 2.400290e+01 1.271774e+01 + 6.035402e+00 2.966472e+00 2.002774e+00 1.765442e+00 1.575683e+00 1.250862e+00 + 8.795670e-01 5.625373e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866044e+02 -1.241472e+02 -7.346920e+01 -4.197589e+01 -2.350537e+01 -1.317025e+01 +-8.362218e+00 -6.593868e+00 -5.472108e+00 -4.273299e+00 -3.011954e+00 -1.925644e+00 +-1.147356e+00 -6.597527e-01 +>ZYXI ROT=ZROT //14 +-3.082230e+02 -1.471555e+02 -7.805624e+01 -4.294174e+01 -2.400290e+01 -1.271776e+01 +-6.035073e+00 -2.962695e+00 -2.000345e+00 -1.765470e+00 -1.577016e+00 -1.252438e+00 +-8.808575e-01 -5.634230e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.659909e-03 -5.295334e-05 -7.548892e-07 2.590039e-07 -1.073329e-06 -2.279786e-04 + 1.880107e-03 -2.975679e-03 -2.017241e-03 2.635064e-04 1.010389e-03 9.478150e-04 + 6.577175e-04 4.012868e-04 +>ZYYI ROT=ZROT //14 + 2.211621e-04 -1.615414e-05 -1.647022e-07 -7.153692e-08 5.672366e-07 7.115980e-05 + 9.357759e-04 1.862305e-03 -1.735485e-03 -1.504127e-03 -5.113289e-04 8.678369e-05 + 2.742202e-04 2.538985e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.280375e-02 -7.905494e-06 -3.296706e-05 -8.113591e-07 -6.081953e-09 -4.888900e-06 + 6.764488e-05 -2.004967e-05 -3.216714e-04 -2.836277e-04 -1.892190e-04 -1.165953e-04 +-6.829922e-05 -3.905540e-05 +>TXI.EXP //14 +-7.136653e-04 -7.276922e-06 3.161773e-06 1.240952e-06 4.787718e-09 1.051411e-06 +-1.109557e-05 2.423562e-04 1.195277e-04 -5.399421e-05 -8.791221e-05 -7.505482e-05 +-5.294810e-05 -3.367415e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.324850e-03 4.986032e-04 1.287420e-05 -3.515214e-07 -6.176282e-08 -1.136733e-05 + 1.829272e-04 -2.553621e-05 -9.092591e-04 -8.625042e-04 -5.954995e-04 -3.728257e-04 +-2.199669e-04 -1.259717e-04 +>TYI.EXP //14 +-1.710091e-04 -5.932686e-05 -4.505447e-06 -9.005219e-07 -3.425856e-08 4.617788e-06 +-4.912428e-05 6.800600e-04 3.964406e-04 -1.239181e-04 -2.543017e-04 -2.295840e-04 +-1.661790e-04 -1.070020e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par14ew.edi b/examples/data/NEConductor/par14ew.edi new file mode 100644 index 00000000..53418075 --- /dev/null +++ b/examples/data/NEConductor/par14ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par14ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par14ew" +REFLAT=-30:12:45.9632 +REFLONG=139:43:23.9659 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par14ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.506533e-03 8.033877e-05 4.628283e-07 3.239963e-08 4.003190e-06 6.475637e-04 +-4.292650e-03 6.061746e-03 8.431029e-03 6.256160e-03 4.045358e-03 2.411833e-03 + 1.375605e-03 7.749309e-04 +>ZXXI ROT=ZROT //14 +-7.216020e-04 1.095006e-05 -1.681490e-07 -5.951166e-08 1.925657e-06 1.437891e-04 +-2.808432e-03 -6.412359e-03 -2.525454e-04 2.031670e-03 2.226337e-03 1.729710e-03 + 1.150532e-03 7.028549e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865843e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316924e+01 + 8.368746e+00 6.580638e+00 5.454110e+00 4.257644e+00 3.000512e+00 1.918258e+00 + 1.142950e+00 6.572198e-01 +>ZXYI ROT=ZROT //14 + 3.082163e+02 1.471555e+02 7.805622e+01 4.294174e+01 2.400288e+01 1.271596e+01 + 6.044375e+00 2.974505e+00 2.002346e+00 1.762441e+00 1.572289e+00 1.248058e+00 + 8.776088e-01 5.613014e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865976e+02 -1.241466e+02 -7.346917e+01 -4.197589e+01 -2.350538e+01 -1.316938e+01 +-8.367814e+00 -6.581913e+00 -5.455963e+00 -4.259073e+00 -3.001460e+00 -1.918831e+00 +-1.143280e+00 -6.574060e-01 +>ZYXI ROT=ZROT //14 +-3.082180e+02 -1.471552e+02 -7.805625e+01 -4.294174e+01 -2.400287e+01 -1.271598e+01 +-6.043792e+00 -2.973093e+00 -2.002234e+00 -1.762856e+00 -1.572781e+00 -1.248454e+00 +-8.778778e-01 -5.614678e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.774942e-03 -1.080335e-04 -1.496931e-06 2.084179e-07 -3.640345e-06 -6.328431e-04 + 4.228994e-03 -5.966571e-03 -8.296924e-03 -6.104170e-03 -3.932917e-03 -2.342564e-03 +-1.335857e-03 -7.525532e-04 +>ZYYI ROT=ZROT //14 + 1.661654e-04 -3.413124e-05 -2.299995e-07 4.945114e-09 -2.142461e-06 -1.359315e-04 + 2.739573e-03 6.328295e-03 2.071328e-04 -2.019812e-03 -2.181837e-03 -1.686365e-03 +-1.119354e-03 -6.832007e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.124429e-02 -8.590006e-05 -3.402474e-05 -6.543270e-07 -3.412759e-09 -7.700404e-06 + 9.923500e-05 -5.692699e-05 -4.062307e-04 -3.627280e-04 -2.488746e-04 -1.556626e-04 +-9.178326e-05 -5.260328e-05 +>TXI.EXP //14 +-5.675835e-04 3.977766e-06 4.686479e-06 1.138077e-06 -2.043636e-08 3.104365e-07 +-3.775068e-06 3.137281e-04 1.401481e-04 -6.358910e-05 -1.099234e-04 -9.704925e-05 +-6.977272e-05 -4.483673e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.396702e-03 1.815636e-04 1.341302e-05 8.359297e-07 -3.706061e-08 -7.836783e-06 + 9.969748e-05 -5.446824e-05 -4.175842e-04 -3.605055e-04 -2.388306e-04 -1.471320e-04 +-8.628844e-05 -4.929405e-05 +>TYI.EXP //14 + 3.509575e-04 -1.868584e-05 -2.903498e-06 -1.399793e-06 -3.913600e-08 2.396050e-07 +-3.861268e-06 3.163259e-04 1.409488e-04 -7.470086e-05 -1.132201e-04 -9.532512e-05 +-6.697307e-05 -4.247323e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par15ew.edi b/examples/data/NEConductor/par15ew.edi new file mode 100644 index 00000000..7368f692 --- /dev/null +++ b/examples/data/NEConductor/par15ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par15ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par15ew" +REFLAT=-30:12:46.1449 +REFLONG=139:43:42.6643 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par15ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 8.104601e-04 4.074766e-05 -2.731269e-06 -2.749447e-08 4.519756e-06 7.228548e-04 +-4.732230e-03 6.688735e-03 9.693461e-03 7.530055e-03 5.032367e-03 3.067534e-03 + 1.772342e-03 1.004404e-03 +>ZXXI ROT=ZROT //14 +-2.631749e-04 -5.842508e-06 -1.024672e-06 1.209229e-08 2.543087e-06 2.100967e-04 +-3.221298e-03 -7.287632e-03 -6.283773e-04 2.140670e-03 2.563093e-03 2.084988e-03 + 1.428843e-03 8.896348e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865938e+02 1.241403e+02 7.346931e+01 4.197590e+01 2.350539e+01 1.316914e+01 + 8.369367e+00 6.578986e+00 5.452383e+00 4.256342e+00 2.999630e+00 1.917715e+00 + 1.142635e+00 6.570403e-01 +>ZXYI ROT=ZROT //14 + 3.082213e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400288e+01 1.271569e+01 + 6.045652e+00 2.975533e+00 2.002259e+00 1.762025e+00 1.571836e+00 1.247691e+00 + 8.773564e-01 5.611435e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865974e+02 -1.241466e+02 -7.346917e+01 -4.197589e+01 -2.350539e+01 -1.316925e+01 +-8.368711e+00 -6.580038e+00 -5.453132e+00 -4.256442e+00 -2.999471e+00 -1.917522e+00 +-1.142491e+00 -6.569502e-01 +>ZYXI ROT=ZROT //14 +-3.082184e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400287e+01 -1.271568e+01 +-6.045179e+00 -2.974927e+00 -2.002741e+00 -1.762479e+00 -1.572038e+00 -1.247719e+00 +-8.773143e-01 -5.610933e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.813338e-03 -1.233861e-04 -1.774831e-06 1.843341e-07 -3.988787e-06 -7.278047e-04 + 4.807883e-03 -6.737242e-03 -1.002410e-02 -7.905144e-03 -5.354517e-03 -3.298898e-03 +-1.918676e-03 -1.090754e-03 +>ZYYI ROT=ZROT //14 + 1.637083e-04 -3.942268e-05 -2.712531e-07 3.264475e-08 -3.063153e-06 -2.152339e-04 + 3.226556e-03 7.546152e-03 7.915192e-04 -2.128772e-03 -2.637544e-03 -2.187763e-03 +-1.520179e-03 -9.552138e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.124225e-02 -8.563603e-05 -3.403405e-05 -6.540963e-07 -7.197951e-10 -9.803988e-06 + 1.286894e-04 -7.397703e-05 -5.175477e-04 -4.725791e-04 -3.288802e-04 -2.070973e-04 +-1.224679e-04 -7.025420e-05 +>TXI.EXP //14 +-5.679875e-04 3.957231e-06 4.687694e-06 1.137585e-06 -2.404230e-08 7.919197e-07 +-5.664322e-06 4.004076e-04 1.855412e-04 -7.534168e-05 -1.405909e-04 -1.268667e-04 +-9.216308e-05 -5.953764e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.964254e-03 7.533452e-05 1.310992e-05 1.190093e-06 -2.610983e-08 -1.167310e-06 + 1.003490e-05 -8.378272e-06 -4.401649e-05 -2.396374e-05 -8.510557e-06 -3.112452e-06 +-1.325521e-06 -6.278178e-07 +>TYI.EXP //14 + 5.203520e-04 -4.900741e-06 -2.252380e-06 -1.516406e-06 -3.077726e-08 -4.501605e-07 + 2.341490e-06 3.135836e-05 5.342910e-06 -1.651874e-05 -1.150392e-05 -5.559963e-06 +-2.443216e-06 -1.009955e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par16.edi b/examples/data/NEConductor/par16.edi new file mode 100644 index 00000000..be881ba1 --- /dev/null +++ b/examples/data/NEConductor/par16.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par16" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par16" +REFLAT=-30:12:29.1739 +REFLONG=139:42:28.0833 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par16" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.788238e-03 2.210684e-04 9.603542e-06 2.314556e-07 1.678277e-06 4.155329e-04 +-3.373452e-03 4.173581e-03 6.922349e-03 5.433787e-03 3.646579e-03 2.238588e-03 + 1.300870e-03 7.394190e-04 +>ZXXI ROT=ZROT //14 +-2.024990e-03 6.792154e-05 2.327368e-06 -2.673161e-07 -2.104781e-07 -2.355218e-05 +-1.457210e-03 -5.499803e-03 -6.933495e-04 1.466910e-03 1.815357e-03 1.494253e-03 + 1.034174e-03 6.486659e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865555e+02 1.241407e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.316980e+01 + 8.365564e+00 6.589869e+00 5.462013e+00 4.262653e+00 3.003544e+00 1.919985e+00 + 1.143907e+00 6.577511e-01 +>ZXYI ROT=ZROT //14 + 3.082061e+02 1.471558e+02 7.805626e+01 4.294175e+01 2.400290e+01 1.271742e+01 + 6.037269e+00 2.970011e+00 2.004020e+00 1.764907e+00 1.574345e+00 1.249480e+00 + 8.784888e-01 5.618142e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865897e+02 -1.241461e+02 -7.346916e+01 -4.197590e+01 -2.350537e+01 -1.317006e+01 +-8.363215e+00 -6.591643e+00 -5.469985e+00 -4.271843e+00 -3.011024e+00 -1.925093e+00 +-1.147044e+00 -6.595770e-01 +>ZYXI ROT=ZROT //14 +-3.082119e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400290e+01 -1.271748e+01 +-6.036625e+00 -2.964043e+00 -2.000068e+00 -1.764881e+00 -1.576463e+00 -1.252027e+00 +-8.805898e-01 -5.632613e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.307445e-03 -5.675483e-05 -6.079308e-07 2.274357e-07 -1.611805e-06 -3.481040e-04 + 2.787286e-03 -3.768113e-03 -4.898087e-03 -3.046530e-03 -1.666292e-03 -8.671462e-04 +-4.517639e-04 -2.432555e-04 +>ZYYI ROT=ZROT //14 + 1.763185e-04 -1.677230e-05 -1.510531e-07 -6.668667e-08 3.519384e-07 3.437674e-05 + 1.335729e-03 3.962121e-03 -3.598186e-04 -1.518864e-03 -1.291385e-03 -8.337685e-04 +-4.771471e-04 -2.603811e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.802531e-03 -1.729248e-04 -3.547597e-05 -4.508404e-07 2.235985e-09 7.513707e-07 +-2.697451e-05 -5.492052e-06 1.404881e-04 1.602872e-04 1.206355e-04 7.839142e-05 + 4.697937e-05 2.702553e-05 +>TXI.EXP //14 +-4.289096e-04 1.613476e-05 6.436809e-06 1.022346e-06 7.600686e-09 -1.605917e-06 + 1.461921e-05 -1.049789e-04 -8.451485e-05 5.237837e-06 4.129209e-05 4.349855e-05 + 3.352654e-05 2.225254e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.274056e-03 4.990106e-04 1.287655e-05 -3.554083e-07 -7.109369e-08 -1.532257e-05 + 2.408920e-04 -5.508637e-05 -1.142991e-03 -1.083311e-03 -7.515833e-04 -4.718705e-04 +-2.787475e-04 -1.597176e-04 +>TYI.EXP //14 +-1.800030e-04 -5.933451e-05 -4.501219e-06 -8.967512e-07 -4.638931e-08 5.636979e-06 +-5.599403e-05 8.611517e-04 4.876166e-04 -1.543256e-04 -3.183410e-04 -2.889843e-04 +-2.098740e-04 -1.354044e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par16ew.edi b/examples/data/NEConductor/par16ew.edi new file mode 100644 index 00000000..0519e1d1 --- /dev/null +++ b/examples/data/NEConductor/par16ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par16ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par16ew" +REFLAT=-30:12:46.326 +REFLONG=139:44:01.3627 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par16ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.123125e-03 6.114996e-07 -5.936705e-06 -8.740324e-08 3.658154e-06 7.684585e-04 +-5.074229e-03 7.061620e-03 1.079744e-02 8.741623e-03 6.005835e-03 3.728030e-03 + 2.176553e-03 1.239378e-03 +>ZXXI ROT=ZROT //14 + 1.811603e-04 -2.324518e-05 -1.884324e-06 8.228709e-08 3.765291e-06 2.437552e-04 +-3.430003e-03 -8.085925e-03 -1.086531e-03 2.172958e-03 2.854878e-03 2.421806e-03 + 1.702817e-03 1.077087e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866034e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316909e+01 + 8.369550e+00 6.578851e+00 5.451985e+00 4.255912e+00 2.999290e+00 1.917487e+00 + 1.142497e+00 6.569605e-01 +>ZXYI ROT=ZROT //14 + 3.082271e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400287e+01 1.271570e+01 + 6.045706e+00 2.975837e+00 2.002423e+00 1.762009e+00 1.571728e+00 1.247572e+00 + 8.772608e-01 5.610790e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865970e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350539e+01 -1.316919e+01 +-8.368906e+00 -6.579847e+00 -5.452641e+00 -4.255918e+00 -2.999051e+00 -1.917237e+00 +-1.142316e+00 -6.568483e-01 +>ZYXI ROT=ZROT //14 +-3.082189e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400287e+01 -1.271567e+01 +-6.045295e+00 -2.975285e+00 -2.002928e+00 -1.762459e+00 -1.571910e+00 -1.247573e+00 +-8.771959e-01 -5.610122e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.818615e-03 -1.373184e-04 -2.054041e-06 1.599388e-07 -4.024260e-06 -7.845106e-04 + 5.189406e-03 -7.196406e-03 -1.129089e-02 -9.299332e-03 -6.479552e-03 -4.064803e-03 +-2.388338e-03 -1.364023e-03 +>ZYYI ROT=ZROT //14 + 1.650691e-04 -4.435025e-05 -3.146433e-07 6.317786e-08 -3.682585e-06 -2.689602e-04 + 3.512912e-03 8.446359e-03 1.308844e-03 -2.163669e-03 -2.970948e-03 -2.575511e-03 +-1.837022e-03 -1.172583e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.125378e-02 -8.563889e-05 -3.407280e-05 -6.544278e-07 -6.406525e-09 -1.144280e-05 + 1.533375e-04 -8.547470e-05 -6.129795e-04 -5.712791e-04 -4.021634e-04 -2.545664e-04 +-1.508690e-04 -8.660925e-05 +>TXI.EXP //14 +-5.692294e-04 3.961853e-06 4.694809e-06 1.138410e-06 -1.896232e-08 1.556154e-06 +-9.159531e-06 4.746377e-04 2.288786e-04 -8.306609e-05 -1.672337e-04 -1.537537e-04 +-1.126409e-04 -7.306979e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.146150e-02 -2.781595e-05 1.263931e-05 1.489003e-06 -2.385105e-08 6.165590e-06 +-8.636004e-05 4.456906e-05 3.501474e-04 3.291962e-04 2.329064e-04 1.478128e-04 + 8.770792e-05 5.036956e-05 +>TYI.EXP //14 + 6.883388e-04 8.604015e-06 -1.616903e-06 -1.605556e-06 -1.262311e-08 -1.024545e-06 + 7.012643e-06 -2.698122e-04 -1.346824e-04 4.572486e-05 9.554620e-05 8.865492e-05 + 6.522517e-05 4.245383e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par17.edi b/examples/data/NEConductor/par17.edi new file mode 100644 index 00000000..2c688765 --- /dev/null +++ b/examples/data/NEConductor/par17.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par17" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par17" +REFLAT=-30:12:12.9342 +REFLONG=139:42:28.2955 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par17" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.934435e-03 2.458236e-04 8.606833e-06 2.234499e-07 1.771846e-06 4.658339e-04 +-3.800054e-03 4.473939e-03 8.497523e-03 7.324243e-03 5.208892e-03 3.312992e-03 + 1.962828e-03 1.125329e-03 +>ZXXI ROT=ZROT //14 +-1.938683e-03 7.607632e-05 2.014575e-06 -2.483356e-07 3.490530e-07 -2.070558e-06 +-1.595726e-03 -6.656114e-03 -1.546237e-03 1.419305e-03 2.234920e-03 2.018921e-03 + 1.472818e-03 9.526546e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865556e+02 1.241407e+02 7.346936e+01 4.197591e+01 2.350537e+01 1.316977e+01 + 8.365773e+00 6.589725e+00 5.461427e+00 4.261998e+00 3.003010e+00 1.919619e+00 + 1.143681e+00 6.576192e-01 +>ZXYI ROT=ZROT //14 + 3.082062e+02 1.471558e+02 7.805626e+01 4.294175e+01 2.400290e+01 1.271743e+01 + 6.037311e+00 2.970463e+00 2.004292e+00 1.764902e+00 1.574194e+00 1.249298e+00 + 8.783383e-01 5.617102e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865831e+02 -1.241458e+02 -7.346918e+01 -4.197590e+01 -2.350537e+01 -1.317003e+01 +-8.363386e+00 -6.591558e+00 -5.469542e+00 -4.271325e+00 -3.010602e+00 -1.924807e+00 +-1.146868e+00 -6.594751e-01 +>ZYXI ROT=ZROT //14 +-3.082076e+02 -1.471549e+02 -7.805628e+01 -4.294175e+01 -2.400290e+01 -1.271750e+01 +-6.036619e+00 -2.964396e+00 -2.000299e+00 -1.764886e+00 -1.576344e+00 -1.251883e+00 +-8.804717e-01 -5.631803e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.221302e-03 -6.023125e-05 -5.199356e-07 2.182553e-07 -1.903289e-06 -3.951782e-04 + 3.239437e-03 -4.058221e-03 -6.524782e-03 -5.007137e-03 -3.282520e-03 -1.975333e-03 +-1.133265e-03 -6.402140e-04 +>ZYYI ROT=ZROT //14 + 1.626003e-04 -1.754444e-05 -1.421806e-07 -6.894540e-08 -2.368308e-07 2.318941e-05 + 1.439810e-03 5.169789e-03 5.347946e-04 -1.468018e-03 -1.728776e-03 -1.378135e-03 +-9.305588e-04 -5.738720e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.218555e-03 -2.598801e-04 -3.662900e-05 -2.077943e-07 1.542904e-08 4.097462e-06 +-8.035561e-05 7.261138e-06 3.922915e-04 3.986576e-04 2.863641e-04 1.825481e-04 + 1.085301e-04 6.230215e-05 +>TXI.EXP //14 +-2.848600e-04 2.829199e-05 8.192067e-06 8.745821e-07 1.571310e-08 -2.929720e-06 + 2.685328e-05 -2.952469e-04 -1.911150e-04 3.902790e-05 1.112335e-04 1.071516e-04 + 7.981632e-05 5.214986e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.249809e-03 4.992467e-04 1.287769e-05 -3.571154e-07 -7.284240e-08 -1.587469e-05 + 2.539470e-04 -5.542506e-05 -1.204526e-03 -1.152302e-03 -8.038884e-04 -5.059398e-04 +-2.991645e-04 -1.714810e-04 +>TYI.EXP //14 +-1.841819e-04 -5.934515e-05 -4.499375e-06 -8.950521e-07 -4.452361e-08 6.369030e-06 +-6.161825e-05 9.085887e-04 5.219745e-04 -1.567141e-04 -3.361170e-04 -3.078194e-04 +-2.244324e-04 -1.450825e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par17ew.edi b/examples/data/NEConductor/par17ew.edi new file mode 100644 index 00000000..04a61228 --- /dev/null +++ b/examples/data/NEConductor/par17ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par17ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par17ew" +REFLAT=-30:12:46.5062 +REFLONG=139:44:20.0611 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par17ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.445328e-03 -3.999719e-05 -9.208204e-06 -1.523955e-07 4.145905e-06 7.781815e-04 +-5.262892e-03 7.093375e-03 1.155961e-02 9.699232e-03 6.814418e-03 4.291715e-03 + 2.526429e-03 1.444020e-03 +>ZXXI ROT=ZROT //14 + 6.026967e-04 -4.143050e-05 -2.769923e-06 1.532302e-07 3.283122e-06 2.327877e-04 +-3.375392e-03 -8.681524e-03 -1.566756e-03 2.116772e-03 3.052950e-03 2.686641e-03 + 1.929785e-03 1.236318e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866135e+02 1.241417e+02 7.346932e+01 4.197589e+01 2.350538e+01 1.316911e+01 + 8.369268e+00 6.580238e+00 5.452956e+00 4.256401e+00 2.999532e+00 1.917603e+00 + 1.142553e+00 6.569896e-01 +>ZXYI ROT=ZROT //14 + 3.082338e+02 1.471562e+02 7.805618e+01 4.294173e+01 2.400288e+01 1.271598e+01 + 6.044538e+00 2.975388e+00 2.002814e+00 1.762390e+00 1.571978e+00 1.247712e+00 + 8.773334e-01 5.611153e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865962e+02 -1.241465e+02 -7.346917e+01 -4.197589e+01 -2.350538e+01 -1.316923e+01 +-8.368353e+00 -6.581363e+00 -5.454570e+00 -4.257584e+00 -3.000268e+00 -1.918021e+00 +-1.142783e+00 -6.571169e-01 +>ZYXI ROT=ZROT //14 +-3.082194e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400287e+01 -1.271594e+01 +-6.044128e+00 -2.974105e+00 -2.002761e+00 -1.762796e+00 -1.572418e+00 -1.248041e+00 +-8.775418e-01 -5.612376e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.792140e-03 -1.497612e-04 -2.333087e-06 1.400162e-07 -3.868518e-06 -7.924918e-04 + 5.295269e-03 -7.223163e-03 -1.184226e-02 -1.002075e-02 -7.097452e-03 -4.498459e-03 +-2.658380e-03 -1.522181e-03 +>ZYYI ROT=ZROT //14 + 1.698144e-04 -4.890019e-05 -3.552928e-07 9.498569e-08 -3.703943e-06 -2.800875e-04 + 3.518606e-03 8.852526e-03 1.675776e-03 -2.108331e-03 -3.114801e-03 -2.775408e-03 +-2.010484e-03 -1.294973e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.127884e-02 -8.591423e-05 -3.414145e-05 -6.552069e-07 -1.722643e-08 -1.216740e-05 + 1.687031e-04 -8.700870e-05 -6.799651e-04 -6.475523e-04 -4.606172e-04 -2.928507e-04 +-1.738671e-04 -9.987235e-05 +>TXI.EXP //14 +-5.712933e-04 3.992237e-06 4.707925e-06 1.140566e-06 -5.671601e-09 2.582182e-06 +-1.517252e-05 5.264522e-04 2.667572e-04 -8.494291e-05 -1.865599e-04 -1.746377e-04 +-1.289191e-04 -8.393508e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.288414e-02 -1.260322e-04 1.203645e-05 1.715410e-06 -2.201516e-08 1.243679e-05 +-1.719363e-04 8.574715e-05 7.092085e-04 6.567759e-04 4.585302e-04 2.892785e-04 + 1.712535e-04 9.824317e-05 +>TYI.EXP //14 + 8.558450e-04 2.159391e-05 -1.037138e-06 -1.665702e-06 4.490984e-09 -2.070827e-06 + 1.510837e-05 -5.439646e-04 -2.690600e-04 9.949646e-05 1.936401e-04 1.761377e-04 + 1.284068e-04 8.314248e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par18.edi b/examples/data/NEConductor/par18.edi new file mode 100644 index 00000000..01415fe7 --- /dev/null +++ b/examples/data/NEConductor/par18.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par18" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par18" +REFLAT=-30:11:56.6946 +REFLONG=139:42:28.5077 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par18" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.039653e-03 2.693062e-04 7.563668e-06 2.135604e-07 2.009152e-06 4.867388e-04 +-4.037856e-03 4.531090e-03 9.598480e-03 8.744134e-03 6.408732e-03 4.147397e-03 + 2.479830e-03 1.427462e-03 +>ZXXI ROT=ZROT //14 +-1.835091e-03 8.420172e-05 1.698019e-06 -2.293621e-07 8.384765e-07 5.567465e-06 +-1.600250e-03 -7.469041e-03 -2.266416e-03 1.327118e-03 2.528418e-03 2.412321e-03 + 1.809224e-03 1.188236e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865558e+02 1.241407e+02 7.346936e+01 4.197590e+01 2.350537e+01 1.316982e+01 + 8.365440e+00 6.590536e+00 5.462351e+00 4.262761e+00 3.003551e+00 1.919960e+00 + 1.143881e+00 6.577333e-01 +>ZXYI ROT=ZROT //14 + 3.082062e+02 1.471558e+02 7.805626e+01 4.294174e+01 2.400290e+01 1.271756e+01 + 6.036705e+00 2.969893e+00 2.004267e+00 1.765088e+00 1.574440e+00 1.249514e+00 + 8.784922e-01 5.618084e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865767e+02 -1.241458e+02 -7.346921e+01 -4.197590e+01 -2.350537e+01 -1.317006e+01 +-8.363305e+00 -6.592204e+00 -5.469590e+00 -4.271023e+00 -3.010268e+00 -1.924551e+00 +-1.146703e+00 -6.593769e-01 +>ZYXI ROT=ZROT //14 +-3.082041e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400290e+01 -1.271763e+01 +-6.036061e+00 -2.964479e+00 -2.000759e+00 -1.765100e+00 -1.576350e+00 -1.251802e+00 +-8.803803e-01 -5.631098e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.194957e-03 -6.491642e-05 -4.098789e-07 2.173501e-07 -1.830528e-06 -4.216124e-04 + 3.594954e-03 -4.171366e-03 -7.973000e-03 -6.832035e-03 -4.810142e-03 -3.031894e-03 +-1.786039e-03 -1.021218e-03 +>ZYYI ROT=ZROT //14 + 1.580817e-04 -1.865434e-05 -1.338990e-07 -7.631061e-08 -3.034734e-08 2.598052e-05 + 1.422166e-03 6.263635e-03 1.437834e-03 -1.372491e-03 -2.116368e-03 -1.883830e-03 +-1.358808e-03 -8.723537e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.585412e-03 -3.469729e-04 -3.737710e-05 5.128098e-08 4.322138e-08 6.795914e-06 +-1.263258e-04 1.350385e-05 6.189789e-04 6.175404e-04 4.396374e-04 2.791108e-04 + 1.656411e-04 9.504378e-05 +>TXI.EXP //14 +-1.390140e-04 4.037799e-05 9.855030e-06 7.109801e-07 1.539869e-08 -4.283089e-06 + 3.996903e-05 -4.659939e-04 -2.920659e-04 6.737532e-05 1.746798e-04 1.656650e-04 + 1.225827e-04 7.983497e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.225899e-03 4.995122e-04 1.287876e-05 -3.586922e-07 -7.258723e-08 -1.521168e-05 + 2.530004e-04 -4.342183e-05 -1.218774e-03 -1.184215e-03 -8.322505e-04 -5.253497e-04 +-3.109979e-04 -1.783412e-04 +>TYI.EXP //14 +-1.882063e-04 -5.936124e-05 -4.497686e-06 -8.934631e-07 -3.513648e-08 7.149529e-06 +-6.872074e-05 9.189055e-04 5.456015e-04 -1.491224e-04 -3.416521e-04 -3.168425e-04 +-2.322214e-04 -1.504951e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par18ew.edi b/examples/data/NEConductor/par18ew.edi new file mode 100644 index 00000000..4c550e68 --- /dev/null +++ b/examples/data/NEConductor/par18ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par18ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par18ew" +REFLAT=-30:12:46.6858 +REFLONG=139:44:38.7596 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par18ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.792210e-03 -8.096556e-05 -1.260339e-05 -2.226279e-07 3.223993e-06 7.474720e-04 +-5.256597e-03 6.762533e-03 1.185507e-02 1.025431e-02 7.334150e-03 4.672681e-03 + 2.768818e-03 1.587289e-03 +>ZXXI ROT=ZROT //14 + 9.915259e-04 -6.057476e-05 -3.705662e-06 2.304715e-07 1.686898e-06 1.802329e-04 +-3.060969e-03 -8.974684e-03 -2.002080e-03 1.976696e-03 3.125102e-03 2.838269e-03 + 2.074893e-03 1.343026e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866243e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350538e+01 1.316923e+01 + 8.368522e+00 6.582867e+00 5.455101e+00 4.257717e+00 3.000309e+00 1.918039e+00 + 1.142793e+00 6.571221e-01 +>ZXYI ROT=ZROT //14 + 3.082413e+02 1.471566e+02 7.805616e+01 4.294173e+01 2.400288e+01 1.271646e+01 + 6.042412e+00 2.974252e+00 2.003348e+00 1.763090e+00 1.572535e+00 1.248086e+00 + 8.775603e-01 5.612457e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865952e+02 -1.241464e+02 -7.346917e+01 -4.197589e+01 -2.350538e+01 -1.316938e+01 +-8.367154e+00 -6.584203e+00 -5.458407e+00 -4.260983e+00 -3.002778e+00 -1.919651e+00 +-1.143759e+00 -6.576784e-01 +>ZYXI ROT=ZROT //14 +-3.082200e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400288e+01 -1.271642e+01 +-6.041999e+00 -2.971684e+00 -2.002304e+00 -1.763412e+00 -1.573428e+00 -1.248993e+00 +-8.782544e-01 -5.617053e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.735731e-03 -1.606683e-04 -2.609715e-06 1.262372e-07 -3.600659e-06 -7.510656e-04 + 5.106572e-03 -6.804427e-03 -1.160140e-02 -9.974631e-03 -7.128256e-03 -4.544200e-03 +-2.694288e-03 -1.545053e-03 +>ZYYI ROT=ZROT //14 + 1.773521e-04 -5.306085e-05 -3.882908e-07 1.244767e-07 -3.185550e-06 -2.469115e-04 + 3.240485e-03 8.706909e-03 1.848725e-03 -1.967188e-03 -3.049113e-03 -2.761112e-03 +-2.018088e-03 -1.306650e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.131747e-02 -8.646817e-05 -3.424111e-05 -6.563126e-07 -2.160167e-08 -1.175486e-05 + 1.723293e-04 -7.683953e-05 -7.117360e-04 -6.943553e-04 -4.988158e-04 -3.183588e-04 +-1.892925e-04 -1.087893e-04 +>TXI.EXP //14 +-5.741659e-04 4.049080e-06 4.727283e-06 1.143980e-06 -4.509631e-09 3.701948e-06 +-2.356642e-05 5.503328e-04 2.964276e-04 -8.053698e-05 -1.967480e-04 -1.875755e-04 +-1.394743e-04 -9.111207e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.422646e-02 -2.175451e-04 1.132448e-05 1.854908e-06 -8.661201e-09 1.632254e-05 +-2.328418e-04 1.015842e-04 9.890568e-04 9.242232e-04 6.458434e-04 4.074308e-04 + 2.411831e-04 1.383461e-04 +>TYI.EXP //14 + 1.023749e-03 3.382963e-05 -5.473000e-07 -1.694017e-06 1.727271e-08 -3.799538e-06 + 2.939554e-05 -7.565257e-04 -3.886239e-04 1.355264e-04 2.714047e-04 2.476996e-04 + 1.807285e-04 1.170285e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par19.edi b/examples/data/NEConductor/par19.edi new file mode 100644 index 00000000..cc6c87a5 --- /dev/null +++ b/examples/data/NEConductor/par19.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par19" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par19" +REFLAT=-30:11:40.4549 +REFLONG=139:42:28.7197 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par19" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.112642e-03 2.911307e-04 6.489691e-06 2.025640e-07 2.145719e-06 4.747600e-04 +-4.049510e-03 4.316532e-03 1.008861e-02 9.531076e-03 7.111736e-03 4.649338e-03 + 2.794898e-03 1.612603e-03 +>ZXXI ROT=ZROT //14 +-1.717731e-03 9.224250e-05 1.386020e-06 -2.117151e-07 1.174274e-06 -2.611472e-06 +-1.461261e-03 -7.836165e-03 -2.782307e-03 1.194022e-03 2.659755e-03 2.629316e-03 + 2.005644e-03 1.329246e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865559e+02 1.241408e+02 7.346937e+01 4.197590e+01 2.350537e+01 1.316995e+01 + 8.364622e+00 6.592130e+00 5.464555e+00 4.264731e+00 3.005009e+00 1.920905e+00 + 1.144446e+00 6.580582e-01 +>ZXYI ROT=ZROT //14 + 3.082061e+02 1.471558e+02 7.805626e+01 4.294174e+01 2.400290e+01 1.271777e+01 + 6.035597e+00 2.968436e+00 2.003974e+00 1.765430e+00 1.575023e+00 1.250066e+00 + 8.789058e-01 5.620795e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865703e+02 -1.241460e+02 -7.346927e+01 -4.197589e+01 -2.350537e+01 -1.317015e+01 +-8.362957e+00 -6.593483e+00 -5.470123e+00 -4.270985e+00 -3.010075e+00 -1.924366e+00 +-1.146574e+00 -6.592977e-01 +>ZYXI ROT=ZROT //14 +-3.082013e+02 -1.471554e+02 -7.805633e+01 -4.294174e+01 -2.400290e+01 -1.271783e+01 +-6.035055e+00 -2.964267e+00 -2.001375e+00 -1.765489e+00 -1.576482e+00 -1.251796e+00 +-8.803308e-01 -5.630612e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.230682e-03 -7.100069e-05 -2.707797e-07 2.252134e-07 -1.431675e-06 -4.219624e-04 + 3.792105e-03 -4.061999e-03 -9.044600e-03 -8.289299e-03 -6.058480e-03 -3.906144e-03 +-2.329737e-03 -1.339469e-03 +>ZYYI ROT=ZROT //14 + 1.646551e-04 -2.015359e-05 -1.276524e-07 -8.957932e-08 -1.976179e-07 4.316894e-05 + 1.271724e-03 7.092008e-03 2.249451e-03 -1.235500e-03 -2.401675e-03 -2.286356e-03 +-1.708330e-03 -1.118832e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.906671e-03 -4.319485e-04 -3.744667e-05 3.046484e-07 6.299438e-08 8.319515e-06 +-1.582292e-04 7.935099e-06 7.972557e-04 7.981536e-04 5.680840e-04 3.604363e-04 + 2.138208e-04 1.226812e-04 +>TXI.EXP //14 + 9.189382e-06 5.210059e-05 1.129131e-05 5.398413e-07 1.716750e-08 -5.572833e-06 + 5.411194e-05 -5.987447e-04 -3.815147e-04 8.569490e-05 2.255836e-04 2.140495e-04 + 1.583336e-04 1.030910e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-3.202009e-03 4.998145e-04 1.287965e-05 -3.601352e-07 -7.081304e-08 -1.347603e-05 + 2.387456e-04 -2.080750e-05 -1.187646e-03 -1.178808e-03 -8.357319e-04 -5.292943e-04 +-3.137195e-04 -1.799838e-04 +>TYI.EXP //14 +-1.921206e-04 -5.938366e-05 -4.496129e-06 -8.919979e-07 -2.484025e-08 7.760426e-06 +-7.611247e-05 8.932906e-04 5.573061e-04 -1.329441e-04 -3.353518e-04 -3.159296e-04 +-2.329913e-04 -1.514301e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par19ew.edi b/examples/data/NEConductor/par19ew.edi new file mode 100644 index 00000000..32b69f7f --- /dev/null +++ b/examples/data/NEConductor/par19ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par19ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par19ew" +REFLAT=-30:12:46.8645 +REFLONG=139:44:57.4582 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par19ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.018056e-02 -1.221332e-04 -1.618354e-05 -2.964372e-07 3.167004e-06 6.779885e-04 +-5.043763e-03 6.121323e-03 1.165923e-02 1.035118e-02 7.510132e-03 4.829631e-03 + 2.877116e-03 1.653375e-03 +>ZXXI ROT=ZROT //14 + 1.335824e-03 -8.087395e-05 -4.717049e-06 3.175044e-07 2.257534e-06 1.029424e-04 +-2.551826e-03 -8.925708e-03 -2.340988e-03 1.772047e-03 3.066434e-03 2.861618e-03 + 2.122821e-03 1.385679e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866360e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.316944e+01 + 8.367362e+00 6.586289e+00 5.458076e+00 4.259659e+00 3.001513e+00 1.918737e+00 + 1.143183e+00 6.573403e-01 +>ZXYI ROT=ZROT //14 + 3.082497e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400289e+01 1.271702e+01 + 6.039742e+00 2.972569e+00 2.003920e+00 1.763986e+00 1.573310e+00 1.248638e+00 + 8.779088e-01 5.614519e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865940e+02 -1.241464e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.316962e+01 +-8.365512e+00 -6.587772e+00 -5.463319e+00 -4.265352e+00 -3.006013e+00 -1.921754e+00 +-1.145017e+00 -6.584033e-01 +>ZYXI ROT=ZROT //14 +-3.082207e+02 -1.471552e+02 -7.805626e+01 -4.294173e+01 -2.400289e+01 -1.271697e+01 +-6.039382e+00 -2.968525e+00 -2.001677e+00 -1.764186e+00 -1.574719e+00 -1.250216e+00 +-8.791722e-01 -5.623084e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.651630e-03 -1.700374e-04 -2.880318e-06 1.171056e-07 -3.248670e-06 -6.691082e-04 + 4.668245e-03 -6.037854e-03 -1.068774e-02 -9.260349e-03 -6.642165e-03 -4.246192e-03 +-2.522002e-03 -1.447444e-03 +>ZYYI ROT=ZROT //14 + 1.869679e-04 -5.680771e-05 -4.093774e-07 1.486879e-07 -2.411464e-06 -1.832967e-04 + 2.752753e-03 8.083886e-03 1.834605e-03 -1.763838e-03 -2.805840e-03 -2.560521e-03 +-1.879782e-03 -1.220348e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.136976e-02 -8.730720e-05 -3.437354e-05 -6.577334e-07 -2.574096e-08 -1.032801e-05 + 1.644844e-04 -5.653825e-05 -7.087098e-04 -7.104328e-04 -5.152829e-04 -3.299873e-04 +-1.964500e-04 -1.129522e-04 +>TXI.EXP //14 +-5.778451e-04 4.133133e-06 4.753267e-06 1.148559e-06 -2.631440e-09 4.644534e-06 +-3.302950e-05 5.463450e-04 3.163361e-04 -7.082008e-05 -1.978182e-04 -1.921905e-04 +-1.439039e-04 -9.429942e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.548095e-02 -3.006828e-04 1.051063e-05 1.897107e-06 8.951534e-09 1.736864e-05 +-2.630021e-04 8.838203e-05 1.168836e-03 1.113345e-03 7.822738e-04 4.943284e-04 + 2.927875e-04 1.679754e-04 +>TYI.EXP //14 + 1.192860e-03 4.506270e-05 -1.736448e-07 -1.685992e-06 1.728582e-08 -5.866769e-06 + 4.882395e-05 -8.905873e-04 -4.867932e-04 1.504911e-04 3.233559e-04 2.984656e-04 + 2.186530e-04 1.418253e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par20.edi b/examples/data/NEConductor/par20.edi new file mode 100644 index 00000000..b9237fdd --- /dev/null +++ b/examples/data/NEConductor/par20.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par20" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par20" +REFLAT=-30:14:06.7956 +REFLONG=139:42:45.5117 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par20" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-8.466893e-03 7.701496e-05 9.992748e-06 1.640363e-07 -1.250344e-07 7.487013e-05 +-9.649076e-04 1.937041e-03 -3.800479e-05 -2.249022e-03 -2.510374e-03 -1.930584e-03 +-1.248158e-03 -7.417825e-04 +>ZXXI ROT=ZROT //14 +-1.517351e-03 1.887529e-05 1.779043e-06 -2.526064e-07 -7.280298e-07 -7.380897e-05 +-3.731220e-04 -3.742129e-04 2.288370e-03 1.276298e-03 -3.753396e-05 -6.387833e-04 +-6.971728e-04 -5.344833e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865679e+02 1.241401e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.317088e+01 + 8.358937e+00 6.600075e+00 5.479924e+00 4.280021e+00 3.016879e+00 1.928827e+00 + 1.149255e+00 6.608440e-01 +>ZXYI ROT=ZROT //14 + 3.082018e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400291e+01 1.271847e+01 + 6.030772e+00 2.957526e+00 1.999690e+00 1.766815e+00 1.579057e+00 1.254326e+00 + 8.822581e-01 5.643374e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866500e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317083e+01 +-8.359495e+00 -6.600536e+00 -5.476139e+00 -4.274551e+00 -3.012120e+00 -1.925477e+00 +-1.147167e+00 -6.596213e-01 +>ZYXI ROT=ZROT //14 +-3.082582e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271846e+01 +-6.030588e+00 -2.960218e+00 -2.002831e+00 -1.767461e+00 -1.578031e+00 -1.252810e+00 +-8.809266e-01 -5.633942e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.340650e-03 -8.185863e-05 -1.478160e-06 3.491340e-07 -1.830420e-07 -8.443778e-05 + 1.156479e-03 -1.904086e-03 -9.486359e-04 9.986947e-04 1.438557e-03 1.172540e-03 + 7.734738e-04 4.629837e-04 +>ZYYI ROT=ZROT //14 + 3.279079e-04 -2.810395e-05 -1.624928e-07 -6.544004e-08 4.598698e-07 8.184929e-05 + 2.958868e-04 1.136406e-03 -1.637889e-03 -1.185722e-03 -2.076677e-04 2.949649e-04 + 3.957496e-04 3.203439e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.784278e-02 2.341102e-04 -3.174870e-05 -7.107359e-07 -3.976483e-09 -5.576443e-06 + 1.229746e-04 5.837255e-05 -7.736843e-04 -8.016237e-04 -5.696979e-04 -3.598518e-04 +-2.128765e-04 -1.220843e-04 +>TXI.EXP //14 +-1.275298e-03 -4.268430e-05 4.285255e-07 1.175313e-06 1.756409e-08 5.069212e-06 +-6.455911e-05 5.617231e-04 4.167427e-04 -7.398392e-05 -2.247467e-04 -2.143624e-04 +-1.582672e-04 -1.028595e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.215223e-03 3.938256e-04 1.332555e-05 5.508711e-08 -3.090544e-08 -2.770948e-06 + 4.871100e-05 1.280361e-05 -2.882029e-04 -2.749192e-04 -1.862779e-04 -1.153775e-04 +-6.776072e-05 -3.872245e-05 +>TYI.EXP //14 + 3.233591e-05 -4.609937e-05 -4.085307e-06 -1.100047e-06 -1.561677e-08 1.764279e-06 +-1.984895e-05 2.083113e-04 1.366049e-04 -4.067239e-05 -8.204254e-05 -7.254198e-05 +-5.184561e-05 -3.311226e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par20ew.edi b/examples/data/NEConductor/par20ew.edi new file mode 100644 index 00000000..7578641b --- /dev/null +++ b/examples/data/NEConductor/par20ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par20ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par20ew" +REFLAT=-30:12:47.0426 +REFLONG=139:45:16.1568 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par20ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.263090e-02 -1.633240e-04 -2.001726e-05 -3.735064e-07 2.838790e-06 5.799211e-04 +-4.649855e-03 5.272663e-03 1.104300e-02 1.003131e-02 7.363381e-03 4.771920e-03 + 2.855429e-03 1.644253e-03 +>ZXXI ROT=ZROT //14 + 1.622095e-03 -1.025674e-04 -5.832500e-06 4.155372e-07 1.074194e-06 2.282145e-05 +-1.945790e-03 -8.561434e-03 -2.559852e-03 1.529826e-03 2.897424e-03 2.768778e-03 + 2.079671e-03 1.367166e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866493e+02 1.241454e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316973e+01 + 8.365885e+00 6.590038e+00 5.461503e+00 4.261990e+00 3.003000e+00 1.919615e+00 + 1.143680e+00 6.576192e-01 +>ZXYI ROT=ZROT //14 + 3.082592e+02 1.471577e+02 7.805612e+01 4.294172e+01 2.400290e+01 1.271756e+01 + 6.036948e+00 2.970516e+00 2.004441e+00 1.764956e+00 1.574204e+00 1.249298e+00 + 8.783372e-01 5.617097e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865925e+02 -1.241463e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.316992e+01 +-8.363661e+00 -6.591500e+00 -5.468483e+00 -4.269937e+00 -3.009403e+00 -1.923956e+00 +-1.146335e+00 -6.591622e-01 +>ZYXI ROT=ZROT //14 +-3.082213e+02 -1.471552e+02 -7.805626e+01 -4.294173e+01 -2.400290e+01 -1.271750e+01 +-6.036722e+00 -2.965144e+00 -2.001013e+00 -1.764999e+00 -1.576076e+00 -1.251500e+00 +-8.801343e-01 -5.629402e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.542424e-03 -1.779330e-04 -3.139004e-06 1.109958e-07 -2.716368e-06 -5.620988e-04 + 4.067087e-03 -5.081526e-03 -9.343158e-03 -8.102805e-03 -5.808004e-03 -3.714748e-03 +-2.207697e-03 -1.267487e-03 +>ZYYI ROT=ZROT //14 + 1.977889e-04 -6.008489e-05 -4.162020e-07 1.673550e-07 -1.572310e-06 -1.100155e-04 + 2.168177e-03 7.143424e-03 1.678132e-03 -1.530887e-03 -2.449234e-03 -2.236558e-03 +-1.643338e-03 -1.067624e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.143586e-02 -8.843800e-05 -3.454121e-05 -6.595133e-07 -2.386935e-08 -8.270210e-06 + 1.477041e-04 -3.000544e-05 -6.769776e-04 -6.995474e-04 -5.121591e-04 -3.289671e-04 +-1.960413e-04 -1.127576e-04 +>TXI.EXP //14 +-5.823369e-04 4.245190e-06 4.786425e-06 1.154272e-06 8.217902e-09 5.176958e-06 +-4.168661e-05 5.190808e-04 3.262916e-04 -5.761330e-05 -1.912627e-04 -1.894779e-04 +-1.428273e-04 -9.386600e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.663789e-02 -3.738992e-04 9.583279e-06 1.837173e-06 1.370257e-08 1.599449e-05 +-2.642817e-04 5.149089e-05 1.250793e-03 1.223007e-03 8.660270e-04 5.485688e-04 + 3.251721e-04 1.866037e-04 +>TYI.EXP //14 + 1.363907e-03 5.503259e-05 6.781080e-08 -1.636014e-06 6.036787e-09 -7.660968e-06 + 6.955337e-05 -9.471787e-04 -5.603686e-04 1.464848e-04 3.498877e-04 3.280869e-04 + 2.417076e-04 1.571584e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par21.edi b/examples/data/NEConductor/par21.edi new file mode 100644 index 00000000..09e29705 --- /dev/null +++ b/examples/data/NEConductor/par21.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par21" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par21" +REFLAT=-30:13:50.556 +REFLONG=139:42:45.7234 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par21" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-8.108671e-03 9.177875e-05 9.451384e-06 1.670804e-07 2.215304e-07 1.202909e-04 +-1.244878e-03 2.260047e-03 4.876719e-04 -1.779404e-03 -2.170954e-03 -1.714178e-03 +-1.120057e-03 -6.683969e-04 +>ZXXI ROT=ZROT //14 +-1.600786e-03 2.361716e-05 1.867156e-06 -2.494576e-07 -9.236993e-07 -8.255885e-05 +-5.339184e-04 -7.612037e-04 2.192545e-03 1.358687e-03 1.038098e-04 -5.082030e-04 +-6.013254e-04 -4.723986e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865666e+02 1.241401e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.317063e+01 + 8.360349e+00 6.597786e+00 5.476651e+00 4.277117e+00 3.014734e+00 1.927435e+00 + 1.148423e+00 6.603653e-01 +>ZXYI ROT=ZROT //14 + 3.082048e+02 1.471555e+02 7.805625e+01 4.294175e+01 2.400291e+01 1.271827e+01 + 6.032196e+00 2.959810e+00 2.000140e+00 1.766309e+00 1.578199e+00 1.253513e+00 + 8.816496e-01 5.639382e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866354e+02 -1.241504e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317060e+01 +-8.360693e+00 -6.598158e+00 -5.473993e+00 -4.273197e+00 -3.011295e+00 -1.925004e+00 +-1.146905e+00 -6.594758e-01 +>ZYXI ROT=ZROT //14 +-3.082474e+02 -1.471573e+02 -7.805623e+01 -4.294172e+01 -2.400291e+01 -1.271825e+01 +-6.032070e+00 -2.961686e+00 -2.002415e+00 -1.766813e+00 -1.577482e+00 -1.252426e+00 +-8.806871e-01 -5.632542e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.870681e-03 -7.838976e-05 -1.343505e-06 3.210877e-07 -4.442299e-07 -1.273815e-04 + 1.385563e-03 -2.255687e-03 -1.187298e-03 9.211398e-04 1.436406e-03 1.193358e-03 + 7.933343e-04 4.763299e-04 +>ZYYI ROT=ZROT //14 + 2.984117e-04 -2.631798e-05 -1.824932e-07 -6.265584e-08 6.051951e-07 8.724634e-05 + 4.835666e-04 1.307316e-03 -1.760295e-03 -1.306131e-03 -2.733313e-04 2.724886e-04 + 3.943905e-04 3.251509e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.671524e-02 1.890547e-04 -3.135708e-05 -8.440670e-07 -1.468076e-08 -7.298939e-06 + 1.376148e-04 2.320110e-05 -7.755801e-04 -7.709730e-04 -5.412955e-04 -3.406327e-04 +-2.012573e-04 -1.153736e-04 +>TXI.EXP //14 +-1.133970e-03 -3.600459e-05 4.427910e-07 1.267928e-06 1.239798e-08 4.743834e-06 +-5.551568e-05 5.722838e-04 3.797319e-04 -8.861868e-05 -2.210483e-04 -2.058266e-04 +-1.506842e-04 -9.756965e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.180330e-03 3.941489e-04 1.332867e-05 5.184213e-08 -3.759710e-08 -4.287995e-06 + 7.098752e-05 4.937071e-06 -3.895189e-04 -3.669462e-04 -2.490786e-04 -1.545537e-04 +-9.084533e-05 -5.193859e-05 +>TYI.EXP //14 + 2.583657e-05 -4.610683e-05 -4.082851e-06 -1.097236e-06 -1.907104e-08 2.178051e-06 +-2.410148e-05 2.856885e-04 1.756108e-04 -5.617205e-05 -1.098023e-04 -9.702723e-05 +-6.941685e-05 -4.438692e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par210.edi b/examples/data/NEConductor/par210.edi new file mode 100644 index 00000000..0957a3f5 --- /dev/null +++ b/examples/data/NEConductor/par210.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par210" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par210" +REFLAT=-30:11:24.399 +REFLONG=139:42:47.6257 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par210" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.005559e-03 2.326603e-04 3.385533e-06 1.484899e-07 2.672639e-06 5.343285e-04 +-4.284005e-03 4.763732e-03 1.059417e-02 9.939616e-03 7.398637e-03 4.829205e-03 + 2.900233e-03 1.672631e-03 +>ZXXI ROT=ZROT //14 +-1.276666e-03 7.060856e-05 8.624708e-07 -1.299880e-07 1.772907e-06 4.502525e-05 +-1.795117e-03 -8.153646e-03 -2.792855e-03 1.299391e-03 2.793678e-03 2.744492e-03 + 2.087364e-03 1.381172e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865656e+02 1.241403e+02 7.346935e+01 4.197591e+01 2.350537e+01 1.316986e+01 + 8.364751e+00 6.591206e+00 5.465016e+00 4.265876e+00 3.006098e+00 1.921699e+00 + 1.144949e+00 6.583546e-01 +>ZXYI ROT=ZROT //14 + 3.082087e+02 1.471556e+02 7.805624e+01 4.294175e+01 2.400290e+01 1.271765e+01 + 6.036350e+00 2.967967e+00 2.002945e+00 1.765063e+00 1.575156e+00 1.250380e+00 + 8.792077e-01 5.623010e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865647e+02 -1.241464e+02 -7.346937e+01 -4.197591e+01 -2.350537e+01 -1.316999e+01 +-8.363995e+00 -6.592279e+00 -5.466883e+00 -4.267441e+00 -3.007240e+00 -1.922449e+00 +-1.145402e+00 -6.586174e-01 +>ZYXI ROT=ZROT //14 +-3.081996e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400290e+01 -1.271771e+01 +-6.035782e+00 -2.966575e+00 -2.002679e+00 -1.765374e+00 -1.575618e+00 -1.250810e+00 +-8.795329e-01 -5.625169e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.380058e-03 -9.482013e-05 -3.690579e-07 2.287464e-07 -2.345516e-06 -5.065034e-04 + 4.384856e-03 -4.658550e-03 -1.074746e-02 -1.011643e-02 -7.516775e-03 -4.894169e-03 +-2.934320e-03 -1.690948e-03 +>ZYYI ROT=ZROT //14 + 1.685505e-04 -2.672125e-05 -9.771467e-08 -7.984954e-08 -4.879564e-07 2.165493e-05 + 1.551599e-03 8.359879e-03 2.919200e-03 -1.305261e-03 -2.847807e-03 -2.793319e-03 +-2.119062e-03 -1.399500e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.163992e-03 -5.108232e-04 -3.652102e-05 5.315837e-07 8.686001e-08 1.165015e-05 +-2.066198e-04 2.603080e-05 1.010036e-03 9.929268e-04 7.018909e-04 4.441930e-04 + 2.632476e-04 1.509950e-04 +>TXI.EXP //14 + 1.595304e-04 6.299084e-05 1.235713e-05 3.669751e-07 5.969881e-09 -6.658513e-06 + 6.199791e-05 -7.608187e-04 -4.639887e-04 1.173317e-04 2.838884e-04 2.659698e-04 + 1.957762e-04 1.271826e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-4.937438e-03 3.972738e-04 1.335362e-05 3.336941e-08 -7.662690e-08 -1.257654e-05 + 2.202452e-04 -2.970765e-05 -1.064660e-03 -1.062214e-03 -7.572838e-04 -4.809454e-04 +-2.853989e-04 -1.638091e-04 +>TYI.EXP //14 +-1.746403e-05 -4.628887e-05 -4.068694e-06 -1.080918e-06 -2.528422e-08 7.179176e-06 +-6.626889e-05 8.044103e-04 4.984921e-04 -1.152255e-04 -3.003089e-04 -2.852207e-04 +-2.111704e-04 -1.375187e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par21ew.edi b/examples/data/NEConductor/par21ew.edi new file mode 100644 index 00000000..d0ea2bcb --- /dev/null +++ b/examples/data/NEConductor/par21ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par21ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par21ew" +REFLAT=-30:12:48.2023 +REFLONG=139:45:34.909 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par21ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.517261e-02 -2.044187e-04 -2.418781e-05 -4.552987e-07 2.321055e-06 4.683975e-04 +-4.127899e-03 4.333441e-03 1.013327e-02 9.399561e-03 6.967041e-03 4.544772e-03 + 2.729978e-03 1.574790e-03 +>ZXXI ROT=ZROT //14 + 1.836033e-03 -1.259798e-04 -7.086084e-06 5.266893e-07 4.535924e-07 -4.326849e-05 +-1.338680e-03 -7.955486e-03 -2.661566e-03 1.276699e-03 2.652902e-03 2.589437e-03 + 1.966211e-03 1.300536e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866645e+02 1.241470e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317007e+01 + 8.364218e+00 6.593734e+00 5.465051e+00 4.264481e+00 3.004623e+00 1.920588e+00 + 1.144235e+00 6.579319e-01 +>ZXYI ROT=ZROT //14 + 3.082697e+02 1.471583e+02 7.805610e+01 4.294172e+01 2.400291e+01 1.271802e+01 + 6.034348e+00 2.968267e+00 2.004856e+00 1.765906e+00 1.575129e+00 1.250003e+00 + 8.788038e-01 5.619941e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865910e+02 -1.241462e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317026e+01 +-8.361806e+00 -6.594980e+00 -5.473297e+00 -4.274185e+00 -3.012535e+00 -1.925987e+00 +-1.147549e+00 -6.598607e-01 +>ZYXI ROT=ZROT //14 +-3.082215e+02 -1.471552e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271794e+01 +-6.034324e+00 -2.961933e+00 -2.000411e+00 -1.765768e+00 -1.577339e+00 -1.252689e+00 +-8.810229e-01 -5.635228e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.410963e-03 -1.844856e-04 -3.376827e-06 1.074532e-07 -2.100137e-06 -4.471831e-04 + 3.399081e-03 -4.090482e-03 -7.827472e-03 -6.751168e-03 -4.815562e-03 -3.074942e-03 +-1.826753e-03 -1.048711e-03 +>ZYYI ROT=ZROT //14 + 2.086362e-04 -6.280291e-05 -4.099765e-07 1.805937e-07 -8.802189e-07 -4.465948e-05 + 1.591310e-03 6.062666e-03 1.438036e-03 -1.298373e-03 -2.048145e-03 -1.858837e-03 +-1.362400e-03 -8.841977e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.151604e-02 -8.986788e-05 -3.474741e-05 -6.616881e-07 -1.620743e-08 -6.032953e-06 + 1.256131e-04 -1.761424e-06 -6.253371e-04 -6.683053e-04 -4.937954e-04 -3.179984e-04 +-1.896572e-04 -1.091165e-04 +>TXI.EXP //14 +-5.876571e-04 4.386151e-06 4.827511e-06 1.161142e-06 1.462200e-08 5.211980e-06 +-4.793825e-05 4.754438e-04 3.272436e-04 -4.288141e-05 -1.792962e-04 -1.812188e-04 +-1.374848e-04 -9.059793e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.768463e-02 -4.358235e-04 8.510114e-06 1.676998e-06 8.701082e-09 1.312218e-05 +-2.437288e-04 9.647810e-07 1.252227e-03 1.264028e-03 9.032332e-04 5.736698e-04 + 3.403404e-04 1.953635e-04 +>TYI.EXP //14 + 1.537505e-03 6.346619e-05 1.737478e-07 -1.537898e-06 -8.829446e-09 -8.704060e-06 + 8.727038e-05 -9.394531e-04 -6.093437e-04 1.286244e-04 3.552564e-04 3.394071e-04 + 2.516619e-04 1.640804e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par22.edi b/examples/data/NEConductor/par22.edi new file mode 100644 index 00000000..3ebc1b09 --- /dev/null +++ b/examples/data/NEConductor/par22.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par22" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par22" +REFLAT=-30:13:34.3164 +REFLONG=139:42:45.9349 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par22" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.700553e-03 1.075204e-04 8.883359e-06 1.706939e-07 7.067774e-07 1.822797e-04 +-1.620133e-03 2.673931e-03 1.336741e-03 -9.431439e-04 -1.534086e-03 -1.295002e-03 +-8.675618e-04 -5.226236e-04 +>ZXXI ROT=ZROT //14 +-1.652551e-03 2.843577e-05 1.890686e-06 -2.441943e-07 -1.018523e-06 -8.342702e-05 +-7.480569e-04 -1.382840e-03 1.947553e-03 1.443892e-03 3.309651e-04 -2.758036e-04 +-4.218494e-04 -3.528312e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865658e+02 1.241401e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.317036e+01 + 8.361915e+00 6.595135e+00 5.472754e+00 4.273590e+00 3.012105e+00 1.925720e+00 + 1.147395e+00 6.597731e-01 +>ZXYI ROT=ZROT //14 + 3.082068e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400290e+01 1.271800e+01 + 6.033924e+00 2.962484e+00 2.000750e+00 1.765742e+00 1.577175e+00 1.252527e+00 + 8.809046e-01 5.634471e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866235e+02 -1.241492e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317037e+01 +-8.361874e+00 -6.595583e+00 -5.471742e+00 -4.271791e+00 -3.010446e+00 -1.924522e+00 +-1.146639e+00 -6.593284e-01 +>ZYXI ROT=ZROT //14 +-3.082382e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271797e+01 +-6.033796e+00 -2.963148e+00 -2.001942e+00 -1.766116e+00 -1.576903e+00 -1.252027e+00 +-8.804409e-01 -5.631112e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.462194e-03 -7.572923e-05 -1.228319e-06 2.952548e-07 -8.317226e-07 -1.819042e-04 + 1.662645e-03 -2.654076e-03 -1.615443e-03 6.176613e-04 1.250194e-03 1.089050e-03 + 7.366179e-04 4.451687e-04 +>ZYYI ROT=ZROT //14 + 2.676747e-04 -2.485892e-05 -1.904027e-07 -5.848083e-08 6.905142e-07 8.486282e-05 + 7.145398e-04 1.606237e-03 -1.784079e-03 -1.424030e-03 -3.911517e-04 1.871689e-04 + 3.414186e-04 2.945364e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.548109e-02 1.328675e-04 -3.141170e-05 -9.084577e-07 -2.502342e-08 -8.472369e-06 + 1.412876e-04 -8.608084e-06 -7.282637e-04 -6.973215e-04 -4.837809e-04 -3.032253e-04 +-1.789022e-04 -1.025111e-04 +>TXI.EXP //14 +-9.928299e-04 -2.769196e-05 9.313311e-07 1.306010e-06 5.461732e-09 3.875420e-06 +-4.246857e-05 5.439546e-04 3.250593e-04 -9.522426e-05 -2.042467e-04 -1.858859e-04 +-1.349314e-04 -8.703472e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.147942e-03 3.944623e-04 1.333183e-05 4.891389e-08 -4.601148e-08 -6.331982e-06 + 9.956105e-05 -8.841704e-06 -5.110079e-04 -4.756425e-04 -3.231271e-04 -2.007593e-04 +-1.180804e-04 -6.753324e-05 +>TYI.EXP //14 + 1.980092e-05 -4.611480e-05 -4.080578e-06 -1.094704e-06 -2.502163e-08 2.540753e-06 +-2.758099e-05 3.790815e-04 2.195062e-04 -7.543504e-05 -1.428170e-04 -1.259779e-04 +-9.016407e-05 -5.769508e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par22ew.edi b/examples/data/NEConductor/par22ew.edi new file mode 100644 index 00000000..15b80df2 --- /dev/null +++ b/examples/data/NEConductor/par22ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par22ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par22ew" +REFLAT=-30:12:48.3971 +REFLONG=139:45:55.5374 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par22ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.785027e-02 -2.454326e-04 -2.880039e-05 -5.441153e-07 1.788228e-06 3.576615e-04 +-3.541086e-03 3.404247e-03 9.066933e-03 8.579862e-03 6.412619e-03 4.207133e-03 + 2.535805e-03 1.465090e-03 +>ZXXI ROT=ZROT //14 + 1.963049e-03 -1.515838e-04 -8.520527e-06 6.542215e-07 8.469871e-09 -8.772463e-05 +-8.003531e-04 -7.198812e-03 -2.665843e-03 1.033547e-03 2.369663e-03 2.358425e-03 + 1.808338e-03 1.202679e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866825e+02 1.241487e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.317041e+01 + 8.362494e+00 6.597121e+00 5.468480e+00 4.266953e+00 3.006263e+00 1.921582e+00 + 1.144807e+00 6.582547e-01 +>ZXYI ROT=ZROT //14 + 3.082815e+02 1.471590e+02 7.805608e+01 4.294172e+01 2.400291e+01 1.271835e+01 + 6.032134e+00 2.965970e+00 2.005147e+00 1.766775e+00 1.576021e+00 1.250702e+00 + 8.792743e-01 5.622839e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865894e+02 -1.241462e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317058e+01 +-8.360090e+00 -6.597991e+00 -5.477433e+00 -4.277795e+00 -3.015183e+00 -1.927699e+00 +-1.148571e+00 -6.604481e-01 +>ZYXI ROT=ZROT //14 +-3.082213e+02 -1.471552e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271826e+01 +-6.032338e+00 -2.959115e+00 -1.999928e+00 -1.766447e+00 -1.578423e+00 -1.253700e+00 +-8.817747e-01 -5.640143e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.260302e-03 -1.898606e-04 -3.582419e-06 1.047231e-07 -1.545530e-06 -3.385762e-04 + 2.743688e-03 -3.176395e-03 -6.344735e-03 -5.405399e-03 -3.818608e-03 -2.428665e-03 +-1.440759e-03 -8.267232e-04 +>ZYYI ROT=ZROT //14 + 2.179161e-04 -6.485565e-05 -3.967045e-07 1.884541e-07 -3.996828e-07 3.436293e-06 + 1.091011e-03 4.985474e-03 1.167168e-03 -1.086921e-03 -1.656510e-03 -1.483151e-03 +-1.080393e-03 -6.991297e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.161070e-02 -9.160558e-05 -3.499642e-05 -6.642747e-07 -6.129019e-09 -3.979289e-06 + 1.017578e-04 2.443440e-05 -5.625851e-04 -6.239199e-04 -4.651877e-04 -3.002520e-04 +-1.791825e-04 -1.031119e-04 +>TXI.EXP //14 +-5.938360e-04 4.557175e-06 4.877509e-06 1.169217e-06 1.988532e-08 4.809452e-06 +-5.097567e-05 4.225426e-04 3.208363e-04 -2.823735e-05 -1.641631e-04 -1.693699e-04 +-1.292929e-04 -8.541047e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.860462e-02 -4.853435e-04 7.237965e-06 1.426777e-06 -2.329009e-09 9.720754e-06 +-2.101074e-04 -5.289241e-05 1.196099e-03 1.252613e-03 9.039360e-04 5.756767e-04 + 3.418083e-04 1.962580e-04 +>TYI.EXP //14 + 1.714143e-03 7.008130e-05 1.560108e-07 -1.385660e-06 -2.065744e-08 -8.845476e-06 + 9.901149e-05 -8.855570e-04 -6.360535e-04 1.026319e-04 3.452131e-04 3.367242e-04 + 2.513830e-04 1.643668e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par23.edi b/examples/data/NEConductor/par23.edi new file mode 100644 index 00000000..adf35aa7 --- /dev/null +++ b/examples/data/NEConductor/par23.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par23" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par23" +REFLAT=-30:13:18.0768 +REFLONG=139:42:46.1464 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par23" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.244461e-03 1.239741e-04 8.294783e-06 1.718499e-07 1.331614e-06 2.610797e-04 +-2.103356e-03 3.197201e-03 2.571356e-03 3.342612e-04 -5.374513e-04 -6.299704e-04 +-4.640734e-04 -2.889450e-04 +>ZXXI ROT=ZROT //14 +-1.675031e-03 3.334792e-05 1.851450e-06 -2.350627e-07 -1.062130e-06 -7.140377e-05 +-1.026939e-03 -2.283008e-03 1.522611e-03 1.529970e-03 6.603113e-04 7.924016e-05 +-1.412141e-04 -1.635939e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865654e+02 1.241402e+02 7.346935e+01 4.197590e+01 2.350537e+01 1.317008e+01 + 8.363546e+00 6.592261e+00 5.468422e+00 4.269614e+00 3.009120e+00 1.923766e+00 + 1.146220e+00 6.590955e-01 +>ZXYI ROT=ZROT //14 + 3.082079e+02 1.471555e+02 7.805625e+01 4.294175e+01 2.400290e+01 1.271766e+01 + 6.035859e+00 2.965417e+00 2.001493e+00 1.765143e+00 1.576037e+00 1.251415e+00 + 8.800589e-01 5.628876e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866135e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.317015e+01 +-8.362968e+00 -6.592980e+00 -5.469499e+00 -4.270391e+00 -3.009603e+00 -1.924045e+00 +-1.146376e+00 -6.591825e-01 +>ZYXI ROT=ZROT //14 +-3.082302e+02 -1.471560e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271764e+01 +-6.035634e+00 -2.964540e+00 -2.001458e+00 -1.765415e+00 -1.576324e+00 -1.251629e+00 +-8.801962e-01 -5.629693e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.113553e-03 -7.396692e-05 -1.127790e-06 2.724425e-07 -1.321511e-06 -2.474734e-04 + 2.003444e-03 -3.108913e-03 -2.316196e-03 -1.630237e-05 7.916344e-04 7.982902e-04 + 5.653669e-04 3.473303e-04 +>ZYYI ROT=ZROT //14 + 2.373134e-04 -2.374026e-05 -1.895646e-07 -5.351518e-08 6.560034e-07 7.156373e-05 + 9.893989e-04 2.096085e-03 -1.659352e-03 -1.533658e-03 -5.830791e-04 9.922773e-06 + 2.120545e-04 2.111801e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.415725e-02 6.697036e-05 -3.193933e-05 -8.966170e-07 -3.255314e-08 -8.529393e-06 + 1.286071e-04 -3.038238e-05 -6.178106e-04 -5.713260e-04 -3.915500e-04 -2.443132e-04 +-1.438967e-04 -8.240918e-05 +>TXI.EXP //14 +-8.518411e-04 -1.804587e-05 1.855084e-06 1.293629e-06 -1.356375e-08 2.592564e-06 +-2.736259e-05 4.656320e-04 2.518415e-04 -9.008936e-05 -1.708933e-04 -1.520711e-04 +-1.094031e-04 -7.027466e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.117698e-03 3.947703e-04 1.333497e-05 4.628577e-08 -5.607476e-08 -8.853120e-06 + 1.335948e-04 -2.829582e-05 -6.485865e-04 -5.979605e-04 -4.066013e-04 -2.529269e-04 +-1.488530e-04 -8.515893e-05 +>TYI.EXP //14 + 1.418126e-05 -4.612402e-05 -4.078486e-06 -1.092430e-06 -3.428448e-08 2.810769e-06 +-2.990657e-05 4.852413e-04 2.671732e-04 -9.750647e-05 -1.800245e-04 -1.586093e-04 +-1.135739e-04 -7.272371e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par23ew.edi b/examples/data/NEConductor/par23ew.edi new file mode 100644 index 00000000..4fa3b48e --- /dev/null +++ b/examples/data/NEConductor/par23ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par23ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par23ew" +REFLAT=-30:12:48.5821 +REFLONG=139:46:15.2282 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par23ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.073020e-02 -2.865694e-04 -3.399198e-05 -6.427936e-07 1.282271e-06 2.579483e-04 +-2.946930e-03 2.554577e-03 7.959160e-03 7.682174e-03 5.783840e-03 3.814080e-03 + 2.306047e-03 1.334273e-03 +>ZXXI ROT=ZROT //14 + 1.987342e-03 -1.800892e-04 -1.019178e-05 8.025572e-07 -2.480812e-07 -1.099870e-04 +-3.675249e-04 -6.375763e-03 -2.598588e-03 8.135639e-04 2.078144e-03 2.106506e-03 + 1.629711e-03 1.089317e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867043e+02 1.241505e+02 7.346934e+01 4.197588e+01 2.350537e+01 1.317073e+01 + 8.360829e+00 6.600069e+00 5.471644e+00 4.269285e+00 3.007834e+00 1.922543e+00 + 1.145363e+00 6.585695e-01 +>ZXYI ROT=ZROT //14 + 3.082947e+02 1.471597e+02 7.805605e+01 4.294172e+01 2.400292e+01 1.271857e+01 + 6.030377e+00 2.963735e+00 2.005318e+00 1.767536e+00 1.576840e+00 1.251360e+00 + 8.797240e-01 5.625634e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865880e+02 -1.241461e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317086e+01 +-8.358589e+00 -6.600471e+00 -5.480789e+00 -4.280678e+00 -3.017282e+00 -1.929049e+00 +-1.149375e+00 -6.609096e-01 +>ZYXI ROT=ZROT //14 +-3.082202e+02 -1.471551e+02 -7.805626e+01 -4.294174e+01 -2.400291e+01 -1.271847e+01 +-6.030792e+00 -2.956773e+00 -1.999583e+00 -1.767021e+00 -1.579300e+00 -1.254507e+00 +-8.823707e-01 -5.644022e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.093812e-03 -1.942214e-04 -3.745297e-06 9.908728e-08 -1.090403e-06 -2.451381e-04 + 2.152666e-03 -2.398249e-03 -5.018425e-03 -4.189810e-03 -2.913819e-03 -1.840387e-03 +-1.088818e-03 -6.241674e-04 +>ZYYI ROT=ZROT //14 + 2.238139e-04 -6.614433e-05 -3.866645e-07 1.932362e-07 -1.048529e-07 3.273597e-05 + 6.967965e-04 4.003320e-03 9.029844e-04 -9.066691e-04 -1.306858e-03 -1.144119e-03 +-8.245860e-04 -5.307820e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.172054e-02 -9.366312e-05 -3.529388e-05 -6.672789e-07 4.892043e-09 -2.321435e-06 + 7.887749e-05 4.619990e-05 -4.959147e-04 -5.727129e-04 -4.308610e-04 -2.786391e-04 +-1.663570e-04 -9.574532e-05 +>TXI.EXP //14 +-6.009268e-04 4.759952e-06 4.937719e-06 1.178553e-06 2.169397e-08 4.115665e-06 +-5.082119e-05 3.663635e-04 3.089493e-04 -1.475349e-05 -1.477207e-04 -1.556517e-04 +-1.195287e-04 -7.913972e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.937602e-02 -5.217321e-04 5.695408e-06 1.106666e-06 -1.453149e-08 6.510072e-06 +-1.713093e-04 -1.022014e-04 1.104314e-03 1.205276e-03 8.788035e-04 5.611410e-04 + 3.334184e-04 1.914838e-04 +>TYI.EXP //14 + 1.894088e-03 7.459658e-05 4.373397e-08 -1.175175e-06 -2.500066e-08 -8.223159e-06 + 1.037683e-04 -8.032756e-04 -6.441246e-04 7.334542e-05 3.252980e-04 3.244354e-04 + 2.439006e-04 1.599273e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par24.edi b/examples/data/NEConductor/par24.edi new file mode 100644 index 00000000..bef44159 --- /dev/null +++ b/examples/data/NEConductor/par24.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par24" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par24" +REFLAT=-30:13:01.8371 +REFLONG=139:42:46.3579 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par24" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-6.742741e-03 1.408327e-04 7.682784e-06 1.693170e-07 1.966727e-06 3.526909e-04 +-2.683548e-03 3.821702e-03 4.186993e-03 2.057080e-03 8.257880e-04 2.867182e-04 + 9.430442e-05 3.498817e-05 +>ZXXI ROT=ZROT //14 +-1.671427e-03 3.837184e-05 1.759544e-06 -2.218766e-07 -5.979331e-07 -4.320414e-05 +-1.367571e-03 -3.456624e-03 9.110767e-04 1.611260e-03 1.090570e-03 5.582126e-04 + 2.424861e-04 9.690221e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865652e+02 1.241402e+02 7.346935e+01 4.197590e+01 2.350537e+01 1.316984e+01 + 8.365106e+00 6.589447e+00 5.464077e+00 4.265574e+00 3.006069e+00 1.921761e+00 + 1.145013e+00 6.583987e-01 +>ZXYI ROT=ZROT //14 + 3.082084e+02 1.471555e+02 7.805625e+01 4.294175e+01 2.400290e+01 1.271730e+01 + 6.037790e+00 2.968340e+00 2.002297e+00 1.764572e+00 1.574895e+00 1.250286e+00 + 8.791951e-01 5.623142e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866049e+02 -1.241473e+02 -7.346920e+01 -4.197589e+01 -2.350537e+01 -1.316997e+01 +-8.363908e+00 -6.590600e+00 -5.467425e+00 -4.269071e+00 -3.008801e+00 -1.923585e+00 +-1.146121e+00 -6.590405e-01 +>ZYXI ROT=ZROT //14 +-3.082232e+02 -1.471555e+02 -7.805625e+01 -4.294174e+01 -2.400290e+01 -1.271731e+01 +-6.037374e+00 -2.965790e+00 -2.001038e+00 -1.764777e+00 -1.575787e+00 -1.251255e+00 +-8.799634e-01 -5.628330e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.824289e-03 -7.316648e-05 -1.036265e-06 2.532457e-07 -1.754614e-06 -3.213370e-04 + 2.418504e-03 -3.620942e-03 -3.354456e-03 -1.066900e-03 -1.374019e-05 2.686782e-04 + 2.469296e-04 1.636884e-04 +>ZYYI ROT=ZROT //14 + 2.086928e-04 -2.296397e-05 -1.823564e-07 -4.860860e-08 3.112458e-07 4.603572e-05 + 1.300012e-03 2.828386e-03 -1.341821e-03 -1.627346e-03 -8.659154e-04 -2.831933e-04 +-1.460126e-05 6.030614e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.275672e-02 -6.991350e-06 -3.287848e-05 -8.098359e-07 -1.614542e-08 -7.002123e-06 + 9.612113e-05 -3.653560e-05 -4.369633e-04 -3.890130e-04 -2.625206e-04 -1.627548e-04 +-9.560459e-05 -5.471155e-05 +>TXI.EXP //14 +-7.108042e-04 -7.357023e-06 3.143264e-06 1.236849e-06 -4.642061e-09 1.160541e-06 +-1.270346e-05 3.317012e-04 1.610275e-04 -7.079895e-05 -1.192619e-04 -1.033325e-04 +-7.348697e-05 -4.694026e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.089254e-03 3.950780e-04 1.333802e-05 4.395057e-08 -6.738743e-08 -1.163340e-05 + 1.705457e-04 -5.123833e-05 -7.930645e-04 -7.270885e-04 -4.953197e-04 -3.085638e-04 +-1.817204e-04 -1.039954e-04 +>TYI.EXP //14 + 8.929343e-06 -4.613522e-05 -4.076577e-06 -1.090393e-06 -4.615826e-08 3.014710e-06 +-3.125725e-05 5.969555e-04 3.167234e-04 -1.202205e-04 -2.190588e-04 -1.931408e-04 +-1.384623e-04 -8.874211e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par24ew.edi b/examples/data/NEConductor/par24ew.edi new file mode 100644 index 00000000..133e0e85 --- /dev/null +++ b/examples/data/NEConductor/par24ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par24ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par24ew" +REFLAT=-30:12:48.7664 +REFLONG=139:46:34.9191 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par24ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.391021e-02 -3.283495e-04 -3.995948e-05 -7.549565e-07 8.507087e-07 1.752738e-04 +-2.388270e-03 1.821898e-03 6.890705e-03 6.787409e-03 5.143951e-03 3.407936e-03 + 2.066423e-03 1.197241e-03 +>ZXXI ROT=ZROT //14 + 1.889091e-03 -2.126238e-04 -1.218270e-05 9.777873e-07 -3.563049e-07 -1.138904e-04 +-4.866405e-05 -5.551635e-03 -2.484516e-03 6.229772e-04 1.799293e-03 1.856213e-03 + 1.448174e-03 9.725018e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867312e+02 1.241523e+02 7.346931e+01 4.197587e+01 2.350537e+01 1.317099e+01 + 8.359300e+00 6.602533e+00 5.474473e+00 4.271409e+00 3.009283e+00 1.923438e+00 + 1.145883e+00 6.588649e-01 +>ZXYI ROT=ZROT //14 + 3.083097e+02 1.471603e+02 7.805602e+01 4.294172e+01 2.400291e+01 1.271869e+01 + 6.029062e+00 2.961637e+00 2.005388e+00 1.768181e+00 1.577568e+00 1.251958e+00 + 8.801382e-01 5.628230e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865868e+02 -1.241461e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317109e+01 +-8.357328e+00 -6.602448e+00 -5.483407e+00 -4.282874e+00 -3.018863e+00 -1.930060e+00 +-1.149974e+00 -6.612531e-01 +>ZYXI ROT=ZROT //14 +-3.082182e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400292e+01 -1.271859e+01 +-6.029645e+00 -2.954898e+00 -1.999366e+00 -1.767495e+00 -1.579982e+00 -1.255122e+00 +-8.828200e-01 -5.646929e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.915805e-03 -1.977037e-04 -3.862843e-06 8.664026e-08 -7.418460e-07 -1.703899e-04 + 1.650966e-03 -1.772667e-03 -3.901228e-03 -3.160643e-03 -2.145960e-03 -1.340341e-03 +-7.893890e-04 -4.517643e-04 +>ZYYI ROT=ZROT //14 + 2.253259e-04 -6.659411e-05 -3.902624e-07 1.994152e-07 5.305901e-08 4.639848e-05 + 4.090870e-04 3.159553e-03 6.667975e-04 -7.596673e-04 -1.012954e-03 -8.573448e-04 +-6.075733e-04 -3.877402e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.184662e-02 -9.605857e-05 -3.564721e-05 -6.707065e-07 1.449329e-08 -1.125111e-06 + 5.867216e-05 6.250834e-05 -4.303960e-04 -5.194723e-04 -3.943421e-04 -2.554534e-04 +-1.525572e-04 -8.781062e-05 +>TXI.EXP //14 +-6.090092e-04 4.997144e-06 5.009889e-06 1.189233e-06 1.980120e-08 3.299293e-06 +-4.806914e-05 3.112607e-04 2.933615e-04 -2.992749e-06 -1.312969e-04 -1.413696e-04 +-1.091837e-04 -7.244176e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.997004e-02 -5.448308e-04 3.799161e-06 7.478822e-07 -2.256889e-08 3.878651e-06 +-1.331070e-04 -1.422948e-04 9.944573e-04 1.136062e-03 8.371997e-04 5.358974e-04 + 3.186125e-04 1.830128e-04 +>TYI.EXP //14 + 2.077330e-03 7.675153e-05 -1.154444e-07 -9.066117e-07 -2.212617e-08 -7.114762e-06 + 1.021487e-04 -7.072250e-04 -6.375762e-04 4.418419e-05 2.999999e-04 3.062901e-04 + 2.318633e-04 1.524530e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par25ew.edi b/examples/data/NEConductor/par25ew.edi new file mode 100644 index 00000000..cd64e052 --- /dev/null +++ b/examples/data/NEConductor/par25ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par25ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par25ew" +REFLAT=-30:12:48.9411 +REFLONG=139:46:53.6723 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par25ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.755429e-02 -3.728660e-04 -4.711799e-05 -8.879302e-07 4.936203e-07 1.115679e-04 +-1.891140e-03 1.218345e-03 5.909028e-03 5.946207e-03 4.533804e-03 3.016599e-03 + 1.834072e-03 1.063977e-03 +>ZXXI ROT=ZROT //14 + 1.644235e-03 -2.514971e-04 -1.467907e-05 1.190484e-06 -3.684111e-07 -1.054083e-04 + 1.661866e-04 -4.770054e-03 -2.343633e-03 4.629478e-04 1.545074e-03 1.621566e-03 + 1.275235e-03 8.601487e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.867651e+02 1.241539e+02 7.346928e+01 4.197588e+01 2.350537e+01 1.317121e+01 + 8.357954e+00 6.604531e+00 5.476945e+00 4.273296e+00 3.010586e+00 1.924249e+00 + 1.146356e+00 6.591343e-01 +>ZXYI ROT=ZROT //14 + 3.083268e+02 1.471608e+02 7.805600e+01 4.294172e+01 2.400292e+01 1.271875e+01 + 6.028134e+00 2.959720e+00 2.005378e+00 1.768717e+00 1.578201e+00 1.252488e+00 + 8.805099e-01 5.630576e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865860e+02 -1.241461e+02 -7.346918e+01 -4.197589e+01 -2.350537e+01 -1.317128e+01 +-8.356297e+00 -6.603992e+00 -5.485390e+00 -4.284486e+00 -3.020006e+00 -1.930783e+00 +-1.150400e+00 -6.614970e-01 +>ZYXI ROT=ZROT //14 +-3.082149e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271865e+01 +-6.028823e+00 -2.953431e+00 -1.999257e+00 -1.767880e+00 -1.580498e+00 -1.255574e+00 +-8.831450e-01 -5.649015e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.733476e-03 -2.004082e-04 -3.951639e-06 6.604503e-08 -4.910665e-07 -1.139652e-04 + 1.243641e-03 -1.290153e-03 -2.998009e-03 -2.327242e-03 -1.523730e-03 -9.348660e-04 +-5.464922e-04 -3.118850e-04 +>ZYYI ROT=ZROT //14 + 2.256097e-04 -6.616594e-05 -4.089733e-07 2.110289e-07 1.256636e-07 4.919774e-05 + 2.125288e-04 2.463516e-03 4.674232e-04 -6.431625e-04 -7.759202e-04 -6.253456e-04 +-4.317687e-04 -2.717752e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.199065e-02 -9.882432e-05 -3.606722e-05 -6.745787e-07 2.099507e-08 -3.487081e-07 + 4.190925e-05 7.334715e-05 -3.691390e-04 -4.674183e-04 -3.580755e-04 -2.323023e-04 +-1.387513e-04 -7.986686e-05 +>TXI.EXP //14 +-6.182079e-04 5.273143e-06 5.096500e-06 1.201405e-06 1.545191e-08 2.499793e-06 +-4.355749e-05 2.599993e-04 2.755704e-04 6.861500e-06 -1.157240e-04 -1.274026e-04 +-9.894184e-05 -6.577407e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.034841e-02 -5.552993e-04 1.464883e-06 3.927381e-07 -2.493384e-08 1.941794e-06 +-9.897501e-05 -1.713262e-04 8.790629e-04 1.055620e-03 7.864354e-04 5.045577e-04 + 3.001250e-04 1.724147e-04 +>TYI.EXP //14 + 2.263451e-03 7.633807e-05 -2.558613e-07 -5.874863e-07 -1.472507e-08 -5.802706e-06 + 9.566914e-05 -6.080350e-04 -6.202175e-04 1.721376e-05 2.725559e-04 2.851362e-04 + 2.173306e-04 1.432738e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par26.edi b/examples/data/NEConductor/par26.edi new file mode 100644 index 00000000..9d87fbf4 --- /dev/null +++ b/examples/data/NEConductor/par26.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par26" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par26" +REFLAT=-30:12:29.3578 +REFLONG=139:42:46.7807 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par26" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.615536e-03 1.744548e-04 6.359674e-06 1.650207e-07 2.644568e-06 5.308762e-04 +-3.905700e-03 5.091891e-03 7.963812e-03 6.237726e-03 4.187051e-03 2.566191e-03 + 1.488799e-03 8.454801e-04 +>ZXXI ROT=ZROT //14 +-1.599483e-03 4.879120e-05 1.478619e-06 -1.901926e-07 4.101875e-07 4.527354e-05 +-2.068898e-03 -6.193289e-03 -6.899438e-04 1.708185e-03 2.094991e-03 1.720573e-03 + 1.187988e-03 7.436773e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865653e+02 1.241402e+02 7.346934e+01 4.197591e+01 2.350537e+01 1.316950e+01 + 8.367248e+00 6.585682e+00 5.457900e+00 4.259702e+00 3.001591e+00 1.918800e+00 + 1.143224e+00 6.573648e-01 +>ZXYI ROT=ZROT //14 + 3.082088e+02 1.471556e+02 7.805624e+01 4.294175e+01 2.400289e+01 1.271681e+01 + 6.040368e+00 2.972516e+00 2.003616e+00 1.763839e+00 1.573274e+00 1.248646e+00 + 8.779280e-01 5.614684e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865903e+02 -1.241461e+02 -7.346915e+01 -4.197590e+01 -2.350537e+01 -1.316975e+01 +-8.365120e+00 -6.587658e+00 -5.464561e+00 -4.267041e+00 -3.007476e+00 -1.922789e+00 +-1.145665e+00 -6.587833e-01 +>ZYXI ROT=ZROT //14 +-3.082122e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400289e+01 -1.271690e+01 +-6.039528e+00 -2.967547e+00 -2.000731e+00 -1.764014e+00 -1.575038e+00 -1.250682e+00 +-8.795828e-01 -5.626003e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.427294e-03 -7.483829e-05 -8.637359e-07 2.206104e-07 -2.535281e-06 -4.675110e-04 + 3.412825e-03 -4.674172e-03 -6.339909e-03 -4.362778e-03 -2.643188e-03 -1.501550e-03 +-8.311468e-04 -4.615789e-04 +>ZYYI ROT=ZROT //14 + 1.614532e-04 -2.250911e-05 -1.565830e-07 -4.379963e-08 -2.131939e-07 -2.325977e-05 + 1.896232e-03 4.975079e-03 -9.457507e-05 -1.723324e-03 -1.673140e-03 -1.201073e-03 +-7.535130e-04 -4.420413e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.763067e-03 -1.717583e-04 -3.540046e-05 -4.493109e-07 -2.507915e-09 5.834591e-07 +-2.012940e-05 -2.133499e-06 9.765127e-05 1.108148e-04 8.316024e-05 5.408708e-05 + 3.245097e-05 1.866385e-05 +>TXI.EXP //14 +-4.272178e-04 1.602690e-05 6.420974e-06 1.018365e-06 1.138075e-09 -1.305886e-06 + 9.960792e-06 -7.245276e-05 -5.840411e-05 4.149886e-06 2.861135e-05 3.000707e-05 + 2.312675e-05 1.535373e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.036398e-03 3.957150e-04 1.334384e-05 3.997233e-08 -7.607129e-08 -1.628126e-05 + 2.349119e-04 -8.879384e-05 -1.043106e-03 -9.610186e-04 -6.603522e-04 -4.132468e-04 +-2.438430e-04 -1.396594e-04 +>TYI.EXP //14 +-6.586563e-07 -4.616664e-05 -4.073304e-06 -1.086864e-06 -6.287524e-08 3.773365e-06 +-3.531317e-05 7.906774e-04 4.104832e-04 -1.538587e-04 -2.872849e-04 -2.560954e-04 +-1.846974e-04 -1.187765e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par26ew.edi b/examples/data/NEConductor/par26ew.edi new file mode 100644 index 00000000..4804b067 --- /dev/null +++ b/examples/data/NEConductor/par26ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par26ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par26ew" +REFLAT=-30:12:50.0927 +REFLONG=139:47:12.4136 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par26ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.203670e-02 -4.281322e-04 -5.664178e-05 -1.068295e-06 2.164333e-07 6.548229e-05 +-1.467044e-03 7.394448e-04 5.035814e-03 5.184710e-03 3.975650e-03 2.655755e-03 + 1.618797e-03 9.402317e-04 +>ZXXI ROT=ZROT //14 + 1.245651e-03 -3.022806e-04 -1.819577e-05 1.455126e-06 -3.159810e-07 -9.038045e-05 + 2.959207e-04 -4.055924e-03 -2.190491e-03 3.315675e-04 1.320614e-03 1.409722e-03 + 1.117147e-03 7.566875e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.868081e+02 1.241552e+02 7.346923e+01 4.197588e+01 2.350538e+01 1.317137e+01 + 8.356808e+00 6.606111e+00 5.479077e+00 4.274946e+00 3.011736e+00 1.924970e+00 + 1.146779e+00 6.593754e-01 +>ZXYI ROT=ZROT //14 + 3.083465e+02 1.471611e+02 7.805597e+01 4.294172e+01 2.400292e+01 1.271876e+01 + 6.027515e+00 2.958001e+00 2.005306e+00 1.769156e+00 1.578743e+00 1.252951e+00 + 8.808376e-01 5.632660e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865841e+02 -1.241461e+02 -7.346919e+01 -4.197589e+01 -2.350537e+01 -1.317141e+01 +-8.355469e+00 -6.605186e+00 -5.486868e+00 -4.285634e+00 -3.020800e+00 -1.931279e+00 +-1.150690e+00 -6.616622e-01 +>ZYXI ROT=ZROT //14 +-3.082126e+02 -1.471547e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271868e+01 +-6.028255e+00 -2.952298e+00 -1.999232e+00 -1.768194e+00 -1.580878e+00 -1.255896e+00 +-8.833717e-01 -5.650449e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.558992e-03 -2.016448e-04 -3.958048e-06 4.037802e-08 -3.155991e-07 -7.335767e-05 + 9.237495e-04 -9.290642e-04 -2.287858e-03 -1.672991e-03 -1.035651e-03 -6.168511e-04 +-3.559904e-04 -2.021789e-04 +>ZYYI ROT=ZROT //14 + 2.296102e-04 -6.540412e-05 -4.741500e-07 2.216798e-07 1.472142e-07 4.559916e-05 + 8.642922e-05 1.905036e-03 3.057379e-04 -5.523137e-04 -5.900907e-04 -4.434131e-04 +-2.938946e-04 -1.808275e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.215579e-02 -1.020538e-04 -3.657527e-05 -6.790299e-07 2.388501e-08 1.013179e-07 + 2.868021e-05 7.931512e-05 -3.137403e-04 -4.184707e-04 -3.235764e-04 -2.101948e-04 +-1.255499e-04 -7.226721e-05 +>TXI.EXP //14 +-6.287079e-04 5.593532e-06 5.201139e-06 1.215487e-06 1.030183e-08 1.801696e-06 +-3.811234e-05 2.140603e-04 2.567359e-04 1.486476e-05 -1.014477e-04 -1.142745e-04 +-8.922454e-05 -5.942173e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.046133e-02 -5.549021e-04 -1.378370e-06 9.234290e-08 -2.375202e-08 6.463688e-07 +-7.049483e-05 -1.894318e-04 7.662134e-04 9.713623e-04 7.317528e-04 4.704694e-04 + 2.799497e-04 1.608358e-04 +>TYI.EXP //14 + 2.451658e-03 7.323660e-05 -2.976462e-07 -2.358158e-07 -6.108737e-09 -4.501895e-06 + 8.610068e-05 -5.126603e-04 -5.953328e-04 -6.540155e-06 2.450904e-04 2.629575e-04 + 2.017725e-04 1.333492e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par27.edi b/examples/data/NEConductor/par27.edi new file mode 100644 index 00000000..6c543035 --- /dev/null +++ b/examples/data/NEConductor/par27.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par27" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par27" +REFLAT=-30:12:13.1181 +REFLONG=139:42:46.992 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par27" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.998880e-03 1.905749e-04 5.644224e-06 1.635902e-07 2.575797e-06 5.883962e-04 +-4.359714e-03 5.488841e-03 9.568368e-03 8.112147e-03 5.724578e-03 3.619837e-03 + 2.136827e-03 1.222984e-03 +>ZXXI ROT=ZROT //14 +-1.537251e-03 5.416923e-05 1.318027e-06 -1.732487e-07 1.066258e-06 8.044251e-05 +-2.278068e-03 -7.361166e-03 -1.489308e-03 1.689776e-03 2.521286e-03 2.241286e-03 + 1.620032e-03 1.042055e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865654e+02 1.241402e+02 7.346935e+01 4.197591e+01 2.350537e+01 1.316945e+01 + 8.367496e+00 6.585473e+00 5.457242e+00 4.258985e+00 3.001014e+00 1.918407e+00 + 1.142983e+00 6.572238e-01 +>ZXYI ROT=ZROT //14 + 3.082089e+02 1.471556e+02 7.805624e+01 4.294175e+01 2.400289e+01 1.271682e+01 + 6.040460e+00 2.973014e+00 2.003891e+00 1.763820e+00 1.573103e+00 1.248448e+00 + 8.777654e-01 5.613565e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865837e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350538e+01 -1.316971e+01 +-8.365314e+00 -6.587539e+00 -5.464098e+00 -4.266514e+00 -3.007052e+00 -1.922503e+00 +-1.145490e+00 -6.586821e-01 +>ZYXI ROT=ZROT //14 +-3.082079e+02 -1.471549e+02 -7.805628e+01 -4.294175e+01 -2.400289e+01 -1.271692e+01 +-6.039546e+00 -2.967911e+00 -2.000954e+00 -1.764010e+00 -1.574913e+00 -1.250535e+00 +-8.794639e-01 -5.625192e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.320069e-03 -7.752626e-05 -7.703935e-07 2.089810e-07 -2.691222e-06 -5.213417e-04 + 3.887897e-03 -5.049616e-03 -7.968960e-03 -6.278720e-03 -4.211218e-03 -2.572703e-03 +-1.488597e-03 -8.442042e-04 +>ZYYI ROT=ZROT //14 + 1.469246e-04 -2.286849e-05 -1.409973e-07 -4.592445e-08 -1.060459e-06 -4.447094e-05 + 2.061532e-03 6.176544e-03 7.369973e-04 -1.700612e-03 -2.110600e-03 -1.733567e-03 +-1.193691e-03 -7.452936e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.183308e-03 -2.585924e-04 -3.656087e-05 -2.063041e-07 1.049515e-08 5.209700e-06 +-8.746848e-05 2.389935e-05 3.951598e-04 3.847209e-04 2.718779e-04 1.723341e-04 + 1.022553e-04 5.865593e-05 +>TXI.EXP //14 +-2.837814e-04 2.817061e-05 8.177830e-06 8.707428e-07 1.629114e-08 -2.465914e-06 + 1.987571e-05 -2.986480e-04 -1.745664e-04 4.767676e-05 1.103258e-04 1.030888e-04 + 7.592295e-05 4.935154e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-5.011308e-03 3.960574e-04 1.334658e-05 3.815281e-08 -7.868984e-08 -1.719353e-05 + 2.521068e-04 -9.274529e-05 -1.116981e-03 -1.040993e-03 -7.204585e-04 -4.523105e-04 +-2.672384e-04 -1.531363e-04 +>TYI.EXP //14 +-5.086899e-06 -4.618840e-05 -4.071930e-06 -1.085236e-06 -6.091138e-08 4.583669e-06 +-4.058423e-05 8.479744e-04 4.483853e-04 -1.580885e-04 -3.082982e-04 -2.779069e-04 +-2.014544e-04 -1.298894e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par27ew.edi b/examples/data/NEConductor/par27ew.edi new file mode 100644 index 00000000..81a7f236 --- /dev/null +++ b/examples/data/NEConductor/par27ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par27ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par27ew" +REFLAT=-30:12:52.2125 +REFLONG=139:47:30.2054 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par27ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.767036e-02 -4.913412e-04 -6.896051e-05 -1.304055e-06 2.937434e-08 3.397783e-05 +-1.116997e-03 3.717112e-04 4.275587e-03 4.512108e-03 3.478575e-03 2.332313e-03 + 1.425079e-03 8.286766e-04 +>ZXXI ROT=ZROT //14 + 7.649021e-04 -3.638999e-04 -2.301639e-05 1.780945e-06 -2.258361e-07 -7.314768e-05 + 3.615308e-04 -3.420290e-03 -2.034834e-03 2.254311e-04 1.126575e-03 1.223108e-03 + 9.764407e-04 6.640474e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.868630e+02 1.241559e+02 7.346918e+01 4.197588e+01 2.350538e+01 1.317149e+01 + 8.355860e+00 6.607331e+00 5.480898e+00 4.276374e+00 3.012739e+00 1.925604e+00 + 1.147152e+00 6.595885e-01 +>ZXYI ROT=ZROT //14 + 3.083696e+02 1.471612e+02 7.805595e+01 4.294172e+01 2.400292e+01 1.271875e+01 + 6.027132e+00 2.956482e+00 2.005193e+00 1.769514e+00 1.579202e+00 1.253350e+00 + 8.811233e-01 5.634488e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865795e+02 -1.241459e+02 -7.346919e+01 -4.197589e+01 -2.350537e+01 -1.317151e+01 +-8.354815e+00 -6.606104e+00 -5.487956e+00 -4.286426e+00 -3.021332e+00 -1.931603e+00 +-1.150877e+00 -6.617684e-01 +>ZYXI ROT=ZROT //14 +-3.082145e+02 -1.471548e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271868e+01 +-6.027872e+00 -2.951428e+00 -1.999267e+00 -1.768450e+00 -1.581157e+00 -1.256119e+00 +-8.835235e-01 -5.651393e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.408090e-03 -2.001212e-04 -3.832726e-06 1.976656e-08 -1.919218e-07 -4.530218e-05 + 6.787254e-04 -6.647678e-04 -1.739757e-03 -1.170479e-03 -6.616589e-04 -3.733924e-04 +-2.102110e-04 -1.182425e-04 +>ZYYI ROT=ZROT //14 + 2.437700e-04 -6.533913e-05 -6.072376e-07 2.169696e-07 1.427395e-07 3.897121e-05 + 1.090633e-05 1.465220e-03 1.784192e-04 -4.819116e-04 -4.471623e-04 -3.038474e-04 +-1.882596e-04 -1.111928e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.234738e-02 -1.058804e-04 -3.720457e-05 -6.843642e-07 2.365768e-08 3.242977e-07 + 1.867001e-05 8.129103e-05 -2.647611e-04 -3.735986e-04 -2.916617e-04 -1.896858e-04 +-1.132910e-04 -6.520764e-05 +>TXI.EXP //14 +-6.407634e-04 5.960308e-06 5.327453e-06 1.232136e-06 5.735324e-09 1.238227e-06 +-3.240609e-05 1.740047e-04 2.376982e-04 2.119824e-05 -8.864664e-05 -1.022498e-04 +-8.025649e-05 -5.353963e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-2.024508e-02 -5.467696e-04 -4.764087e-06 -1.000954e-07 -2.146471e-08 -1.360585e-07 +-4.794355e-05 -1.978961e-04 6.605962e-04 8.880728e-04 6.766520e-04 4.358959e-04 + 2.594412e-04 1.490562e-04 +>TYI.EXP //14 + 2.640700e-03 6.745489e-05 -1.568789e-07 1.179326e-07 8.695566e-10 -3.342261e-06 + 7.504178e-05 -4.251429e-04 -5.655784e-04 -2.674721e-05 2.188727e-04 2.410346e-04 + 1.861648e-04 1.233238e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par28.edi b/examples/data/NEConductor/par28.edi new file mode 100644 index 00000000..3af186f8 --- /dev/null +++ b/examples/data/NEConductor/par28.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par28" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par28" +REFLAT=-30:11:56.8784 +REFLONG=139:42:47.2033 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par28" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.354110e-03 2.058287e-04 4.900941e-06 1.597573e-07 2.587823e-06 6.089909e-04 +-4.589609e-03 5.573117e-03 1.060446e-02 9.432619e-03 6.838691e-03 4.394323e-03 + 2.616624e-03 1.503356e-03 +>ZXXI ROT=ZROT //14 +-1.461076e-03 5.962628e-05 1.157714e-06 -1.568738e-07 1.652028e-06 9.231242e-05 +-2.300922e-03 -8.125451e-03 -2.144232e-03 1.611268e-03 2.796340e-03 2.607357e-03 + 1.932565e-03 1.260787e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865655e+02 1.241402e+02 7.346935e+01 4.197590e+01 2.350537e+01 1.316949e+01 + 8.367102e+00 6.586509e+00 5.458460e+00 4.260005e+00 3.001745e+00 1.918871e+00 + 1.143257e+00 6.573808e-01 +>ZXYI ROT=ZROT //14 + 3.082089e+02 1.471556e+02 7.805624e+01 4.294174e+01 2.400289e+01 1.271699e+01 + 6.039670e+00 2.972272e+00 2.003836e+00 1.764056e+00 1.573427e+00 1.248735e+00 + 8.779733e-01 5.614903e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865773e+02 -1.241458e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.316973e+01 +-8.365196e+00 -6.588384e+00 -5.464378e+00 -4.266400e+00 -3.006853e+00 -1.922334e+00 +-1.145377e+00 -6.586139e-01 +>ZYXI ROT=ZROT //14 +-3.082045e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400290e+01 -1.271709e+01 +-6.038816e+00 -2.967868e+00 -2.001410e+00 -1.764272e+00 -1.574978e+00 -1.250507e+00 +-8.794113e-01 -5.624740e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.274310e-03 -8.159757e-05 -6.602004e-07 2.062688e-07 -2.755923e-06 -5.488826e-04 + 4.245855e-03 -5.195169e-03 -9.364778e-03 -8.016692e-03 -5.662333e-03 -3.575125e-03 +-2.107526e-03 -1.205351e-03 +>ZYYI ROT=ZROT //14 + 1.420555e-04 -2.364366e-05 -1.250656e-07 -5.195590e-08 -7.391960e-07 -4.285692e-05 + 2.060487e-03 7.233464e-03 1.578915e-03 -1.619975e-03 -2.483350e-03 -2.215450e-03 +-1.600638e-03 -1.028569e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.554612e-03 -3.455696e-04 -3.731671e-05 5.277111e-08 4.366962e-08 9.010689e-06 +-1.460208e-04 4.141886e-05 6.635429e-04 6.368689e-04 4.470412e-04 2.824204e-04 + 1.673136e-04 9.594374e-05 +>TXI.EXP //14 +-1.385600e-04 4.024369e-05 9.842520e-06 7.072322e-07 2.660905e-08 -3.804207e-06 + 3.163133e-05 -5.024009e-04 -2.850950e-04 8.441628e-05 1.845562e-04 1.704551e-04 + 1.248760e-04 8.096159e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-4.986672e-03 3.964255e-04 1.334915e-05 3.642253e-08 -8.056448e-08 -1.677841e-05 + 2.548860e-04 -8.289888e-05 -1.143660e-03 -1.084640e-03 -7.573324e-04 -4.772132e-04 +-2.823573e-04 -1.618886e-04 +>TYI.EXP //14 +-9.333387e-06 -4.621533e-05 -4.070713e-06 -1.083686e-06 -5.004796e-08 5.602624e-06 +-4.842582e-05 8.684140e-04 4.765663e-04 -1.519738e-04 -3.171398e-04 -2.901110e-04 +-2.116339e-04 -1.368743e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par28ew.edi b/examples/data/NEConductor/par28ew.edi new file mode 100644 index 00000000..bbfaf4ad --- /dev/null +++ b/examples/data/NEConductor/par28ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par28ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par28ew" +REFLAT=-30:12:49.4693 +REFLONG=139:47:50.87 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par28ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.380491e-02 -5.528344e-04 -8.255892e-05 -1.570821e-06 -6.785677e-08 1.367881e-05 +-8.355710e-04 9.805153e-05 3.622900e-03 3.927267e-03 3.043428e-03 2.047600e-03 + 1.253985e-03 7.299966e-04 +>ZXXI ROT=ZROT //14 + 2.582634e-04 -4.268678e-04 -2.854737e-05 2.136114e-06 -1.149805e-07 -5.642004e-05 + 3.821777e-04 -2.865043e-03 -1.882729e-03 1.406744e-04 9.610881e-04 1.061289e-03 + 8.533305e-04 5.825711e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.869339e+02 1.241559e+02 7.346914e+01 4.197589e+01 2.350538e+01 1.317157e+01 + 8.355090e+00 6.608256e+00 5.482447e+00 4.277602e+00 3.013609e+00 1.926156e+00 + 1.147478e+00 6.597753e-01 +>ZXYI ROT=ZROT //14 + 3.083970e+02 1.471609e+02 7.805595e+01 4.294173e+01 2.400291e+01 1.271872e+01 + 6.026916e+00 2.955157e+00 2.005051e+00 1.769802e+00 1.579590e+00 1.253692e+00 + 8.813708e-01 5.636080e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865720e+02 -1.241454e+02 -7.346920e+01 -4.197589e+01 -2.350537e+01 -1.317158e+01 +-8.354300e+00 -6.606813e+00 -5.488752e+00 -4.286959e+00 -3.021671e+00 -1.931803e+00 +-1.150990e+00 -6.618314e-01 +>ZYXI ROT=ZROT //14 +-3.082206e+02 -1.471549e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271867e+01 +-6.027623e+00 -2.950761e+00 -1.999343e+00 -1.768662e+00 -1.581358e+00 -1.256269e+00 +-8.836209e-01 -5.651978e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.312066e-03 -1.950151e-04 -3.623814e-06 1.614653e-08 -1.033200e-07 -2.662022e-05 + 4.945592e-04 -4.744693e-04 -1.321712e-03 -7.905139e-04 -3.800547e-04 -1.904014e-04 +-1.007335e-04 -5.523144e-05 +>ZYYI ROT=ZROT //14 + 3.052332e-04 -6.662609e-05 -7.803353e-07 1.903036e-07 1.259545e-07 3.150162e-05 +-3.041900e-05 1.123103e-03 8.044741e-05 -4.272532e-04 -3.386065e-04 -1.984700e-04 +-1.087193e-04 -5.883570e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.256988e-02 -1.103705e-04 -3.798286e-05 -6.909057e-07 2.142456e-08 4.026230e-07 + 1.137338e-05 8.020987e-05 -2.221240e-04 -3.331385e-04 -2.626712e-04 -1.710166e-04 +-1.021239e-04 -5.877511e-05 +>TXI.EXP //14 +-6.545247e-04 6.367592e-06 5.477033e-06 1.251812e-06 2.561437e-09 8.093584e-07 +-2.691116e-05 1.397966e-04 2.190316e-04 2.609298e-05 -7.733218e-05 -9.141967e-05 +-7.212813e-05 -4.819369e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.961496e-02 -5.355844e-04 -8.635220e-06 -1.428571e-07 -1.923510e-08 -5.478148e-07 +-3.083827e-05 -1.985099e-04 5.645394e-04 8.085966e-04 6.233093e-04 4.022659e-04 + 2.394592e-04 1.375721e-04 +>TYI.EXP //14 + 2.827626e-03 5.921801e-05 2.320710e-07 4.332570e-07 4.311911e-09 -2.381601e-06 + 6.372175e-05 -3.474321e-04 -5.330037e-04 -4.349042e-05 1.945730e-04 2.201285e-04 + 1.711089e-04 1.136017e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par29.edi b/examples/data/NEConductor/par29.edi new file mode 100644 index 00000000..2bf6785d --- /dev/null +++ b/examples/data/NEConductor/par29.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par29" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par29" +REFLAT=-30:11:40.6387 +REFLONG=139:42:47.4145 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par29" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.687441e-03 2.199385e-04 4.142451e-06 1.535953e-07 2.481141e-06 5.892278e-04 +-4.557816e-03 5.313175e-03 1.093508e-02 1.003712e-02 7.395360e-03 4.797408e-03 + 2.871348e-03 1.653458e-03 +>ZXXI ROT=ZROT //14 +-1.373419e-03 6.512315e-05 1.004357e-06 -1.421477e-07 1.993406e-06 7.807431e-05 +-2.125263e-03 -8.384177e-03 -2.584585e-03 1.475869e-03 2.884019e-03 2.773722e-03 + 2.087918e-03 1.373766e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865655e+02 1.241402e+02 7.346935e+01 4.197590e+01 2.350537e+01 1.316964e+01 + 8.366134e+00 6.588551e+00 5.461241e+00 4.262477e+00 3.003572e+00 1.920055e+00 + 1.143964e+00 6.577877e-01 +>ZXYI ROT=ZROT //14 + 3.082088e+02 1.471556e+02 7.805624e+01 4.294174e+01 2.400290e+01 1.271729e+01 + 6.038198e+00 2.970472e+00 2.003489e+00 1.764496e+00 1.574161e+00 1.249428e+00 + 8.784913e-01 5.618298e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865710e+02 -1.241460e+02 -7.346928e+01 -4.197589e+01 -2.350537e+01 -1.316983e+01 +-8.364748e+00 -6.590048e+00 -5.465350e+00 -4.266719e+00 -3.006914e+00 -1.922312e+00 +-1.145344e+00 -6.585900e-01 +>ZYXI ROT=ZROT //14 +-3.082017e+02 -1.471554e+02 -7.805633e+01 -4.294174e+01 -2.400290e+01 -1.271738e+01 +-6.037482e+00 -2.967412e+00 -2.002017e+00 -1.764751e+00 -1.575225e+00 -1.250602e+00 +-8.794341e-01 -5.624722e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.292391e-03 -8.723612e-05 -5.265638e-07 2.131380e-07 -2.127808e-06 -5.440679e-04 + 4.421209e-03 -5.060424e-03 -1.032285e-02 -9.338195e-03 -6.800570e-03 -4.374571e-03 +-2.605420e-03 -1.496970e-03 +>ZYYI ROT=ZROT //14 + 1.489675e-04 -2.488219e-05 -1.100026e-07 -6.289141e-08 -7.089045e-07 -1.810641e-05 + 1.879376e-03 7.989577e-03 2.329922e-03 -1.484189e-03 -2.737217e-03 -2.580355e-03 +-1.919296e-03 -1.253863e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.880499e-03 -4.304371e-04 -3.739418e-05 3.061853e-07 6.700225e-08 1.122626e-05 +-1.869970e-04 4.272083e-05 8.733001e-04 8.438495e-04 5.933248e-04 3.749022e-04 + 2.220820e-04 1.273573e-04 +>TXI.EXP //14 + 9.014288e-06 5.195425e-05 1.128060e-05 5.361171e-07 3.576894e-08 -5.282322e-06 + 4.605750e-05 -6.603714e-04 -3.832015e-04 1.083617e-04 2.436771e-04 2.258859e-04 + 1.656547e-04 1.074411e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-4.962163e-03 3.968274e-04 1.335151e-05 3.482728e-08 -8.021191e-08 -1.511765e-05 + 2.433597e-04 -6.053578e-05 -1.123638e-03 -1.090363e-03 -7.690210e-04 -4.864830e-04 +-2.882701e-04 -1.653703e-04 +>TYI.EXP //14 +-1.344314e-05 -4.624842e-05 -4.069637e-06 -1.082245e-06 -3.911469e-08 6.563750e-06 +-5.762638e-05 8.519933e-04 4.933834e-04 -1.367598e-04 -3.138458e-04 -2.922113e-04 +-2.147002e-04 -1.393288e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par29ew.edi b/examples/data/NEConductor/par29ew.edi new file mode 100644 index 00000000..d64fe2d5 --- /dev/null +++ b/examples/data/NEConductor/par29ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par29ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par29ew" +REFLAT=-30:12:50.6529 +REFLONG=139:48:13.3623 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par29ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.893238e-02 -6.000464e-04 -9.413272e-05 -1.807965e-06 -8.953755e-08 1.521703e-06 +-6.141184e-04 -9.891619e-05 3.067403e-03 3.423559e-03 2.666505e-03 1.799781e-03 + 1.104619e-03 6.437291e-04 +>ZXXI ROT=ZROT //14 +-2.361010e-04 -4.758767e-04 -3.333086e-05 2.452646e-06 -4.619994e-10 -4.167217e-05 + 3.735006e-04 -2.386617e-03 -1.737656e-03 7.356427e-05 8.210976e-04 9.223158e-04 + 7.467463e-04 5.117059e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.870242e+02 1.241548e+02 7.346912e+01 4.197589e+01 2.350538e+01 1.317162e+01 + 8.354478e+00 6.608941e+00 5.483760e+00 4.278656e+00 3.014359e+00 1.926636e+00 + 1.147763e+00 6.599384e-01 +>ZXYI ROT=ZROT //14 + 3.084300e+02 1.471601e+02 7.805595e+01 4.294173e+01 2.400291e+01 1.271870e+01 + 6.026817e+00 2.954010e+00 2.004891e+00 1.770036e+00 1.579916e+00 1.253984e+00 + 8.815842e-01 5.637460e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865626e+02 -1.241449e+02 -7.346920e+01 -4.197590e+01 -2.350537e+01 -1.317162e+01 +-8.353902e+00 -6.607361e+00 -5.489333e+00 -4.287302e+00 -3.021871e+00 -1.931913e+00 +-1.151050e+00 -6.618639e-01 +>ZYXI ROT=ZROT //14 +-3.082292e+02 -1.471552e+02 -7.805627e+01 -4.294174e+01 -2.400291e+01 -1.271865e+01 +-6.027469e+00 -2.950245e+00 -1.999444e+00 -1.768839e+00 -1.581502e+00 -1.256366e+00 +-8.836789e-01 -5.652305e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.299285e-03 -1.865498e-04 -3.362832e-06 3.070288e-08 -3.932334e-08 -1.461777e-05 + 3.581055e-04 -3.391356e-04 -1.005123e-03 -5.065600e-04 -1.709632e-04 -5.491659e-05 +-1.979124e-05 -8.672715e-06 +>ZYYI ROT=ZROT //14 + 4.508552e-04 -6.893802e-05 -9.817373e-07 1.499523e-07 1.015828e-07 2.442387e-05 +-4.984249e-05 8.590799e-04 6.538512e-06 -3.844618e-04 -2.568182e-04 -1.198576e-04 +-4.965112e-05 -2.004802e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.282122e-02 -1.154475e-04 -3.890682e-05 -6.987082e-07 1.851206e-08 3.969523e-07 + 6.240235e-06 7.693517e-05 -1.853992e-04 -2.970403e-04 -2.366439e-04 -1.542293e-04 +-9.207716e-05 -5.298684e-05 +>TXI.EXP //14 +-6.698493e-04 6.804766e-06 5.648244e-06 1.274295e-06 1.077413e-09 4.985404e-07 +-2.191264e-05 1.110512e-04 2.011041e-04 2.978482e-05 -6.742153e-05 -8.176996e-05 +-6.484591e-05 -4.339361e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.846441e-02 -5.278923e-04 -1.276163e-05 -2.851682e-08 -1.696496e-08 -7.137205e-07 +-1.834427e-05 -1.931508e-04 4.788498e-04 7.344437e-04 5.729617e-04 3.704088e-04 + 2.205063e-04 1.266745e-04 +>TYI.EXP //14 + 3.005884e-03 4.917207e-05 8.768400e-07 6.724409e-07 3.644091e-09 -1.628661e-06 + 5.296659e-05 -2.800854e-04 -4.991320e-04 -5.706797e-05 1.724718e-04 2.006421e-04 + 1.569425e-04 1.044154e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par30.edi b/examples/data/NEConductor/par30.edi new file mode 100644 index 00000000..2973550c --- /dev/null +++ b/examples/data/NEConductor/par30.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par30" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par30" +REFLAT=-30:14:06.979 +REFLONG=139:43:04.2143 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par30" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.278342e-03 8.318315e-05 5.648128e-06 8.228781e-08 -6.039377e-07 1.050580e-04 +-1.206284e-03 2.095418e-03 7.247831e-04 -1.345130e-03 -1.776590e-03 -1.432597e-03 +-9.436333e-04 -5.648431e-04 +>ZXXI ROT=ZROT //14 +-1.078891e-03 1.791336e-05 3.117671e-07 -1.778185e-07 -9.475730e-07 -7.708841e-05 +-4.465028e-04 -9.282631e-04 1.883036e-03 1.266656e-03 1.716245e-04 -3.878554e-04 +-4.915262e-04 -3.935074e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865777e+02 1.241399e+02 7.346933e+01 4.197590e+01 2.350537e+01 1.317078e+01 + 8.359424e+00 6.599041e+00 5.479257e+00 4.279796e+00 3.016833e+00 1.928840e+00 + 1.149276e+00 6.608601e-01 +>ZXYI ROT=ZROT //14 + 3.082052e+02 1.471554e+02 7.805623e+01 4.294175e+01 2.400291e+01 1.271839e+01 + 6.031412e+00 2.957975e+00 1.999316e+00 1.766500e+00 1.578890e+00 1.254260e+00 + 8.822416e-01 5.643381e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866501e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317070e+01 +-8.360317e+00 -6.599430e+00 -5.473953e+00 -4.272373e+00 -3.010427e+00 -1.924346e+00 +-1.146481e+00 -6.592234e-01 +>ZYXI ROT=ZROT //14 +-3.082584e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271837e+01 +-6.031221e+00 -2.961794e+00 -2.003449e+00 -1.767269e+00 -1.577459e+00 -1.252203e+00 +-8.804483e-01 -5.630719e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.574490e-03 -1.080070e-04 -1.871697e-06 3.311061e-07 -4.709337e-07 -1.237277e-04 + 1.513549e-03 -2.098212e-03 -2.177482e-03 -4.794872e-04 2.205286e-04 3.359056e-04 + 2.581845e-04 1.626008e-04 +>ZYYI ROT=ZROT //14 + 3.195942e-04 -3.792499e-05 -2.220638e-07 -3.626682e-08 4.639585e-07 8.824724e-05 + 3.544128e-04 2.052122e-03 -9.532124e-04 -1.147296e-03 -5.360116e-04 -1.143657e-04 + 5.398244e-05 8.362017e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.780394e-02 2.345357e-04 -3.168502e-05 -7.098387e-07 -1.882624e-08 -7.056820e-06 + 1.475988e-04 5.040538e-05 -8.848044e-04 -9.064700e-04 -6.432298e-04 -4.063076e-04 +-2.403936e-04 -1.378698e-04 +>TXI.EXP //14 +-1.272547e-03 -4.271307e-05 4.150387e-07 1.172756e-06 1.018023e-08 5.747704e-06 +-7.063155e-05 6.476660e-04 4.621222e-04 -8.857436e-05 -2.552962e-04 -2.424590e-04 +-1.788288e-04 -1.161865e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.920842e-03 2.867114e-04 1.347878e-05 4.596256e-07 -3.033460e-08 -2.207458e-06 + 3.026831e-05 -2.817339e-06 -1.589383e-04 -1.324512e-04 -8.258744e-05 -4.925748e-05 +-2.849607e-05 -1.617982e-05 +>TYI.EXP //14 + 2.093649e-04 -3.240148e-05 -3.534086e-06 -1.267265e-06 -2.153905e-08 7.783713e-07 +-6.763929e-06 1.154293e-04 5.852800e-05 -3.245691e-05 -4.364989e-05 -3.425984e-05 +-2.309391e-05 -1.427654e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par30ew.edi b/examples/data/NEConductor/par30ew.edi new file mode 100644 index 00000000..996e6b1a --- /dev/null +++ b/examples/data/NEConductor/par30ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par30ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par30ew" +REFLAT=-30:12:50.8747 +REFLONG=139:48:37.7419 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par30ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.282769e-02 -6.400036e-04 -1.042666e-04 -2.026781e-06 -2.372347e-08 -7.949392e-06 +-3.128266e-04 -3.242226e-04 2.199752e-03 2.623131e-03 2.063406e-03 1.400777e-03 + 8.632010e-04 5.040469e-04 +>ZXXI ROT=ZROT //14 +-9.134962e-04 -5.061520e-04 -3.736272e-05 2.790127e-06 1.618792e-07 -2.002044e-05 + 3.120422e-04 -1.633324e-03 -1.474606e-03 -2.049031e-05 6.040565e-04 7.024526e-04 + 5.763294e-04 3.977173e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.872831e+02 1.241464e+02 7.346923e+01 4.197589e+01 2.350538e+01 1.317168e+01 + 8.353628e+00 6.609781e+00 5.485817e+00 4.280334e+00 3.015563e+00 1.927411e+00 + 1.148225e+00 6.602041e-01 +>ZXYI ROT=ZROT //14 + 3.085200e+02 1.471564e+02 7.805605e+01 4.294173e+01 2.400291e+01 1.271864e+01 + 6.026820e+00 2.952186e+00 2.004546e+00 1.770376e+00 1.580422e+00 1.254447e+00 + 8.819264e-01 5.639691e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865426e+02 -1.241438e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.317166e+01 +-8.353353e+00 -6.608120e+00 -5.490069e+00 -4.287626e+00 -3.022009e+00 -1.931966e+00 +-1.151069e+00 -6.618723e-01 +>ZYXI ROT=ZROT //14 +-3.082462e+02 -1.471556e+02 -7.805628e+01 -4.294174e+01 -2.400291e+01 -1.271862e+01 +-6.027329e+00 -2.949530e+00 -1.999685e+00 -1.769118e+00 -1.581678e+00 -1.256457e+00 +-8.837205e-01 -5.652481e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.355069e-03 -1.669177e-04 -2.775116e-06 5.938494e-08 3.813216e-08 -2.811117e-06 + 1.854051e-04 -1.771420e-04 -5.863183e-04 -1.421459e-04 9.334768e-05 1.151855e-04 + 8.148674e-05 4.949665e-05 +>ZYYI ROT=ZROT //14 + 7.127931e-04 -7.026739e-05 -1.440630e-06 9.722792e-08 4.199181e-08 1.334184e-05 +-5.470595e-05 5.010422e-04 -8.776369e-05 -3.230992e-04 -1.496648e-04 -1.930804e-05 + 2.506472e-05 2.872560e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.336702e-02 -1.265000e-04 -4.100809e-05 -7.162814e-07 1.464865e-08 2.839945e-07 + 4.945164e-07 6.659310e-05 -1.272643e-04 -2.367684e-04 -1.928519e-04 -1.259395e-04 +-7.513854e-05 -4.322608e-05 +>TXI.EXP //14 +-7.031717e-04 7.734521e-06 6.034828e-06 1.323149e-06 2.678893e-09 1.408512e-07 +-1.384973e-05 6.763990e-05 1.682312e-04 3.440183e-05 -5.128128e-05 -6.569277e-05 +-5.263035e-05 -3.532008e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.408421e-02 -5.668571e-04 -1.968742e-05 3.491564e-07 -9.673547e-09 -6.653544e-07 +-3.559936e-06 -1.711689e-04 3.376312e-04 6.041255e-04 4.832714e-04 3.134360e-04 + 1.865646e-04 1.071486e-04 +>TYI.EXP //14 + 3.287411e-03 3.048940e-05 2.418666e-06 9.307258e-07 -1.543749e-09 -6.586799e-07 + 3.479130e-05 -1.748016e-04 -4.315510e-04 -7.628940e-05 1.348955e-04 1.664602e-04 + 1.318097e-04 8.803760e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par31.edi b/examples/data/NEConductor/par31.edi new file mode 100644 index 00000000..3044f355 --- /dev/null +++ b/examples/data/NEConductor/par31.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par31" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par31" +REFLAT=-30:13:50.7394 +REFLONG=139:43:04.425 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par31" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-5.042360e-03 8.914409e-05 5.280127e-06 8.741556e-08 -8.648514e-08 1.628894e-04 +-1.541986e-03 2.515421e-03 1.347938e-03 -8.098721e-04 -1.396412e-03 -1.192896e-03 +-8.026794e-04 -4.843435e-04 +>ZXXI ROT=ZROT //14 +-1.139530e-03 1.965482e-05 4.832199e-07 -1.733844e-07 -1.259737e-06 -8.024757e-05 +-6.671478e-04 -1.383373e-03 1.798849e-03 1.376568e-03 3.386569e-04 -2.386780e-04 +-3.839809e-04 -3.245738e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865763e+02 1.241399e+02 7.346933e+01 4.197590e+01 2.350537e+01 1.317050e+01 + 8.360975e+00 6.596383e+00 5.475631e+00 4.276639e+00 3.014521e+00 1.927348e+00 + 1.148387e+00 6.603487e-01 +>ZXYI ROT=ZROT //14 + 3.082082e+02 1.471554e+02 7.805624e+01 4.294175e+01 2.400291e+01 1.271813e+01 + 6.033130e+00 2.960462e+00 1.999728e+00 1.765900e+00 1.577939e+00 1.253376e+00 + 8.815854e-01 5.639096e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866356e+02 -1.241504e+02 -7.346937e+01 -4.197589e+01 -2.350537e+01 -1.317044e+01 +-8.361713e+00 -6.596621e+00 -5.471247e+00 -4.270529e+00 -3.009240e+00 -1.923639e+00 +-1.146079e+00 -6.589976e-01 +>ZYXI ROT=ZROT //14 +-3.082477e+02 -1.471573e+02 -7.805624e+01 -4.294172e+01 -2.400291e+01 -1.271810e+01 +-6.033023e+00 -2.963619e+00 -2.003092e+00 -1.766528e+00 -1.576762e+00 -1.251681e+00 +-8.801065e-01 -5.628649e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.077160e-03 -1.024485e-04 -1.703340e-06 3.050930e-07 -8.519305e-07 -1.819251e-04 + 1.823804e-03 -2.571569e-03 -2.584893e-03 -6.990090e-04 1.159570e-04 2.912270e-04 + 2.392179e-04 1.536927e-04 +>ZYYI ROT=ZROT //14 + 2.915008e-04 -3.516921e-05 -2.345115e-07 -3.530550e-08 4.966581e-07 8.746758e-05 + 6.097899e-04 2.346393e-03 -1.059518e-03 -1.297610e-03 -6.455306e-04 -1.766068e-04 + 2.352878e-05 6.959276e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.667772e-02 1.895479e-04 -3.129470e-05 -8.431749e-07 -2.957778e-08 -9.304274e-06 + 1.676445e-04 9.171298e-06 -9.018725e-04 -8.874276e-04 -6.224291e-04 -3.917814e-04 +-2.315317e-04 -1.327364e-04 +>TXI.EXP //14 +-1.131442e-03 -3.604060e-05 4.294727e-07 1.265298e-06 7.972879e-10 5.324637e-06 +-6.017991e-05 6.703727e-04 4.274985e-04 -1.064888e-04 -2.554561e-04 -2.370319e-04 +-1.734041e-04 -1.122621e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.884456e-03 2.871869e-04 1.348455e-05 4.562802e-07 -3.324280e-08 -3.401621e-06 + 4.712566e-05 -8.019420e-06 -2.383185e-04 -2.055079e-04 -1.325149e-04 -8.037647e-05 +-4.682097e-05 -2.666778e-05 +>TYI.EXP //14 + 2.024079e-04 -3.242390e-05 -3.532202e-06 -1.264605e-06 -2.326370e-08 9.828931e-07 +-9.795384e-06 1.754156e-04 9.023923e-05 -4.429841e-05 -6.560503e-05 -5.369842e-05 +-3.704728e-05 -2.322701e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par310.edi b/examples/data/NEConductor/par310.edi new file mode 100644 index 00000000..06a58125 --- /dev/null +++ b/examples/data/NEConductor/par310.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par310" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par310" +REFLAT=-30:11:24.5821 +REFLONG=139:43:06.3197 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par310" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.887077e-03 1.545860e-04 1.463024e-06 1.047313e-07 3.286391e-06 6.211993e-04 +-4.569246e-03 5.555260e-03 1.082088e-02 9.763214e-03 7.135372e-03 4.607528e-03 + 2.750928e-03 1.582397e-03 +>ZXXI ROT=ZROT //14 +-9.446570e-04 4.089748e-05 6.768475e-07 -6.664097e-08 3.178033e-06 1.246299e-04 +-2.375970e-03 -8.236305e-03 -2.333595e-03 1.563863e-03 2.852760e-03 2.699048e-03 + 2.015869e-03 1.320781e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865750e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.316962e+01 + 8.365827e+00 6.588403e+00 5.462731e+00 4.264498e+00 3.005300e+00 1.921262e+00 + 1.144714e+00 6.582261e-01 +>ZXYI ROT=ZROT //14 + 3.082122e+02 1.471555e+02 7.805623e+01 4.294175e+01 2.400290e+01 1.271725e+01 + 6.038464e+00 2.969290e+00 2.002368e+00 1.764308e+00 1.574560e+00 1.249987e+00 + 8.789751e-01 5.621701e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865651e+02 -1.241464e+02 -7.346937e+01 -4.197591e+01 -2.350537e+01 -1.316972e+01 +-8.365507e+00 -6.589373e+00 -5.462781e+00 -4.263736e+00 -3.004482e+00 -1.920653e+00 +-1.144326e+00 -6.579977e-01 +>ZYXI ROT=ZROT //14 +-3.082000e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400290e+01 -1.271732e+01 +-6.037853e+00 -2.969270e+00 -2.003277e+00 -1.764762e+00 -1.574536e+00 -1.249773e+00 +-8.787510e-01 -5.620022e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.374601e-03 -1.088904e-04 -6.462038e-07 2.066645e-07 -2.957836e-06 -6.106177e-04 + 4.848419e-03 -5.532013e-03 -1.153042e-02 -1.059800e-02 -7.799831e-03 -5.051107e-03 +-3.019504e-03 -1.737756e-03 +>ZYYI ROT=ZROT //14 + 1.573719e-04 -3.081957e-05 -8.828694e-08 -4.499721e-08 -1.090267e-06 -4.242887e-05 + 2.118396e-03 8.883784e-03 2.761054e-03 -1.552121e-03 -3.050096e-03 -2.929647e-03 +-2.201172e-03 -1.446274e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.148984e-03 -5.097000e-04 -3.649345e-05 5.329381e-07 9.618581e-08 1.453410e-05 +-2.334870e-04 6.066529e-05 1.077925e-03 1.030663e-03 7.214312e-04 4.550023e-04 + 2.693263e-04 1.544152e-04 +>TXI.EXP //14 + 1.590804e-04 6.287991e-05 1.235209e-05 3.643017e-07 3.562887e-08 -6.171636e-06 + 5.280455e-05 -8.159998e-04 -4.619334e-04 1.390954e-04 2.997566e-04 2.756745e-04 + 2.015020e-04 1.304867e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.634730e-03 2.912888e-04 1.352634e-05 4.370094e-07 -7.083821e-08 -1.262210e-05 + 2.054026e-04 -5.334126e-05 -9.335196e-04 -9.198291e-04 -6.551603e-04 -4.162882e-04 +-2.471196e-04 -1.418582e-04 +>TYI.EXP //14 + 1.567565e-04 -3.270498e-05 -3.522642e-06 -1.249345e-06 -3.142285e-08 5.896293e-06 +-4.870677e-05 7.100344e-04 4.180216e-04 -1.056456e-04 -2.613594e-04 -2.471829e-04 +-1.828808e-04 -1.190788e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par31ew.edi b/examples/data/NEConductor/par31ew.edi new file mode 100644 index 00000000..087620cf --- /dev/null +++ b/examples/data/NEConductor/par31ew.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par31ew" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par31ew" +REFLAT=-30:12:53.0083 +REFLONG=139:48:57.4097 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par31ew" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.338972e-02 -6.480649e-04 -1.046093e-04 -2.080100e-06 1.476130e-08 -8.646429e-06 +-2.153100e-04 -3.776084e-04 1.864571e-03 2.307928e-03 1.824458e-03 1.241762e-03 + 7.666353e-04 4.480801e-04 +>ZXXI ROT=ZROT //14 +-7.211541e-04 -5.006128e-04 -3.767871e-05 2.833054e-06 1.851216e-07 -1.290769e-05 + 2.733331e-04 -1.343029e-03 -1.357373e-03 -5.256619e-05 5.206991e-04 6.163006e-04 + 5.088634e-04 3.523300e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.874769e+02 1.241385e+02 7.346933e+01 4.197589e+01 2.350538e+01 1.317169e+01 + 8.353344e+00 6.610013e+00 5.486619e+00 4.281000e+00 3.016045e+00 1.927724e+00 + 1.148412e+00 6.603119e-01 +>ZXYI ROT=ZROT //14 + 3.085834e+02 1.471535e+02 7.805611e+01 4.294172e+01 2.400291e+01 1.271862e+01 + 6.026871e+00 2.951473e+00 2.004371e+00 1.770498e+00 1.580617e+00 1.254630e+00 + 8.820630e-01 5.640587e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865336e+02 -1.241433e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.317168e+01 +-8.353169e+00 -6.608384e+00 -5.490300e+00 -4.287676e+00 -3.021999e+00 -1.931943e+00 +-1.151050e+00 -6.618598e-01 +>ZYXI ROT=ZROT //14 +-3.082528e+02 -1.471557e+02 -7.805629e+01 -4.294173e+01 -2.400291e+01 -1.271861e+01 +-6.027308e+00 -2.949281e+00 -1.999810e+00 -1.769230e+00 -1.581730e+00 -1.256472e+00 +-8.837187e-01 -5.652426e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.273471e-03 -1.585711e-04 -2.615562e-06 6.387823e-08 5.371533e-08 -3.741984e-07 + 1.328811e-04 -1.307919e-04 -4.507065e-04 -3.003180e-05 1.724940e-04 1.654884e-04 + 1.112479e-04 6.654255e-05 +>ZYYI ROT=ZROT //14 + 6.218324e-04 -6.827457e-05 -1.561903e-06 8.903761e-08 1.260116e-08 9.465483e-06 +-4.961492e-05 3.822968e-04 -1.156900e-04 -3.005382e-04 -1.154555e-04 1.146341e-05 + 4.747119e-05 4.319278e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.362805e-02 -1.319726e-04 -4.203162e-05 -7.245150e-07 1.423576e-08 2.181513e-07 +-9.014065e-07 6.056264e-05 -1.045857e-04 -2.118273e-04 -1.746034e-04 -1.141386e-04 +-6.807096e-05 -3.915290e-05 +>TXI.EXP //14 +-7.194423e-04 8.211457e-06 6.231285e-06 1.345613e-06 4.778735e-09 5.155605e-08 +-1.078852e-05 5.172763e-05 1.534381e-04 3.567627e-05 -4.476350e-05 -5.905505e-05 +-4.755614e-05 -3.195827e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.047473e-02 -6.476642e-04 -2.126515e-05 3.086535e-07 -7.352781e-09 -5.640871e-07 + 3.292007e-07 -1.571982e-04 2.806274e-04 5.478457e-04 4.440854e-04 2.884718e-04 + 1.716769e-04 9.858087e-05 +>TYI.EXP //14 + 3.349696e-03 2.762864e-05 2.894225e-06 1.021646e-06 -4.246746e-10 -3.773169e-07 + 2.761688e-05 -1.350712e-04 -3.991205e-04 -8.271560e-05 1.191635e-04 1.517295e-04 + 1.208726e-04 8.088011e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par32.edi b/examples/data/NEConductor/par32.edi new file mode 100644 index 00000000..6091fa53 --- /dev/null +++ b/examples/data/NEConductor/par32.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par32" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par32" +REFLAT=-30:13:34.4997 +REFLONG=139:43:04.6357 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par32" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.779812e-03 9.597149e-05 4.898084e-06 9.298232e-08 6.571067e-07 2.397678e-04 +-1.975368e-03 3.048148e-03 2.289992e-03 7.429346e-05 -7.365523e-04 -7.636472e-04 +-5.457790e-04 -3.364546e-04 +>ZXXI ROT=ZROT //14 +-1.178496e-03 2.140643e-05 6.037361e-07 -1.672778e-07 -1.331229e-06 -7.140338e-05 +-9.616500e-04 -2.065138e-03 1.584677e-03 1.497031e-03 5.902247e-04 7.485954e-06 +-1.977148e-04 -2.018308e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865755e+02 1.241399e+02 7.346933e+01 4.197590e+01 2.350537e+01 1.317020e+01 + 8.362706e+00 6.593257e+00 5.471243e+00 4.272741e+00 3.011638e+00 1.925475e+00 + 1.147267e+00 6.597041e-01 +>ZXYI ROT=ZROT //14 + 3.082101e+02 1.471554e+02 7.805623e+01 4.294175e+01 2.400290e+01 1.271777e+01 + 6.035242e+00 2.963416e+00 2.000314e+00 1.765216e+00 1.576787e+00 1.252285e+00 + 8.807675e-01 5.633727e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866236e+02 -1.241492e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317017e+01 +-8.363106e+00 -6.593524e+00 -5.468354e+00 -4.268574e+00 -3.007993e+00 -1.922901e+00 +-1.145660e+00 -6.587624e-01 +>ZYXI ROT=ZROT //14 +-3.082384e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271773e+01 +-6.035155e+00 -2.965473e+00 -2.002665e+00 -1.765715e+00 -1.576015e+00 -1.251128e+00 +-8.797467e-01 -5.626480e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.642751e-03 -9.794064e-05 -1.559107e-06 2.813761e-07 -1.365967e-06 -2.538662e-04 + 2.180289e-03 -3.111558e-03 -3.163826e-03 -1.111216e-03 -1.420766e-04 1.435390e-04 + 1.576326e-04 1.084974e-04 +>ZYYI ROT=ZROT //14 + 2.608277e-04 -3.284632e-05 -2.351303e-07 -3.279480e-08 4.077949e-07 7.443636e-05 + 9.299894e-04 2.749575e-03 -1.093289e-03 -1.453415e-03 -8.025225e-04 -2.925781e-04 +-5.001814e-05 2.633639e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.544519e-02 1.334312e-04 -3.135134e-05 -9.075438e-07 -3.976102e-08 -1.092978e-05 + 1.754541e-04 -2.805894e-05 -8.650096e-04 -8.215576e-04 -5.700096e-04 -3.575220e-04 +-2.110269e-04 -1.209324e-04 +>TXI.EXP //14 +-9.905550e-04 -2.773579e-05 9.183713e-07 1.303307e-06 -9.854539e-09 4.266428e-06 +-4.530619e-05 6.503256e-04 3.738549e-04 -1.154653e-04 -2.412876e-04 -2.191897e-04 +-1.591034e-04 -1.026447e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.850739e-03 2.876401e-04 1.349013e-05 4.532509e-07 -3.803191e-08 -5.079663e-06 + 7.016364e-05 -1.861318e-05 -3.384814e-04 -2.961457e-04 -1.944163e-04 -1.190074e-04 +-6.958781e-05 -3.970271e-05 +>TYI.EXP //14 + 1.959619e-04 -3.244569e-05 -3.530480e-06 -1.262234e-06 -2.644813e-08 1.154010e-06 +-1.236911e-05 2.518615e-04 1.275385e-04 -5.981248e-05 -9.301175e-05 -7.784862e-05 +-5.437661e-05 -3.434683e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par33.edi b/examples/data/NEConductor/par33.edi new file mode 100644 index 00000000..f433b708 --- /dev/null +++ b/examples/data/NEConductor/par33.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par33" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par33" +REFLAT=-30:13:18.2601 +REFLONG=139:43:04.8464 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par33" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.491159e-03 1.034460e-04 4.508886e-06 9.626671e-08 1.583201e-06 3.350810e-04 +-2.514936e-03 3.709445e-03 3.606407e-03 1.374800e-03 2.597978e-04 -1.053990e-04 +-1.485178e-04 -1.069182e-04 +>ZXXI ROT=ZROT //14 +-1.197647e-03 2.323234e-05 6.748739e-07 -1.582353e-07 -1.135850e-06 -4.469340e-05 +-1.341094e-03 -3.011850e-03 1.212249e-03 1.625726e-03 9.408763e-04 3.694841e-04 + 8.325732e-05 -1.412310e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865750e+02 1.241399e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316990e+01 + 8.364524e+00 6.589816e+00 5.466294e+00 4.268273e+00 3.008311e+00 1.923305e+00 + 1.145965e+00 6.589540e-01 +>ZXYI ROT=ZROT //14 + 3.082112e+02 1.471555e+02 7.805623e+01 4.294175e+01 2.400290e+01 1.271733e+01 + 6.037643e+00 2.966702e+00 2.001050e+00 1.764481e+00 1.575487e+00 1.251035e+00 + 8.798241e-01 5.627508e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866137e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316993e+01 +-8.364402e+00 -6.590340e+00 -5.465427e+00 -4.266603e+00 -3.006741e+00 -1.922161e+00 +-1.145241e+00 -6.585270e-01 +>ZYXI ROT=ZROT //14 +-3.082304e+02 -1.471560e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271729e+01 +-6.037465e+00 -2.967267e+00 -2.002211e+00 -1.764881e+00 -1.575256e+00 -1.250570e+00 +-8.793852e-01 -5.624305e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.269133e-03 -9.455047e-05 -1.434183e-06 2.606070e-07 -1.972765e-06 -3.374623e-04 + 2.589840e-03 -3.719199e-03 -3.978126e-03 -1.800617e-03 -6.260264e-04 -1.578564e-04 +-1.806509e-05 8.591839e-06 +>ZYYI ROT=ZROT //14 + 2.296882e-04 -3.095972e-05 -2.272921e-07 -2.895353e-08 1.418507e-07 4.566258e-05 + 1.312048e-03 3.309845e-03 -1.011160e-03 -1.607779e-03 -1.023856e-03 -4.857693e-04 +-1.869766e-04 -6.044793e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.412324e-02 6.760685e-05 -3.188165e-05 -8.956325e-07 -4.351456e-08 -1.119832e-05 + 1.641677e-04 -5.277361e-05 -7.561998e-04 -6.966075e-04 -4.785673e-04 -2.991327e-04 +-1.763375e-04 -1.010132e-04 +>TXI.EXP //14 +-8.498501e-04 -1.809801e-05 1.842666e-06 1.290835e-06 -3.306468e-08 2.773266e-06 +-2.861043e-05 5.732629e-04 2.998744e-04 -1.107716e-04 -2.083086e-04 -1.856917e-04 +-1.338076e-04 -8.603698e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.819323e-03 2.880771e-04 1.349549e-05 4.505368e-07 -4.503081e-08 -7.256032e-06 + 9.931729e-05 -3.505352e-05 -4.577106e-04 -4.032198e-04 -2.677364e-04 -1.648707e-04 +-9.664817e-05 -5.520327e-05 +>TYI.EXP //14 + 1.899754e-04 -3.246773e-05 -3.528919e-06 -1.260139e-06 -3.249869e-08 1.263397e-06 +-1.404276e-05 3.434102e-04 1.698457e-04 -7.850923e-05 -1.254180e-04 -1.064337e-04 +-7.492669e-05 -4.755138e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par34.edi b/examples/data/NEConductor/par34.edi new file mode 100644 index 00000000..3bafa246 --- /dev/null +++ b/examples/data/NEConductor/par34.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par34" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par34" +REFLAT=-30:13:02.0204 +REFLONG=139:43:05.057 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par34" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-4.177209e-03 1.113241e-04 4.111461e-06 9.634208e-08 2.424302e-06 4.430898e-04 +-3.143906e-03 4.482904e-03 5.282533e-03 3.087716e-03 1.593827e-03 7.841745e-04 + 3.909903e-04 2.054757e-04 +>ZXXI ROT=ZROT //14 +-1.199223e-03 2.519173e-05 7.054248e-07 -1.461199e-07 -3.586484e-07 2.955503e-06 +-1.797083e-03 -4.211411e-03 6.754376e-04 1.754877e-03 1.386601e-03 8.462966e-04 + 4.592387e-04 2.391344e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865749e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350538e+01 1.316963e+01 + 8.366271e+00 6.586393e+00 5.461262e+00 4.263673e+00 3.004863e+00 1.921049e+00 + 1.144609e+00 6.581720e-01 +>ZXYI ROT=ZROT //14 + 3.082118e+02 1.471554e+02 7.805624e+01 4.294175e+01 2.400289e+01 1.271685e+01 + 6.040078e+00 2.970016e+00 2.001868e+00 1.763768e+00 1.574164e+00 1.249748e+00 + 8.788471e-01 5.621047e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866051e+02 -1.241473e+02 -7.346920e+01 -4.197589e+01 -2.350538e+01 -1.316973e+01 +-8.365516e+00 -6.587379e+00 -5.462702e+00 -4.264752e+00 -3.005560e+00 -1.921462e+00 +-1.144844e+00 -6.583037e-01 +>ZYXI ROT=ZROT //14 +-3.082236e+02 -1.471555e+02 -7.805625e+01 -4.294174e+01 -2.400289e+01 -1.271685e+01 +-6.039687e+00 -2.968885e+00 -2.001801e+00 -1.764109e+00 -1.574547e+00 -1.250047e+00 +-8.790448e-01 -5.622250e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.955552e-03 -9.232641e-05 -1.322937e-06 2.428497e-07 -2.481673e-06 -4.277846e-04 + 3.054254e-03 -4.381867e-03 -5.073993e-03 -2.836679e-03 -1.398074e-03 -6.574244e-04 +-3.157972e-04 -1.624327e-04 +>ZYYI ROT=ZROT //14 + 1.998024e-04 -2.950622e-05 -2.133468e-07 -2.432974e-08 -4.328535e-07 8.134771e-07 + 1.738820e-03 4.065991e-03 -7.714705e-04 -1.750117e-03 -1.321377e-03 -7.754504e-04 +-4.047648e-04 -2.032607e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.272486e-02 -6.280744e-06 -3.282409e-05 -8.087324e-07 -2.607693e-08 -9.474224e-06 + 1.289554e-04 -5.743484e-05 -5.643719e-04 -5.059303e-04 -3.443722e-04 -2.144848e-04 +-1.262544e-04 -7.229646e-05 +>TXI.EXP //14 +-7.091201e-04 -7.417813e-06 3.131560e-06 1.233943e-06 -2.090846e-08 1.237732e-06 +-1.346387e-05 4.306980e-04 2.062159e-04 -8.901464e-05 -1.538307e-04 -1.347770e-04 +-9.643335e-05 -6.179928e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.789851e-03 2.885044e-04 1.350059e-05 4.481448e-07 -5.389656e-08 -9.803411e-06 + 1.329675e-04 -5.607730e-05 -5.895130e-04 -5.220280e-04 -3.496814e-04 -2.163329e-04 +-1.270651e-04 -7.263856e-05 +>TYI.EXP //14 + 1.843967e-04 -3.249091e-05 -3.527525e-06 -1.258290e-06 -4.148528e-08 1.339322e-06 +-1.481497e-05 4.449884e-04 2.157949e-04 -9.878459e-05 -1.611479e-04 -1.382360e-04 +-9.790680e-05 -6.235950e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par36.edi b/examples/data/NEConductor/par36.edi new file mode 100644 index 00000000..82fa8e33 --- /dev/null +++ b/examples/data/NEConductor/par36.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par36" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par36" +REFLAT=-30:12:29.541 +REFLONG=139:43:05.4781 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par36" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.479834e-03 1.273257e-04 3.271124e-06 1.006407e-07 3.478512e-06 6.441422e-04 +-4.410421e-03 6.011150e-03 9.045856e-03 7.100233e-03 4.778618e-03 2.930085e-03 + 1.699486e-03 9.649142e-04 +>ZXXI ROT=ZROT //14 +-1.158019e-03 2.966789e-05 6.968245e-07 -1.171266e-07 1.508153e-06 1.336900e-04 +-2.715060e-03 -6.897032e-03 -7.172501e-04 1.943643e-03 2.385677e-03 1.963100e-03 + 1.356158e-03 8.489259e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865749e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350538e+01 1.316926e+01 + 8.368690e+00 6.581722e+00 5.454051e+00 4.256947e+00 2.999776e+00 1.917700e+00 + 1.142591e+00 6.570065e-01 +>ZXYI ROT=ZROT //14 + 3.082122e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400288e+01 1.271618e+01 + 6.043415e+00 2.974777e+00 2.003216e+00 1.762828e+00 1.572269e+00 1.247869e+00 + 8.774061e-01 5.611470e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865906e+02 -1.241461e+02 -7.346915e+01 -4.197590e+01 -2.350538e+01 -1.316948e+01 +-8.366937e+00 -6.583655e+00 -5.459022e+00 -4.262084e+00 -3.003794e+00 -1.920390e+00 +-1.144227e+00 -6.579546e-01 +>ZYXI ROT=ZROT //14 +-3.082126e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400289e+01 -1.271627e+01 +-6.042510e+00 -2.971081e+00 -2.001469e+00 -1.763159e+00 -1.573583e+00 -1.249294e+00 +-8.785380e-01 -5.619124e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.510310e-03 -9.170110e-05 -1.125419e-06 2.089503e-07 -3.441736e-06 -5.941873e-04 + 4.070198e-03 -5.663077e-03 -7.963768e-03 -5.875409e-03 -3.778866e-03 -2.244590e-03 +-1.277374e-03 -7.188587e-04 +>ZYYI ROT=ZROT //14 + 1.499512e-04 -2.794696e-05 -1.748267e-07 -1.909022e-08 -1.249387e-06 -1.059422e-04 + 2.533969e-03 6.102610e-03 2.353688e-04 -1.935427e-03 -2.102192e-03 -1.623064e-03 +-1.074724e-03 -6.545678e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.736187e-03 -1.708996e-04 -3.535411e-05 -4.481498e-07 -6.005489e-09 -1.073170e-07 +-6.193270e-06 -4.364496e-06 3.247702e-05 4.071501e-05 3.082688e-05 2.022159e-05 + 1.221011e-05 7.013710e-06 +>TXI.EXP //14 +-4.262067e-04 1.594836e-05 6.411139e-06 1.015550e-06 -7.092197e-09 -8.281249e-07 + 5.287908e-06 -2.201602e-05 -2.500854e-05 1.118211e-07 1.000644e-05 1.091722e-05 + 8.547427e-06 5.714374e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.735359e-03 2.893576e-04 1.351010e-05 4.440820e-07 -6.136235e-08 -1.462289e-05 + 1.982324e-04 -9.596190e-05 -8.390765e-04 -7.560886e-04 -5.152182e-04 -3.214641e-04 +-1.894859e-04 -1.084810e-04 +>TYI.EXP //14 + 1.742669e-04 -3.254416e-05 -3.525248e-06 -1.255087e-06 -5.556056e-08 1.927833e-06 +-1.727594e-05 6.381056e-04 3.089595e-04 -1.320532e-04 -2.292509e-04 -2.012855e-04 +-1.442892e-04 -9.251590e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par37.edi b/examples/data/NEConductor/par37.edi new file mode 100644 index 00000000..5962cf43 --- /dev/null +++ b/examples/data/NEConductor/par37.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par37" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par37" +REFLAT=-30:12:13.3013 +REFLONG=139:43:05.6886 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par37" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-3.101351e-03 1.350123e-04 2.824935e-06 1.047407e-07 3.409849e-06 7.041622e-04 +-4.845992e-03 6.469197e-03 1.053527e-02 8.790091e-03 6.153075e-03 3.868338e-03 + 2.275450e-03 1.300169e-03 +>ZXXI ROT=ZROT //14 +-1.118756e-03 3.220950e-05 6.815105e-07 -1.018939e-07 2.409002e-06 1.821657e-04 +-2.984021e-03 -7.966829e-03 -1.391401e-03 1.956240e-03 2.780312e-03 2.432961e-03 + 1.742755e-03 1.114901e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865749e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350538e+01 1.316919e+01 + 8.368965e+00 6.581436e+00 5.453335e+00 4.256193e+00 2.999176e+00 1.917294e+00 + 1.142343e+00 6.568620e-01 +>ZXYI ROT=ZROT //14 + 3.082122e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400288e+01 1.271616e+01 + 6.043575e+00 2.975302e+00 2.003477e+00 1.762790e+00 1.572083e+00 1.247659e+00 + 8.772370e-01 5.610315e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865840e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350538e+01 -1.316943e+01 +-8.367146e+00 -6.583491e+00 -5.458556e+00 -4.261569e+00 -3.003388e+00 -1.920119e+00 +-1.144062e+00 -6.578597e-01 +>ZYXI ROT=ZROT //14 +-3.082083e+02 -1.471549e+02 -7.805628e+01 -4.294175e+01 -2.400288e+01 -1.271628e+01 +-6.042571e+00 -2.971438e+00 -2.001666e+00 -1.763143e+00 -1.573454e+00 -1.249151e+00 +-8.784240e-01 -5.618355e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.379451e-03 -9.348462e-05 -1.027166e-06 1.947521e-07 -3.405751e-06 -6.500625e-04 + 4.519533e-03 -6.085402e-03 -9.441779e-03 -7.568259e-03 -5.152416e-03 -3.178650e-03 +-1.849326e-03 -1.051383e-03 +>ZYYI ROT=ZROT //14 + 1.345380e-04 -2.786961e-05 -1.529498e-07 -2.032091e-08 -2.192989e-06 -1.366640e-04 + 2.748677e-03 7.181494e-03 9.284473e-04 -1.942494e-03 -2.498966e-03 -2.094028e-03 +-1.460573e-03 -9.192516e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.159203e-03 -2.576618e-04 -3.651907e-05 -2.051858e-07 4.911348e-09 5.804353e-06 +-8.687316e-05 3.533598e-05 3.725064e-04 3.471808e-04 2.404642e-04 1.512503e-04 + 8.949174e-05 5.127570e-05 +>TXI.EXP //14 +-2.831272e-04 2.808332e-05 8.169111e-06 8.680539e-07 1.641187e-08 -1.674396e-06 + 1.205980e-05 -2.814812e-04 -1.492413e-04 5.297539e-05 1.026369e-04 9.263922e-05 + 6.727176e-05 4.343737e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.709659e-03 2.897990e-04 1.351453e-05 4.421626e-07 -6.564711e-08 -1.594089e-05 + 2.196537e-04 -1.040535e-04 -9.253094e-04 -8.465895e-04 -5.826310e-04 -3.651616e-04 +-2.156347e-04 -1.235398e-04 +>TYI.EXP //14 + 1.696177e-04 -3.257603e-05 -3.524364e-06 -1.253565e-06 -5.453908e-08 2.726973e-06 +-2.169421e-05 7.051356e-04 3.499053e-04 -1.383994e-04 -2.534802e-04 -2.259387e-04 +-1.631099e-04 -1.049647e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par38.edi b/examples/data/NEConductor/par38.edi new file mode 100644 index 00000000..857ab62a --- /dev/null +++ b/examples/data/NEConductor/par38.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par38" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par38" +REFLAT=-30:11:57.0616 +REFLONG=139:43:05.899 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par38" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.707248e-03 1.422296e-04 2.367687e-06 1.065917e-07 3.307621e-06 7.204677e-04 +-5.027963e-03 6.547150e-03 1.137376e-02 9.857664e-03 7.055825e-03 4.496966e-03 + 2.665253e-03 1.528045e-03 +>ZXXI ROT=ZROT //14 +-1.069104e-03 3.494368e-05 6.700261e-07 -8.802849e-08 3.145370e-06 1.966628e-04 +-3.013157e-03 -8.582671e-03 -1.916539e-03 1.892340e-03 3.001757e-03 2.729019e-03 + 1.996108e-03 1.292443e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865749e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.316923e+01 + 8.368508e+00 6.582693e+00 5.454865e+00 4.257491e+00 3.000114e+00 1.917895e+00 + 1.142699e+00 6.570665e-01 +>ZXYI ROT=ZROT //14 + 3.082123e+02 1.471555e+02 7.805624e+01 4.294175e+01 2.400288e+01 1.271638e+01 + 6.042609e+00 2.974373e+00 2.003380e+00 1.763074e+00 1.572488e+00 1.248024e+00 + 8.775040e-01 5.612044e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865777e+02 -1.241458e+02 -7.346922e+01 -4.197591e+01 -2.350538e+01 -1.316945e+01 +-8.366979e+00 -6.584548e+00 -5.459121e+00 -4.261704e+00 -3.003374e+00 -1.920072e+00 +-1.144022e+00 -6.578338e-01 +>ZYXI ROT=ZROT //14 +-3.082048e+02 -1.471551e+02 -7.805630e+01 -4.294175e+01 -2.400289e+01 -1.271650e+01 +-6.041666e+00 -2.971230e+00 -2.002091e+00 -1.763451e+00 -1.573594e+00 -1.249192e+00 +-8.784241e-01 -5.618250e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.311183e-03 -9.680112e-05 -9.175793e-07 1.892174e-07 -3.684194e-06 -6.743225e-04 + 4.833553e-03 -6.222977e-03 -1.063383e-02 -9.045681e-03 -6.385195e-03 -4.029989e-03 +-2.374880e-03 -1.358020e-03 +>ZYYI ROT=ZROT //14 + 1.292553e-04 -2.828070e-05 -1.303631e-07 -2.404898e-08 -1.722662e-06 -1.341926e-04 + 2.749499e-03 8.087602e-03 1.637492e-03 -1.877022e-03 -2.816834e-03 -2.503811e-03 +-1.806350e-03 -1.159859e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.533433e-03 -3.445703e-04 -3.727965e-05 5.391462e-08 3.964383e-08 1.077628e-05 +-1.579739e-04 6.504930e-05 6.809243e-04 6.309454e-04 4.363889e-04 2.741547e-04 + 1.620810e-04 9.287112e-05 +>TXI.EXP //14 +-1.382708e-04 4.014796e-05 9.834997e-06 7.046136e-07 4.066782e-08 -2.869446e-06 + 2.156562e-05 -5.168163e-04 -2.682427e-04 9.794558e-05 1.871894e-04 1.684303e-04 + 1.220990e-04 7.877038e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.684545e-03 2.902614e-04 1.351873e-05 4.402975e-07 -7.019641e-08 -1.602325e-05 + 2.281799e-04 -9.908265e-05 -9.701275e-04 -9.056724e-04 -6.301282e-04 -3.967703e-04 +-2.347302e-04 -1.345748e-04 +>TYI.EXP //14 + 1.651813e-04 -3.261270e-05 -3.523640e-06 -1.252072e-06 -4.635005e-08 3.832258e-06 +-2.913324e-05 7.399995e-04 3.829581e-04 -1.353925e-04 -2.670531e-04 -2.422906e-04 +-1.762861e-04 -1.138837e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par39.edi b/examples/data/NEConductor/par39.edi new file mode 100644 index 00000000..ac766086 --- /dev/null +++ b/examples/data/NEConductor/par39.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par39" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par39" +REFLAT=-30:11:40.8218 +REFLONG=139:43:06.1094 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par39" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.301174e-03 1.488040e-04 1.909290e-06 1.055566e-07 3.085943e-06 6.905032e-04 +-4.925259e-03 6.217388e-03 1.144437e-02 1.016415e-02 7.371705e-03 4.736558e-03 + 2.819910e-03 1.619975e-03 +>ZXXI ROT=ZROT //14 +-1.010569e-03 3.784998e-05 6.674492e-07 -7.633187e-08 3.430905e-06 1.739800e-04 +-2.790853e-03 -8.658116e-03 -2.232744e-03 1.755008e-03 3.019247e-03 2.812655e-03 + 2.083844e-03 1.359082e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865749e+02 1.241400e+02 7.346934e+01 4.197590e+01 2.350537e+01 1.316938e+01 + 8.367400e+00 6.585183e+00 5.458235e+00 4.260478e+00 3.002320e+00 1.919325e+00 + 1.143554e+00 6.575585e-01 +>ZXYI ROT=ZROT //14 + 3.082122e+02 1.471555e+02 7.805623e+01 4.294175e+01 2.400289e+01 1.271678e+01 + 6.040772e+00 2.972223e+00 2.002974e+00 1.763614e+00 1.573376e+00 1.248862e+00 + 8.781300e-01 5.616148e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865714e+02 -1.241460e+02 -7.346928e+01 -4.197590e+01 -2.350537e+01 -1.316954e+01 +-8.366421e+00 -6.586619e+00 -5.460603e+00 -4.262462e+00 -3.003754e+00 -1.920256e+00 +-1.144113e+00 -6.578813e-01 +>ZYXI ROT=ZROT //14 +-3.082021e+02 -1.471554e+02 -7.805633e+01 -4.294175e+01 -2.400289e+01 -1.271688e+01 +-6.039989e+00 -2.970480e+00 -2.002661e+00 -1.764022e+00 -1.573973e+00 -1.249409e+00 +-8.785378e-01 -5.618828e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.307961e-03 -1.018227e-04 -7.905490e-07 1.936018e-07 -2.815356e-06 -6.610954e-04 + 4.951476e-03 -6.029777e-03 -1.135461e-02 -1.009088e-02 -7.298805e-03 -4.676337e-03 +-2.778869e-03 -1.594996e-03 +>ZYYI ROT=ZROT //14 + 1.364409e-04 -2.922331e-05 -1.081023e-07 -3.168798e-08 -1.324379e-06 -9.899939e-05 + 2.524463e-03 8.678906e-03 2.270363e-03 -1.741953e-03 -3.006699e-03 -2.792056e-03 +-2.061935e-03 -1.341778e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.862363e-03 -4.293732e-04 -3.736193e-05 3.074409e-07 6.414164e-08 1.379121e-05 +-2.084639e-04 7.440030e-05 9.218201e-04 8.638425e-04 6.002394e-04 3.776396e-04 + 2.233519e-04 1.280123e-04 +>TXI.EXP //14 + 8.933484e-06 5.185058e-05 1.127432e-05 5.334836e-07 5.940990e-08 -4.466348e-06 + 3.551588e-05 -6.996965e-04 -3.743416e-04 1.275320e-04 2.544097e-04 2.308031e-04 + 1.678344e-04 1.084298e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-6.659685e-03 2.907543e-04 1.352268e-05 4.385720e-07 -7.099764e-08 -1.482472e-05 + 2.228256e-04 -8.110401e-05 -9.711175e-04 -9.294194e-04 -6.541850e-04 -4.138312e-04 +-2.452585e-04 -1.407050e-04 +>TYI.EXP //14 + 1.609107e-04 -3.265526e-05 -3.523067e-06 -1.250651e-06 -4.006896e-08 4.993953e-06 +-3.874673e-05 7.404096e-04 4.059632e-04 -1.237021e-04 -2.692628e-04 -2.492186e-04 +-1.828360e-04 -1.185848e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par40.edi b/examples/data/NEConductor/par40.edi new file mode 100644 index 00000000..baeba8d2 --- /dev/null +++ b/examples/data/NEConductor/par40.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par40" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par40" +REFLAT=-30:14:07.1617 +REFLONG=139:43:22.9168 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par40" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-2.112400e-03 8.824503e-05 1.415643e-06 2.186549e-09 1.186660e-06 1.387305e-04 +-1.498497e-03 2.257987e-03 1.753504e-03 -9.568545e-05 -7.496740e-04 -7.303285e-04 +-5.124010e-04 -3.138236e-04 +>ZXXI ROT=ZROT //14 +-6.315281e-04 1.674502e-05 -1.097705e-06 -1.064432e-07 -4.348460e-07 -7.806254e-05 +-5.117249e-04 -1.682035e-03 1.299463e-03 1.232487e-03 4.513148e-04 -4.121070e-05 +-2.036996e-04 -1.948743e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865873e+02 1.241400e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317071e+01 + 8.359798e+00 6.598278e+00 5.478669e+00 4.279508e+00 3.016696e+00 1.928778e+00 + 1.149248e+00 6.608461e-01 +>ZXYI ROT=ZROT //14 + 3.082095e+02 1.471554e+02 7.805622e+01 4.294174e+01 2.400291e+01 1.271833e+01 + 6.031887e+00 2.958375e+00 1.999103e+00 1.766274e+00 1.578741e+00 1.254178e+00 + 8.822007e-01 5.643185e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866501e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317060e+01 +-8.360970e+00 -6.598573e+00 -5.472154e+00 -4.270552e+00 -3.009002e+00 -1.923390e+00 +-1.145899e+00 -6.588863e-01 +>ZYXI ROT=ZROT //14 +-3.082586e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271830e+01 +-6.031709e+00 -2.963094e+00 -2.003996e+00 -1.767129e+00 -1.576988e+00 -1.251696e+00 +-8.800461e-01 -5.627999e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.777300e-03 -1.331237e-04 -2.266694e-06 3.093478e-07 -6.585458e-07 -1.661556e-04 + 1.906643e-03 -2.301475e-03 -3.600150e-03 -2.210592e-03 -1.212354e-03 -6.503841e-04 +-3.498702e-04 -1.919986e-04 +>ZYYI ROT=ZROT //14 + 3.167620e-04 -4.742887e-05 -2.982550e-07 -4.638438e-09 4.920208e-07 9.035358e-05 + 4.150204e-04 3.110699e-03 -1.399343e-04 -1.090813e-03 -9.160574e-04 -5.939065e-04 +-3.480217e-04 -1.953367e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.778375e-02 2.349657e-04 -3.166104e-05 -7.095769e-07 -2.334539e-08 -8.287792e-06 + 1.687010e-04 4.425786e-05 -9.806593e-04 -9.994501e-04 -7.093241e-04 -4.482864e-04 +-2.653087e-04 -1.521734e-04 +>TXI.EXP //14 +-1.271817e-03 -4.274186e-05 4.088788e-07 1.171437e-06 7.358124e-09 6.353032e-06 +-7.613553e-05 7.216787e-04 5.033391e-04 -9.987133e-05 -2.818698e-04 -2.674575e-04 +-1.972940e-04 -1.282075e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.560471e-03 1.787283e-04 1.337468e-05 8.500445e-07 -3.348198e-08 -1.122289e-06 + 4.392884e-06 -1.390560e-05 -5.009019e-07 3.415285e-05 3.705224e-05 2.672296e-05 + 1.656419e-05 9.678281e-06 +>TYI.EXP //14 + 3.828836e-04 -1.851164e-05 -2.908569e-06 -1.409840e-06 -2.629519e-08 -3.675266e-07 + 7.185383e-06 -4.479938e-07 -2.814226e-05 -1.876391e-05 2.401208e-06 1.041227e-05 + 1.014837e-05 7.414491e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par41.edi b/examples/data/NEConductor/par41.edi new file mode 100644 index 00000000..6cfa93b6 --- /dev/null +++ b/examples/data/NEConductor/par41.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par41" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par41" +REFLAT=-30:13:50.922 +REFLONG=139:43:23.1268 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par41" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.999039e-03 8.544817e-05 1.221514e-06 9.581642e-09 1.569664e-06 2.094321e-04 +-1.900291e-03 2.786614e-03 2.514907e-03 5.530125e-04 -2.890948e-04 -4.400233e-04 +-3.417620e-04 -2.163961e-04 +>ZXXI ROT=ZROT //14 +-6.719746e-04 1.553171e-05 -8.447064e-07 -1.009562e-07 -2.652088e-07 -7.353427e-05 +-7.974889e-04 -2.235243e-03 1.207274e-03 1.369169e-03 6.547370e-04 1.398996e-04 +-7.330459e-05 -1.113622e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865859e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.317040e+01 + 8.361456e+00 6.595327e+00 5.474765e+00 4.276154e+00 3.014255e+00 1.927208e+00 + 1.148314e+00 6.603094e-01 +>ZXYI ROT=ZROT //14 + 3.082124e+02 1.471554e+02 7.805622e+01 4.294174e+01 2.400290e+01 1.271802e+01 + 6.033835e+00 2.961021e+00 1.999484e+00 1.765600e+00 1.577718e+00 1.253238e+00 + 8.815072e-01 5.638672e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866356e+02 -1.241504e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317031e+01 +-8.362535e+00 -6.595407e+00 -5.468966e+00 -4.268278e+00 -3.007496e+00 -1.922476e+00 +-1.145373e+00 -6.585886e-01 +>ZYXI ROT=ZROT //14 +-3.082479e+02 -1.471574e+02 -7.805624e+01 -4.294172e+01 -2.400290e+01 -1.271797e+01 +-6.033775e+00 -2.965228e+00 -2.003699e+00 -1.766312e+00 -1.576165e+00 -1.251054e+00 +-8.796136e-01 -5.625331e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.252694e-03 -1.254596e-04 -2.065584e-06 2.849125e-07 -1.167438e-06 -2.404024e-04 + 2.309920e-03 -2.911344e-03 -4.221019e-03 -2.623808e-03 -1.462078e-03 -7.899409e-04 +-4.257585e-04 -2.337065e-04 +>ZYYI ROT=ZROT //14 + 2.895927e-04 -4.371485e-05 -3.010759e-07 -4.920857e-09 4.321138e-07 8.093783e-05 + 7.458713e-04 3.560730e-03 -2.097715e-04 -1.270676e-03 -1.081177e-03 -7.103547e-04 +-4.195964e-04 -2.365191e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.665817e-02 1.899935e-04 -3.127061e-05 -8.428801e-07 -3.532608e-08 -1.102695e-05 + 1.941111e-04 -2.595536e-06 -1.013330e-03 -9.929667e-04 -6.969799e-04 -4.390468e-04 +-2.595690e-04 -1.488293e-04 +>TXI.EXP //14 +-1.130728e-03 -3.607202e-05 4.233572e-07 1.263910e-06 -3.749857e-09 5.873655e-06 +-6.457842e-05 7.568612e-04 4.718412e-04 -1.208312e-04 -2.860426e-04 -2.654064e-04 +-1.942633e-04 -1.258141e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.522787e-03 1.793492e-04 1.338320e-05 8.466281e-07 -3.265050e-08 -1.686550e-06 + 1.248311e-05 -1.320295e-05 -4.732625e-05 -1.181619e-05 5.198171e-06 6.834477e-06 + 4.854607e-06 2.977975e-06 +>TYI.EXP //14 + 3.754877e-04 -1.854789e-05 -2.907264e-06 -1.407319e-06 -2.834199e-08 -3.473378e-07 + 4.836601e-06 3.375895e-05 -5.798635e-06 -2.461280e-05 -1.102566e-05 -1.829228e-06 + 1.286179e-06 1.713215e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par410.edi b/examples/data/NEConductor/par410.edi new file mode 100644 index 00000000..ccefc702 --- /dev/null +++ b/examples/data/NEConductor/par410.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par410" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par410" +REFLAT=-30:11:24.7644 +REFLONG=139:43:25.0138 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par410" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-7.969174e-04 7.658260e-05 -4.004056e-07 6.009552e-08 2.168744e-06 6.800914e-04 +-4.655876e-03 6.131890e-03 1.055213e-02 9.068707e-03 6.463541e-03 4.112050e-03 + 2.435261e-03 1.395772e-03 +>ZXXI ROT=ZROT //14 +-6.053721e-04 1.089948e-05 5.152738e-07 -4.621475e-09 1.968521e-06 2.016281e-04 +-2.860723e-03 -7.947627e-03 -1.703092e-03 1.798647e-03 2.780359e-03 2.509062e-03 + 1.829302e-03 1.182554e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865842e+02 1.241401e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316945e+01 + 8.366583e+00 6.586150e+00 5.461017e+00 4.263528e+00 3.004775e+00 1.920993e+00 + 1.144576e+00 6.581528e-01 +>ZXYI ROT=ZROT //14 + 3.082164e+02 1.471555e+02 7.805621e+01 4.294174e+01 2.400289e+01 1.271688e+01 + 6.040249e+00 2.970207e+00 2.001837e+00 1.763695e+00 1.574109e+00 1.249710e+00 + 8.788209e-01 5.620882e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865652e+02 -1.241464e+02 -7.346937e+01 -4.197590e+01 -2.350537e+01 -1.316951e+01 +-8.366699e+00 -6.586900e+00 -5.459391e+00 -4.260692e+00 -3.002223e+00 -1.919185e+00 +-1.143448e+00 -6.574920e-01 +>ZYXI ROT=ZROT //14 +-3.082004e+02 -1.471560e+02 -7.805636e+01 -4.294174e+01 -2.400289e+01 -1.271695e+01 +-6.039684e+00 -2.971445e+00 -2.003731e+00 -1.764240e+00 -1.573640e+00 -1.248919e+00 +-8.781105e-01 -5.615813e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.319184e-03 -1.209960e-04 -9.314591e-07 1.793680e-07 -3.504619e-06 -6.914217e-04 + 5.110249e-03 -6.228870e-03 -1.178714e-02 -1.050768e-02 -7.625958e-03 -4.899557e-03 +-2.916486e-03 -1.675320e-03 +>ZYYI ROT=ZROT //14 + 1.493670e-04 -3.445648e-05 -9.276302e-08 -6.683874e-09 -1.875040e-06 -1.122514e-04 + 2.630330e-03 9.002216e-03 2.387788e-03 -1.781201e-03 -3.112861e-03 -2.906849e-03 +-2.154768e-03 -1.405492e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.140232e-03 -5.090638e-04 -3.648211e-05 5.340959e-07 8.945714e-08 1.657549e-05 +-2.483984e-04 8.689116e-05 1.104383e-03 1.032860e-03 7.166565e-04 4.505173e-04 + 2.663504e-04 1.526410e-04 +>TXI.EXP //14 + 1.590103e-04 6.281504e-05 1.235071e-05 3.626488e-07 4.661665e-08 -5.315917e-06 + 4.278580e-05 -8.381372e-04 -4.475350e-04 1.538614e-04 3.047482e-04 2.758719e-04 + 2.003801e-04 1.293800e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.268296e-03 1.843560e-04 1.344250e-05 8.266493e-07 -5.666072e-08 -1.072515e-05 + 1.669858e-04 -5.731751e-05 -7.232474e-04 -7.124312e-04 -5.095584e-04 -3.245674e-04 +-1.928863e-04 -1.107701e-04 +>TYI.EXP //14 + 3.277433e-04 -1.891791e-05 -2.902384e-06 -1.393224e-06 -3.239710e-08 4.424978e-06 +-3.232595e-05 5.528744e-04 3.173447e-04 -8.112587e-05 -2.018100e-04 -1.918036e-04 +-1.423214e-04 -9.280595e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par42.edi b/examples/data/NEConductor/par42.edi new file mode 100644 index 00000000..dde46f1b --- /dev/null +++ b/examples/data/NEConductor/par42.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par42" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par42" +REFLAT=-30:13:34.6823 +REFLONG=139:43:23.3366 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par42" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.882680e-03 8.343838e-05 1.024788e-06 1.759330e-08 2.053433e-06 3.007214e-04 +-2.395871e-03 3.446310e-03 3.572061e-03 1.510995e-03 4.154471e-04 1.432398e-05 +-7.116990e-05 -6.097114e-05 +>ZXXI ROT=ZROT //14 +-6.997938e-04 1.423585e-05 -6.293223e-07 -9.415458e-08 1.184445e-08 -5.249211e-05 +-1.177516e-03 -2.992424e-03 1.014018e-03 1.524488e-03 9.364642e-04 4.070864e-04 + 1.258644e-04 1.880941e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865851e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.317008e+01 + 8.363315e+00 6.591823e+00 5.469993e+00 4.271966e+00 3.011177e+00 1.925216e+00 + 1.147124e+00 6.596250e-01 +>ZXYI ROT=ZROT //14 + 3.082144e+02 1.471554e+02 7.805622e+01 4.294174e+01 2.400290e+01 1.271760e+01 + 6.036258e+00 2.964192e+00 2.000046e+00 1.764821e+00 1.576465e+00 1.252066e+00 + 8.806335e-01 5.632954e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866237e+02 -1.241492e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317001e+01 +-8.364106e+00 -6.591870e+00 -5.465512e+00 -4.265835e+00 -3.005891e+00 -1.921506e+00 +-1.144816e+00 -6.582737e-01 +>ZYXI ROT=ZROT //14 +-3.082387e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271753e+01 +-6.036249e+00 -2.967427e+00 -2.003325e+00 -1.765404e+00 -1.575270e+00 -1.250364e+00 +-8.791522e-01 -5.622497e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.792054e-03 -1.190782e-04 -1.892904e-06 2.623103e-07 -1.824692e-06 -3.300881e-04 + 2.754513e-03 -3.608043e-03 -4.985885e-03 -3.184228e-03 -1.824422e-03 -1.003331e-03 +-5.459565e-04 -3.009455e-04 +>ZYYI ROT=ZROT //14 + 2.585900e-04 -4.053414e-05 -2.927399e-07 -3.683959e-09 1.582863e-07 5.411544e-05 + 1.165028e-03 4.092505e-03 -2.396516e-04 -1.464816e-03 -1.286507e-03 -8.680300e-04 +-5.228801e-04 -2.987457e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.542643e-02 1.338946e-04 -3.132763e-05 -9.071848e-07 -4.736309e-08 -1.312526e-05 + 2.066515e-04 -4.535735e-05 -9.893531e-04 -9.374183e-04 -6.515569e-04 -4.091769e-04 +-2.416605e-04 -1.385142e-04 +>TXI.EXP //14 +-9.898819e-04 -2.777022e-05 9.124307e-07 1.301837e-06 -1.683314e-08 4.678091e-06 +-4.814253e-05 7.470269e-04 4.204170e-04 -1.323486e-04 -2.751766e-04 -2.503526e-04 +-1.819463e-04 -1.174680e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.487940e-03 1.799355e-04 1.339129e-05 8.435165e-07 -3.214602e-08 -2.587279e-06 + 2.575096e-05 -1.619996e-05 -1.130942e-04 -7.453994e-05 -3.828184e-05 -2.040371e-05 +-1.121407e-05 -6.224634e-06 +>TYI.EXP //14 + 3.686519e-04 -1.858243e-05 -2.906101e-06 -1.405067e-06 -3.051139e-08 -2.816046e-07 + 2.156417e-06 8.300848e-05 2.259583e-05 -3.342571e-05 -2.948100e-05 -1.856725e-05 +-1.084535e-05 -6.103832e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par43.edi b/examples/data/NEConductor/par43.edi new file mode 100644 index 00000000..b89146a4 --- /dev/null +++ b/examples/data/NEConductor/par43.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par43" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par43" +REFLAT=-30:13:18.4426 +REFLONG=139:43:23.5464 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par43" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.762266e-03 8.203857e-05 8.329954e-07 2.410072e-08 2.668930e-06 4.104889e-04 +-2.984006e-03 4.243385e-03 4.956563e-03 2.819578e-03 1.399839e-03 6.580656e-04 + 3.152042e-04 1.617311e-04 +>ZXXI ROT=ZROT //14 +-7.164266e-04 1.297335e-05 -4.502656e-07 -8.484287e-08 4.119516e-07 -8.938525e-06 +-1.658695e-03 -3.973973e-03 7.008186e-04 1.695326e-03 1.304645e-03 7.718955e-04 + 4.039090e-04 2.027955e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865846e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316976e+01 + 8.365273e+00 6.587919e+00 5.464555e+00 4.267119e+00 3.007587e+00 1.922882e+00 + 1.145726e+00 6.588203e-01 +>ZXYI ROT=ZROT //14 + 3.082154e+02 1.471554e+02 7.805622e+01 4.294174e+01 2.400289e+01 1.271706e+01 + 6.039042e+00 2.967750e+00 2.000768e+00 1.763975e+00 1.575036e+00 1.250709e+00 + 8.796152e-01 5.626261e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866137e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316975e+01 +-8.365577e+00 -6.588182e+00 -5.461978e+00 -4.263350e+00 -3.004265e+00 -1.920526e+00 +-1.144253e+00 -6.579563e-01 +>ZYXI ROT=ZROT //14 +-3.082307e+02 -1.471560e+02 -7.805624e+01 -4.294173e+01 -2.400289e+01 -1.271700e+01 +-6.038967e+00 -2.969578e+00 -2.002908e+00 -1.764457e+00 -1.574352e+00 -1.249662e+00 +-8.786845e-01 -5.619632e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.392742e-03 -1.140210e-04 -1.743942e-06 2.421432e-07 -2.554779e-06 -4.309786e-04 + 3.232883e-03 -4.377651e-03 -5.922613e-03 -3.937593e-03 -2.340812e-03 -1.320286e-03 +-7.291649e-04 -4.047124e-04 +>ZYYI ROT=ZROT //14 + 2.263589e-04 -3.787998e-05 -2.766265e-07 -1.295508e-09 -3.969725e-07 6.577951e-06 + 1.662711e-03 4.727320e-03 -1.996982e-04 -1.664849e-03 -1.539395e-03 -1.079599e-03 +-6.694535e-04 -3.903632e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.410538e-02 6.808989e-05 -3.185874e-05 -8.951574e-07 -5.049925e-08 -1.370942e-05 + 1.982151e-04 -7.398467e-05 -8.872439e-04 -8.180402e-04 -5.640751e-04 -3.533273e-04 +-2.084866e-04 -1.194670e-04 +>TXI.EXP //14 +-8.492326e-04 -1.813578e-05 1.837025e-06 1.289263e-06 -4.368178e-08 3.022223e-06 +-2.995194e-05 6.752276e-04 3.473405e-04 -1.288515e-04 -2.439114e-04 -2.183880e-04 +-1.577750e-04 -1.015924e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.455548e-03 1.804948e-04 1.339894e-05 8.407007e-07 -3.263492e-08 -3.923093e-06 + 4.511113e-05 -2.420327e-05 -1.990765e-04 -1.552344e-04 -9.438329e-05 -5.567078e-05 +-3.205727e-05 -1.817086e-05 +>TYI.EXP //14 + 3.623209e-04 -1.861629e-05 -2.905080e-06 -1.403078e-06 -3.337374e-08 -1.733115e-07 +-3.637842e-07 1.483429e-04 5.711990e-05 -4.532224e-05 -5.328055e-05 -4.015312e-05 +-2.652978e-05 -1.623041e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par44.edi b/examples/data/NEConductor/par44.edi new file mode 100644 index 00000000..6ccb9544 --- /dev/null +++ b/examples/data/NEConductor/par44.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par44" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par44" +REFLAT=-30:13:02.2029 +REFLONG=139:43:23.7562 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par44" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.636988e-03 8.106229e-05 6.467991e-07 2.819459e-08 3.285839e-06 5.308745e-04 +-3.637470e-03 5.146021e-03 6.627914e-03 4.449409e-03 2.645733e-03 1.480636e-03 + 8.114800e-04 4.484382e-04 +>ZXXI ROT=ZROT //14 +-7.233330e-04 1.185025e-05 -3.001453e-07 -7.295690e-08 1.070092e-06 5.892030e-05 +-2.222552e-03 -5.149956e-03 2.678863e-04 1.871245e-03 1.748350e-03 1.226182e-03 + 7.556173e-04 4.375052e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865844e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316947e+01 + 8.367163e+00 6.583992e+00 5.458977e+00 4.262085e+00 3.003838e+00 1.920434e+00 + 1.144258e+00 6.579742e-01 +>ZXYI ROT=ZROT //14 + 3.082160e+02 1.471554e+02 7.805622e+01 4.294174e+01 2.400288e+01 1.271648e+01 + 6.041905e+00 2.971365e+00 2.001579e+00 1.763141e+00 1.573569e+00 1.249300e+00 + 8.785515e-01 5.619248e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866052e+02 -1.241472e+02 -7.346920e+01 -4.197589e+01 -2.350538e+01 -1.316953e+01 +-8.366841e+00 -6.584707e+00 -5.458667e+00 -4.261014e+00 -3.002738e+00 -1.919606e+00 +-1.143725e+00 -6.576580e-01 +>ZYXI ROT=ZROT //14 +-3.082239e+02 -1.471555e+02 -7.805625e+01 -4.294174e+01 -2.400289e+01 -1.271644e+01 +-6.041619e+00 -2.971527e+00 -2.002515e+00 -1.763567e+00 -1.573488e+00 -1.249002e+00 +-8.782452e-01 -5.616940e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.053723e-03 -1.103198e-04 -1.613178e-06 2.245538e-07 -3.141008e-06 -5.353923e-04 + 3.731973e-03 -5.185612e-03 -7.039152e-03 -4.915270e-03 -3.043860e-03 -1.765611e-03 +-9.914056e-04 -5.545325e-04 +>ZYYI ROT=ZROT //14 + 1.949527e-04 -3.574404e-05 -2.550447e-07 1.879636e-09 -1.289831e-06 -5.998970e-05 + 2.207547e-03 5.477483e-03 -5.824245e-05 -1.856628e-03 -1.841540e-03 -1.353669e-03 +-8.683850e-04 -5.182687e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.270802e-02 -5.776616e-06 -3.280235e-05 -8.080904e-07 -3.390286e-08 -1.198962e-05 + 1.626569e-04 -7.912304e-05 -6.922953e-04 -6.255671e-04 -4.291572e-04 -2.683720e-04 +-1.582569e-04 -9.067393e-05 +>TXI.EXP //14 +-7.085751e-04 -7.459201e-06 3.126324e-06 1.232252e-06 -3.263829e-08 1.409533e-06 +-1.415353e-05 5.302239e-04 2.529294e-04 -1.060539e-04 -1.886378e-04 -1.670531e-04 +-1.201962e-04 -7.725535e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.425252e-03 1.810348e-04 1.340618e-05 8.381806e-07 -3.479701e-08 -5.716004e-06 + 7.038993e-05 -3.748783e-05 -3.030012e-04 -2.523783e-04 -1.623498e-04 -9.857796e-05 +-5.746622e-05 -3.274569e-05 +>TYI.EXP //14 + 3.564401e-04 -1.865044e-05 -2.904211e-06 -1.401334e-06 -3.673530e-08 -1.492362e-08 +-2.340531e-06 2.280032e-04 9.711079e-05 -5.964881e-05 -8.182451e-05 -6.621438e-05 +-4.555480e-05 -2.854843e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par46.edi b/examples/data/NEConductor/par46.edi new file mode 100644 index 00000000..e32d6883 --- /dev/null +++ b/examples/data/NEConductor/par46.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par46" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par46" +REFLAT=-30:12:29.7235 +REFLONG=139:43:24.1756 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par46" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.371141e-03 7.972983e-05 2.782327e-07 3.836951e-08 4.406254e-06 7.423654e-04 +-4.853161e-03 6.837055e-03 1.009307e-02 7.974282e-03 5.395449e-03 3.317327e-03 + 1.926496e-03 1.094358e-03 +>ZXXI ROT=ZROT //14 +-7.119492e-04 1.032547e-05 -4.346451e-08 -4.584690e-08 2.454506e-06 2.272022e-04 +-3.311743e-03 -7.574432e-03 -7.928629e-04 2.147360e-03 2.666218e-03 2.208367e-03 + 1.531238e-03 9.605113e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865843e+02 1.241400e+02 7.346932e+01 4.197590e+01 2.350539e+01 1.316908e+01 + 8.369776e+00 6.578535e+00 5.450940e+00 4.254705e+00 2.998295e+00 1.916802e+00 + 1.142073e+00 6.567134e-01 +>ZXYI ROT=ZROT //14 + 3.082164e+02 1.471555e+02 7.805621e+01 4.294174e+01 2.400287e+01 1.271563e+01 + 6.045924e+00 2.976565e+00 2.002908e+00 1.762014e+00 1.571455e+00 1.247236e+00 + 8.769808e-01 5.608846e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865907e+02 -1.241461e+02 -7.346915e+01 -4.197590e+01 -2.350538e+01 -1.316928e+01 +-8.368429e+00 -6.580259e+00 -5.454253e+00 -4.257774e+00 -3.000580e+00 -1.918290e+00 +-1.142966e+00 -6.572278e-01 +>ZYXI ROT=ZROT //14 +-3.082130e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400288e+01 -1.271571e+01 +-6.045074e+00 -2.974104e+00 -2.002150e+00 -1.762445e+00 -1.572329e+00 -1.248088e+00 +-8.776261e-01 -5.613106e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.556671e-03 -1.072351e-04 -1.391041e-06 1.924074e-07 -4.204769e-06 -7.121762e-04 + 4.686784e-03 -6.621367e-03 -9.587515e-03 -7.416471e-03 -4.948119e-03 -3.014721e-03 +-1.741600e-03 -9.869651e-04 +>ZYYI ROT=ZROT //14 + 1.421328e-04 -3.305247e-05 -2.031188e-07 6.948155e-09 -2.643864e-06 -2.028646e-04 + 3.172026e-03 7.219917e-03 5.950998e-04 -2.130092e-03 -2.530238e-03 -2.052879e-03 +-1.405365e-03 -8.746216e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.721734e-03 -1.703505e-04 -3.533555e-05 -4.473675e-07 -5.624259e-09 -1.415039e-06 + 1.497011e-05 -1.305203e-05 -5.403515e-05 -4.872058e-05 -3.536312e-05 -2.255053e-05 +-1.335087e-05 -7.698835e-06 +>TXI.EXP //14 +-4.258418e-04 1.589916e-05 6.407004e-06 1.013882e-06 -1.860792e-08 -2.537424e-07 + 1.459779e-06 4.532798e-05 1.473014e-05 -6.954773e-06 -1.422413e-05 -1.342262e-05 +-9.936111e-06 -6.480821e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.369555e-03 1.820897e-04 1.341952e-05 8.338588e-07 -3.635024e-08 -9.965000e-06 + 1.292781e-04 -7.141557e-05 -5.305691e-04 -4.700471e-04 -3.176542e-04 -1.975561e-04 +-1.163131e-04 -6.655306e-05 +>TYI.EXP //14 + 3.458209e-04 -1.872349e-05 -2.902950e-06 -1.398382e-06 -4.001762e-08 6.783844e-07 +-5.693611e-06 4.037868e-04 1.860479e-04 -8.784499e-05 -1.442902e-04 -1.249496e-04 +-8.903818e-05 -5.690488e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par47.edi b/examples/data/NEConductor/par47.edi new file mode 100644 index 00000000..860769ee --- /dev/null +++ b/examples/data/NEConductor/par47.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par47" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par47" +REFLAT=-30:12:13.4837 +REFLONG=139:43:24.3852 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par47" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.231490e-03 7.912943e-05 9.371560e-08 4.506707e-08 4.296830e-06 7.984841e-04 +-5.214850e-03 7.299295e-03 1.129373e-02 9.283824e-03 6.447841e-03 4.031919e-03 + 2.364055e-03 1.348783e-03 +>ZXXI ROT=ZROT //14 +-6.949060e-04 1.000236e-05 8.244005e-08 -3.275108e-08 2.760660e-06 2.850986e-04 +-3.613142e-03 -8.418377e-03 -1.265512e-03 2.188917e-03 2.983107e-03 2.572824e-03 + 1.827671e-03 1.163392e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865842e+02 1.241401e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316901e+01 + 8.370060e+00 6.578165e+00 5.450191e+00 4.253947e+00 2.997703e+00 1.916404e+00 + 1.141832e+00 6.565731e-01 +>ZXYI ROT=ZROT //14 + 3.082165e+02 1.471555e+02 7.805622e+01 4.294174e+01 2.400287e+01 1.271560e+01 + 6.046170e+00 2.977091e+00 2.003135e+00 1.761954e+00 1.571259e+00 1.247025e+00 + 8.768134e-01 5.607714e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865841e+02 -1.241458e+02 -7.346918e+01 -4.197590e+01 -2.350539e+01 -1.316922e+01 +-8.368640e+00 -6.580037e+00 -5.453796e+00 -4.257296e+00 -3.000211e+00 -1.918049e+00 +-1.142821e+00 -6.571444e-01 +>ZYXI ROT=ZROT //14 +-3.082087e+02 -1.471550e+02 -7.805629e+01 -4.294175e+01 -2.400288e+01 -1.271570e+01 +-6.045201e+00 -2.974434e+00 -2.002304e+00 -1.762411e+00 -1.572201e+00 -1.247954e+00 +-8.775226e-01 -5.612419e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.399674e-03 -1.079992e-04 -1.288285e-06 1.787221e-07 -3.960894e-06 -7.639801e-04 + 5.053449e-03 -7.034645e-03 -1.073851e-02 -8.687018e-03 -5.965208e-03 -3.701348e-03 +-2.160434e-03 -1.230061e-03 +>ZYYI ROT=ZROT //14 + 1.257152e-04 -3.251553e-05 -1.752054e-07 7.431968e-09 -3.626958e-06 -2.401004e-04 + 3.411196e-03 8.045658e-03 1.071196e-03 -2.165380e-03 -2.839586e-03 -2.406800e-03 +-1.691336e-03 -1.069464e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.146080e-03 -2.570899e-04 -3.650237e-05 -2.044022e-07 3.476151e-09 5.544091e-06 +-7.623925e-05 3.800158e-05 3.188976e-04 2.827420e-04 1.902960e-04 1.182572e-04 + 6.964897e-05 3.982793e-05 +>TXI.EXP //14 +-2.828651e-04 2.803007e-05 8.165635e-06 8.664736e-07 6.085978e-09 -7.587370e-07 + 5.224921e-06 -2.398037e-04 -1.153223e-04 5.324371e-05 8.683681e-05 7.493790e-05 + 5.333211e-05 3.409428e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.343478e-03 1.826220e-04 1.342571e-05 8.318785e-07 -4.293255e-08 -1.164053e-05 + 1.542452e-04 -8.330654e-05 -6.272595e-04 -5.690144e-04 -3.907597e-04 -2.448139e-04 +-1.445658e-04 -8.281798e-05 +>TYI.EXP //14 + 3.409815e-04 -1.876439e-05 -2.902567e-06 -1.397028e-06 -3.879097e-08 1.385721e-06 +-9.031080e-06 4.789130e-04 2.291705e-04 -9.623980e-05 -1.712211e-04 -1.518742e-04 +-1.094704e-04 -7.038499e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par48.edi b/examples/data/NEConductor/par48.edi new file mode 100644 index 00000000..50278b2a --- /dev/null +++ b/examples/data/NEConductor/par48.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par48" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par48" +REFLAT=-30:11:57.244 +REFLONG=139:43:24.5948 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par48" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-1.088503e-03 7.845082e-05 -8.630110e-08 5.112560e-08 3.776063e-06 8.056581e-04 +-5.303105e-03 7.326732e-03 1.178604e-02 9.929450e-03 7.001334e-03 4.420492e-03 + 2.606042e-03 1.490511e-03 +>ZXXI ROT=ZROT //14 +-6.710219e-04 9.991511e-06 2.154323e-07 -2.139358e-08 2.784491e-06 2.992336e-04 +-3.629227e-03 -8.775465e-03 -1.593000e-03 2.139026e-03 3.111682e-03 2.751810e-03 + 1.983064e-03 1.273053e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865842e+02 1.241401e+02 7.346933e+01 4.197590e+01 2.350538e+01 1.316904e+01 + 8.369542e+00 6.579591e+00 5.452003e+00 4.255509e+00 2.998842e+00 1.917138e+00 + 1.142269e+00 6.568246e-01 +>ZXYI ROT=ZROT //14 + 3.082165e+02 1.471555e+02 7.805621e+01 4.294174e+01 2.400287e+01 1.271585e+01 + 6.045079e+00 2.975981e+00 2.002982e+00 1.762273e+00 1.571736e+00 1.247464e+00 + 8.771374e-01 5.609826e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865777e+02 -1.241458e+02 -7.346921e+01 -4.197591e+01 -2.350538e+01 -1.316923e+01 +-8.368415e+00 -6.581264e+00 -5.454640e+00 -4.257693e+00 -3.000397e+00 -1.918135e+00 +-1.142862e+00 -6.571656e-01 +>ZYXI ROT=ZROT //14 +-3.082053e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400288e+01 -1.271595e+01 +-6.044165e+00 -2.974050e+00 -2.002675e+00 -1.762754e+00 -1.572412e+00 -1.248068e+00 +-8.775794e-01 -5.612696e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.305863e-03 -1.104205e-04 -1.180086e-06 1.710983e-07 -4.497081e-06 -7.798384e-04 + 5.271708e-03 -7.114726e-03 -1.156267e-02 -9.717839e-03 -6.828053e-03 -4.298105e-03 +-2.529093e-03 -1.445222e-03 +>ZYYI ROT=ZROT //14 + 1.199016e-04 -3.253385e-05 -1.466672e-07 6.455469e-09 -3.099104e-06 -2.339255e-04 + 3.393248e-03 8.678451e-03 1.573155e-03 -2.114069e-03 -3.059236e-03 -2.692691e-03 +-1.933306e-03 -1.238069e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.521714e-03 -3.439759e-04 -3.726484e-05 5.476438e-08 3.454580e-08 1.156619e-05 +-1.580745e-04 7.879009e-05 6.604732e-04 5.926657e-04 4.034649e-04 2.518307e-04 + 1.485124e-04 8.501341e-05 +>TXI.EXP //14 +-1.381170e-04 4.009069e-05 9.832219e-06 7.030822e-07 3.787533e-08 -1.740249e-06 + 1.219035e-05 -5.012234e-04 -2.409642e-04 1.050409e-04 1.799256e-04 1.577161e-04 + 1.130415e-04 7.252558e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.318136e-03 1.831701e-04 1.343161e-05 8.299888e-07 -5.141894e-08 -1.242349e-05 + 1.700998e-04 -8.568704e-05 -6.949178e-04 -6.462258e-04 -4.502157e-04 -2.838280e-04 +-1.680186e-04 -9.634685e-05 +>TYI.EXP //14 + 3.363880e-04 -1.880961e-05 -2.902346e-06 -1.395700e-06 -3.443091e-08 2.361393e-06 +-1.480543e-05 5.316175e-04 2.670299e-04 -9.789824e-05 -1.906865e-04 -1.730623e-04 +-1.260313e-04 -8.145382e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par49.edi b/examples/data/NEConductor/par49.edi new file mode 100644 index 00000000..6b3f405c --- /dev/null +++ b/examples/data/NEConductor/par49.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par49" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par49" +REFLAT=-30:11:41.0042 +REFLONG=139:43:24.8043 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par49" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 +-9.432420e-04 7.762097e-05 -2.543769e-07 5.570027e-08 2.861310e-06 7.632210e-04 +-5.101575e-03 6.905105e-03 1.149831e-02 9.823629e-03 6.982348e-03 4.431929e-03 + 2.620797e-03 1.501046e-03 +>ZXXI ROT=ZROT //14 +-6.409475e-04 1.029372e-05 3.591226e-07 -1.224676e-08 2.386720e-06 2.668650e-04 +-3.353918e-03 -8.593110e-03 -1.736005e-03 2.001152e-03 3.033230e-03 2.720980e-03 + 1.976733e-03 1.275041e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865842e+02 1.241401e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316919e+01 + 8.368313e+00 6.582453e+00 5.455893e+00 4.258961e+00 3.001393e+00 1.918795e+00 + 1.143260e+00 6.573951e-01 +>ZXYI ROT=ZROT //14 + 3.082165e+02 1.471555e+02 7.805621e+01 4.294174e+01 2.400288e+01 1.271632e+01 + 6.042946e+00 2.973515e+00 2.002507e+00 1.762894e+00 1.572761e+00 1.248431e+00 + 8.778614e-01 5.614578e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865714e+02 -1.241460e+02 -7.346928e+01 -4.197590e+01 -2.350538e+01 -1.316932e+01 +-8.367754e+00 -6.583689e+00 -5.456610e+00 -4.258884e+00 -3.001101e+00 -1.918532e+00 +-1.143081e+00 -6.572869e-01 +>ZYXI ROT=ZROT //14 +-3.082025e+02 -1.471554e+02 -7.805633e+01 -4.294175e+01 -2.400288e+01 -1.271641e+01 +-6.042199e+00 -2.973011e+00 -2.003184e+00 -1.763401e+00 -1.572919e+00 -1.248407e+00 +-8.777852e-01 -5.613884e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.277747e-03 -1.146537e-04 -1.060941e-06 1.714430e-07 -3.492166e-06 -7.552014e-04 + 5.295943e-03 -6.831718e-03 -1.192484e-02 -1.034797e-02 -7.403423e-03 -4.713460e-03 +-2.791248e-03 -1.599630e-03 +>ZYYI ROT=ZROT //14 + 1.272346e-04 -3.314561e-05 -1.183967e-07 2.349338e-09 -2.197390e-06 -1.864337e-04 + 3.113893e-03 9.013131e-03 2.030438e-03 -1.980038e-03 -3.153326e-03 -2.865731e-03 +-2.093863e-03 -1.354544e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.852107e-03 -4.287572e-04 -3.734894e-05 3.084481e-07 5.389863e-08 1.539387e-05 +-2.174790e-04 9.640663e-05 9.290871e-04 8.486486e-04 5.830629e-04 3.652119e-04 + 2.156400e-04 1.235140e-04 +>TXI.EXP //14 + 8.975861e-06 5.178940e-05 1.127225e-05 5.319216e-07 6.138498e-08 -3.361808e-06 + 2.499073e-05 -7.062085e-04 -3.537906e-04 1.396321e-04 2.543415e-04 2.262930e-04 + 1.632238e-04 1.050438e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-8.293191e-03 1.837441e-04 1.343720e-05 8.282417e-07 -5.396265e-08 -1.208750e-05 + 1.742982e-04 -7.659590e-05 -7.267465e-04 -6.945430e-04 -4.904494e-04 -3.108916e-04 +-1.844280e-04 -1.058420e-04 +>TYI.EXP //14 + 3.319924e-04 -1.886034e-05 -2.902284e-06 -1.394414e-06 -3.395854e-08 3.459839e-06 +-2.297220e-05 5.562749e-04 2.969489e-04 -9.245033e-05 -2.008676e-04 -1.865324e-04 +-1.371555e-04 -8.905826e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par50.edi b/examples/data/NEConductor/par50.edi new file mode 100644 index 00000000..e9045689 --- /dev/null +++ b/examples/data/NEConductor/par50.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par50" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par50" +REFLAT=-30:14:07.3436 +REFLONG=139:43:41.6195 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par50" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.041240e-03 9.258767e-05 -2.772569e-06 -7.730726e-08 1.870261e-07 1.715614e-04 +-1.816618e-03 2.399079e-03 2.972149e-03 1.414019e-03 5.021935e-04 1.304054e-04 + 1.768608e-05 -4.861665e-06 +>ZXXI ROT=ZROT //14 +-1.827531e-04 1.514394e-05 -2.482488e-06 -3.744842e-08 -7.662136e-07 -7.740003e-05 +-5.532952e-04 -2.581514e-03 5.708695e-04 1.171940e-03 7.807338e-04 3.773544e-04 + 1.471686e-04 4.842439e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865969e+02 1.241403e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317066e+01 + 8.360044e+00 6.597868e+00 5.478184e+00 4.279140e+00 3.016444e+00 1.928621e+00 + 1.149156e+00 6.607937e-01 +>ZXYI ROT=ZROT //14 + 3.082145e+02 1.471555e+02 7.805620e+01 4.294174e+01 2.400291e+01 1.271830e+01 + 6.032120e+00 2.958723e+00 1.999101e+00 1.766165e+00 1.578617e+00 1.254075e+00 + 8.821284e-01 5.642729e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866500e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317055e+01 +-8.361368e+00 -6.598102e+00 -5.471002e+00 -4.269347e+00 -3.008046e+00 -1.922744e+00 +-1.145504e+00 -6.586565e-01 +>ZYXI ROT=ZROT //14 +-3.082589e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271827e+01 +-6.031960e+00 -2.963937e+00 -2.004402e+00 -1.767064e+00 -1.576688e+00 -1.251362e+00 +-8.797765e-01 -5.626160e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.948855e-03 -1.570844e-04 -2.662449e-06 2.856685e-07 -7.119909e-07 -2.056535e-04 + 2.288282e-03 -2.471769e-03 -5.070647e-03 -4.031149e-03 -2.727966e-03 -1.696468e-03 +-9.956377e-04 -5.687975e-04 +>ZYYI ROT=ZROT //14 + 3.203262e-04 -5.657358e-05 -3.864619e-07 2.901707e-08 4.745070e-07 8.945887e-05 + 4.604675e-04 4.202564e-03 7.365259e-04 -1.014096e-03 -1.309160e-03 -1.098242e-03 +-7.731122e-04 -4.910454e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.778214e-02 2.353945e-04 -3.167589e-05 -7.099365e-07 -2.003833e-08 -9.006581e-06 + 1.831911e-04 4.265820e-05 -1.050983e-03 -1.072310e-03 -7.625248e-04 -4.824111e-04 +-2.856359e-04 -1.638585e-04 +>TXI.EXP //14 +-1.273065e-03 -4.277029e-05 4.098686e-07 1.171358e-06 6.666499e-09 6.884577e-06 +-8.130387e-05 7.755893e-04 5.379741e-04 -1.058432e-04 -3.018079e-04 -2.871598e-04 +-2.121215e-04 -1.379433e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.013192e-02 7.191853e-05 1.305971e-05 1.204771e-06 -3.959223e-08 2.990051e-07 +-2.588321e-05 -2.198364e-05 1.746904e-04 2.142515e-04 1.654747e-04 1.080944e-04 + 6.478358e-05 3.734150e-05 +>TYI.EXP //14 + 5.538971e-04 -4.672309e-06 -2.254737e-06 -1.526221e-06 -2.414083e-08 -1.574161e-06 + 2.137404e-05 -1.295238e-04 -1.193373e-04 -1.729564e-06 5.282511e-05 5.864916e-05 + 4.586677e-05 3.067012e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par51.edi b/examples/data/NEConductor/par51.edi new file mode 100644 index 00000000..ea907e9e --- /dev/null +++ b/examples/data/NEConductor/par51.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par51" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par51" +REFLAT=-30:13:51.1039 +REFLONG=139:43:41.8285 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par51" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.031638e-03 8.102063e-05 -2.791677e-06 -6.723015e-08 7.799180e-07 2.537693e-04 +-2.289406e-03 3.036073e-03 3.898801e-03 2.212208e-03 1.074521e-03 4.934686e-04 + 2.318468e-04 1.176069e-04 +>ZXXI ROT=ZROT //14 +-2.057067e-04 1.100741e-05 -2.148667e-06 -3.134883e-08 -8.787068e-07 -6.489809e-05 +-8.997656e-04 -3.254630e-03 4.518814e-04 1.331957e-03 1.027436e-03 6.004085e-04 + 3.092155e-04 1.527607e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865955e+02 1.241403e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317035e+01 + 8.361772e+00 6.594752e+00 5.474111e+00 4.275660e+00 3.013918e+00 1.926999e+00 + 1.148192e+00 6.602402e-01 +>ZXYI ROT=ZROT //14 + 3.082174e+02 1.471555e+02 7.805620e+01 4.294174e+01 2.400290e+01 1.271798e+01 + 6.034197e+00 2.961471e+00 1.999470e+00 1.765449e+00 1.577549e+00 1.253099e+00 + 8.814110e-01 5.638067e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866354e+02 -1.241504e+02 -7.346937e+01 -4.197589e+01 -2.350537e+01 -1.317023e+01 +-8.363044e+00 -6.594726e+00 -5.467513e+00 -4.266799e+00 -3.006335e+00 -1.921695e+00 +-1.144897e+00 -6.583124e-01 +>ZYXI ROT=ZROT //14 +-3.082482e+02 -1.471574e+02 -7.805623e+01 -4.294172e+01 -2.400290e+01 -1.271791e+01 +-6.034176e+00 -2.966270e+00 -2.004150e+00 -1.766204e+00 -1.575786e+00 -1.250643e+00 +-8.792858e-01 -5.623109e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.397262e-03 -1.473047e-04 -2.429478e-06 2.624078e-07 -1.291001e-06 -2.942870e-04 + 2.782711e-03 -3.212878e-03 -5.913858e-03 -4.654527e-03 -3.138376e-03 -1.942248e-03 +-1.135636e-03 -6.475448e-04 +>ZYYI ROT=ZROT //14 + 2.933368e-04 -5.191610e-05 -3.778292e-07 2.806454e-08 3.633509e-07 7.079088e-05 + 8.620066e-04 4.815633e-03 7.143137e-04 -1.219604e-03 -1.532143e-03 -1.273488e-03 +-8.901546e-04 -5.625603e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.665651e-02 1.903867e-04 -3.128394e-05 -8.431683e-07 -3.278661e-08 -1.210694e-05 + 2.130272e-04 -8.236278e-06 -1.097169e-03 -1.077504e-03 -7.583370e-04 -4.783520e-04 +-2.829752e-04 -1.622834e-04 +>TXI.EXP //14 +-1.131795e-03 -3.609848e-05 4.242558e-07 1.263777e-06 -4.458967e-09 6.444302e-06 +-6.935305e-05 8.216338e-04 5.100477e-04 -1.290081e-04 -3.095092e-04 -2.882637e-04 +-2.113915e-04 -1.370417e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.009314e-02 7.267737e-05 1.307103e-05 1.201317e-06 -3.840064e-08 5.761562e-07 +-2.882976e-05 -1.314092e-05 1.676488e-04 2.009037e-04 1.552416e-04 1.016016e-04 + 6.095533e-05 3.515166e-05 +>TYI.EXP //14 + 5.460836e-04 -4.721218e-06 -2.254008e-06 -1.523830e-06 -2.700765e-08 -1.708137e-06 + 1.929337e-05 -1.267901e-04 -1.077670e-04 2.012208e-09 4.978269e-05 5.507134e-05 + 4.310080e-05 2.884903e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par510.edi b/examples/data/NEConductor/par510.edi new file mode 100644 index 00000000..49c2f5c5 --- /dev/null +++ b/examples/data/NEConductor/par510.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par510" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par510" +REFLAT=-30:11:24.946 +REFLONG=139:43:43.7079 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par510" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.729865e-04 -1.669344e-06 -2.237477e-06 1.296250e-08 4.034121e-06 7.017432e-04 +-4.536640e-03 6.409974e-03 9.780267e-03 7.890722e-03 5.424107e-03 3.375235e-03 + 1.974559e-03 1.125521e-03 +>ZXXI ROT=ZROT //14 +-2.687853e-04 -1.950476e-05 3.674677e-07 5.936324e-08 2.951553e-06 2.560858e-04 +-3.163211e-03 -7.305095e-03 -9.569688e-04 1.975763e-03 2.573817e-03 2.183782e-03 + 1.538919e-03 9.754305e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865934e+02 1.241404e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316936e+01 + 8.366964e+00 6.584779e+00 5.460110e+00 4.263094e+00 3.004587e+00 1.920923e+00 + 1.144551e+00 6.581426e-01 +>ZXYI ROT=ZROT //14 + 3.082214e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400288e+01 1.271664e+01 + 6.041401e+00 2.970624e+00 2.001438e+00 1.763316e+00 1.573866e+00 1.249583e+00 + 8.787644e-01 5.620648e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865650e+02 -1.241464e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.316938e+01 +-8.367377e+00 -6.585310e+00 -5.457378e+00 -4.258933e+00 -3.000935e+00 -1.918354e+00 +-1.142954e+00 -6.572080e-01 +>ZYXI ROT=ZROT //14 +-3.082009e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400289e+01 -1.271669e+01 +-6.040929e+00 -2.972681e+00 -2.003925e+00 -1.763897e+00 -1.573106e+00 -1.248425e+00 +-8.777447e-01 -5.613428e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.214794e-03 -1.310594e-04 -1.224135e-06 1.493246e-07 -3.968406e-06 -7.339701e-04 + 5.109843e-03 -6.627501e-03 -1.137297e-02 -9.729230e-03 -6.913536e-03 -4.387968e-03 +-2.594860e-03 -1.486245e-03 +>ZYYI ROT=ZROT //14 + 1.441801e-04 -3.761204e-05 -1.053472e-07 3.338720e-08 -2.622716e-06 -1.723661e-04 + 2.996515e-03 8.623211e-03 1.795122e-03 -1.962427e-03 -2.998310e-03 -2.692386e-03 +-1.956579e-03 -1.262257e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.137602e-03 -5.089159e-04 -3.648658e-05 5.350850e-07 8.214019e-08 1.723648e-05 +-2.473745e-04 9.909285e-05 1.078982e-03 9.928552e-04 6.837540e-04 4.285398e-04 + 2.530650e-04 1.449628e-04 +>TXI.EXP //14 + 1.593474e-04 6.279621e-05 1.235291e-05 3.619558e-07 4.010381e-08 -4.380994e-06 + 3.440203e-05 -8.193558e-04 -4.205381e-04 1.586145e-04 2.962816e-04 2.648127e-04 + 1.913128e-04 1.232061e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.835931e-03 7.851196e-05 1.314814e-05 1.180779e-06 -4.801939e-08 -6.959078e-06 + 1.077342e-04 -4.203687e-05 -4.469926e-04 -4.507239e-04 -3.273398e-04 -2.099560e-04 +-1.251343e-04 -7.193405e-05 +>TYI.EXP //14 + 4.965151e-04 -5.169710e-06 -2.253804e-06 -1.510880e-06 -2.666466e-08 2.993428e-06 +-1.878153e-05 3.435002e-04 2.008033e-04 -4.423487e-05 -1.251228e-04 -1.218804e-04 +-9.141957e-05 -5.991199e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par52.edi b/examples/data/NEConductor/par52.edi new file mode 100644 index 00000000..522b5457 --- /dev/null +++ b/examples/data/NEConductor/par52.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par52" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par52" +REFLAT=-30:13:34.8642 +REFLONG=139:43:42.0375 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par52" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.001228e-03 7.018696e-05 -2.802535e-06 -5.586055e-08 1.636586e-06 3.570415e-04 +-2.846492e-03 3.816441e-03 5.080916e-03 3.261594e-03 1.840420e-03 9.851832e-04 + 5.239414e-04 2.851842e-04 +>ZXXI ROT=ZROT //14 +-2.243238e-04 6.677471e-06 -1.839229e-06 -2.422014e-08 -6.944894e-07 -3.198390e-05 +-1.357667e-03 -4.096426e-03 2.675228e-04 1.517964e-03 1.341653e-03 8.934959e-04 + 5.259614e-04 2.937992e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865946e+02 1.241403e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.317000e+01 + 8.363708e+00 6.591029e+00 5.469115e+00 4.271305e+00 3.010727e+00 1.924937e+00 + 1.146962e+00 6.595327e-01 +>ZXYI ROT=ZROT //14 + 3.082193e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400290e+01 1.271751e+01 + 6.036794e+00 2.964770e+00 2.000018e+00 1.764616e+00 1.576237e+00 1.251880e+00 + 8.805049e-01 5.632145e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866236e+02 -1.241491e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.316992e+01 +-8.364730e+00 -6.590923e+00 -5.463710e+00 -4.264049e+00 -3.004502e+00 -1.920577e+00 +-1.144251e+00 -6.579465e-01 +>ZYXI ROT=ZROT //14 +-3.082390e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271743e+01 +-6.036854e+00 -2.968687e+00 -2.003815e+00 -1.765238e+00 -1.574799e+00 -1.249866e+00 +-8.787597e-01 -5.619850e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.910255e-03 -1.390293e-04 -2.228850e-06 2.400238e-07 -2.040385e-06 -3.992415e-04 + 3.310106e-03 -4.057473e-03 -6.863067e-03 -5.368345e-03 -3.611666e-03 -2.226723e-03 +-1.298016e-03 -7.389701e-04 +>ZYYI ROT=ZROT //14 + 2.614329e-04 -4.788649e-05 -3.591280e-07 2.863339e-08 -3.758295e-08 2.985900e-05 + 1.373261e-03 5.475636e-03 6.952652e-04 -1.447694e-03 -1.785252e-03 -1.474322e-03 +-1.025020e-03 -6.452417e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.542468e-02 1.342531e-04 -3.133969e-05 -9.073771e-07 -4.613591e-08 -1.461176e-05 + 2.301022e-04 -5.554425e-05 -1.086299e-03 -1.033224e-03 -7.208106e-04 -4.535073e-04 +-2.680560e-04 -1.536863e-04 +>TXI.EXP //14 +-9.907744e-04 -2.779488e-05 9.133176e-07 1.301637e-06 -1.829359e-08 5.235405e-06 +-5.208205e-05 8.222660e-04 4.618237e-04 -1.426935e-04 -3.020548e-04 -2.762635e-04 +-2.013044e-04 -1.301427e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.005736e-02 7.338947e-05 1.308167e-05 1.198153e-06 -3.582250e-08 7.509059e-07 +-2.837392e-05 -5.320969e-06 1.456772e-04 1.732198e-04 1.347367e-04 8.853192e-05 + 5.320707e-05 3.070740e-05 +>TYI.EXP //14 + 5.388802e-04 -4.767441e-06 -2.253402e-06 -1.521656e-06 -2.988487e-08 -1.669717e-06 + 1.571675e-05 -1.120896e-04 -8.994676e-05 -2.291296e-09 4.268752e-05 4.763592e-05 + 3.745863e-05 2.514448e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par53.edi b/examples/data/NEConductor/par53.edi new file mode 100644 index 00000000..338d1e94 --- /dev/null +++ b/examples/data/NEConductor/par53.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par53" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par53" +REFLAT=-30:13:18.6244 +REFLONG=139:43:42.2465 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par53" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 9.526408e-04 5.994759e-05 -2.797071e-06 -4.462365e-08 2.653385e-06 4.773923e-04 +-3.472199e-03 4.730679e-03 6.510883e-03 4.560506e-03 2.801224e-03 1.607541e-03 + 8.955447e-04 4.988769e-04 +>ZXXI ROT=ZROT //14 +-2.397200e-04 2.325623e-06 -1.553190e-06 -1.438284e-08 -5.348248e-08 2.671872e-05 +-1.926055e-03 -5.098484e-03 1.428579e-05 1.725602e-03 1.721074e-03 1.256148e-03 + 7.977851e-04 4.720668e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865941e+02 1.241403e+02 7.346931e+01 4.197590e+01 2.350537e+01 1.316967e+01 + 8.365751e+00 6.586857e+00 5.463404e+00 4.266250e+00 3.006996e+00 1.922516e+00 + 1.145513e+00 6.586992e-01 +>ZXYI ROT=ZROT //14 + 3.082204e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400289e+01 1.271692e+01 + 6.039804e+00 2.968481e+00 2.000726e+00 1.763703e+00 1.574736e+00 1.250464e+00 + 8.794459e-01 5.625198e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866136e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316963e+01 +-8.366313e+00 -6.586926e+00 -5.459800e+00 -4.261241e+00 -3.002642e+00 -1.919447e+00 +-1.143599e+00 -6.575775e-01 +>ZYXI ROT=ZROT //14 +-3.082311e+02 -1.471560e+02 -7.805624e+01 -4.294173e+01 -2.400289e+01 -1.271684e+01 +-6.039819e+00 -2.971062e+00 -2.003425e+00 -1.764224e+00 -1.573782e+00 -1.249074e+00 +-8.782254e-01 -5.616551e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.484685e-03 -1.322713e-04 -2.056038e-06 2.190429e-07 -2.854777e-06 -5.138781e-04 + 3.845106e-03 -4.972475e-03 -7.898564e-03 -6.166446e-03 -4.147525e-03 -2.551362e-03 +-1.484207e-03 -8.440402e-04 +>ZYYI ROT=ZROT //14 + 2.276498e-04 -4.446803e-05 -3.336983e-07 2.979394e-08 -8.259009e-07 -3.594290e-05 + 1.975387e-03 6.168618e-03 6.908010e-04 -1.688409e-03 -2.063231e-03 -1.698919e-03 +-1.177540e-03 -7.394146e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.410355e-02 6.841520e-05 -3.186975e-05 -8.952289e-07 -4.991139e-08 -1.557249e-05 + 2.255585e-04 -8.838870e-05 -9.948128e-04 -9.231108e-04 -6.399224e-04 -4.018843e-04 +-2.374037e-04 -1.360899e-04 +>TXI.EXP //14 +-8.499569e-04 -1.815884e-05 1.837967e-06 1.288975e-06 -4.671717e-08 3.525581e-06 +-3.282906e-05 7.588954e-04 3.912396e-04 -1.408771e-04 -2.735540e-04 -2.468240e-04 +-1.789961e-04 -1.154825e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.002419e-02 7.406372e-05 1.309167e-05 1.195243e-06 -3.213468e-08 6.383552e-07 +-2.257494e-05 -6.669768e-07 1.043412e-04 1.275020e-04 1.013467e-04 6.720959e-05 + 4.053826e-05 2.343282e-05 +>TYI.EXP //14 + 5.322284e-04 -4.812068e-06 -2.252921e-06 -1.519691e-06 -3.198325e-08 -1.422839e-06 + 1.112411e-05 -8.182385e-05 -6.508937e-05 -2.515487e-06 3.041193e-05 3.533304e-05 + 2.819900e-05 1.907312e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par54.edi b/examples/data/NEConductor/par54.edi new file mode 100644 index 00000000..166bd5e7 --- /dev/null +++ b/examples/data/NEConductor/par54.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par54" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par54" +REFLAT=-30:13:02.3847 +REFLONG=139:43:42.4554 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par54" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 8.883512e-04 5.016830e-05 -2.772893e-06 -3.487714e-08 3.654382e-06 6.047026e-04 +-4.124881e-03 5.725612e-03 8.108197e-03 6.038416e-03 3.906223e-03 2.328337e-03 + 1.327646e-03 7.478095e-04 +>ZXXI ROT=ZROT //14 +-2.526264e-04 -1.890157e-06 -1.284541e-06 -1.782400e-09 1.021514e-06 1.108973e-04 +-2.572706e-03 -6.203171e-03 -2.957021e-04 1.941465e-03 2.144108e-03 1.668688e-03 + 1.110347e-03 6.783152e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865939e+02 1.241403e+02 7.346931e+01 4.197590e+01 2.350538e+01 1.316937e+01 + 8.367721e+00 6.582629e+00 5.457523e+00 4.260986e+00 3.003091e+00 1.919973e+00 + 1.143990e+00 6.578214e-01 +>ZXYI ROT=ZROT //14 + 3.082210e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400288e+01 1.271627e+01 + 6.042924e+00 2.972255e+00 2.001518e+00 1.762795e+00 1.573189e+00 1.248991e+00 + 8.783379e-01 5.617908e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866050e+02 -1.241472e+02 -7.346921e+01 -4.197589e+01 -2.350538e+01 -1.316941e+01 +-8.367675e+00 -6.583126e+00 -5.456126e+00 -4.258606e+00 -3.000903e+00 -1.918391e+00 +-1.142992e+00 -6.572336e-01 +>ZYXI ROT=ZROT //14 +-3.082243e+02 -1.471555e+02 -7.805625e+01 -4.294173e+01 -2.400289e+01 -1.271622e+01 +-6.042747e+00 -2.973213e+00 -2.003038e+00 -1.763260e+00 -1.572823e+00 -1.248330e+00 +-8.777257e-01 -5.613470e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.119237e-03 -1.270446e-04 -1.905836e-06 2.001814e-07 -3.521082e-06 -6.276275e-04 + 4.355932e-03 -5.896248e-03 -8.976630e-03 -7.026864e-03 -4.736513e-03 -2.912773e-03 +-1.693096e-03 -9.623491e-04 +>ZYYI ROT=ZROT //14 + 1.943658e-04 -4.164709e-05 -3.037468e-07 3.101982e-08 -1.994617e-06 -1.222525e-04 + 2.619909e-03 6.870858e-03 7.169239e-04 -1.923942e-03 -2.354077e-03 -1.940962e-03 +-1.344919e-03 -8.439552e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.270609e-02 -5.482864e-06 -3.281246e-05 -8.080111e-07 -3.361914e-08 -1.409291e-05 + 1.922949e-04 -9.621301e-05 -8.054205e-04 -7.359231e-04 -5.089967e-04 -3.195531e-04 +-1.887552e-04 -1.082100e-04 +>TXI.EXP //14 +-7.091365e-04 -7.480879e-06 3.127383e-06 1.231854e-06 -3.811428e-08 1.866362e-06 +-1.617777e-05 6.182882e-04 2.982590e-04 -1.187072e-04 -2.197394e-04 -1.969549e-04 +-1.425440e-04 -9.189509e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.993272e-03 7.470902e-05 1.310107e-05 1.192559e-06 -2.859849e-08 3.680722e-08 +-9.873048e-06 -1.313882e-06 4.081380e-05 6.148510e-05 5.343228e-05 3.656912e-05 + 2.230901e-05 1.295874e-05 +>TYI.EXP //14 + 5.260714e-04 -4.856155e-06 -2.252578e-06 -1.517940e-06 -3.207168e-08 -9.907699e-07 + 6.371679e-06 -3.375627e-05 -3.304616e-05 -8.064892e-06 1.225763e-05 1.753176e-05 + 1.485366e-05 1.032796e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par56.edi b/examples/data/NEConductor/par56.edi new file mode 100644 index 00000000..48b5aaef --- /dev/null +++ b/examples/data/NEConductor/par56.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par56" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par56" +REFLAT=-30:12:29.9052 +REFLONG=139:43:42.8731 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par56" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.206833e-04 3.163325e-05 -2.673659e-06 -2.173887e-08 5.057175e-06 8.129639e-04 +-5.200059e-03 7.456726e-03 1.100182e-02 8.786580e-03 5.991980e-03 3.702031e-03 + 2.155604e-03 1.225952e-03 +>ZXXI ROT=ZROT //14 +-2.710466e-04 -9.443947e-06 -7.650918e-07 2.509737e-08 3.833375e-06 3.029549e-04 +-3.756002e-03 -8.174182e-03 -9.295350e-04 2.289406e-03 2.907904e-03 2.435569e-03 + 1.700190e-03 1.070827e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865937e+02 1.241404e+02 7.346931e+01 4.197590e+01 2.350539e+01 1.316898e+01 + 8.370427e+00 6.576668e+00 5.449042e+00 4.253293e+00 2.997347e+00 1.916220e+00 + 1.141737e+00 6.565227e-01 +>ZXYI ROT=ZROT //14 + 3.082214e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400287e+01 1.271531e+01 + 6.047401e+00 2.977662e+00 2.002782e+00 1.761543e+00 1.570956e+00 1.246838e+00 + 8.767090e-01 5.607156e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865905e+02 -1.241461e+02 -7.346915e+01 -4.197590e+01 -2.350539e+01 -1.316914e+01 +-8.369353e+00 -6.578180e+00 -5.451267e+00 -4.255044e+00 -2.998533e+00 -1.916949e+00 +-1.142159e+00 -6.567624e-01 +>ZYXI ROT=ZROT //14 +-3.082134e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400287e+01 -1.271535e+01 +-6.046656e+00 -2.975997e+00 -2.002616e+00 -1.762017e+00 -1.571543e+00 -1.247324e+00 +-8.770456e-01 -5.609264e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.567031e-03 -1.213462e-04 -1.659238e-06 1.715688e-07 -4.701704e-06 -8.026703e-04 + 5.166795e-03 -7.384311e-03 -1.094024e-02 -8.730399e-03 -5.957645e-03 -3.684880e-03 +-2.147320e-03 -1.221735e-03 +>ZYYI ROT=ZROT //14 + 1.380628e-04 -3.779966e-05 -2.377707e-07 3.492008e-08 -3.967908e-06 -2.926083e-04 + 3.694412e-03 8.144598e-03 9.276749e-04 -2.273544e-03 -2.885704e-03 -2.419189e-03 +-1.690756e-03 -1.065881e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.719577e-03 -1.701142e-04 -3.534409e-05 -4.469948e-07 1.644858e-09 -3.222600e-06 + 4.136160e-05 -2.675739e-05 -1.552969e-04 -1.514375e-04 -1.110632e-04 -7.144050e-05 +-4.256835e-05 -2.451672e-05 +>TXI.EXP //14 +-4.260924e-04 1.587951e-05 6.408410e-06 1.013354e-06 -2.593226e-08 3.533810e-07 +-1.295633e-06 1.241747e-04 5.864962e-05 -1.617821e-05 -4.233427e-05 -4.137013e-05 +-3.110219e-05 -2.043224e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.936797e-03 7.594971e-05 1.311831e-05 1.187855e-06 -2.343900e-08 -2.878939e-06 + 3.539931e-05 -2.080916e-05 -1.437577e-04 -1.234208e-04 -8.085781e-05 -4.958216e-05 +-2.903785e-05 -1.656668e-05 +>TYI.EXP //14 + 5.150192e-04 -4.946884e-06 -2.252336e-06 -1.515075e-06 -2.774976e-08 1.227935e-07 +-6.379657e-07 1.084412e-04 4.808159e-05 -2.672944e-05 -3.917923e-05 -3.250427e-05 +-2.267213e-05 -1.428884e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par57.edi b/examples/data/NEConductor/par57.edi new file mode 100644 index 00000000..4e0f344f --- /dev/null +++ b/examples/data/NEConductor/par57.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par57" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par57" +REFLAT=-30:12:13.6654 +REFLONG=139:43:43.0818 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par57" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.205271e-04 2.281553e-05 -2.599511e-06 -1.580526e-08 5.159877e-06 8.590331e-04 +-5.438276e-03 7.861651e-03 1.175670e-02 9.544309e-03 6.584409e-03 4.099471e-03 + 2.397592e-03 1.366331e-03 +>ZXXI ROT=ZROT //14 +-2.757868e-04 -1.264065e-05 -4.992986e-07 3.640380e-08 4.605451e-06 3.637948e-04 +-4.054619e-03 -8.679601e-03 -1.139238e-03 2.354679e-03 3.105467e-03 2.646795e-03 + 1.867628e-03 1.184079e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865936e+02 1.241404e+02 7.346932e+01 4.197590e+01 2.350539e+01 1.316890e+01 + 8.370701e+00 6.576216e+00 5.448297e+00 4.252574e+00 2.996798e+00 1.915857e+00 + 1.141517e+00 6.563956e-01 +>ZXYI ROT=ZROT //14 + 3.082215e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400287e+01 1.271524e+01 + 6.047745e+00 2.978154e+00 2.002952e+00 1.761459e+00 1.570759e+00 1.246638e+00 + 8.765535e-01 5.606118e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865839e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350539e+01 -1.316909e+01 +-8.369548e+00 -6.577888e+00 -5.450832e+00 -4.254622e+00 -2.998221e+00 -1.916750e+00 +-1.142042e+00 -6.566955e-01 +>ZYXI ROT=ZROT //14 +-3.082092e+02 -1.471550e+02 -7.805628e+01 -4.294175e+01 -2.400287e+01 -1.271532e+01 +-6.046869e+00 -2.976283e+00 -2.002711e+00 -1.761960e+00 -1.571420e+00 -1.247205e+00 +-8.769579e-01 -5.608697e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.381482e-03 -1.209808e-04 -1.552377e-06 1.611423e-07 -4.395896e-06 -8.443634e-04 + 5.400394e-03 -7.731839e-03 -1.161060e-02 -9.409225e-03 -6.481653e-03 -4.031358e-03 +-2.356319e-03 -1.342443e-03 +>ZYYI ROT=ZROT //14 + 1.204220e-04 -3.678185e-05 -2.038809e-07 3.722486e-08 -4.997145e-06 -3.320474e-04 + 3.928585e-03 8.605114e-03 1.124253e-03 -2.332986e-03 -3.066908e-03 -2.608828e-03 +-1.838400e-03 -1.164578e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.143806e-03 -2.568792e-04 -3.651011e-05 -2.038891e-07 9.993987e-09 4.300984e-06 +-5.541998e-05 3.046602e-05 2.346401e-04 1.930478e-04 1.230235e-04 7.453555e-05 + 4.345952e-05 2.474021e-05 +>TXI.EXP //14 +-2.829661e-04 2.801103e-05 8.167252e-06 8.659364e-07 -4.973906e-09 4.049904e-08 + 7.689829e-07 -1.742545e-04 -7.436082e-05 4.774622e-05 6.308414e-05 5.046009e-05 + 3.455617e-05 2.164851e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.910572e-03 7.656439e-05 1.312630e-05 1.185843e-06 -3.104052e-08 -4.752140e-06 + 6.232951e-05 -3.494625e-05 -2.466079e-04 -2.269501e-04 -1.568186e-04 -9.856536e-05 +-5.829580e-05 -3.340483e-05 +>TYI.EXP //14 + 5.100202e-04 -4.995662e-06 -2.252453e-06 -1.513905e-06 -2.489098e-08 7.236500e-07 +-3.187862e-06 1.882151e-04 9.220889e-05 -3.658360e-05 -6.768642e-05 -6.063291e-05 +-4.391574e-05 -2.827417e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par58.edi b/examples/data/NEConductor/par58.edi new file mode 100644 index 00000000..0e48818d --- /dev/null +++ b/examples/data/NEConductor/par58.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par58" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par58" +REFLAT=-30:11:57.4256 +REFLONG=139:43:43.2906 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par58" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.114941e-04 1.430806e-05 -2.505883e-06 -7.773413e-09 4.947768e-06 8.530174e-04 +-5.393939e-03 7.798443e-03 1.177750e-02 9.626835e-03 6.673613e-03 4.169381e-03 + 2.443486e-03 1.393806e-03 +>ZXXI ROT=ZROT //14 +-2.770728e-04 -1.539727e-05 -2.230913e-07 4.588895e-08 4.689958e-06 3.742860e-04 +-4.038912e-03 -8.685348e-03 -1.213921e-03 2.317572e-03 3.108232e-03 2.669411e-03 + 1.892689e-03 1.203574e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865936e+02 1.241404e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316894e+01 + 8.370122e+00 6.577717e+00 5.450309e+00 4.254345e+00 2.998103e+00 1.916704e+00 + 1.142024e+00 6.566873e-01 +>ZXYI ROT=ZROT //14 + 3.082215e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400287e+01 1.271551e+01 + 6.046616e+00 2.976898e+00 2.002728e+00 1.761788e+00 1.571288e+00 1.247134e+00 + 8.769244e-01 5.608549e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865775e+02 -1.241458e+02 -7.346921e+01 -4.197591e+01 -2.350539e+01 -1.316910e+01 +-8.369269e+00 -6.579192e+00 -5.451876e+00 -4.255228e+00 -2.998573e+00 -1.916950e+00 +-1.142153e+00 -6.567574e-01 +>ZYXI ROT=ZROT //14 +-3.082057e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400288e+01 -1.271559e+01 +-6.045790e+00 -2.975755e+00 -2.003011e+00 -1.762314e+00 -1.571682e+00 -1.247377e+00 +-8.770618e-01 -5.609298e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.259188e-03 -1.223695e-04 -1.446449e-06 1.528210e-07 -5.153369e-06 -8.473422e-04 + 5.479607e-03 -7.712889e-03 -1.193339e-02 -9.842657e-03 -6.851652e-03 -4.289560e-03 +-2.516526e-03 -1.436116e-03 +>ZYYI ROT=ZROT //14 + 1.138688e-04 -3.638005e-05 -1.696749e-07 3.857548e-08 -4.532371e-06 -3.201140e-04 + 3.874620e-03 8.864734e-03 1.359608e-03 -2.294817e-03 -3.153206e-03 -2.728849e-03 +-1.941983e-03 -1.237380e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.519321e-03 -3.437885e-04 -3.727169e-05 5.542326e-08 3.586343e-08 1.103286e-05 +-1.442439e-04 7.879204e-05 5.969658e-04 5.196459e-04 3.473829e-04 2.150931e-04 + 1.264449e-04 7.228758e-05 +>TXI.EXP //14 +-1.380703e-04 4.007200e-05 9.834054e-06 7.025407e-07 2.662005e-08 -7.685737e-07 + 5.782292e-06 -4.519990e-04 -2.041405e-04 1.036390e-04 1.615209e-04 1.377166e-04 + 9.743359e-05 6.210350e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.885247e-03 7.718881e-05 1.313392e-05 1.184019e-06 -4.221378e-08 -6.294712e-06 + 8.584102e-05 -4.561282e-05 -3.383487e-04 -3.223783e-04 -2.278824e-04 -1.446471e-04 +-8.587783e-05 -4.929059e-05 +>TYI.EXP //14 + 5.053035e-04 -5.048219e-06 -2.252735e-06 -1.512832e-06 -2.141000e-08 1.414050e-06 +-6.592398e-06 2.595132e-04 1.343363e-04 -4.368271e-05 -9.332615e-05 -8.664909e-05 +-6.376944e-05 -4.140598e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par59.edi b/examples/data/NEConductor/par59.edi new file mode 100644 index 00000000..cfe11bdb --- /dev/null +++ b/examples/data/NEConductor/par59.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par59" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par59" +REFLAT=-30:11:41.1858 +REFLONG=139:43:43.4992 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par59" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.951317e-04 6.135635e-06 -2.387605e-06 2.281172e-09 4.505234e-06 7.969147e-04 +-5.072824e-03 7.275109e-03 1.106086e-02 9.023394e-03 6.248274e-03 3.903015e-03 + 2.287586e-03 1.304977e-03 +>ZXXI ROT=ZROT //14 +-2.747570e-04 -1.768966e-05 6.566800e-08 5.337870e-08 3.918803e-06 3.330387e-04 +-3.713239e-03 -8.189310e-03 -1.144155e-03 2.182491e-03 2.915608e-03 2.500457e-03 + 1.772198e-03 1.126872e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.865935e+02 1.241404e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316909e+01 + 8.368802e+00 6.580791e+00 5.454556e+00 4.258135e+00 3.000912e+00 1.918532e+00 + 1.143119e+00 6.573181e-01 +>ZXYI ROT=ZROT //14 + 3.082215e+02 1.471556e+02 7.805620e+01 4.294174e+01 2.400288e+01 1.271601e+01 + 6.044327e+00 2.974199e+00 2.002177e+00 1.762452e+00 1.572405e+00 1.248195e+00 + 8.777217e-01 5.613793e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865712e+02 -1.241460e+02 -7.346928e+01 -4.197590e+01 -2.350538e+01 -1.316919e+01 +-8.368529e+00 -6.581820e+00 -5.454184e+00 -4.256743e+00 -2.999525e+00 -1.917512e+00 +-1.142472e+00 -6.569367e-01 +>ZYXI ROT=ZROT //14 +-3.082029e+02 -1.471555e+02 -7.805633e+01 -4.294175e+01 -2.400288e+01 -1.271608e+01 +-6.043671e+00 -2.974499e+00 -2.003447e+00 -1.763000e+00 -1.572276e+00 -1.247806e+00 +-8.773378e-01 -5.610956e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.202654e-03 -1.256466e-04 -1.336660e-06 1.485283e-07 -4.125132e-06 -8.095491e-04 + 5.383548e-03 -7.324040e-03 -1.185105e-02 -9.956079e-03 -7.004338e-03 -4.415562e-03 +-2.600789e-03 -1.486909e-03 +>ZYYI ROT=ZROT //14 + 1.211252e-04 -3.662739e-05 -1.359672e-07 3.764465e-08 -3.115693e-06 -2.611117e-04 + 3.541065e-03 8.875376e-03 1.596072e-03 -2.164416e-03 -3.129218e-03 -2.758478e-03 +-1.983771e-03 -1.271898e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.849595e-03 -4.285909e-04 -3.735473e-05 3.092763e-07 4.939071e-08 1.554334e-05 +-2.106441e-04 1.034707e-04 8.862172e-04 7.930349e-04 5.390256e-04 3.360966e-04 + 1.980966e-04 1.133859e-04 +>TXI.EXP //14 + 9.168218e-06 5.177077e-05 1.127429e-05 5.313407e-07 4.790566e-08 -2.330444e-06 + 1.710486e-05 -6.733717e-04 -3.217995e-04 1.418322e-04 2.412934e-04 2.109960e-04 + 1.510188e-04 9.682028e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-9.860480e-03 7.783391e-05 1.314119e-05 1.182341e-06 -4.541506e-08 -7.083706e-06 + 1.016641e-04 -4.847917e-05 -4.071102e-04 -3.990155e-04 -2.863110e-04 -1.828306e-04 +-1.087938e-04 -6.250165e-05 +>TYI.EXP //14 + 5.008187e-04 -5.105782e-06 -2.253182e-06 -1.511818e-06 -2.343569e-08 2.208825e-06 +-1.183633e-05 3.129069e-04 1.713116e-04 -4.634854e-05 -1.129973e-04 -1.076320e-04 +-8.004988e-05 -5.225121e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par60.edi b/examples/data/NEConductor/par60.edi new file mode 100644 index 00000000..d23523f1 --- /dev/null +++ b/examples/data/NEConductor/par60.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par60" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par60" +REFLAT=-30:14:07.5248 +REFLONG=139:44:00.3221 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par60" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.196704e-03 9.658619e-05 -6.980669e-06 -1.571917e-07 3.578376e-07 1.980879e-04 +-2.119168e-03 2.479554e-03 4.245890e-03 3.029827e-03 1.854051e-03 1.064781e-03 + 5.947599e-04 3.319080e-04 +>ZXXI ROT=ZROT //14 + 2.597550e-04 1.293677e-05 -3.873653e-06 3.100460e-08 -1.888945e-07 -7.895876e-05 +-5.516949e-04 -3.527804e-03 -2.400033e-04 1.084212e-03 1.123585e-03 8.248913e-04 + 5.259815e-04 3.123546e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866067e+02 1.241409e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317066e+01 + 8.360145e+00 6.597864e+00 5.477834e+00 4.278703e+00 3.016079e+00 1.928368e+00 + 1.149000e+00 6.607023e-01 +>ZXYI ROT=ZROT //14 + 3.082204e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400291e+01 1.271832e+01 + 6.032075e+00 2.959005e+00 1.999324e+00 1.766188e+00 1.578524e+00 1.253954e+00 + 8.820262e-01 5.642015e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866498e+02 -1.241517e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317054e+01 +-8.361459e+00 -6.598105e+00 -5.470671e+00 -4.268933e+00 -3.007696e+00 -1.922499e+00 +-1.145351e+00 -6.585670e-01 +>ZYXI ROT=ZROT //14 +-3.082592e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271828e+01 +-6.031922e+00 -2.964202e+00 -2.004615e+00 -1.767089e+00 -1.576604e+00 -1.251248e+00 +-8.796781e-01 -5.625467e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.089225e-03 -1.797720e-04 -3.058604e-06 2.621713e-07 -7.784874e-07 -2.354239e-04 + 2.601407e-03 -2.557840e-03 -6.406646e-03 -5.734450e-03 -4.158361e-03 -2.687856e-03 +-1.608900e-03 -9.269417e-04 +>ZYYI ROT=ZROT //14 + 3.308734e-04 -6.532330e-05 -4.806847e-07 6.336292e-08 4.314114e-07 8.809785e-05 + 4.693797e-04 5.191426e-03 1.592255e-03 -9.158928e-04 -1.667023e-03 -1.569907e-03 +-1.174074e-03 -7.710560e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.779909e-02 2.358174e-04 -3.172943e-05 -7.109069e-07 -2.346445e-08 -9.038835e-06 + 1.888107e-04 4.745365e-05 -1.088251e-03 -1.118631e-03 -7.984270e-04 -5.059078e-04 +-2.997323e-04 -1.719827e-04 +>TXI.EXP //14 +-1.276272e-03 -4.279800e-05 4.179658e-07 1.172520e-06 6.294293e-09 7.314721e-06 +-8.616730e-05 8.033725e-04 5.639432e-04 -1.052047e-04 -3.131401e-04 -2.998427e-04 +-2.220700e-04 -1.445937e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.163206e-02 -3.177293e-05 1.257720e-05 1.504034e-06 -3.944157e-08 1.742426e-06 +-5.613706e-05 -2.994413e-05 3.498472e-04 3.939157e-04 2.934280e-04 1.891207e-04 + 1.127863e-04 6.487766e-05 +>TYI.EXP //14 + 7.233707e-04 8.881232e-06 -1.616588e-06 -1.615065e-06 -1.924579e-08 -2.755798e-06 + 3.541959e-05 -2.585491e-04 -2.101874e-04 1.552275e-05 1.032196e-04 1.067560e-04 + 8.145540e-05 5.382990e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par61.edi b/examples/data/NEConductor/par61.edi new file mode 100644 index 00000000..d8d995c7 --- /dev/null +++ b/examples/data/NEConductor/par61.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par61" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par61" +REFLAT=-30:13:51.285 +REFLONG=139:44:00.5303 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par61" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.063305e-03 7.617866e-05 -6.822958e-06 -1.445204e-07 8.102286e-07 2.888959e-04 +-2.656974e-03 3.205887e-03 5.333066e-03 3.981684e-03 2.544798e-03 1.506432e-03 + 8.564360e-04 4.818477e-04 +>ZXXI ROT=ZROT //14 + 2.515845e-04 5.893246e-06 -3.458644e-06 3.789812e-08 -1.020676e-07 -6.087825e-05 +-9.410277e-04 -4.321593e-03 -3.963198e-04 1.261147e-03 1.411897e-03 1.090954e-03 + 7.215214e-04 4.391104e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866053e+02 1.241409e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317033e+01 + 8.361897e+00 6.594733e+00 5.473722e+00 4.275185e+00 3.013524e+00 1.926727e+00 + 1.148024e+00 6.601420e-01 +>ZXYI ROT=ZROT //14 + 3.082233e+02 1.471558e+02 7.805618e+01 4.294174e+01 2.400291e+01 1.271799e+01 + 6.034152e+00 2.961787e+00 1.999706e+00 1.765469e+00 1.577446e+00 1.252968e+00 + 8.813003e-01 5.637297e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866352e+02 -1.241503e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317022e+01 +-8.363160e+00 -6.594708e+00 -5.467133e+00 -4.266336e+00 -3.005946e+00 -1.921424e+00 +-1.144728e+00 -6.582134e-01 +>ZYXI ROT=ZROT //14 +-3.082486e+02 -1.471574e+02 -7.805623e+01 -4.294172e+01 -2.400290e+01 -1.271793e+01 +-6.034141e+00 -2.966577e+00 -2.004380e+00 -1.766225e+00 -1.575689e+00 -1.250515e+00 +-8.791764e-01 -5.622341e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.511173e-03 -1.678737e-04 -2.794563e-06 2.401138e-07 -1.385850e-06 -3.341075e-04 + 3.167581e-03 -3.399285e-03 -7.431698e-03 -6.533966e-03 -4.705374e-03 -3.024689e-03 +-1.804095e-03 -1.037639e-03 +>ZYYI ROT=ZROT //14 + 3.030692e-04 -5.974033e-05 -4.591934e-07 6.160725e-08 2.610231e-07 6.227523e-05 + 9.207707e-04 5.940249e-03 1.614129e-03 -1.139374e-03 -1.937055e-03 -1.794427e-03 +-1.329752e-03 -8.685343e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.667268e-02 1.907223e-04 -3.133456e-05 -8.440256e-07 -3.604609e-08 -1.228816e-05 + 2.213315e-04 -4.969386e-06 -1.143658e-03 -1.132889e-03 -8.009433e-04 -5.062063e-04 +-2.996850e-04 -1.719141e-04 +>TXI.EXP //14 +-1.134618e-03 -3.611960e-05 4.321232e-07 1.264910e-06 -5.113472e-09 7.033438e-06 +-7.481793e-05 8.569387e-04 5.396681e-04 -1.292761e-04 -3.233208e-04 -3.034159e-04 +-2.232206e-04 -1.449363e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.159238e-02 -3.088413e-05 1.259133e-05 1.500553e-06 -3.818764e-08 2.891911e-06 +-7.054059e-05 -1.265845e-05 3.841824e-04 4.145294e-04 3.057164e-04 1.965842e-04 + 1.171697e-04 6.738745e-05 +>TYI.EXP //14 + 7.151645e-04 8.820823e-06 -1.616427e-06 -1.612824e-06 -1.986073e-08 -3.045933e-06 + 3.363535e-05 -2.885596e-04 -2.098503e-04 2.512069e-05 1.109809e-04 1.121990e-04 + 8.503920e-05 5.605096e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par610.edi b/examples/data/NEConductor/par610.edi new file mode 100644 index 00000000..3d6c95cd --- /dev/null +++ b/examples/data/NEConductor/par610.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par610" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par610" +REFLAT=-30:11:25.1269 +REFLONG=139:44:02.402 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par610" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.329795e-03 -8.055346e-05 -4.076587e-06 -3.555153e-08 4.297827e-06 6.858860e-04 +-4.247808e-03 6.363653e-03 8.614602e-03 6.386505e-03 4.154885e-03 2.494441e-03 + 1.429574e-03 8.072461e-04 +>ZXXI ROT=ZROT //14 + 5.612938e-05 -5.042672e-05 2.249623e-07 1.271063e-07 3.745857e-06 2.721286e-04 +-3.232878e-03 -6.408858e-03 -1.890824e-04 2.074607e-03 2.261737e-03 1.766761e-03 + 1.183268e-03 7.267989e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866029e+02 1.241410e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316934e+01 + 8.366952e+00 6.584519e+00 5.460154e+00 4.263261e+00 3.004763e+00 1.921059e+00 + 1.144640e+00 6.581962e-01 +>ZXYI ROT=ZROT //14 + 3.082272e+02 1.471559e+02 7.805619e+01 4.294174e+01 2.400289e+01 1.271657e+01 + 6.041692e+00 2.970500e+00 2.001242e+00 1.763233e+00 1.573870e+00 1.249627e+00 + 8.788134e-01 5.621028e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865644e+02 -1.241464e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.316935e+01 +-8.367410e+00 -6.584949e+00 -5.457238e+00 -4.258915e+00 -3.000962e+00 -1.918387e+00 +-1.142978e+00 -6.572236e-01 +>ZYXI ROT=ZROT //14 +-3.082014e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400288e+01 -1.271659e+01 +-6.041309e+00 -2.972674e+00 -2.003778e+00 -1.763801e+00 -1.573066e+00 -1.248418e+00 +-8.777510e-01 -5.613512e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.062843e-03 -1.390304e-04 -1.523590e-06 1.167888e-07 -4.199757e-06 -7.299467e-04 + 4.831997e-03 -6.653180e-03 -1.026046e-02 -8.272769e-03 -5.681956e-03 -3.532990e-03 +-2.065834e-03 -1.177292e-03 +>ZYYI ROT=ZROT //14 + 1.409312e-04 -4.027772e-05 -1.190389e-07 7.507708e-08 -2.998710e-06 -2.080106e-04 + 3.147988e-03 7.742118e-03 1.023327e-03 -2.070471e-03 -2.699709e-03 -2.288962e-03 +-1.611771e-03 -1.021041e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.140972e-03 -5.092602e-04 -3.650676e-05 5.359217e-07 8.356000e-08 1.630937e-05 +-2.296320e-04 9.510950e-05 1.000338e-03 9.109673e-04 6.234746e-04 3.896891e-04 + 2.298717e-04 1.316184e-04 +>TXI.EXP //14 + 1.601190e-04 6.282380e-05 1.235870e-05 3.621456e-07 4.382583e-08 -3.632086e-06 + 2.917580e-05 -7.588494e-04 -3.822589e-04 1.522833e-04 2.740861e-04 2.426120e-04 + 1.744978e-04 1.121284e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.133446e-02 -2.430265e-05 1.268621e-05 1.479688e-06 -4.681318e-08 -2.016513e-06 + 3.610437e-05 -1.449522e-05 -1.341852e-04 -1.577504e-04 -1.233441e-04 -8.152242e-05 +-4.916841e-05 -2.837918e-05 +>TYI.EXP //14 + 6.640463e-04 8.304483e-06 -1.620814e-06 -1.601015e-06 -1.188977e-08 1.635414e-06 +-7.679743e-06 1.051542e-04 7.525463e-05 -1.176692e-06 -3.891349e-05 -4.350359e-05 +-3.436880e-05 -2.303548e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par62.edi b/examples/data/NEConductor/par62.edi new file mode 100644 index 00000000..0a2c2812 --- /dev/null +++ b/examples/data/NEConductor/par62.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par62" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par62" +REFLAT=-30:13:35.0453 +REFLONG=139:44:00.7385 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par62" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.885073e-03 5.646965e-05 -6.646202e-06 -1.299788e-07 1.470853e-06 4.002410e-04 +-3.265608e-03 4.079445e-03 6.621502e-03 5.113624e-03 3.368964e-03 2.034968e-03 + 1.170201e-03 6.618022e-04 +>ZXXI ROT=ZROT //14 + 2.400769e-04 -1.468238e-06 -3.054641e-06 4.538871e-08 2.570456e-07 -2.006154e-05 +-1.452206e-03 -5.239812e-03 -5.794711e-04 1.469581e-03 1.753222e-03 1.407372e-03 + 9.549254e-04 5.907870e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866044e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316998e+01 + 8.363860e+00 6.590991e+00 5.468700e+00 4.270806e+00 3.010316e+00 1.924654e+00 + 1.146788e+00 6.594312e-01 +>ZXYI ROT=ZROT //14 + 3.082251e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400290e+01 1.271753e+01 + 6.036753e+00 2.965109e+00 2.000258e+00 1.764632e+00 1.576127e+00 1.251742e+00 + 8.803895e-01 5.631346e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866232e+02 -1.241491e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.316989e+01 +-8.364876e+00 -6.590878e+00 -5.463283e+00 -4.263543e+00 -3.004080e+00 -1.920284e+00 +-1.144069e+00 -6.578399e-01 +>ZYXI ROT=ZROT //14 +-3.082394e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271744e+01 +-6.036829e+00 -2.969030e+00 -2.004055e+00 -1.765255e+00 -1.574691e+00 -1.249727e+00 +-8.786411e-01 -5.619019e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.997866e-03 -1.576904e-04 -2.566308e-06 2.182120e-07 -2.162665e-06 -4.489739e-04 + 3.754889e-03 -4.352704e-03 -8.513223e-03 -7.356886e-03 -5.258043e-03 -3.360283e-03 +-1.996892e-03 -1.146527e-03 +>ZYYI ROT=ZROT //14 + 2.694995e-04 -5.487392e-05 -4.291244e-07 6.153610e-08 -2.411554e-07 1.088963e-05 + 1.496308e-03 6.694187e-03 1.600776e-03 -1.391846e-03 -2.224026e-03 -2.026021e-03 +-1.487248e-03 -9.659241e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.543992e-02 1.345018e-04 -3.138742e-05 -9.081078e-07 -4.900411e-08 -1.504191e-05 + 2.418890e-04 -5.477583e-05 -1.143806e-03 -1.099014e-03 -7.710045e-04 -4.862692e-04 +-2.877037e-04 -1.650094e-04 +>TXI.EXP //14 +-9.932080e-04 -2.780936e-05 9.209867e-07 1.302732e-06 -1.843479e-08 5.976035e-06 +-5.781918e-05 8.665027e-04 4.952739e-04 -1.442729e-04 -3.187955e-04 -2.942463e-04 +-2.152662e-04 -1.394417e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.155587e-02 -3.005407e-05 1.260454e-05 1.497358e-06 -3.553690e-08 4.207029e-06 +-8.368947e-05 6.657745e-06 4.086668e-04 4.241022e-04 3.096831e-04 1.986179e-04 + 1.182937e-04 6.801773e-05 +>TYI.EXP //14 + 7.076192e-04 8.764026e-06 -1.616369e-06 -1.610757e-06 -2.023296e-08 -3.036168e-06 + 2.911933e-05 -3.105259e-04 -2.032974e-04 3.441106e-05 1.159412e-04 1.146592e-04 + 8.630845e-05 5.672909e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par63.edi b/examples/data/NEConductor/par63.edi new file mode 100644 index 00000000..864c4ebd --- /dev/null +++ b/examples/data/NEConductor/par63.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par63" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par63" +REFLAT=-30:13:18.8055 +REFLONG=139:44:00.9466 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par63" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.666213e-03 3.735489e-05 -6.441756e-06 -1.142399e-07 2.230193e-06 5.262299e-04 +-3.913227e-03 5.072329e-03 8.057659e-03 6.373679e-03 4.287407e-03 2.624966e-03 + 1.520881e-03 8.630522e-04 +>ZXXI ROT=ZROT //14 + 2.244277e-04 -8.915213e-06 -2.660983e-06 5.529198e-08 1.078402e-06 4.773174e-05 +-2.075056e-03 -6.240407e-03 -7.750065e-04 1.703705e-03 2.133055e-03 1.759631e-03 + 1.215178e-03 7.601322e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866039e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350537e+01 1.316964e+01 + 8.365923e+00 6.586797e+00 5.462978e+00 4.265750e+00 3.006587e+00 1.922236e+00 + 1.145342e+00 6.585992e-01 +>ZXYI ROT=ZROT //14 + 3.082262e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400289e+01 1.271695e+01 + 6.039775e+00 2.968827e+00 2.000958e+00 1.763713e+00 1.574623e+00 1.250326e+00 + 8.793313e-01 5.624408e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866132e+02 -1.241481e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316960e+01 +-8.366486e+00 -6.586844e+00 -5.459336e+00 -4.260705e+00 -3.002200e+00 -1.919140e+00 +-1.143410e+00 -6.574667e-01 +>ZYXI ROT=ZROT //14 +-3.082315e+02 -1.471560e+02 -7.805625e+01 -4.294173e+01 -2.400289e+01 -1.271685e+01 +-6.039821e+00 -2.971429e+00 -2.003664e+00 -1.764233e+00 -1.573663e+00 -1.248926e+00 +-8.781009e-01 -5.615683e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.545661e-03 -1.492047e-04 -2.369658e-06 1.967034e-07 -2.989341e-06 -5.712205e-04 + 4.320293e-03 -5.365814e-03 -9.582267e-03 -8.142943e-03 -5.772406e-03 -3.666489e-03 +-2.170613e-03 -1.244049e-03 +>ZYYI ROT=ZROT //14 + 2.335804e-04 -5.069752e-05 -3.937000e-07 6.198799e-08 -1.188319e-06 -6.770314e-05 + 2.168140e-03 7.402835e-03 1.544049e-03 -1.661968e-03 -2.509641e-03 -2.247760e-03 +-1.634105e-03 -1.055148e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.411768e-02 6.857792e-05 -3.191456e-05 -8.958461e-07 -5.388587e-08 -1.635847e-05 + 2.415356e-04 -9.116768e-05 -1.064893e-03 -1.000284e-03 -6.982736e-04 -4.398871e-04 +-2.601810e-04 -1.492144e-04 +>TXI.EXP //14 +-8.519960e-04 -1.816676e-05 1.845449e-06 1.290022e-06 -4.497263e-08 4.366909e-06 +-3.832580e-05 8.132161e-04 4.284754e-04 -1.442246e-04 -2.936040e-04 -2.678970e-04 +-1.952553e-04 -1.262854e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.152212e-02 -2.927271e-05 1.261688e-05 1.494395e-06 -3.133805e-08 5.435135e-06 +-9.275036e-05 2.520837e-05 4.160155e-04 4.167017e-04 3.012650e-04 1.926555e-04 + 1.146355e-04 6.589415e-05 +>TYI.EXP //14 + 7.006727e-04 8.709695e-06 -1.616421e-06 -1.608846e-06 -1.931783e-08 -2.643224e-06 + 2.225299e-05 -3.185256e-04 -1.890698e-04 4.203228e-05 1.162406e-04 1.125352e-04 + 8.411210e-05 5.512214e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par64.edi b/examples/data/NEConductor/par64.edi new file mode 100644 index 00000000..a760ceea --- /dev/null +++ b/examples/data/NEConductor/par64.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par64" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par64" +REFLAT=-30:13:02.5657 +REFLONG=139:44:01.1547 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par64" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.410924e-03 1.874760e-05 -6.205549e-06 -9.873851e-08 3.013072e-06 6.547380e-04 +-4.542787e-03 6.109335e-03 9.516696e-03 7.644751e-03 5.212418e-03 3.219317e-03 + 1.874300e-03 1.065925e-03 +>ZXXI ROT=ZROT //14 + 2.045310e-04 -1.623281e-05 -2.273053e-06 6.799571e-08 2.184623e-06 1.399517e-04 +-2.763807e-03 -7.234666e-03 -9.563888e-04 1.947478e-03 2.518057e-03 2.115020e-03 + 1.477506e-03 9.308186e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866036e+02 1.241409e+02 7.346931e+01 4.197590e+01 2.350538e+01 1.316933e+01 + 8.367905e+00 6.582539e+00 5.457106e+00 4.260510e+00 3.002706e+00 1.919713e+00 + 1.143830e+00 6.577289e-01 +>ZXYI ROT=ZROT //14 + 3.082268e+02 1.471558e+02 7.805618e+01 4.294174e+01 2.400288e+01 1.271630e+01 + 6.042926e+00 2.972591e+00 2.001725e+00 1.762794e+00 1.573077e+00 1.248859e+00 + 8.782300e-01 5.617169e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866046e+02 -1.241472e+02 -7.346920e+01 -4.197589e+01 -2.350538e+01 -1.316936e+01 +-8.367866e+00 -6.582996e+00 -5.455639e+00 -4.258062e+00 -3.000459e+00 -1.918086e+00 +-1.142803e+00 -6.571239e-01 +>ZYXI ROT=ZROT //14 +-3.082247e+02 -1.471555e+02 -7.805624e+01 -4.294173e+01 -2.400288e+01 -1.271622e+01 +-6.042793e+00 -2.973588e+00 -2.003262e+00 -1.763256e+00 -1.572697e+00 -1.248179e+00 +-8.776006e-01 -5.612605e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.152928e-03 -1.424098e-04 -2.199904e-06 1.764613e-07 -3.677931e-06 -6.878361e-04 + 4.813713e-03 -6.351565e-03 -1.054320e-02 -8.815416e-03 -6.195438e-03 -3.910539e-03 +-2.306235e-03 -1.319410e-03 +>ZYYI ROT=ZROT //14 + 1.979717e-04 -4.719204e-05 -3.549074e-07 6.229223e-08 -2.522222e-06 -1.666728e-04 + 2.872488e-03 8.005830e-03 1.442785e-03 -1.929006e-03 -2.768164e-03 -2.438009e-03 +-1.755239e-03 -1.126733e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.271899e-02 -5.404245e-06 -3.285429e-05 -8.085214e-07 -3.769687e-08 -1.530954e-05 + 2.127987e-04 -1.033383e-04 -8.887391e-04 -8.245761e-04 -5.754043e-04 -3.626888e-04 +-2.145878e-04 -1.230908e-04 +>TXI.EXP //14 +-7.107790e-04 -7.482390e-06 3.134680e-06 1.232822e-06 -3.668188e-08 2.716672e-06 +-2.085796e-05 6.830811e-04 3.389166e-04 -1.242030e-04 -2.432442e-04 -2.211347e-04 +-1.610771e-04 -1.041754e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.149078e-02 -2.853003e-05 1.262844e-05 1.491611e-06 -2.659231e-08 6.208390e-06 +-9.450057e-05 3.913294e-05 3.984374e-04 3.863817e-04 2.765035e-04 1.762270e-04 + 1.047365e-04 6.018061e-05 +>TYI.EXP //14 + 6.942643e-04 8.656722e-06 -1.616595e-06 -1.607102e-06 -1.573820e-08 -1.908994e-06 + 1.427595e-05 -3.064148e-04 -1.662021e-04 4.630421e-05 1.099163e-04 1.042224e-04 + 7.732322e-05 5.051239e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par66.edi b/examples/data/NEConductor/par66.edi new file mode 100644 index 00000000..f0870505 --- /dev/null +++ b/examples/data/NEConductor/par66.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par66" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par66" +REFLAT=-30:12:30.0862 +REFLONG=139:44:01.5706 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par66" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.806520e-03 -1.702366e-05 -5.635324e-06 -8.084582e-08 4.190751e-06 8.486345e-04 +-5.419146e-03 7.765342e-03 1.165531e-02 9.442826e-03 6.503241e-03 4.044100e-03 + 2.363546e-03 1.346496e-03 +>ZXXI ROT=ZROT //14 + 1.556355e-04 -2.982606e-05 -1.488630e-06 9.577147e-08 5.321039e-06 3.367881e-04 +-3.954208e-03 -8.633005e-03 -1.125898e-03 2.343974e-03 3.078964e-03 2.618131e-03 + 1.844527e-03 1.168276e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866033e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350539e+01 1.316893e+01 + 8.370593e+00 6.576472e+00 5.448674e+00 4.252925e+00 2.997068e+00 1.916039e+00 + 1.141628e+00 6.564602e-01 +>ZXYI ROT=ZROT //14 + 3.082272e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400287e+01 1.271530e+01 + 6.047531e+00 2.977920e+00 2.002887e+00 1.761506e+00 1.570855e+00 1.246736e+00 + 8.766307e-01 5.606639e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865900e+02 -1.241460e+02 -7.346916e+01 -4.197590e+01 -2.350539e+01 -1.316909e+01 +-8.369531e+00 -6.577917e+00 -5.450795e+00 -4.254572e+00 -2.998165e+00 -1.916703e+00 +-1.142010e+00 -6.566758e-01 +>ZYXI ROT=ZROT //14 +-3.082139e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400287e+01 -1.271532e+01 +-6.046856e+00 -2.976313e+00 -2.002745e+00 -1.761975e+00 -1.571419e+00 -1.247193e+00 +-8.769416e-01 -5.608563e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.542470e-03 -1.339556e-04 -1.928787e-06 1.488658e-07 -4.828487e-06 -8.494298e-04 + 5.417931e-03 -7.784159e-03 -1.173933e-02 -9.545913e-03 -6.600129e-03 -4.117924e-03 +-2.411669e-03 -1.375262e-03 +>ZYYI ROT=ZROT //14 + 1.374877e-04 -4.217066e-05 -2.743293e-07 6.552207e-08 -4.832596e-06 -3.500756e-04 + 3.980710e-03 8.688088e-03 1.169209e-03 -2.333463e-03 -3.094124e-03 -2.646268e-03 +-1.872262e-03 -1.189181e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.729625e-03 -1.701951e-04 -3.537960e-05 -4.470478e-07 -2.701762e-09 -5.157555e-06 + 6.881939e-05 -4.141351e-05 -2.592076e-04 -2.567808e-04 -1.887148e-04 -1.216131e-04 +-7.256013e-05 -4.178219e-05 +>TXI.EXP //14 +-4.269332e-04 1.588988e-05 6.415327e-06 1.014000e-06 -1.852370e-08 9.942330e-07 +-3.745794e-06 2.048947e-04 1.035677e-04 -2.568959e-05 -7.115745e-05 -7.003179e-05 +-5.281842e-05 -3.474985e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.143394e-02 -2.712015e-05 1.264958e-05 1.486650e-06 -2.251529e-08 5.141721e-06 +-6.776326e-05 3.953735e-05 2.708044e-04 2.457556e-04 1.711165e-04 1.078759e-04 + 6.383761e-05 3.662915e-05 +>TYI.EXP //14 + 6.828377e-04 8.550472e-06 -1.617356e-06 -1.604259e-06 -9.103327e-09 -2.396383e-07 + 2.002414e-06 -2.086823e-04 -9.577189e-05 3.976450e-05 7.311683e-05 6.599447e-05 + 4.798751e-05 3.107252e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par67.edi b/examples/data/NEConductor/par67.edi new file mode 100644 index 00000000..da106d2d --- /dev/null +++ b/examples/data/NEConductor/par67.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par67" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par67" +REFLAT=-30:12:13.8464 +REFLONG=139:44:01.7785 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par67" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.464829e-03 -3.407329e-05 -5.300912e-06 -7.522377e-08 4.531761e-06 8.808033e-04 +-5.507057e-03 8.069942e-03 1.187714e-02 9.559552e-03 6.565572e-03 4.077264e-03 + 2.381257e-03 1.356174e-03 +>ZXXI ROT=ZROT //14 + 1.293528e-04 -3.589043e-05 -1.081531e-06 1.070143e-07 6.321595e-06 3.941944e-04 +-4.221175e-03 -8.739770e-03 -1.046059e-03 2.426437e-03 3.134300e-03 2.651259e-03 + 1.863172e-03 1.178483e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866032e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350539e+01 1.316886e+01 + 8.370832e+00 6.575956e+00 5.447978e+00 4.252295e+00 2.996600e+00 1.915734e+00 + 1.141446e+00 6.563553e-01 +>ZXYI ROT=ZROT //14 + 3.082273e+02 1.471558e+02 7.805619e+01 4.294174e+01 2.400287e+01 1.271520e+01 + 6.047957e+00 2.978345e+00 2.002984e+00 1.761399e+00 1.570670e+00 1.246559e+00 + 8.764978e-01 5.605766e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865834e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350539e+01 -1.316904e+01 +-8.369692e+00 -6.577558e+00 -5.450406e+00 -4.254235e+00 -2.997932e+00 -1.916562e+00 +-1.141930e+00 -6.566308e-01 +>ZYXI ROT=ZROT //14 +-3.082097e+02 -1.471550e+02 -7.805628e+01 -4.294175e+01 -2.400287e+01 -1.271525e+01 +-6.047158e+00 -2.976532e+00 -2.002768e+00 -1.761895e+00 -1.571306e+00 -1.247097e+00 +-8.768761e-01 -5.608158e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.326078e-03 -1.323562e-04 -1.818206e-06 1.405848e-07 -4.591283e-06 -8.767518e-04 + 5.489858e-03 -8.027748e-03 -1.184435e-02 -9.544657e-03 -6.561188e-03 -4.077237e-03 +-2.382184e-03 -1.356959e-03 +>ZYYI ROT=ZROT //14 + 1.183027e-04 -4.065322e-05 -2.342669e-07 6.890787e-08 -5.803779e-06 -3.878572e-04 + 4.187068e-03 8.722935e-03 1.057850e-03 -2.411810e-03 -3.124857e-03 -2.646995e-03 +-1.861879e-03 -1.178362e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.152280e-03 -2.570340e-04 -3.654219e-05 -2.036324e-07 6.509933e-09 2.300058e-06 +-2.731455e-05 1.505437e-05 1.281991e-04 8.618410e-05 4.462036e-05 2.397074e-05 + 1.325458e-05 7.356567e-06 +>TXI.EXP //14 +-2.834032e-04 2.802667e-05 8.173948e-06 8.664256e-07 3.542991e-09 6.087209e-07 +-1.338568e-06 -9.171014e-05 -2.920545e-05 3.743056e-05 3.362620e-05 2.141727e-05 + 1.262397e-05 7.210757e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.140779e-02 -2.643211e-05 1.265935e-05 1.484617e-06 -3.079068e-08 3.307150e-06 +-4.110264e-05 2.567494e-05 1.679583e-04 1.428971e-04 9.596474e-05 5.950123e-05 + 3.496357e-05 2.001636e-05 +>TYI.EXP //14 + 6.777109e-04 8.494965e-06 -1.617966e-06 -1.603222e-06 -6.173948e-09 3.180212e-07 +-5.272697e-07 -1.290792e-04 -5.197008e-05 2.951181e-05 4.463076e-05 3.808289e-05 + 2.696909e-05 1.725466e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par68.edi b/examples/data/NEConductor/par68.edi new file mode 100644 index 00000000..81e6e48e --- /dev/null +++ b/examples/data/NEConductor/par68.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par68" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par68" +REFLAT=-30:11:57.6065 +REFLONG=139:44:01.9864 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par68" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.101998e-03 -5.042531e-05 -4.931872e-06 -6.599210e-08 4.639406e-06 8.596855e-04 +-5.312304e-03 7.897994e-03 1.136851e-02 9.014193e-03 6.137446e-03 3.792043e-03 + 2.208578e-03 1.256286e-03 +>ZXXI ROT=ZROT //14 + 1.034490e-04 -4.137589e-05 -6.604749e-07 1.159784e-07 6.351668e-06 3.994665e-04 +-4.165811e-03 -8.350953e-03 -8.427058e-04 2.401601e-03 2.996330e-03 2.499505e-03 + 1.742953e-03 1.097472e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866031e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316891e+01 + 8.370210e+00 6.577418e+00 5.450074e+00 4.254187e+00 2.998012e+00 1.916657e+00 + 1.142000e+00 6.566749e-01 +>ZXYI ROT=ZROT //14 + 3.082273e+02 1.471559e+02 7.805619e+01 4.294174e+01 2.400287e+01 1.271544e+01 + 6.046894e+00 2.976998e+00 2.002680e+00 1.761711e+00 1.571220e+00 1.247088e+00 + 8.768985e-01 5.608410e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865770e+02 -1.241458e+02 -7.346921e+01 -4.197591e+01 -2.350538e+01 -1.316906e+01 +-8.369372e+00 -6.578817e+00 -5.451523e+00 -4.254952e+00 -2.998385e+00 -1.916833e+00 +-1.142086e+00 -6.567191e-01 +>ZYXI ROT=ZROT //14 +-3.082062e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400287e+01 -1.271550e+01 +-6.046147e+00 -2.975921e+00 -2.002990e+00 -1.762229e+00 -1.571586e+00 -1.247299e+00 +-8.770078e-01 -5.608960e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.172438e-03 -1.325815e-04 -1.715498e-06 1.316438e-07 -5.477700e-06 -8.644932e-04 + 5.409223e-03 -7.893275e-03 -1.160535e-02 -9.311915e-03 -6.381908e-03 -3.958126e-03 +-2.310069e-03 -1.315231e-03 +>ZYYI ROT=ZROT //14 + 1.106677e-04 -3.980611e-05 -1.942258e-07 7.188125e-08 -5.448727e-06 -3.704057e-04 + 4.092664e-03 8.562744e-03 9.985000e-04 -2.386921e-03 -3.062100e-03 -2.582032e-03 +-1.811193e-03 -1.144380e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.526146e-03 -3.440123e-04 -3.730011e-05 5.592975e-08 3.183414e-08 9.228488e-06 +-1.179293e-04 6.546140e-05 4.948479e-04 4.169784e-04 2.721855e-04 1.666435e-04 + 9.751610e-05 5.564123e-05 +>TXI.EXP //14 +-1.381040e-04 4.009231e-05 9.840496e-06 7.029225e-07 3.457395e-08 -1.735879e-07 + 3.078077e-06 -3.729421e-04 -1.601462e-04 9.375944e-05 1.332014e-04 1.098414e-04 + 7.640551e-05 4.826922e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.138272e-02 -2.574099e-05 1.266869e-05 1.482845e-06 -4.285408e-08 1.141376e-06 +-1.133208e-05 8.157607e-06 5.596445e-05 3.273052e-05 1.582706e-05 7.992734e-06 + 4.235374e-06 2.340224e-06 +>TYI.EXP //14 + 6.729037e-04 8.436317e-06 -1.618739e-06 -1.602383e-06 -2.720209e-09 7.283534e-07 +-1.887770e-06 -4.223562e-05 -6.598705e-06 1.749619e-05 1.381764e-05 8.190749e-06 + 4.537412e-06 2.530333e-06 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par69.edi b/examples/data/NEConductor/par69.edi new file mode 100644 index 00000000..6536c2a9 --- /dev/null +++ b/examples/data/NEConductor/par69.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par69" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par69" +REFLAT=-30:11:41.3667 +REFLONG=139:44:02.1942 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par69" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.722211e-03 -6.595938e-05 -4.525248e-06 -5.183057e-08 4.595688e-06 7.903214e-04 +-4.866467e-03 7.284165e-03 1.020613e-02 7.885759e-03 5.280419e-03 3.229344e-03 + 1.870243e-03 1.061132e-03 +>ZXXI ROT=ZROT //14 + 7.878944e-05 -4.623339e-05 -2.247101e-07 1.226231e-07 5.198034e-06 3.530383e-04 +-3.805271e-03 -7.523413e-03 -5.410803e-04 2.275020e-03 2.685633e-03 2.184919e-03 + 1.501202e-03 9.368809e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866030e+02 1.241409e+02 7.346932e+01 4.197590e+01 2.350538e+01 1.316907e+01 + 8.368837e+00 6.580492e+00 5.454450e+00 4.258134e+00 3.000952e+00 1.918576e+00 + 1.143152e+00 6.573384e-01 +>ZXYI ROT=ZROT //14 + 3.082273e+02 1.471558e+02 7.805618e+01 4.294174e+01 2.400288e+01 1.271594e+01 + 6.044631e+00 2.974188e+00 2.002050e+00 1.762368e+00 1.572370e+00 1.248193e+00 + 8.777324e-01 5.613909e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865707e+02 -1.241460e+02 -7.346928e+01 -4.197590e+01 -2.350538e+01 -1.316916e+01 +-8.368592e+00 -6.581434e+00 -5.453932e+00 -4.256597e+00 -2.999447e+00 -1.917472e+00 +-1.142453e+00 -6.569265e-01 +>ZYXI ROT=ZROT //14 +-3.082034e+02 -1.471554e+02 -7.805633e+01 -4.294175e+01 -2.400288e+01 -1.271598e+01 +-6.044060e+00 -2.974575e+00 -2.003354e+00 -1.762905e+00 -1.572207e+00 -1.247763e+00 +-8.773147e-01 -5.610836e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.084047e-03 -1.347419e-04 -1.616731e-06 1.231373e-07 -4.497040e-06 -8.139004e-04 + 5.185212e-03 -7.408454e-03 -1.105660e-02 -8.875561e-03 -6.082145e-03 -3.773345e-03 +-2.202928e-03 -1.254452e-03 +>ZYYI ROT=ZROT //14 + 1.174425e-04 -3.965747e-05 -1.548821e-07 7.399564e-08 -3.669803e-06 -3.041886e-04 + 3.720694e-03 8.227305e-03 9.926830e-04 -2.265700e-03 -2.914674e-03 -2.459150e-03 +-1.725878e-03 -1.090917e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.854712e-03 -4.288779e-04 -3.737920e-05 3.099600e-07 4.881824e-08 1.413676e-05 +-1.881028e-04 9.440465e-05 7.941906e-04 6.993545e-04 4.703242e-04 2.918392e-04 + 1.716757e-04 9.818403e-05 +>TXI.EXP //14 + 9.538013e-06 5.179509e-05 1.128044e-05 5.316503e-07 5.004923e-08 -1.645692e-06 + 1.315328e-05 -6.022829e-04 -2.802053e-04 1.334455e-04 2.156060e-04 1.855817e-04 + 1.318258e-04 8.418924e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.135839e-02 -2.503534e-05 1.267762e-05 1.481224e-06 -4.600351e-08 -7.734604e-07 + 1.584508e-05 -6.711476e-06 -4.892593e-05 -7.109507e-05 -5.982276e-05 -4.064099e-05 +-2.477696e-05 -1.434840e-05 +>TYI.EXP //14 + 6.683660e-04 8.373274e-06 -1.619685e-06 -1.601658e-06 -5.406362e-09 1.149695e-06 +-3.927320e-06 3.914957e-05 3.682476e-05 6.591778e-06 -1.511571e-05 -1.998523e-05 +-1.662779e-05 -1.136744e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par70.edi b/examples/data/NEConductor/par70.edi new file mode 100644 index 00000000..d6c29f5c --- /dev/null +++ b/examples/data/NEConductor/par70.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par70" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par70" +REFLAT=-30:14:07.7052 +REFLONG=139:44:19.0249 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par70" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.369371e-03 1.006352e-04 -1.127224e-05 -2.382431e-07 5.540790e-07 2.130628e-04 +-2.358613e-03 2.460870e-03 5.416276e-03 4.567669e-03 3.155384e-03 1.969999e-03 + 1.155738e-03 6.597769e-04 +>ZXXI ROT=ZROT //14 + 6.874439e-04 9.969192e-06 -5.302057e-06 1.004541e-07 2.308512e-08 -8.487353e-05 +-4.923419e-04 -4.402276e-03 -1.054954e-03 9.706398e-04 1.437623e-03 1.250199e-03 + 8.904631e-04 5.678070e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866168e+02 1.241417e+02 7.346932e+01 4.197589e+01 2.350537e+01 1.317069e+01 + 8.360085e+00 6.598269e+00 5.477656e+00 4.278244e+00 3.015640e+00 1.928046e+00 + 1.148795e+00 6.605816e-01 +>ZXYI ROT=ZROT //14 + 3.082272e+02 1.471561e+02 7.805617e+01 4.294174e+01 2.400291e+01 1.271837e+01 + 6.031754e+00 2.959189e+00 1.999751e+00 1.766341e+00 1.578474e+00 1.253829e+00 + 8.819044e-01 5.641118e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866494e+02 -1.241516e+02 -7.346943e+01 -4.197589e+01 -2.350537e+01 -1.317058e+01 +-8.361224e+00 -6.598580e+00 -5.471192e+00 -4.269349e+00 -3.007984e+00 -1.922676e+00 +-1.145454e+00 -6.586254e-01 +>ZYXI ROT=ZROT //14 +-3.082596e+02 -1.471582e+02 -7.805621e+01 -4.294172e+01 -2.400291e+01 -1.271834e+01 +-6.031600e+00 -2.963861e+00 -2.004616e+00 -1.767202e+00 -1.576743e+00 -1.251366e+00 +-8.797601e-01 -5.625981e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.198874e-03 -2.010771e-04 -3.454500e-06 2.413107e-07 -7.513890e-07 -2.501060e-04 + 2.795859e-03 -2.518326e-03 -7.438823e-03 -7.124409e-03 -5.343010e-03 -3.514694e-03 +-2.122155e-03 -1.227126e-03 +>ZYYI ROT=ZROT //14 + 3.486171e-04 -7.364625e-05 -5.739234e-07 9.692499e-08 3.664822e-07 8.849474e-05 + 4.262524e-04 5.950239e-03 2.344263e-03 -7.975394e-04 -1.944795e-03 -1.954403e-03 +-1.505797e-03 -1.004257e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.783464e-02 2.362299e-04 -3.182225e-05 -7.124919e-07 -2.135637e-08 -8.365624e-06 + 1.848112e-04 5.886309e-05 -1.089616e-03 -1.135311e-03 -8.146418e-04 -5.172004e-04 +-3.066478e-04 -1.759970e-04 +>TXI.EXP //14 +-1.281430e-03 -4.282470e-05 4.332504e-07 1.174921e-06 1.505110e-08 7.561219e-06 +-9.035764e-05 8.026763e-04 5.798204e-04 -9.784019e-05 -3.150807e-04 -3.046551e-04 +-2.264716e-04 -1.477108e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.305662e-02 -1.304885e-04 1.196260e-05 1.730470e-06 -3.657511e-08 2.878155e-06 +-8.176520e-05 -4.085770e-05 5.075941e-04 5.587682e-04 4.113713e-04 2.638893e-04 + 1.570936e-04 9.029587e-05 +>TYI.EXP //14 + 8.922293e-04 2.191451e-05 -1.034232e-06 -1.674559e-06 -1.538652e-08 -3.832883e-06 + 4.896403e-05 -3.738008e-04 -2.957127e-04 2.974221e-05 1.490323e-04 1.509187e-04 + 1.142267e-04 7.518235e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par71.edi b/examples/data/NEConductor/par71.edi new file mode 100644 index 00000000..ed37ecd8 --- /dev/null +++ b/examples/data/NEConductor/par71.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par71" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par71" +REFLAT=-30:13:51.4654 +REFLONG=139:44:19.2322 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par71" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.111149e-03 7.126276e-05 -1.093537e-05 -2.232484e-07 9.456924e-07 3.080714e-04 +-2.942606e-03 3.239179e-03 6.621721e-03 5.637812e-03 3.939833e-03 2.474976e-03 + 1.456092e-03 8.321800e-04 +>ZXXI ROT=ZROT //14 + 6.915514e-04 2.325802e-08 -4.804353e-06 1.088511e-07 6.478657e-08 -6.563882e-05 +-8.953308e-04 -5.291208e-03 -1.246710e-03 1.155880e-03 1.755875e-03 1.549262e-03 + 1.112491e-03 7.125826e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866155e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.317037e+01 + 8.361816e+00 6.595272e+00 5.473642e+00 4.274780e+00 3.013114e+00 1.926421e+00 + 1.147828e+00 6.600256e-01 +>ZXYI ROT=ZROT //14 + 3.082300e+02 1.471561e+02 7.805618e+01 4.294173e+01 2.400291e+01 1.271808e+01 + 6.033703e+00 2.961931e+00 2.000167e+00 1.765658e+00 1.577422e+00 1.252859e+00 + 8.811874e-01 5.636446e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866347e+02 -1.241503e+02 -7.346937e+01 -4.197589e+01 -2.350537e+01 -1.317027e+01 +-8.362866e+00 -6.595355e+00 -5.467862e+00 -4.266932e+00 -3.006367e+00 -1.921687e+00 +-1.144882e+00 -6.583010e-01 +>ZYXI ROT=ZROT //14 +-3.082490e+02 -1.471574e+02 -7.805624e+01 -4.294172e+01 -2.400290e+01 -1.271802e+01 +-6.033677e+00 -2.966113e+00 -2.004364e+00 -1.766375e+00 -1.575885e+00 -1.250684e+00 +-8.792961e-01 -5.623100e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.595110e-03 -1.870662e-04 -3.160047e-06 2.205290e-07 -1.332725e-06 -3.525105e-04 + 3.399362e-03 -3.408153e-03 -8.561556e-03 -8.020141e-03 -5.966085e-03 -3.902856e-03 +-2.348667e-03 -1.356002e-03 +>ZYYI ROT=ZROT //14 + 3.188090e-04 -6.715922e-05 -5.387442e-07 9.393361e-08 1.917690e-07 5.984839e-05 + 8.940051e-04 6.776674e-03 2.392250e-03 -1.028772e-03 -2.239512e-03 -2.205843e-03 +-1.682999e-03 -1.116349e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.670673e-02 1.909959e-04 -3.142302e-05 -8.454542e-07 -3.585058e-08 -1.151306e-05 + 2.178516e-04 7.765677e-06 -1.148848e-03 -1.154964e-03 -8.216203e-04 -5.205172e-04 +-3.084374e-04 -1.769931e-04 +>TXI.EXP //14 +-1.139185e-03 -3.613500e-05 4.470399e-07 1.267290e-06 5.849440e-09 7.530512e-06 +-8.059450e-05 8.595100e-04 5.589155e-04 -1.214020e-04 -3.264011e-04 -3.097212e-04 +-2.288603e-04 -1.489027e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.301625e-02 -1.294781e-04 1.197952e-05 1.726965e-06 -3.442266e-08 4.732858e-06 +-1.060197e-04 -1.694702e-05 5.787484e-04 6.100876e-04 4.441700e-04 2.841016e-04 + 1.689871e-04 9.710567e-05 +>TYI.EXP //14 + 8.836568e-04 2.184374e-05 -1.034621e-06 -1.672502e-06 -1.300192e-08 -4.316224e-06 + 4.799217e-05 -4.329962e-04 -3.060281e-04 4.608274e-05 1.664476e-04 1.645227e-04 + 1.235872e-04 8.109089e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par710.edi b/examples/data/NEConductor/par710.edi new file mode 100644 index 00000000..c3674755 --- /dev/null +++ b/examples/data/NEConductor/par710.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par710" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par710" +REFLAT=-30:11:25.307 +REFLONG=139:44:21.0962 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par710" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 2.383465e-03 -1.604156e-04 -5.946140e-06 -8.403412e-08 4.738729e-06 6.398343e-04 +-3.853598e-03 6.032038e-03 7.250239e-03 4.790019e-03 2.850000e-03 1.603262e-03 + 8.825985e-04 4.889136e-04 +>ZXXI ROT=ZROT //14 + 3.612108e-04 -8.195329e-05 7.937087e-08 1.997895e-07 3.248476e-06 2.477825e-04 +-3.072507e-03 -5.410836e-03 4.961138e-04 2.088513e-03 1.895785e-03 1.323099e-03 + 8.168588e-04 4.744432e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866128e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.316940e+01 + 8.366562e+00 6.585413e+00 5.461146e+00 4.264011e+00 3.005282e+00 1.921386e+00 + 1.144833e+00 6.583066e-01 +>ZXYI ROT=ZROT //14 + 3.082339e+02 1.471562e+02 7.805617e+01 4.294173e+01 2.400289e+01 1.271669e+01 + 6.041067e+00 2.969857e+00 2.001275e+00 1.763460e+00 1.574123e+00 1.249838e+00 + 8.789619e-01 5.621976e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865635e+02 -1.241464e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.316943e+01 +-8.366776e+00 -6.585909e+00 -5.459076e+00 -4.260728e+00 -3.002365e+00 -1.919323e+00 +-1.143546e+00 -6.575524e-01 +>ZYXI ROT=ZROT //14 +-3.082020e+02 -1.471560e+02 -7.805636e+01 -4.294174e+01 -2.400289e+01 -1.271669e+01 +-6.040734e+00 -2.971372e+00 -2.003284e+00 -1.763975e+00 -1.573547e+00 -1.248924e+00 +-8.781476e-01 -5.616180e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.865063e-03 -1.448881e-04 -1.828277e-06 8.268344e-08 -4.197511e-06 -6.809258e-04 + 4.317573e-03 -6.309825e-03 -8.572163e-03 -6.297383e-03 -4.066154e-03 -2.428288e-03 +-1.387321e-03 -7.822656e-04 +>ZYYI ROT=ZROT //14 + 1.381445e-04 -4.245473e-05 -1.262288e-07 1.183841e-07 -3.020860e-06 -2.113194e-04 + 3.064383e-03 6.460349e-03 1.539468e-04 -2.093717e-03 -2.249751e-03 -1.740823e-03 +-1.158143e-03 -7.082638e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.150237e-03 -5.101024e-04 -3.654291e-05 5.365958e-07 8.273205e-08 1.405180e-05 +-1.982583e-04 7.754315e-05 8.780737e-04 7.956129e-04 5.417043e-04 3.377067e-04 + 1.989955e-04 1.138864e-04 +>TXI.EXP //14 + 1.613533e-04 6.289851e-05 1.236819e-05 3.632037e-07 4.787535e-08 -3.138568e-06 + 2.689599e-05 -6.642613e-04 -3.354453e-04 1.363989e-04 2.406865e-04 2.115393e-04 + 1.515941e-04 9.722383e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.275954e-02 -1.222334e-04 1.209177e-05 1.706001e-06 -4.697310e-08 2.988825e-06 +-3.584091e-05 1.385324e-05 1.761607e-04 1.357829e-04 8.238686e-05 4.839574e-05 + 2.777132e-05 1.575514e-05 +>TYI.EXP //14 + 8.312692e-04 2.127011e-05 -1.043442e-06 -1.661894e-06 -2.311863e-11 2.185035e-07 + 3.000736e-06 -1.315004e-04 -5.090241e-05 3.993336e-05 4.674625e-05 3.516330e-05 + 2.316115e-05 1.423832e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par72.edi b/examples/data/NEConductor/par72.edi new file mode 100644 index 00000000..a8b6444d --- /dev/null +++ b/examples/data/NEConductor/par72.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par72" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par72" +REFLAT=-30:13:35.2256 +REFLONG=139:44:19.4395 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par72" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.783790e-03 4.256921e-05 -1.056810e-05 -2.063310e-07 1.596469e-06 4.223147e-04 +-3.581869e-03 4.159051e-03 7.965142e-03 6.810553e-03 4.793504e-03 3.022685e-03 + 1.781336e-03 1.018744e-03 +>ZXXI ROT=ZROT //14 + 6.851151e-04 -1.037588e-05 -4.304001e-06 1.174098e-07 3.157672e-07 -2.353482e-05 +-1.421563e-03 -6.255887e-03 -1.427857e-03 1.375558e-03 2.110220e-03 1.877211e-03 + 1.354384e-03 8.697968e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866146e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.317002e+01 + 8.363744e+00 6.591713e+00 5.468794e+00 4.270528e+00 3.009990e+00 1.924400e+00 + 1.146621e+00 6.593320e-01 +>ZXYI ROT=ZROT //14 + 3.082318e+02 1.471561e+02 7.805618e+01 4.294173e+01 2.400290e+01 1.271766e+01 + 6.036140e+00 2.965169e+00 2.000737e+00 1.764866e+00 1.576148e+00 1.251668e+00 + 8.803008e-01 5.630647e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866227e+02 -1.241491e+02 -7.346931e+01 -4.197588e+01 -2.350537e+01 -1.316995e+01 +-8.364518e+00 -6.591737e+00 -5.464278e+00 -4.264369e+00 -3.004669e+00 -1.920656e+00 +-1.144288e+00 -6.579650e-01 +>ZYXI ROT=ZROT //14 +-3.082399e+02 -1.471566e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271758e+01 +-6.036189e+00 -2.968414e+00 -2.004017e+00 -1.765451e+00 -1.574956e+00 -1.249960e+00 +-8.788085e-01 -5.620091e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.055786e-03 -1.749694e-04 -2.904304e-06 1.997941e-07 -2.093206e-06 -4.699394e-04 + 4.009434e-03 -4.407417e-03 -9.681183e-03 -8.865182e-03 -6.533113e-03 -4.247218e-03 +-2.546526e-03 -1.467754e-03 +>ZYYI ROT=ZROT //14 + 2.826617e-04 -6.147175e-05 -4.968698e-07 9.289599e-08 -3.026416e-07 4.828660e-06 + 1.489860e-03 7.561635e-03 2.367963e-03 -1.292530e-03 -2.535273e-03 -2.443849e-03 +-1.844727e-03 -1.216327e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.547214e-02 1.346358e-04 -3.147133e-05 -9.093627e-07 -5.043818e-08 -1.429322e-05 + 2.402339e-04 -4.192306e-05 -1.156392e-03 -1.129239e-03 -7.979460e-04 -5.047123e-04 +-2.989483e-04 -1.715282e-04 +>TXI.EXP //14 +-9.971695e-04 -2.781324e-05 9.355162e-07 1.305085e-06 -5.381285e-09 6.768086e-06 +-6.505896e-05 8.752295e-04 5.185651e-04 -1.366454e-04 -3.239228e-04 -3.027786e-04 +-2.226551e-04 -1.445813e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.297920e-02 -1.285384e-04 1.199527e-05 1.723755e-06 -3.168271e-08 6.987828e-06 +-1.310199e-04 1.166838e-05 6.447676e-04 6.535724e-04 4.706175e-04 3.000666e-04 + 1.783083e-04 1.024273e-04 +>TYI.EXP //14 + 8.757960e-04 2.177746e-05 -1.035097e-06 -1.670603e-06 -9.867738e-09 -4.424172e-06 + 4.334145e-05 -4.878568e-04 -3.103171e-04 6.335460e-05 1.822299e-04 1.759990e-04 + 1.311985e-04 8.580506e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par73.edi b/examples/data/NEConductor/par73.edi new file mode 100644 index 00000000..36effc4d --- /dev/null +++ b/examples/data/NEConductor/par73.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par73" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par73" +REFLAT=-30:13:18.9859 +REFLONG=139:44:19.6468 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par73" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.393117e-03 1.447905e-05 -1.016122e-05 -1.877512e-07 2.418235e-06 5.484396e-04 +-4.230517e-03 5.176544e-03 9.351690e-03 7.988754e-03 5.640841e-03 3.562986e-03 + 2.101178e-03 1.201962e-03 +>ZXXI ROT=ZROT //14 + 6.676079e-04 -2.092822e-05 -3.800524e-06 1.273684e-07 1.020531e-06 4.451313e-05 +-2.053192e-03 -7.223826e-03 -1.567702e-03 1.622609e-03 2.475252e-03 2.206928e-03 + 1.594873e-03 1.025183e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866140e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.316968e+01 + 8.365762e+00 6.587741e+00 5.463326e+00 4.265679e+00 3.006409e+00 1.922076e+00 + 1.145232e+00 6.585323e-01 +>ZXYI ROT=ZROT //14 + 3.082329e+02 1.471562e+02 7.805618e+01 4.294173e+01 2.400289e+01 1.271713e+01 + 6.038969e+00 2.968750e+00 2.001433e+00 1.764000e+00 1.574710e+00 1.250310e+00 + 8.792846e-01 5.623981e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866126e+02 -1.241480e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316965e+01 +-8.366062e+00 -6.587942e+00 -5.460642e+00 -4.261803e+00 -3.002989e+00 -1.919643e+00 +-1.143707e+00 -6.576368e-01 +>ZYXI ROT=ZROT //14 +-3.082320e+02 -1.471560e+02 -7.805625e+01 -4.294173e+01 -2.400289e+01 -1.271704e+01 +-6.038982e+00 -2.970633e+00 -2.003596e+00 -1.764481e+00 -1.574010e+00 -1.249235e+00 +-8.783253e-01 -5.617130e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.576739e-03 -1.647370e-04 -2.683665e-06 1.788748e-07 -2.920327e-06 -5.921524e-04 + 4.569285e-03 -5.449097e-03 -1.068864e-02 -9.554840e-03 -6.964162e-03 -4.495172e-03 +-2.684074e-03 -1.544118e-03 +>ZYYI ROT=ZROT //14 + 2.439117e-04 -5.654752e-05 -4.512240e-07 9.302016e-08 -1.246979e-06 -7.732662e-05 + 2.179525e-03 8.224837e-03 2.246785e-03 -1.576605e-03 -2.803194e-03 -2.639096e-03 +-1.968398e-03 -1.289176e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.414779e-02 6.857300e-05 -3.199368e-05 -8.969484e-07 -5.940768e-08 -1.585003e-05 + 2.435655e-04 -8.032790e-05 -1.089966e-03 -1.042265e-03 -7.336996e-04 -4.637940e-04 +-2.746911e-04 -1.576132e-04 +>TXI.EXP //14 +-8.553382e-04 -1.815904e-05 1.859556e-06 1.292355e-06 -2.885382e-08 5.415148e-06 +-4.638571e-05 8.320720e-04 4.564033e-04 -1.381154e-04 -3.020594e-04 -2.796091e-04 +-2.050267e-04 -1.329894e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.294507e-02 -1.276582e-04 1.200993e-05 1.720792e-06 -2.798289e-08 9.355426e-06 +-1.533123e-04 4.182656e-05 6.962084e-04 6.815892e-04 4.855518e-04 3.085452e-04 + 1.831403e-04 1.051613e-04 +>TYI.EXP //14 + 8.685819e-04 2.171449e-05 -1.035666e-06 -1.668838e-06 -5.470318e-09 -4.029169e-06 + 3.521785e-05 -5.306806e-04 -3.065619e-04 7.975612e-05 1.939634e-04 1.832979e-04 + 1.355993e-04 8.838713e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par74.edi b/examples/data/NEConductor/par74.edi new file mode 100644 index 00000000..38ee46fa --- /dev/null +++ b/examples/data/NEConductor/par74.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par74" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par74" +REFLAT=-30:13:02.746 +REFLONG=139:44:19.854 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par74" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.945042e-03 -1.305141e-05 -9.708943e-06 -1.682600e-07 3.320773e-06 6.729976e-04 +-4.819118e-03 6.200215e-03 1.062074e-02 9.017089e-03 6.363467e-03 4.017983e-03 + 2.368729e-03 1.354778e-03 +>ZXXI ROT=ZROT //14 + 6.395778e-04 -3.135611e-05 -3.290635e-06 1.392590e-07 1.897507e-06 1.344945e-04 +-2.735561e-03 -8.080571e-03 -1.627118e-03 1.879368e-03 2.808244e-03 2.495022e-03 + 1.800537e-03 1.156511e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866137e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350538e+01 1.316936e+01 + 8.367684e+00 6.583723e+00 5.457766e+00 4.260712e+00 3.002730e+00 1.919683e+00 + 1.143799e+00 6.577073e-01 +>ZXYI ROT=ZROT //14 + 3.082335e+02 1.471561e+02 7.805618e+01 4.294173e+01 2.400289e+01 1.271653e+01 + 6.041918e+00 2.972333e+00 2.002170e+00 1.763134e+00 1.573246e+00 1.248919e+00 + 8.782405e-01 5.617119e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866039e+02 -1.241472e+02 -7.346920e+01 -4.197589e+01 -2.350538e+01 -1.316941e+01 +-8.367377e+00 -6.584328e+00 -5.457273e+00 -4.259453e+00 -3.001467e+00 -1.918732e+00 +-1.143187e+00 -6.573437e-01 +>ZYXI ROT=ZROT //14 +-3.082252e+02 -1.471555e+02 -7.805625e+01 -4.294173e+01 -2.400289e+01 -1.271646e+01 +-6.041766e+00 -2.972595e+00 -2.003152e+00 -1.763556e+00 -1.573129e+00 -1.248570e+00 +-8.778870e-01 -5.614462e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.156050e-03 -1.563388e-04 -2.494063e-06 1.581110e-07 -3.657517e-06 -7.046796e-04 + 5.015457e-03 -6.429286e-03 -1.145009e-02 -9.971109e-03 -7.172975e-03 -4.591398e-03 +-2.728496e-03 -1.566283e-03 +>ZYYI ROT=ZROT //14 + 2.054269e-04 -5.236163e-05 -4.034636e-07 9.369913e-08 -2.558560e-06 -1.783824e-04 + 2.890285e-03 8.678233e-03 2.013604e-03 -1.858787e-03 -3.007481e-03 -2.758409e-03 +-2.029562e-03 -1.319021e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.274669e-02 -5.546094e-06 -3.292834e-05 -8.095035e-07 -4.480764e-08 -1.530535e-05 + 2.206367e-04 -9.735071e-05 -9.322573e-04 -8.822227e-04 -6.215764e-04 -3.933692e-04 +-2.331122e-04 -1.337936e-04 +>TXI.EXP //14 +-7.134869e-04 -7.463182e-06 3.148322e-06 1.235127e-06 -2.341953e-08 3.867119e-06 +-2.856226e-05 7.165742e-04 3.718370e-04 -1.212834e-04 -2.565148e-04 -2.370509e-04 +-1.738795e-04 -1.128335e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.291349e-02 -1.268264e-04 1.202362e-05 1.718016e-06 -2.350559e-08 1.135543e-05 +-1.684217e-04 6.848777e-05 7.214162e-04 6.852942e-04 4.831827e-04 3.059568e-04 + 1.813767e-04 1.041021e-04 +>TYI.EXP //14 + 8.619507e-04 2.165368e-05 -1.036341e-06 -1.667194e-06 9.580285e-10 -3.163727e-06 + 2.500710e-05 -5.522462e-04 -2.930814e-04 9.273017e-05 1.986989e-04 1.840494e-04 + 1.351434e-04 8.779494e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par76.edi b/examples/data/NEConductor/par76.edi new file mode 100644 index 00000000..d73d2446 --- /dev/null +++ b/examples/data/NEConductor/par76.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par76" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par76" +REFLAT=-30:12:30.2664 +REFLONG=139:44:20.2682 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par76" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.899684e-03 -6.624866e-05 -8.657618e-06 -1.418254e-07 4.863932e-06 8.459333e-04 +-5.481136e-03 7.700311e-03 1.195192e-02 9.846166e-03 6.855533e-03 4.294946e-03 + 2.521028e-03 1.439070e-03 +>ZXXI ROT=ZROT //14 + 5.592874e-04 -5.098281e-05 -2.234529e-06 1.677663e-07 4.790633e-06 3.180394e-04 +-3.857537e-03 -8.885920e-03 -1.360355e-03 2.298793e-03 3.152500e-03 2.728976e-03 + 1.943400e-03 1.238976e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866134e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350538e+01 1.316895e+01 + 8.370251e+00 6.577964e+00 5.449876e+00 4.253650e+00 2.997494e+00 1.916279e+00 + 1.141761e+00 6.565335e-01 +>ZXYI ROT=ZROT //14 + 3.082339e+02 1.471562e+02 7.805618e+01 4.294173e+01 2.400287e+01 1.271559e+01 + 6.046294e+00 2.977312e+00 2.003206e+00 1.761905e+00 1.571164e+00 1.246941e+00 + 8.767553e-01 5.607356e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865892e+02 -1.241460e+02 -7.346916e+01 -4.197590e+01 -2.350538e+01 -1.316913e+01 +-8.368919e+00 -6.579518e+00 -5.452934e+00 -4.256455e+00 -2.999553e+00 -1.917604e+00 +-1.142549e+00 -6.569858e-01 +>ZYXI ROT=ZROT //14 +-3.082144e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400287e+01 -1.271560e+01 +-6.045645e+00 -2.974981e+00 -2.002508e+00 -1.762325e+00 -1.571981e+00 -1.247720e+00 +-8.773360e-01 -5.611148e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.484497e-03 -1.450015e-04 -2.198092e-06 1.274027e-07 -4.751927e-06 -8.441654e-04 + 5.385271e-03 -7.718231e-03 -1.180079e-02 -9.681037e-03 -6.734306e-03 -4.219510e-03 +-2.477351e-03 -1.414346e-03 +>ZYYI ROT=ZROT //14 + 1.398550e-04 -4.615511e-05 -3.079061e-07 9.736021e-08 -4.905887e-06 -3.580796e-04 + 3.956411e-03 8.727822e-03 1.272191e-03 -2.292158e-03 -3.107212e-03 -2.683344e-03 +-1.909947e-03 -1.217619e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.751828e-03 -1.705991e-04 -3.544252e-05 -4.474886e-07 -1.400904e-08 -6.690070e-06 + 9.217823e-05 -5.162006e-05 -3.512110e-04 -3.520307e-04 -2.593017e-04 -1.672978e-04 +-9.988502e-05 -5.751566e-05 +>TXI.EXP //14 +-4.283431e-04 1.593093e-05 6.427859e-06 1.015883e-06 -2.402841e-09 1.723748e-06 +-7.270980e-06 2.760452e-04 1.458823e-04 -3.318030e-05 -9.689583e-05 -9.595033e-05 +-7.253839e-05 -4.777400e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.285669e-02 -1.252646e-04 1.204856e-05 1.713040e-06 -2.223121e-08 1.220658e-05 +-1.612426e-04 8.911761e-05 6.533655e-04 5.923344e-04 4.095198e-04 2.573266e-04 + 1.520984e-04 8.720510e-05 +>TYI.EXP //14 + 8.502070e-04 2.153406e-05 -1.038072e-06 -1.664447e-06 6.828845e-09 -1.106879e-06 + 7.954164e-06 -5.012827e-04 -2.349908e-04 9.812375e-05 1.772785e-04 1.585794e-04 + 1.147859e-04 7.407375e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par77.edi b/examples/data/NEConductor/par77.edi new file mode 100644 index 00000000..1256e466 --- /dev/null +++ b/examples/data/NEConductor/par77.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par77" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par77" +REFLAT=-30:12:14.0266 +REFLONG=139:44:20.4753 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par77" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.314062e-03 -9.162851e-05 -8.056742e-06 -1.329814e-07 5.277022e-06 8.636677e-04 +-5.423195e-03 7.894080e-03 1.165095e-02 9.343595e-03 6.407962e-03 3.978246e-03 + 2.323464e-03 1.323321e-03 +>ZXXI ROT=ZROT //14 + 5.116705e-04 -5.989436e-05 -1.682016e-06 1.806214e-07 5.741379e-06 3.680503e-04 +-4.079879e-03 -8.605369e-03 -1.007722e-03 2.392616e-03 3.068687e-03 2.590084e-03 + 1.818849e-03 1.150162e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866132e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350538e+01 1.316890e+01 + 8.370445e+00 6.577423e+00 5.449275e+00 4.253149e+00 2.997138e+00 1.916053e+00 + 1.141628e+00 6.564575e-01 +>ZXYI ROT=ZROT //14 + 3.082340e+02 1.471562e+02 7.805618e+01 4.294173e+01 2.400287e+01 1.271549e+01 + 6.046770e+00 2.977643e+00 2.003226e+00 1.761784e+00 1.571003e+00 1.246800e+00 + 8.766539e-01 5.606706e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865826e+02 -1.241458e+02 -7.346917e+01 -4.197590e+01 -2.350539e+01 -1.316909e+01 +-8.369034e+00 -6.579122e+00 -5.452632e+00 -4.256243e+00 -2.999429e+00 -1.917540e+00 +-1.142517e+00 -6.569692e-01 +>ZYXI ROT=ZROT //14 +-3.082103e+02 -1.471550e+02 -7.805628e+01 -4.294174e+01 -2.400287e+01 -1.271552e+01 +-6.046010e+00 -2.975109e+00 -2.002449e+00 -1.762228e+00 -1.571891e+00 -1.247659e+00 +-8.773007e-01 -5.610960e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.235053e-03 -1.420715e-04 -2.084116e-06 1.177720e-07 -4.569415e-06 -8.558893e-04 + 5.297093e-03 -7.849454e-03 -1.134904e-02 -9.018150e-03 -6.149817e-03 -3.804206e-03 +-2.217265e-03 -1.261662e-03 +>ZYYI ROT=ZROT //14 + 1.186674e-04 -4.412239e-05 -2.612348e-07 1.011136e-07 -5.778656e-06 -3.918963e-04 + 4.125559e-03 8.345569e-03 8.669044e-04 -2.384323e-03 -2.989957e-03 -2.500325e-03 +-1.746371e-03 -1.100787e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.171441e-03 -2.575603e-04 -3.659901e-05 -2.036830e-07 -3.568838e-09 8.835644e-08 + 2.717421e-06 -2.527169e-06 1.485242e-05 -2.470721e-05 -3.568887e-05 -2.755800e-05 +-1.746582e-05 -1.031079e-05 +>TXI.EXP //14 +-2.841550e-04 2.807766e-05 8.185831e-06 8.680128e-07 2.129633e-08 1.037219e-06 +-2.645168e-06 -4.125492e-06 1.651756e-05 2.484096e-05 2.440836e-06 -8.626310e-06 +-9.857857e-06 -7.525984e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.283083e-02 -1.245125e-04 1.206008e-05 1.710981e-06 -2.926429e-08 1.064379e-05 +-1.371095e-04 7.813105e-05 5.569371e-04 4.954335e-04 3.388025e-04 2.118483e-04 + 1.249650e-04 7.159654e-05 +>TYI.EXP //14 + 8.449840e-04 2.147297e-05 -1.039156e-06 -1.663494e-06 8.552928e-09 -5.061711e-07 + 4.607694e-06 -4.268196e-04 -1.928034e-04 8.867055e-05 1.504707e-04 1.323132e-04 + 9.501912e-05 6.108460e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par78.edi b/examples/data/NEConductor/par78.edi new file mode 100644 index 00000000..0763d10d --- /dev/null +++ b/examples/data/NEConductor/par78.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par78" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par78" +REFLAT=-30:11:57.7867 +REFLONG=139:44:20.6823 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par78" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.694870e-03 -1.159271e-04 -7.405264e-06 -1.211805e-07 5.342916e-06 8.288549e-04 +-5.089478e-03 7.627124e-03 1.064684e-02 8.208491e-03 5.492929e-03 3.358223e-03 + 1.944516e-03 1.103184e-03 +>ZXXI ROT=ZROT //14 + 4.617691e-04 -6.807406e-05 -1.111508e-06 1.904440e-07 5.757990e-06 3.691902e-04 +-3.993213e-03 -7.845822e-03 -5.403871e-04 2.381020e-03 2.799431e-03 2.274659e-03 + 1.561887e-03 9.744083e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866131e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350538e+01 1.316895e+01 + 8.369800e+00 6.578743e+00 5.451337e+00 4.255065e+00 2.998587e+00 1.917007e+00 + 1.142203e+00 6.567897e-01 +>ZXYI ROT=ZROT //14 + 3.082340e+02 1.471562e+02 7.805618e+01 4.294173e+01 2.400287e+01 1.271568e+01 + 6.045856e+00 2.976272e+00 2.002845e+00 1.762054e+00 1.571544e+00 1.247336e+00 + 8.770643e-01 5.609434e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865761e+02 -1.241457e+02 -7.346922e+01 -4.197590e+01 -2.350538e+01 -1.316912e+01 +-8.368690e+00 -6.580235e+00 -5.453712e+00 -4.256982e+00 -2.999917e+00 -1.917841e+00 +-1.142693e+00 -6.570697e-01 +>ZYXI ROT=ZROT //14 +-3.082068e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400287e+01 -1.271571e+01 +-6.045155e+00 -2.974475e+00 -2.002594e+00 -1.762520e+00 -1.572160e+00 -1.247866e+00 +-8.774418e-01 -5.611842e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.047288e-03 -1.410116e-04 -1.985547e-06 1.069288e-07 -5.456255e-06 -8.291021e-04 + 5.065457e-03 -7.615194e-03 -1.058098e-02 -8.154818e-03 -5.449543e-03 -3.326730e-03 +-1.924325e-03 -1.091189e-03 +>ZYYI ROT=ZROT //14 + 1.094074e-04 -4.280762e-05 -2.146788e-07 1.056063e-07 -5.598119e-06 -3.716631e-04 + 4.002377e-03 7.787119e-03 5.245574e-04 -2.374302e-03 -2.787096e-03 -2.260357e-03 +-1.549375e-03 -9.654013e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.542112e-03 -3.446532e-04 -3.735045e-05 5.620496e-08 2.242906e-08 6.646339e-06 +-8.410167e-05 4.396141e-05 3.685407e-04 2.970133e-04 1.864974e-04 1.119660e-04 + 6.498765e-05 3.694890e-05 +>TXI.EXP //14 +-1.381938e-04 4.015234e-05 9.851659e-06 7.042786e-07 4.983339e-08 1.109486e-07 + 2.764380e-06 -2.753435e-04 -1.124504e-04 7.783717e-05 9.872241e-05 7.743355e-05 + 5.239412e-05 3.260272e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.280624e-02 -1.237646e-04 1.207107e-05 1.709186e-06 -4.046730e-08 8.153043e-06 +-1.039287e-04 5.719022e-05 4.329612e-04 3.770281e-04 2.539078e-04 1.575971e-04 + 9.267269e-05 5.303611e-05 +>TYI.EXP //14 + 8.401210e-04 2.140947e-05 -1.040404e-06 -1.662806e-06 1.127201e-08 -2.249988e-07 + 4.091114e-06 -3.307917e-04 -1.456003e-04 7.346311e-05 1.166070e-04 1.002901e-04 + 7.123411e-05 4.554713e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par79.edi b/examples/data/NEConductor/par79.edi new file mode 100644 index 00000000..ebdcdc8b --- /dev/null +++ b/examples/data/NEConductor/par79.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par79" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par79" +REFLAT=-30:11:41.5468 +REFLONG=139:44:20.8893 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par79" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.048962e-03 -1.389270e-04 -6.702300e-06 -1.041481e-07 5.207902e-06 7.492772e-04 +-4.535400e-03 6.958112e-03 9.090842e-03 6.603649e-03 4.240150e-03 2.522298e-03 + 1.437463e-03 8.095704e-04 +>ZXXI ROT=ZROT //14 + 4.111454e-04 -7.544692e-05 -5.236860e-07 1.967600e-07 4.644196e-06 3.234803e-04 +-3.625741e-03 -6.719326e-03 -1.627333e-05 2.270435e-03 2.384949e-03 1.828078e-03 + 1.209023e-03 7.365403e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866129e+02 1.241417e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.316913e+01 + 8.368427e+00 6.581610e+00 5.455594e+00 4.258964e+00 3.001512e+00 1.918923e+00 + 1.143354e+00 6.574540e-01 +>ZXYI ROT=ZROT //14 + 3.082340e+02 1.471562e+02 7.805617e+01 4.294173e+01 2.400288e+01 1.271612e+01 + 6.043798e+00 2.973490e+00 2.002143e+00 1.762653e+00 1.572662e+00 1.248426e+00 + 8.778931e-01 5.614919e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865698e+02 -1.241459e+02 -7.346928e+01 -4.197590e+01 -2.350538e+01 -1.316924e+01 +-8.367917e+00 -6.582635e+00 -5.455977e+00 -4.258553e+00 -3.000942e+00 -1.918463e+00 +-1.143052e+00 -6.572730e-01 +>ZYXI ROT=ZROT //14 +-3.082040e+02 -1.471555e+02 -7.805633e+01 -4.294174e+01 -2.400288e+01 -1.271614e+01 +-6.043272e+00 -2.973174e+00 -2.002897e+00 -1.763139e+00 -1.572743e+00 -1.248309e+00 +-8.777378e-01 -5.613665e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.923654e-03 -1.419053e-04 -1.899483e-06 9.484749e-08 -4.520684e-06 -7.684618e-04 + 4.728668e-03 -7.071161e-03 -9.617980e-03 -7.216748e-03 -4.732956e-03 -2.854183e-03 +-1.639489e-03 -9.267109e-04 +>ZYYI ROT=ZROT //14 + 1.150302e-04 -4.223413e-05 -1.687114e-07 1.112823e-07 -3.788297e-06 -3.052672e-04 + 3.622062e-03 7.137358e-03 2.848522e-04 -2.269973e-03 -2.530361e-03 -1.998452e-03 +-1.347033e-03 -8.305496e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.867368e-03 -4.296246e-04 -3.742265e-05 3.104539e-07 4.558381e-08 1.156005e-05 +-1.539814e-04 7.318953e-05 6.653067e-04 5.782035e-04 3.843520e-04 2.371376e-04 + 1.391705e-04 7.951329e-05 +>TXI.EXP //14 + 1.011115e-05 5.186307e-05 1.129080e-05 5.328598e-07 5.638376e-08 -1.309278e-06 + 1.234850e-05 -5.026239e-04 -2.321675e-04 1.165149e-04 1.804899e-04 1.529132e-04 + 1.077317e-04 6.850372e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.278258e-02 -1.230090e-04 1.208160e-05 1.707548e-06 -4.497075e-08 5.394665e-06 +-6.815109e-05 3.354748e-05 3.001406e-04 2.523263e-04 1.651549e-04 1.010507e-04 + 5.905414e-05 3.372210e-05 +>TYI.EXP //14 + 8.355665e-04 2.134229e-05 -1.041827e-06 -1.662296e-06 8.191074e-09 -4.178708e-08 + 4.186340e-06 -2.277382e-04 -9.709647e-05 5.610188e-05 8.051148e-05 6.660764e-05 + 4.635283e-05 2.933547e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par80.edi b/examples/data/NEConductor/par80.edi new file mode 100644 index 00000000..cbdd3182 --- /dev/null +++ b/examples/data/NEConductor/par80.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par80" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par80" +REFLAT=-30:14:07.8849 +REFLONG=139:44:37.7276 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par80" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.057555e-02 1.051642e-04 -1.571282e-05 -3.211215e-07 3.991308e-07 2.129791e-04 +-2.497182e-03 2.321556e-03 6.347388e-03 5.865329e-03 4.271986e-03 2.753676e-03 + 1.643676e-03 9.455417e-04 +>ZXXI ROT=ZROT //14 + 1.090429e-03 6.081691e-06 -6.799976e-06 1.717765e-07 2.581299e-07 -9.390861e-05 +-3.742577e-04 -5.100045e-03 -1.799942e-03 8.355458e-04 1.687008e-03 1.608276e-03 + 1.202930e-03 7.886460e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866277e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317076e+01 + 8.359859e+00 6.599037e+00 5.477682e+00 4.277827e+00 3.015187e+00 1.927699e+00 + 1.148570e+00 6.604475e-01 +>ZXYI ROT=ZROT //14 + 3.082349e+02 1.471565e+02 7.805615e+01 4.294173e+01 2.400291e+01 1.271845e+01 + 6.031208e+00 2.959237e+00 2.000328e+00 1.766606e+00 1.578475e+00 1.253717e+00 + 8.817801e-01 5.640157e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866489e+02 -1.241516e+02 -7.346944e+01 -4.197589e+01 -2.350537e+01 -1.317067e+01 +-8.360700e+00 -6.599446e+00 -5.472452e+00 -4.270488e+00 -3.008830e+00 -1.923225e+00 +-1.145782e+00 -6.588139e-01 +>ZYXI ROT=ZROT //14 +-3.082600e+02 -1.471582e+02 -7.805621e+01 -4.294172e+01 -2.400291e+01 -1.271842e+01 +-6.031060e+00 -2.962984e+00 -2.004424e+00 -1.767387e+00 -1.577077e+00 -1.251685e+00 +-8.799997e-01 -5.627553e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.278796e-03 -2.209015e-04 -3.848485e-06 2.254563e-07 -7.336118e-07 -2.474339e-04 + 2.843600e-03 -2.338669e-03 -8.058051e-03 -8.068029e-03 -6.171228e-03 -4.100597e-03 +-2.488262e-03 -1.441849e-03 +>ZYYI ROT=ZROT //14 + 3.736452e-04 -8.150903e-05 -6.587413e-07 1.281606e-07 2.930654e-07 9.122661e-05 + 3.299999e-04 6.395711e-03 2.930168e-03 -6.639670e-04 -2.113587e-03 -2.214829e-03 +-1.737217e-03 -1.169050e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.788892e-02 2.366289e-04 -3.195563e-05 -7.146980e-07 -1.670876e-08 -7.135531e-06 + 1.721054e-04 7.541212e-05 -1.057307e-03 -1.123052e-03 -8.111916e-04 -5.161779e-04 +-3.062868e-04 -1.758405e-04 +>TXI.EXP //14 +-1.288537e-03 -4.285020e-05 4.559265e-07 1.178567e-06 2.403993e-08 7.535616e-06 +-9.318344e-05 7.751709e-04 5.850570e-04 -8.478937e-05 -3.081382e-04 -3.017522e-04 +-2.253426e-04 -1.472749e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.439992e-02 -2.224573e-04 1.123923e-05 1.869852e-06 -3.079192e-08 3.478971e-06 +-9.929656e-05 -5.666507e-05 6.340590e-04 6.970585e-04 5.114251e-04 3.274962e-04 + 1.948152e-04 1.119409e-04 +>TYI.EXP //14 + 1.061340e-03 3.418837e-05 -5.419204e-07 -1.701867e-06 -1.711933e-08 -4.712190e-06 + 6.142767e-05 -4.643063e-04 -3.715656e-04 3.847762e-05 1.866058e-04 1.880173e-04 + 1.419643e-04 9.331074e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par81.edi b/examples/data/NEConductor/par81.edi new file mode 100644 index 00000000..d79eed05 --- /dev/null +++ b/examples/data/NEConductor/par81.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par81" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par81" +REFLAT=-30:13:51.6451 +REFLONG=139:44:37.9341 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par81" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.019152e-02 6.664803e-05 -1.519388e-05 -3.035619e-07 5.914655e-07 3.065595e-04 +-3.098753e-03 3.104847e-03 7.601962e-03 6.988633e-03 5.101239e-03 3.290209e-03 + 1.963738e-03 1.129503e-03 +>ZXXI ROT=ZROT //14 + 1.104414e-03 -6.772214e-06 -6.216994e-06 1.822674e-07 2.433235e-07 -7.834916e-05 +-7.581950e-04 -6.038153e-03 -2.014166e-03 1.019976e-03 2.016518e-03 1.922041e-03 + 1.437629e-03 9.423597e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866263e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317045e+01 + 8.361516e+00 6.596302e+00 5.473890e+00 4.274511e+00 3.012753e+00 1.926127e+00 + 1.147632e+00 6.599085e-01 +>ZXYI ROT=ZROT //14 + 3.082376e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400291e+01 1.271821e+01 + 6.032929e+00 2.961868e+00 2.000787e+00 1.765989e+00 1.577481e+00 1.252788e+00 + 8.810896e-01 5.635645e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866341e+02 -1.241502e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317038e+01 +-8.362210e+00 -6.596542e+00 -5.469534e+00 -4.268433e+00 -3.007479e+00 -1.922408e+00 +-1.145313e+00 -6.585488e-01 +>ZYXI ROT=ZROT //14 +-3.082495e+02 -1.471574e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271816e+01 +-6.032887e+00 -2.964983e+00 -2.004130e+00 -1.766629e+00 -1.576326e+00 -1.251105e+00 +-8.796114e-01 -5.625167e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.650273e-03 -2.047956e-04 -3.524183e-06 2.054533e-07 -1.246022e-06 -3.466213e-04 + 3.443286e-03 -3.217452e-03 -9.174367e-03 -8.957745e-03 -6.791611e-03 -4.487918e-03 +-2.714576e-03 -1.570688e-03 +>ZYYI ROT=ZROT //14 + 3.404232e-04 -7.414377e-05 -6.097680e-07 1.236981e-07 1.237797e-07 6.465778e-05 + 7.773517e-04 7.226808e-03 2.978012e-03 -8.924586e-04 -2.405394e-03 -2.464607e-03 +-1.913703e-03 -1.280879e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.675876e-02 1.912037e-04 -3.155060e-05 -8.474647e-07 -3.331442e-08 -9.954534e-06 + 2.035723e-04 2.815146e-05 -1.115208e-03 -1.144293e-03 -8.201587e-04 -5.209878e-04 +-3.090173e-04 -1.773886e-04 +>TXI.EXP //14 +-1.145499e-03 -3.614441e-05 4.692206e-07 1.270912e-06 1.695408e-08 7.777228e-06 +-8.568578e-05 8.311218e-04 5.669710e-04 -1.066631e-04 -3.193063e-04 -3.072888e-04 +-2.282642e-04 -1.488710e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.435906e-02 -2.213342e-04 1.125888e-05 1.866321e-06 -2.505766e-08 5.734170e-06 +-1.302807e-04 -2.940798e-05 7.328049e-04 7.722381e-04 5.604054e-04 3.578294e-04 + 2.126854e-04 1.221759e-04 +>TYI.EXP //14 + 1.052430e-03 3.410834e-05 -5.428401e-07 -1.700008e-06 -1.206615e-08 -5.425796e-06 + 6.200346e-05 -5.454152e-04 -3.910431e-04 5.942649e-05 2.113293e-04 2.079691e-04 + 1.558719e-04 1.021386e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par810.edi b/examples/data/NEConductor/par810.edi new file mode 100644 index 00000000..d9aca1c7 --- /dev/null +++ b/examples/data/NEConductor/par810.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par810" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par810" +REFLAT=-30:11:25.4863 +REFLONG=139:44:39.7904 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par810" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 3.444825e-03 -2.415749e-04 -7.877697e-06 -1.334046e-07 3.504230e-06 5.720389e-04 +-3.420305e-03 5.499453e-03 5.896910e-03 3.328256e-03 1.690805e-03 8.241553e-04 + 4.083484e-04 2.138946e-04 +>ZXXI ROT=ZROT //14 + 6.376909e-04 -1.141621e-04 -7.848896e-08 2.791270e-07 1.260646e-06 1.923734e-04 +-2.731974e-03 -4.460292e-03 1.018585e-03 2.026106e-03 1.531798e-03 9.160942e-04 + 4.907477e-04 2.531358e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866233e+02 1.241428e+02 7.346933e+01 4.197589e+01 2.350537e+01 1.316954e+01 + 8.365834e+00 6.587301e+00 5.462937e+00 4.265245e+00 3.006079e+00 1.921865e+00 + 1.145107e+00 6.584613e-01 +>ZXYI ROT=ZROT //14 + 3.082415e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400289e+01 1.271698e+01 + 6.039654e+00 2.968776e+00 2.001513e+00 1.763953e+00 1.574586e+00 1.250186e+00 + 8.791919e-01 5.623379e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865623e+02 -1.241464e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.316960e+01 +-8.365582e+00 -6.587989e+00 -5.462546e+00 -4.264035e+00 -3.004887e+00 -1.920989e+00 +-1.144552e+00 -6.581337e-01 +>ZYXI ROT=ZROT //14 +-3.082026e+02 -1.471560e+02 -7.805637e+01 -4.294174e+01 -2.400289e+01 -1.271696e+01 +-6.039346e+00 -2.969004e+00 -2.002528e+00 -1.764382e+00 -1.574460e+00 -1.249847e+00 +-8.788608e-01 -5.620939e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.623475e-03 -1.486493e-04 -2.134723e-06 4.976041e-08 -3.827754e-06 -5.977128e-04 + 3.653124e-03 -5.682347e-03 -6.556247e-03 -4.075960e-03 -2.285909e-03 -1.223037e-03 +-6.506001e-04 -3.542200e-04 +>ZYYI ROT=ZROT //14 + 1.337525e-04 -4.414776e-05 -1.195336e-07 1.624683e-07 -2.572456e-06 -1.849751e-04 + 2.782147e-03 4.963836e-03 -7.101357e-04 -2.038669e-03 -1.713937e-03 -1.123930e-03 +-6.575415e-04 -3.662499e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.165327e-03 -5.114506e-04 -3.659557e-05 5.370909e-07 7.711336e-08 1.107088e-05 +-1.591855e-04 5.261156e-05 7.299700e-04 6.610336e-04 4.479411e-04 2.785060e-04 + 1.639233e-04 9.376424e-05 +>TXI.EXP //14 + 1.630783e-04 6.302132e-05 1.238159e-05 3.651671e-07 3.511590e-08 -2.777143e-06 + 2.597446e-05 -5.494688e-04 -2.837482e-04 1.145164e-04 2.006697e-04 1.754090e-04 + 1.252907e-04 8.020680e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.410536e-02 -2.135114e-04 1.138777e-05 1.845394e-06 -3.050256e-08 6.946303e-06 +-9.631282e-05 3.169647e-05 4.468455e-04 3.997957e-04 2.697836e-04 1.673112e-04 + 9.832421e-05 5.625328e-05 +>TYI.EXP //14 + 9.990550e-04 3.348770e-05 -5.558544e-07 -1.690720e-06 3.905620e-09 -1.371514e-06 + 1.535969e-05 -3.371726e-04 -1.692602e-04 7.182098e-05 1.222262e-04 1.060791e-04 + 7.549665e-05 4.829144e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par82.edi b/examples/data/NEConductor/par82.edi new file mode 100644 index 00000000..635b6973 --- /dev/null +++ b/examples/data/NEConductor/par82.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par82" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par82" +REFLAT=-30:13:35.4053 +REFLONG=139:44:38.1406 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par82" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 9.713624e-03 2.880303e-05 -1.463230e-05 -2.841880e-07 1.010185e-06 4.174950e-04 +-3.739667e-03 4.015801e-03 8.928490e-03 8.138052e-03 5.937461e-03 3.827004e-03 + 2.282632e-03 1.312461e-03 +>ZXXI ROT=ZROT //14 + 1.101025e-03 -2.022344e-05 -5.617124e-06 1.928640e-07 3.104995e-07 -4.195901e-05 +-1.257956e-03 -7.003753e-03 -2.184644e-03 1.239173e-03 2.364485e-03 2.243477e-03 + 1.674712e-03 1.096482e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866254e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317012e+01 + 8.363351e+00 6.593084e+00 5.469385e+00 4.270518e+00 3.009806e+00 1.924216e+00 + 1.146490e+00 6.592514e-01 +>ZXYI ROT=ZROT //14 + 3.082393e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400290e+01 1.271787e+01 + 6.035072e+00 2.964922e+00 2.001379e+00 1.765281e+00 1.576298e+00 1.251671e+00 + 8.802537e-01 5.630164e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866219e+02 -1.241490e+02 -7.346931e+01 -4.197588e+01 -2.350537e+01 -1.317007e+01 +-8.363719e+00 -6.593317e+00 -5.466450e+00 -4.266305e+00 -3.006102e+00 -1.921585e+00 +-1.144843e+00 -6.582842e-01 +>ZYXI ROT=ZROT //14 +-3.082404e+02 -1.471567e+02 -7.805624e+01 -4.294173e+01 -2.400290e+01 -1.271779e+01 +-6.035083e+00 -2.966984e+00 -2.003736e+00 -1.765790e+00 -1.575529e+00 -1.250503e+00 +-8.792148e-01 -5.622755e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.085399e-03 -1.907908e-04 -3.241003e-06 1.858746e-07 -1.931723e-06 -4.588461e-04 + 4.034021e-03 -4.192939e-03 -1.022382e-02 -9.722551e-03 -7.295446e-03 -4.790135e-03 +-2.886883e-03 -1.667647e-03 +>ZYYI ROT=ZROT //14 + 3.006603e-04 -6.765546e-05 -5.562921e-07 1.212509e-07 -3.008543e-07 1.348309e-05 + 1.346049e-03 7.969752e-03 2.921062e-03 -1.154011e-03 -2.681210e-03 -2.680368e-03 +-2.057726e-03 -1.368896e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.552145e-02 1.346508e-04 -3.159267e-05 -9.111480e-07 -4.942263e-08 -1.253140e-05 + 2.259586e-04 -1.891878e-05 -1.126193e-03 -1.123877e-03 -8.008953e-04 -5.081684e-04 +-3.013456e-04 -1.729772e-04 +>TXI.EXP //14 +-1.002659e-03 -2.780612e-05 9.571340e-07 1.308662e-06 6.748512e-09 7.375563e-06 +-7.254462e-05 8.498635e-04 5.305064e-04 -1.212073e-04 -3.178941e-04 -3.018033e-04 +-2.232774e-04 -1.453877e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.432166e-02 -2.202935e-04 1.127709e-05 1.863094e-06 -1.970944e-08 8.538618e-06 +-1.634544e-04 4.306482e-06 8.297023e-04 8.419417e-04 6.045525e-04 3.848484e-04 + 2.285308e-04 1.312358e-04 +>TYI.EXP //14 + 1.044284e-03 3.403364e-05 -5.438252e-07 -1.698318e-06 -4.818326e-09 -5.765234e-06 + 5.846955e-05 -6.248764e-04 -4.047462e-04 8.208933e-05 2.352350e-04 2.264271e-04 + 1.684642e-04 1.100449e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par83.edi b/examples/data/NEConductor/par83.edi new file mode 100644 index 00000000..fe7b4a85 --- /dev/null +++ b/examples/data/NEConductor/par83.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par83" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par83" +REFLAT=-30:13:19.1654 +REFLONG=139:44:38.347 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par83" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 9.149325e-03 -8.424514e-06 -1.401809e-05 -2.636335e-07 1.643787e-06 5.377443e-04 +-4.364997e-03 5.000357e-03 1.020392e-02 9.185589e-03 6.680126e-03 4.296904e-03 + 2.559625e-03 1.470834e-03 +>ZXXI ROT=ZROT //14 + 1.080045e-03 -3.389585e-05 -5.000005e-06 2.043048e-07 6.852563e-07 1.750216e-05 +-1.851542e-03 -7.903239e-03 -2.269342e-03 1.485327e-03 2.698147e-03 2.536873e-03 + 1.885875e-03 1.231917e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866249e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.316979e+01 + 8.365256e+00 6.589529e+00 5.464386e+00 4.266050e+00 3.006495e+00 1.922064e+00 + 1.145203e+00 6.585100e-01 +>ZXYI ROT=ZROT //14 + 3.082404e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400290e+01 1.271743e+01 + 6.037545e+00 2.968243e+00 2.002068e+00 1.764513e+00 1.574983e+00 1.250420e+00 + 8.793147e-01 5.623994e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866118e+02 -1.241480e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.316979e+01 +-8.365119e+00 -6.589965e+00 -5.463382e+00 -4.264233e+00 -3.004783e+00 -1.920806e+00 +-1.144402e+00 -6.580368e-01 +>ZYXI ROT=ZROT //14 +-3.082326e+02 -1.471560e+02 -7.805625e+01 -4.294173e+01 -2.400290e+01 -1.271734e+01 +-6.037515e+00 -2.968866e+00 -2.003263e+00 -1.764918e+00 -1.574732e+00 -1.249916e+00 +-8.788344e-01 -5.620467e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.579459e-03 -1.788031e-04 -2.996097e-06 1.661588e-07 -2.717027e-06 -5.734298e-04 + 4.551692e-03 -5.190742e-03 -1.107367e-02 -1.023105e-02 -7.581002e-03 -4.939736e-03 +-2.964373e-03 -1.709132e-03 +>ZYYI ROT=ZROT //14 + 2.582881e-04 -6.199793e-05 -5.007257e-07 1.207459e-07 -1.095523e-06 -6.248299e-05 + 1.999410e-03 8.526260e-03 2.724225e-03 -1.436246e-03 -2.905939e-03 -2.825348e-03 +-2.140573e-03 -1.413861e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.419393e-02 6.839541e-05 -3.210832e-05 -8.985066e-07 -6.193212e-08 -1.415004e-05 + 2.319002e-04 -5.739798e-05 -1.070752e-03 -1.047687e-03 -7.444645e-04 -4.722858e-04 +-2.800983e-04 -1.607952e-04 +>TXI.EXP //14 +-8.599749e-04 -1.813517e-05 1.880523e-06 1.295905e-06 -1.494127e-08 6.380340e-06 +-5.570420e-05 8.156986e-04 4.733618e-04 -1.237868e-04 -2.990058e-04 -2.815354e-04 +-2.078356e-04 -1.352350e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.428732e-02 -2.193229e-04 1.129400e-05 1.860142e-06 -1.485713e-08 1.160503e-05 +-1.950798e-04 4.125879e-05 9.140387e-04 8.975168e-04 6.380478e-04 4.049134e-04 + 2.402004e-04 1.378874e-04 +>TYI.EXP //14 + 1.036830e-03 3.396305e-05 -5.448857e-07 -1.696773e-06 3.820511e-09 -5.572469e-06 + 5.081727e-05 -6.939247e-04 -4.102615e-04 1.044165e-04 2.555777e-04 2.410743e-04 + 1.780952e-04 1.159755e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par84.edi b/examples/data/NEConductor/par84.edi new file mode 100644 index 00000000..5c94ad24 --- /dev/null +++ b/examples/data/NEConductor/par84.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par84" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par84" +REFLAT=-30:13:02.9256 +REFLONG=139:44:38.5533 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par84" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 8.506315e-03 -4.504158e-05 -1.334359e-05 -2.420819e-07 2.379177e-06 6.535290e-04 +-4.898882e-03 5.960544e-03 1.124913e-02 9.955462e-03 7.194086e-03 4.610474e-03 + 2.740715e-03 1.573415e-03 +>ZXXI ROT=ZROT //14 + 1.042673e-03 -4.744210e-05 -4.363624e-06 2.164859e-07 1.020560e-06 9.575330e-05 +-2.482364e-03 -8.607944e-03 -2.221522e-03 1.740529e-03 2.970049e-03 2.753143e-03 + 2.032968e-03 1.323162e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866245e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.316948e+01 + 8.367057e+00 6.585956e+00 5.459378e+00 4.261553e+00 3.003156e+00 1.919891e+00 + 1.143901e+00 6.577606e-01 +>ZXYI ROT=ZROT //14 + 3.082410e+02 1.471566e+02 7.805616e+01 4.294173e+01 2.400289e+01 1.271693e+01 + 6.040118e+00 2.971511e+00 2.002767e+00 1.763748e+00 1.573663e+00 1.249161e+00 + 8.783677e-01 5.617766e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866030e+02 -1.241471e+02 -7.346921e+01 -4.197589e+01 -2.350537e+01 -1.316955e+01 +-8.366296e+00 -6.586797e+00 -5.460594e+00 -4.262391e+00 -3.003634e+00 -1.920138e+00 +-1.144027e+00 -6.578276e-01 +>ZYXI ROT=ZROT //14 +-3.082258e+02 -1.471555e+02 -7.805626e+01 -4.294173e+01 -2.400289e+01 -1.271686e+01 +-6.039933e+00 -2.970484e+00 -2.002761e+00 -1.764092e+00 -1.574004e+00 -1.249394e+00 +-8.785024e-01 -5.618497e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.130281e-03 -1.687761e-04 -2.786224e-06 1.458621e-07 -3.491687e-06 -6.757224e-04 + 4.927113e-03 -6.102164e-03 -1.157362e-02 -1.034623e-02 -7.546254e-03 -4.870520e-03 +-2.907516e-03 -1.672415e-03 +>ZYYI ROT=ZROT //14 + 2.162611e-04 -5.714005e-05 -4.442769e-07 1.220426e-07 -2.181637e-06 -1.550009e-04 + 2.664190e-03 8.795296e-03 2.364689e-03 -1.717203e-03 -3.039543e-03 -2.861077e-03 +-2.133352e-03 -1.396820e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.278926e-02 -5.914005e-06 -3.303576e-05 -8.108578e-07 -4.798856e-08 -1.405005e-05 + 2.149556e-04 -7.856850e-05 -9.337298e-04 -9.051404e-04 -6.441943e-04 -4.092853e-04 +-2.429079e-04 -1.394916e-04 +>TXI.EXP //14 +-7.172504e-04 -7.422647e-06 3.168536e-06 1.238669e-06 -1.676761e-08 5.041854e-06 +-3.833752e-05 7.166857e-04 3.948213e-04 -1.105888e-04 -2.588781e-04 -2.436449e-04 +-1.800277e-04 -1.172229e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.425569e-02 -2.184106e-04 1.130974e-05 1.857425e-06 -9.705626e-09 1.441410e-05 +-2.200306e-04 7.596474e-05 9.719443e-04 9.283973e-04 6.539971e-04 4.137699e-04 + 2.451941e-04 1.407006e-04 +>TYI.EXP //14 + 1.030004e-03 3.389543e-05 -5.460378e-07 -1.695340e-06 1.305122e-08 -4.844823e-06 + 4.030611e-05 -7.415227e-04 -4.053750e-04 1.233844e-04 2.688381e-04 2.490867e-04 + 1.828068e-04 1.186924e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par86.edi b/examples/data/NEConductor/par86.edi new file mode 100644 index 00000000..b8a95358 --- /dev/null +++ b/examples/data/NEConductor/par86.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par86" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par86" +REFLAT=-30:12:30.4459 +REFLONG=139:44:38.9659 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par86" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 7.014729e-03 -1.160090e-04 -1.179460e-05 -2.068727e-07 4.145586e-06 8.028091e-04 +-5.366297e-03 7.265951e-03 1.183837e-02 9.927412e-03 6.988903e-03 4.412084e-03 + 2.601453e-03 1.488062e-03 +>ZXXI ROT=ZROT //14 + 9.299763e-04 -7.307943e-05 -3.024506e-06 2.458495e-07 2.556184e-06 2.523755e-04 +-3.483440e-03 -8.884929e-03 -1.595584e-03 2.160224e-03 3.115364e-03 2.749011e-03 + 1.979963e-03 1.270944e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866241e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350538e+01 1.316907e+01 + 8.369414e+00 6.580837e+00 5.452404e+00 4.255326e+00 2.998547e+00 1.916897e+00 + 1.142110e+00 6.567294e-01 +>ZXYI ROT=ZROT //14 + 3.082415e+02 1.471566e+02 7.805616e+01 4.294173e+01 2.400288e+01 1.271612e+01 + 6.043977e+00 2.975935e+00 2.003665e+00 1.762653e+00 1.571822e+00 1.247416e+00 + 8.770599e-01 5.609178e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865881e+02 -1.241460e+02 -7.346915e+01 -4.197590e+01 -2.350538e+01 -1.316928e+01 +-8.367629e+00 -6.582575e+00 -5.457129e+00 -4.260194e+00 -3.002323e+00 -1.919406e+00 +-1.143628e+00 -6.576077e-01 +>ZYXI ROT=ZROT //14 +-3.082151e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400288e+01 -1.271611e+01 +-6.043355e+00 -2.972328e+00 -2.001974e+00 -1.762985e+00 -1.573085e+00 -1.248767e+00 +-8.781221e-01 -5.616317e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.395026e-03 -1.544475e-04 -2.464740e-06 1.099691e-07 -4.580895e-06 -7.888707e-04 + 5.073315e-03 -7.196914e-03 -1.111943e-02 -9.121502e-03 -6.345503e-03 -3.978400e-03 +-2.337068e-03 -1.334637e-03 +>ZYYI ROT=ZROT //14 + 1.444155e-04 -4.974526e-05 -3.336021e-07 1.274643e-07 -4.179784e-06 -3.162818e-04 + 3.629097e-03 8.259160e-03 1.224306e-03 -2.155040e-03 -2.923985e-03 -2.526505e-03 +-1.799697e-03 -1.148057e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.786199e-03 -1.713327e-04 -3.553387e-05 -4.482574e-07 -1.648672e-08 -7.384360e-06 + 1.071716e-04 -5.315481e-05 -4.192413e-04 -4.264213e-04 -3.151198e-04 -2.035428e-04 +-1.215852e-04 -7.001448e-05 +>TXI.EXP //14 +-4.303097e-04 1.600342e-05 6.446245e-06 1.019000e-06 -1.637655e-09 2.545454e-06 +-1.281516e-05 3.281351e-04 1.823425e-04 -3.685711e-05 -1.163886e-04 -1.161969e-04 +-8.808825e-05 -5.808289e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.419930e-02 -2.167147e-04 1.133835e-05 1.852595e-06 -8.549931e-09 1.679523e-05 +-2.295453e-04 1.122212e-04 9.553300e-04 8.783435e-04 6.095910e-04 3.835289e-04 + 2.268004e-04 1.300474e-04 +>TYI.EXP //14 + 1.018004e-03 3.376455e-05 -5.486887e-07 -1.692878e-06 1.897300e-08 -2.797715e-06 + 2.084102e-05 -7.313589e-04 -3.598187e-04 1.380858e-04 2.607892e-04 2.351428e-04 + 1.707117e-04 1.102834e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par87.edi b/examples/data/NEConductor/par87.edi new file mode 100644 index 00000000..4bc7b13b --- /dev/null +++ b/examples/data/NEConductor/par87.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par87" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par87" +REFLAT=-30:12:14.206 +REFLONG=139:44:39.1721 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par87" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.182042e-03 -1.499019e-04 -1.091667e-05 -1.925829e-07 4.745329e-06 8.088003e-04 +-5.193822e-03 7.368409e-03 1.111003e-02 8.921863e-03 6.128152e-03 3.811977e-03 + 2.229487e-03 1.270690e-03 +>ZXXI ROT=ZROT //14 + 8.613089e-04 -8.480167e-05 -2.319704e-06 2.600342e-07 3.080174e-06 2.937286e-04 +-3.663601e-03 -8.290490e-03 -1.022549e-03 2.261385e-03 2.918020e-03 2.470545e-03 + 1.739352e-03 1.101892e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866239e+02 1.241427e+02 7.346934e+01 4.197589e+01 2.350538e+01 1.316902e+01 + 8.369563e+00 6.580315e+00 5.451936e+00 4.254982e+00 2.998319e+00 1.916760e+00 + 1.142032e+00 6.566855e-01 +>ZXYI ROT=ZROT //14 + 3.082415e+02 1.471566e+02 7.805616e+01 4.294173e+01 2.400288e+01 1.271601e+01 + 6.044457e+00 2.976159e+00 2.003613e+00 1.762529e+00 1.571696e+00 1.247318e+00 + 8.769947e-01 5.608780e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865814e+02 -1.241457e+02 -7.346918e+01 -4.197590e+01 -2.350538e+01 -1.316925e+01 +-8.367691e+00 -6.582187e+00 -5.456963e+00 -4.260144e+00 -3.002335e+00 -1.919436e+00 +-1.143654e+00 -6.576247e-01 +>ZYXI ROT=ZROT //14 +-3.082109e+02 -1.471550e+02 -7.805628e+01 -4.294174e+01 -2.400288e+01 -1.271602e+01 +-6.043739e+00 -2.972342e+00 -2.001836e+00 -1.762881e+00 -1.573029e+00 -1.248751e+00 +-8.781249e-01 -5.616394e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.110397e-03 -1.501009e-04 -2.347496e-06 9.606031e-08 -4.409666e-06 -7.870006e-04 + 4.854595e-03 -7.235515e-03 -1.020464e-02 -7.911037e-03 -5.310533e-03 -3.253957e-03 +-1.886714e-03 -1.071078e-03 +>ZYYI ROT=ZROT //14 + 1.205454e-04 -4.718523e-05 -2.797010e-07 1.320738e-07 -4.881027e-06 -3.454449e-04 + 3.764549e-03 7.531476e-03 5.761109e-04 -2.257045e-03 -2.683723e-03 -2.191541e-03 +-1.509615e-03 -9.437231e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.201276e-03 -2.584652e-04 -3.668150e-05 -2.040696e-07 -3.802711e-09 -1.720962e-06 + 2.886962e-05 -1.591994e-05 -8.868500e-05 -1.256916e-04 -1.083173e-04 -7.399337e-05 +-4.510790e-05 -2.619848e-05 +>TXI.EXP //14 +-2.852034e-04 2.816486e-05 8.203136e-06 8.707653e-07 2.079403e-08 1.488438e-06 +-5.034095e-06 7.552897e-05 5.917218e-05 1.301874e-05 -2.613899e-05 -3.590813e-05 +-3.017714e-05 -2.081277e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.417393e-02 -2.159079e-04 1.135152e-05 1.850519e-06 -1.144595e-08 1.565421e-05 +-2.095492e-04 1.057903e-04 8.701411e-04 7.913574e-04 5.459895e-04 3.426289e-04 + 2.024029e-04 1.160139e-04 +>TYI.EXP //14 + 1.012716e-03 3.369902e-05 -5.502222e-07 -1.692005e-06 1.964669e-08 -2.120334e-06 + 1.625298e-05 -6.657916e-04 -3.203087e-04 1.303455e-04 2.369085e-04 2.115850e-04 + 1.529550e-04 9.860965e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par88.edi b/examples/data/NEConductor/par88.edi new file mode 100644 index 00000000..bb56759b --- /dev/null +++ b/examples/data/NEConductor/par88.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par88" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par88" +REFLAT=-30:11:57.9661 +REFLONG=139:44:39.3783 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par88" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.303052e-03 -1.823357e-04 -9.970447e-06 -1.765276e-07 4.789571e-06 7.649395e-04 +-4.759097e-03 7.047182e-03 9.726102e-03 7.326514e-03 4.830841e-03 2.928087e-03 + 1.687621e-03 9.554829e-04 +>ZXXI ROT=ZROT //14 + 7.882509e-04 -9.562066e-05 -1.592108e-06 2.708458e-07 3.014680e-06 2.936310e-04 +-3.566479e-03 -7.244545e-03 -3.405238e-04 2.265226e-03 2.548435e-03 2.027586e-03 + 1.375066e-03 8.515093e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866237e+02 1.241428e+02 7.346934e+01 4.197589e+01 2.350538e+01 1.316909e+01 + 8.368923e+00 6.581429e+00 5.453867e+00 4.256834e+00 2.999738e+00 1.917701e+00 + 1.142601e+00 6.570147e-01 +>ZXYI ROT=ZROT //14 + 3.082416e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400288e+01 1.271615e+01 + 6.043739e+00 2.974828e+00 2.003171e+00 1.762745e+00 1.572201e+00 1.247835e+00 + 8.773960e-01 5.611466e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865750e+02 -1.241457e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.316929e+01 +-8.367343e+00 -6.583103e+00 -5.457936e+00 -4.260848e+00 -3.002815e+00 -1.919739e+00 +-1.143834e+00 -6.577280e-01 +>ZYXI ROT=ZROT //14 +-3.082075e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400288e+01 -1.271617e+01 +-6.043077e+00 -2.971727e+00 -2.001908e+00 -1.763119e+00 -1.573271e+00 -1.248947e+00 +-8.782635e-01 -5.617279e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.885789e-03 -1.476456e-04 -2.253732e-06 8.165440e-08 -5.188325e-06 -7.494265e-04 + 4.507392e-03 -6.942843e-03 -9.021061e-03 -6.543684e-03 -4.191661e-03 -2.487678e-03 +-1.415517e-03 -7.966004e-04 +>ZYYI ROT=ZROT //14 + 1.088353e-04 -4.538361e-05 -2.254947e-07 1.389726e-07 -4.818256e-06 -3.264266e-04 + 3.635278e-03 6.656623e-03 -1.840310e-06 -2.264253e-03 -2.370964e-03 -1.811880e-03 +-1.195119e-03 -7.266608e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.567187e-03 -3.457188e-04 -3.742353e-05 5.617209e-08 2.063559e-08 3.993059e-06 +-4.940975e-05 2.174949e-05 2.374324e-04 1.754240e-04 1.008853e-04 5.767474e-05 + 3.276880e-05 1.845186e-05 +>TXI.EXP //14 +-1.383184e-04 4.025300e-05 9.867770e-06 7.067036e-07 4.585554e-08 3.221369e-07 + 2.523802e-06 -1.741983e-04 -6.489780e-05 5.967608e-05 6.308823e-05 4.470724e-05 + 2.839197e-05 1.701930e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.415003e-02 -2.151131e-04 1.136408e-05 1.848660e-06 -1.867936e-08 1.319172e-05 +-1.763332e-04 8.544876e-05 7.442188e-04 6.723406e-04 4.612641e-04 2.886562e-04 + 1.703169e-04 9.758094e-05 +>TYI.EXP //14 + 1.007829e-03 3.363186e-05 -5.519155e-07 -1.691396e-06 2.085315e-08 -1.788070e-06 + 1.518828e-05 -5.682813e-04 -2.728642e-04 1.141894e-04 2.025620e-04 1.794648e-04 + 1.292156e-04 8.313976e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par89.edi b/examples/data/NEConductor/par89.edi new file mode 100644 index 00000000..f7d1f4a6 --- /dev/null +++ b/examples/data/NEConductor/par89.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par89" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par89" +REFLAT=-30:11:41.7262 +REFLONG=139:44:39.5844 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par89" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.387322e-03 -2.129951e-04 -8.957110e-06 -1.565368e-07 4.352100e-06 6.807645e-04 +-4.134119e-03 6.375957e-03 7.890988e-03 5.364462e-03 3.275960e-03 1.881591e-03 + 1.049894e-03 5.854461e-04 +>ZXXI ROT=ZROT //14 + 7.130320e-04 -1.054351e-04 -8.438931e-07 2.771999e-07 2.197202e-06 2.548477e-04 +-3.226063e-03 -5.899041e-03 3.681497e-04 2.178330e-03 2.060732e-03 1.482274e-03 + 9.374775e-04 5.541855e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866235e+02 1.241428e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.316927e+01 + 8.367607e+00 6.583931e+00 5.457798e+00 4.260503e+00 3.002513e+00 1.919527e+00 + 1.143701e+00 6.576501e-01 +>ZXYI ROT=ZROT //14 + 3.082415e+02 1.471566e+02 7.805615e+01 4.294173e+01 2.400288e+01 1.271651e+01 + 6.042007e+00 2.972199e+00 2.002422e+00 1.763254e+00 1.573234e+00 1.248860e+00 + 8.781818e-01 5.616688e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865686e+02 -1.241459e+02 -7.346928e+01 -4.197590e+01 -2.350537e+01 -1.316941e+01 +-8.366621e+00 -6.585151e+00 -5.459893e+00 -4.262205e+00 -3.003703e+00 -1.920278e+00 +-1.144145e+00 -6.579043e-01 +>ZYXI ROT=ZROT //14 +-3.082047e+02 -1.471555e+02 -7.805633e+01 -4.294174e+01 -2.400288e+01 -1.271651e+01 +-6.041513e+00 -2.970569e+00 -2.002161e+00 -1.763649e+00 -1.573773e+00 -1.249330e+00 +-8.785196e-01 -5.618857e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.723523e-03 -1.471359e-04 -2.181762e-06 6.624128e-08 -4.170371e-06 -6.835079e-04 + 4.092143e-03 -6.392854e-03 -7.755169e-03 -5.219270e-03 -3.148945e-03 -1.788134e-03 +-9.899247e-04 -5.498326e-04 +>ZYYI ROT=ZROT //14 + 1.122762e-04 -4.435912e-05 -1.711539e-07 1.489857e-07 -3.273278e-06 -2.673763e-04 + 3.282415e-03 5.769173e-03 -4.396659e-04 -2.184588e-03 -2.034519e-03 -1.443145e-03 +-9.013228e-04 -5.277097e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.887510e-03 -4.308386e-04 -3.748578e-05 3.107019e-07 4.384183e-08 8.511875e-06 +-1.149184e-04 4.713119e-05 5.191553e-04 4.452492e-04 2.915770e-04 1.785160e-04 + 1.044302e-04 5.957906e-05 +>TXI.EXP //14 + 1.091222e-05 5.197569e-05 1.130561e-05 5.350409e-07 4.470744e-08 -1.110825e-06 + 1.253715e-05 -3.895880e-04 -1.815317e-04 9.497594e-05 1.409952e-04 1.171926e-04 + 8.170176e-05 5.165529e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.412728e-02 -2.143184e-04 1.137613e-05 1.846965e-06 -2.404062e-08 1.005182e-05 +-1.362853e-04 5.821590e-05 5.963655e-04 5.364032e-04 3.655579e-04 2.279452e-04 + 1.342828e-04 7.689215e-05 +>TYI.EXP //14 + 1.003292e-03 3.356184e-05 -5.537867e-07 -1.690987e-06 1.559174e-08 -1.607654e-06 + 1.561756e-05 -4.534645e-04 -2.212016e-04 9.334226e-05 1.625959e-04 1.428404e-04 + 1.023659e-04 6.570893e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par90.edi b/examples/data/NEConductor/par90.edi new file mode 100644 index 00000000..cabeb1b2 --- /dev/null +++ b/examples/data/NEConductor/par90.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par90" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par90" +REFLAT=-30:14:08.0638 +REFLONG=139:44:56.4304 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par90" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.383301e-02 1.106471e-04 -2.037141e-05 -4.068165e-07 1.089634e-06 1.985693e-04 +-2.516524e-03 2.065555e-03 6.958703e-03 6.820219e-03 5.116921e-03 3.355054e-03 + 2.020807e-03 1.167098e-03 +>ZXXI ROT=ZROT //14 + 1.457211e-03 1.084024e-06 -8.401345e-06 2.463351e-07 6.601782e-08 -1.031852e-04 +-2.118831e-04 -5.555198e-03 -2.420866e-03 6.860250e-04 1.850946e-03 1.870826e-03 + 1.438994e-03 9.577168e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866395e+02 1.241439e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317086e+01 + 8.359468e+00 6.600085e+00 5.477927e+00 4.277517e+00 3.014785e+00 1.927374e+00 + 1.148355e+00 6.603184e-01 +>ZXYI ROT=ZROT //14 + 3.082436e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400292e+01 1.271854e+01 + 6.030516e+00 2.959118e+00 2.000984e+00 1.766953e+00 1.578531e+00 1.253636e+00 + 8.816709e-01 5.639269e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866483e+02 -1.241515e+02 -7.346944e+01 -4.197588e+01 -2.350537e+01 -1.317079e+01 +-8.359960e+00 -6.600570e+00 -5.474239e+00 -4.272146e+00 -3.010079e+00 -1.924042e+00 +-1.146273e+00 -6.590967e-01 +>ZYXI ROT=ZROT //14 +-3.082604e+02 -1.471582e+02 -7.805622e+01 -4.294172e+01 -2.400291e+01 -1.271851e+01 +-6.030398e+00 -2.961710e+00 -2.004084e+00 -1.767620e+00 -1.577547e+00 -1.252149e+00 +-8.803531e-01 -5.629891e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-7.330582e-03 -2.391734e-04 -4.236922e-06 2.166976e-07 -6.936899e-07 -2.287991e-04 + 2.745446e-03 -2.036261e-03 -8.238028e-03 -8.522094e-03 -6.604210e-03 -4.417781e-03 +-2.689760e-03 -1.560845e-03 +>ZYYI ROT=ZROT //14 + 4.059799e-04 -8.886465e-05 -7.283404e-07 1.552412e-07 2.894214e-07 9.495207e-05 + 1.952492e-04 6.505541e-03 3.319764e-03 -5.232156e-04 -2.166462e-03 -2.339309e-03 +-1.857501e-03 -1.257638e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.796212e-02 2.370117e-04 -3.213161e-05 -7.175252e-07 -6.125334e-09 -5.597115e-06 + 1.528755e-04 9.452620e-05 -9.974740e-04 -1.085732e-03 -7.902311e-04 -5.040593e-04 +-2.993391e-04 -1.719017e-04 +>TXI.EXP //14 +-1.297615e-03 -4.287430e-05 4.863257e-07 1.183477e-06 3.131756e-08 7.198441e-06 +-9.392278e-05 7.256988e-04 5.800250e-04 -6.784123e-05 -2.938323e-04 -2.921397e-04 +-2.193017e-04 -1.436513e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.565454e-02 -3.060065e-04 1.041451e-05 1.912016e-06 -2.985380e-08 3.491990e-06 +-1.072106e-04 -7.746145e-05 7.215163e-04 8.017265e-04 5.887120e-04 3.768694e-04 + 2.241323e-04 1.287696e-04 +>TYI.EXP //14 + 1.231509e-03 4.545456e-05 -1.659528e-07 -1.692840e-06 -2.357026e-08 -5.295995e-06 + 7.197035e-05 -5.239614e-04 -4.346068e-04 4.063028e-05 2.138564e-04 2.161735e-04 + 1.633027e-04 1.073324e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par91.edi b/examples/data/NEConductor/par91.edi new file mode 100644 index 00000000..6486901a --- /dev/null +++ b/examples/data/NEConductor/par91.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par91" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par91" +REFLAT=-30:13:51.824 +REFLONG=139:44:56.6361 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par91" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.332228e-02 6.275325e-05 -1.966700e-05 -3.864503e-07 1.392988e-06 2.849920e-04 +-3.103883e-03 2.809073e-03 8.186262e-03 7.921974e-03 5.933542e-03 3.885217e-03 + 2.337717e-03 1.349420e-03 +>ZXXI ROT=ZROT //14 + 1.478679e-03 -1.469135e-05 -7.729474e-06 2.594199e-07 2.957373e-07 -9.451031e-05 +-5.495348e-04 -6.488982e-03 -2.638781e-03 8.618341e-04 2.171410e-03 2.178364e-03 + 1.670150e-03 1.109554e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866382e+02 1.241439e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317058e+01 + 8.361007e+00 6.597695e+00 5.474455e+00 4.274429e+00 3.012501e+00 1.925892e+00 + 1.147469e+00 6.598086e-01 +>ZXYI ROT=ZROT //14 + 3.082462e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400291e+01 1.271836e+01 + 6.031950e+00 2.961575e+00 2.001480e+00 1.766423e+00 1.577621e+00 1.252772e+00 + 8.810234e-01 5.635021e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866333e+02 -1.241502e+02 -7.346938e+01 -4.197589e+01 -2.350537e+01 -1.317054e+01 +-8.361287e+00 -6.598071e+00 -5.471845e+00 -4.270552e+00 -3.009066e+00 -1.923445e+00 +-1.145935e+00 -6.589071e-01 +>ZYXI ROT=ZROT //14 +-3.082500e+02 -1.471574e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271831e+01 +-6.031918e+00 -2.963381e+00 -2.003735e+00 -1.766949e+00 -1.576935e+00 -1.251698e+00 +-8.800609e-01 -5.628134e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.678432e-03 -2.210056e-04 -3.883437e-06 1.962427e-07 -1.135107e-06 -3.187485e-04 + 3.303580e-03 -2.852650e-03 -9.253287e-03 -9.311327e-03 -7.148520e-03 -4.755418e-03 +-2.886292e-03 -1.672530e-03 +>ZYYI ROT=ZROT //14 + 3.677766e-04 -8.065197e-05 -6.662049e-07 1.498273e-07 1.577753e-07 7.412343e-05 + 5.924783e-04 7.273733e-03 3.341597e-03 -7.404793e-04 -2.430339e-03 -2.561023e-03 +-2.012556e-03 -1.355287e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.682895e-02 1.913422e-04 -3.171931e-05 -8.500620e-07 -2.403756e-08 -7.940047e-06 + 1.811519e-04 5.280496e-05 -1.050125e-03 -1.105396e-03 -7.990000e-04 -5.089753e-04 +-3.021863e-04 -1.735284e-04 +>TXI.EXP //14 +-1.153572e-03 -3.614752e-05 4.990146e-07 1.275798e-06 2.832584e-08 7.661210e-06 +-8.891858e-05 7.775028e-04 5.640824e-04 -8.729391e-05 -3.038563e-04 -2.972876e-04 +-2.221357e-04 -1.452510e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.561337e-02 -3.047798e-04 1.043678e-05 1.908472e-06 -1.958269e-08 5.809575e-06 +-1.412104e-04 -5.048673e-05 8.366044e-04 8.922039e-04 6.483728e-04 4.139587e-04 + 2.460094e-04 1.413045e-04 +>TYI.EXP //14 + 1.222294e-03 4.536632e-05 -1.673729e-07 -1.691157e-06 -1.951555e-08 -6.234366e-06 + 7.465953e-05 -6.180322e-04 -4.611538e-04 6.371190e-05 2.430163e-04 2.402012e-04 + 1.801975e-04 1.180987e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par910.edi b/examples/data/NEConductor/par910.edi new file mode 100644 index 00000000..ab44025d --- /dev/null +++ b/examples/data/NEConductor/par910.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par910" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par910" +REFLAT=-30:11:25.665 +REFLONG=139:44:58.4847 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par910" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 4.525609e-03 -3.243092e-04 -9.905867e-06 -1.854421e-07 3.078141e-06 4.896475e-04 +-2.994169e-03 4.860859e-03 4.710391e-03 2.150247e-03 7.899932e-04 2.309677e-04 + 5.118160e-05 7.763295e-06 +>ZXXI ROT=ZROT //14 + 8.754352e-04 -1.471237e-04 -2.580995e-07 3.679216e-07 1.002713e-06 1.222978e-04 +-2.285823e-03 -3.657072e-03 1.344154e-03 1.906453e-03 1.211561e-03 5.874076e-04 + 2.367775e-04 8.397578e-05 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866349e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.316975e+01 + 8.364826e+00 6.589880e+00 5.465281e+00 4.266814e+00 3.007069e+00 1.922446e+00 + 1.145435e+00 6.586451e-01 +>ZXYI ROT=ZROT //14 + 3.082500e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400290e+01 1.271735e+01 + 6.037726e+00 2.967372e+00 2.001893e+00 1.764630e+00 1.575195e+00 1.250630e+00 + 8.794777e-01 5.625089e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865608e+02 -1.241463e+02 -7.346938e+01 -4.197590e+01 -2.350537e+01 -1.316984e+01 +-8.364022e+00 -6.590775e+00 -5.466990e+00 -4.268207e+00 -3.008047e+00 -1.923068e+00 +-1.145804e+00 -6.588567e-01 +>ZYXI ROT=ZROT //14 +-3.082033e+02 -1.471560e+02 -7.805636e+01 -4.294174e+01 -2.400290e+01 -1.271733e+01 +-6.037454e+00 -2.965997e+00 -2.001645e+00 -1.764943e+00 -1.575629e+00 -1.251013e+00 +-8.797550e-01 -5.626882e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.340326e-03 -1.503915e-04 -2.436365e-06 2.201823e-08 -3.238684e-06 -4.960761e-04 + 2.942780e-03 -4.904898e-03 -4.509797e-03 -1.912914e-03 -5.800020e-04 -7.735627e-05 + 4.690798e-05 5.035257e-05 +>ZYYI ROT=ZROT //14 + 1.250764e-04 -4.534406e-05 -9.298815e-08 2.039473e-07 -1.812894e-06 -1.404666e-04 + 2.378084e-03 3.466687e-03 -1.473079e-03 -1.926661e-03 -1.170381e-03 -5.230170e-04 +-1.773148e-04 -4.057087e-05 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 3.186199e-03 -5.133143e-04 -3.666570e-05 5.374062e-07 6.373394e-08 8.027071e-06 +-1.190068e-04 2.730219e-05 5.758537e-04 5.227872e-04 3.524164e-04 2.184139e-04 + 1.283756e-04 7.338070e-05 +>TXI.EXP //14 + 1.653211e-04 6.319335e-05 1.239922e-05 3.680796e-07 1.393389e-08 -2.397326e-06 + 2.461417e-05 -4.299589e-04 -2.309861e-04 9.077669e-05 1.591338e-04 1.383758e-04 + 9.848612e-05 6.291563e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.536435e-02 -2.964648e-04 1.058125e-05 1.887670e-06 -7.762579e-09 9.170625e-06 +-1.374670e-04 3.231722e-05 6.527374e-04 6.126873e-04 4.238934e-04 2.657648e-04 + 1.568769e-04 8.989214e-05 +>TYI.EXP //14 + 1.168210e-03 4.470847e-05 -1.842654e-07 -1.683252e-06 2.887220e-09 -3.055974e-06 + 3.001414e-05 -4.918755e-04 -2.729312e-04 9.029460e-05 1.809538e-04 1.634301e-04 + 1.184218e-04 7.639793e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par92.edi b/examples/data/NEConductor/par92.edi new file mode 100644 index 00000000..a8a4ee06 --- /dev/null +++ b/examples/data/NEConductor/par92.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par92" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par92" +REFLAT=-30:13:35.5842 +REFLONG=139:44:56.8417 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par92" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.269239e-02 1.553275e-05 -1.890627e-05 -3.641740e-07 1.790124e-06 3.863719e-04 +-3.715694e-03 3.661315e-03 9.423919e-03 8.981435e-03 6.702309e-03 4.378505e-03 + 2.630749e-03 1.517542e-03 +>ZXXI ROT=ZROT //14 + 1.476281e-03 -3.121503e-05 -7.025591e-06 2.727044e-07 6.322113e-07 -6.856722e-05 +-9.892593e-04 -7.406982e-03 -2.786295e-03 1.070685e-03 2.493836e-03 2.474586e-03 + 1.888271e-03 1.251260e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866373e+02 1.241439e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.317028e+01 + 8.362696e+00 6.594919e+00 5.470414e+00 4.270799e+00 3.009804e+00 1.924138e+00 + 1.146419e+00 6.592039e-01 +>ZXYI ROT=ZROT //14 + 3.082479e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400291e+01 1.271810e+01 + 6.033725e+00 2.964368e+00 2.002086e+00 1.765821e+00 1.576560e+00 1.251756e+00 + 8.802591e-01 5.629993e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866210e+02 -1.241489e+02 -7.346931e+01 -4.197589e+01 -2.350537e+01 -1.317026e+01 +-8.362599e+00 -6.595333e+00 -5.469381e+00 -4.268961e+00 -3.008082e+00 -1.922876e+00 +-1.145617e+00 -6.587299e-01 +>ZYXI ROT=ZROT //14 +-3.082410e+02 -1.471567e+02 -7.805624e+01 -4.294173e+01 -2.400291e+01 -1.271804e+01 +-6.033730e+00 -2.965002e+00 -2.003284e+00 -1.766217e+00 -1.576301e+00 -1.251246e+00 +-8.797761e-01 -5.626453e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-6.088603e-03 -2.051131e-04 -3.572932e-06 1.765505e-07 -1.732489e-06 -4.192447e-04 + 3.838712e-03 -3.747046e-03 -1.014291e-02 -9.910747e-03 -7.524371e-03 -4.972842e-03 +-3.007367e-03 -1.739873e-03 +>ZYYI ROT=ZROT //14 + 3.232367e-04 -7.338788e-05 -6.019649e-07 1.461082e-07 -1.636645e-07 3.228458e-05 + 1.096561e-03 7.913261e-03 3.233582e-03 -9.890143e-04 -2.662492e-03 -2.730695e-03 +-2.120550e-03 -1.419159e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.558800e-02 1.345426e-04 -3.175344e-05 -9.134795e-07 -4.209214e-08 -1.014075e-05 + 2.019819e-04 1.020574e-05 -1.061262e-03 -1.087652e-03 -7.822954e-04 -4.979566e-04 +-2.956254e-04 -1.697639e-04 +>TXI.EXP //14 +-1.009682e-03 -2.778758e-05 9.861975e-07 1.313485e-06 2.099604e-08 7.593239e-06 +-7.863341e-05 7.965500e-04 5.311008e-04 -1.005199e-04 -3.026859e-04 -2.925357e-04 +-2.178403e-04 -1.422638e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.557578e-02 -3.036470e-04 1.045735e-05 1.905228e-06 -9.314861e-09 8.722176e-06 +-1.781310e-04 -1.635996e-05 9.513779e-04 9.784371e-04 7.040661e-04 4.482889e-04 + 2.661932e-04 1.528552e-04 +>TYI.EXP //14 + 1.213890e-03 4.528419e-05 -1.688360e-07 -1.689647e-06 -1.142332e-08 -6.862702e-06 + 7.333104e-05 -7.118475e-04 -4.821688e-04 8.878276e-05 2.717378e-04 2.630712e-04 + 1.960230e-04 1.281037e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par93.edi b/examples/data/NEConductor/par93.edi new file mode 100644 index 00000000..72ee31e9 --- /dev/null +++ b/examples/data/NEConductor/par93.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par93" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par93" +REFLAT=-30:13:19.3443 +REFLONG=139:44:57.0472 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par93" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.195249e-02 -3.105566e-05 -1.807831e-05 -3.413571e-07 2.292324e-06 4.948265e-04 +-4.293947e-03 4.565057e-03 1.053646e-02 9.857162e-03 7.311673e-03 4.760142e-03 + 2.854456e-03 1.645126e-03 +>ZXXI ROT=ZROT //14 + 1.450102e-03 -4.802461e-05 -6.289370e-06 2.870552e-07 1.226751e-06 -2.355690e-05 +-1.508712e-03 -8.206046e-03 -2.816043e-03 1.304663e-03 2.782403e-03 2.720057e-03 + 2.061944e-03 1.361579e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866367e+02 1.241439e+02 7.346934e+01 4.197588e+01 2.350537e+01 1.316996e+01 + 8.364431e+00 6.591890e+00 5.466019e+00 4.266829e+00 3.006848e+00 1.922212e+00 + 1.145265e+00 6.585391e-01 +>ZXYI ROT=ZROT //14 + 3.082489e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400290e+01 1.271777e+01 + 6.035758e+00 2.967344e+00 2.002757e+00 1.765174e+00 1.575404e+00 1.250645e+00 + 8.794212e-01 5.624475e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866107e+02 -1.241479e+02 -7.346925e+01 -4.197589e+01 -2.350537e+01 -1.317000e+01 +-8.363803e+00 -6.592526e+00 -5.466998e+00 -4.267479e+00 -3.007195e+00 -1.922376e+00 +-1.145342e+00 -6.585781e-01 +>ZYXI ROT=ZROT //14 +-3.082332e+02 -1.471560e+02 -7.805625e+01 -4.294173e+01 -2.400290e+01 -1.271769e+01 +-6.035721e+00 -2.966475e+00 -2.002755e+00 -1.765467e+00 -1.575684e+00 -1.250825e+00 +-8.795183e-01 -5.624965e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.555872e-03 -1.913749e-04 -3.303511e-06 1.571257e-07 -2.452600e-06 -5.201458e-04 + 4.286313e-03 -4.645483e-03 -1.076862e-02 -1.018188e-02 -7.623966e-03 -4.998269e-03 +-3.009510e-03 -1.737720e-03 +>ZYYI ROT=ZROT //14 + 2.763059e-04 -6.701621e-05 -5.373197e-07 1.444683e-07 -7.563630e-07 -3.052394e-05 + 1.672491e-03 8.321065e-03 2.956927e-03 -1.256989e-03 -2.826431e-03 -2.809608e-03 +-2.151064e-03 -1.428809e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.425624e-02 6.804023e-05 -3.226041e-05 -9.005453e-07 -5.906547e-08 -1.164419e-05 + 2.092682e-04 -2.654817e-05 -1.014740e-03 -1.020608e-03 -7.324847e-04 -4.663297e-04 +-2.769189e-04 -1.590441e-04 +>TXI.EXP //14 +-8.659150e-04 -1.809463e-05 1.908717e-06 1.300662e-06 2.843249e-09 6.971732e-06 +-6.432417e-05 7.697015e-04 4.789666e-04 -1.038157e-04 -2.862657e-04 -2.747097e-04 +-2.042429e-04 -1.333252e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.554141e-02 -3.025949e-04 1.047640e-05 1.902266e-06 -4.257412e-10 1.197069e-05 +-2.142735e-04 2.190838e-05 1.054759e-03 1.051447e-03 7.497628e-04 4.760924e-04 + 2.824583e-04 1.621461e-04 +>TYI.EXP //14 + 1.206227e-03 4.520698e-05 -1.703564e-07 -1.688299e-06 -4.060868e-10 -7.011133e-06 + 6.776513e-05 -7.963150e-04 -4.950250e-04 1.137406e-04 2.971766e-04 2.823828e-04 + 2.090750e-04 1.362564e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par94.edi b/examples/data/NEConductor/par94.edi new file mode 100644 index 00000000..59b88d45 --- /dev/null +++ b/examples/data/NEConductor/par94.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par94" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par94" +REFLAT=-30:13:03.1044 +REFLONG=139:44:57.2527 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par94" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 1.111205e-02 -7.698939e-05 -1.717339e-05 -3.183351e-07 2.704703e-06 5.973473e-04 +-4.763130e-03 5.425554e-03 1.134513e-02 1.037250e-02 7.625149e-03 4.939504e-03 + 2.954010e-03 1.700461e-03 +>ZXXI ROT=ZROT //14 + 1.402059e-03 -6.469487e-05 -5.519950e-06 3.017819e-07 1.706012e-06 3.699229e-05 +-2.055755e-03 -8.756346e-03 -2.679536e-03 1.546912e-03 2.989947e-03 2.865478e-03 + 2.152643e-03 1.414678e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866363e+02 1.241440e+02 7.346935e+01 4.197588e+01 2.350537e+01 1.316968e+01 + 8.366055e+00 6.588878e+00 5.461699e+00 4.262920e+00 3.003937e+00 1.920314e+00 + 1.144128e+00 6.578841e-01 +>ZXYI ROT=ZROT //14 + 3.082494e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400290e+01 1.271739e+01 + 6.037863e+00 2.970213e+00 2.003408e+00 1.764535e+00 1.574266e+00 1.249551e+00 + 8.785959e-01 5.619039e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.866018e+02 -1.241470e+02 -7.346920e+01 -4.197589e+01 -2.350537e+01 -1.316978e+01 +-8.364801e+00 -6.589904e+00 -5.464901e+00 -4.266232e+00 -3.006480e+00 -1.921989e+00 +-1.145135e+00 -6.584655e-01 +>ZYXI ROT=ZROT //14 +-3.082264e+02 -1.471555e+02 -7.805626e+01 -4.294173e+01 -2.400290e+01 -1.271731e+01 +-6.037694e+00 -2.967685e+00 -2.002196e+00 -1.764762e+00 -1.575137e+00 -1.250469e+00 +-8.793098e-01 -5.623803e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-5.077760e-03 -1.797066e-04 -3.072906e-06 1.373330e-07 -3.215259e-06 -6.078479e-04 + 4.579211e-03 -5.445658e-03 -1.098512e-02 -9.990996e-03 -7.347093e-03 -4.766409e-03 +-2.853642e-03 -1.643580e-03 +>ZYYI ROT=ZROT //14 + 2.299440e-04 -6.149906e-05 -4.728514e-07 1.454284e-07 -1.538533e-06 -1.071881e-04 + 2.253810e-03 8.397946e-03 2.487752e-03 -1.524158e-03 -2.883573e-03 -2.760228e-03 +-2.075728e-03 -1.365555e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 1.284681e-02 -6.513675e-06 -3.317841e-05 -8.125957e-07 -4.907945e-08 -1.184495e-05 + 1.976232e-04 -5.040616e-05 -8.981900e-04 -8.954419e-04 -6.438910e-04 -4.106083e-04 +-2.440221e-04 -1.402002e-04 +>TXI.EXP //14 +-7.220749e-04 -7.360149e-06 3.195706e-06 1.243383e-06 -6.335190e-09 5.916040e-06 +-4.828946e-05 6.870505e-04 4.069563e-04 -9.419672e-05 -2.515262e-04 -2.414322e-04 +-1.797192e-04 -1.174158e-04 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.550990e-02 -3.016109e-04 1.049410e-05 1.899568e-06 7.414565e-09 1.506443e-05 +-2.444632e-04 5.906232e-05 1.132330e-03 1.100150e-03 7.782153e-04 4.928939e-04 + 2.921743e-04 1.676723e-04 +>TYI.EXP //14 + 1.199238e-03 4.513352e-05 -1.719530e-07 -1.687088e-06 1.100037e-08 -6.632264e-06 + 5.889786e-05 -8.598831e-04 -4.971955e-04 1.354994e-04 3.156657e-04 2.951771e-04 + 2.172971e-04 1.412554e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par96.edi b/examples/data/NEConductor/par96.edi new file mode 100644 index 00000000..a3e90fd3 --- /dev/null +++ b/examples/data/NEConductor/par96.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par96" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par96" +REFLAT=-30:12:30.6247 +REFLONG=139:44:57.6636 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par96" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 9.167728e-03 -1.662236e-04 -1.510400e-05 -2.762696e-07 3.750309e-06 7.218547e-04 +-5.073904e-03 6.532385e-03 1.133103e-02 9.673013e-03 6.881438e-03 4.376326e-03 + 2.591669e-03 1.485466e-03 +>ZXXI ROT=ZROT //14 + 1.255915e-03 -9.629788e-05 -3.881340e-06 3.339931e-07 2.832124e-06 1.596229e-04 +-2.909098e-03 -8.618636e-03 -1.793532e-03 1.950541e-03 2.973475e-03 2.674877e-03 + 1.948202e-03 1.258941e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866358e+02 1.241440e+02 7.346934e+01 4.197589e+01 2.350537e+01 1.316929e+01 + 8.368143e+00 6.584581e+00 5.455842e+00 4.257692e+00 3.000068e+00 1.917803e+00 + 1.142626e+00 6.570200e-01 +>ZXYI ROT=ZROT //14 + 3.082499e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400289e+01 1.271675e+01 + 6.041046e+00 2.973972e+00 2.004165e+00 1.763616e+00 1.572719e+00 1.248086e+00 + 8.774986e-01 5.611838e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865868e+02 -1.241459e+02 -7.346916e+01 -4.197589e+01 -2.350537e+01 -1.316952e+01 +-8.365882e+00 -6.586432e+00 -5.462462e+00 -4.264948e+00 -3.005845e+00 -1.921697e+00 +-1.145000e+00 -6.583980e-01 +>ZYXI ROT=ZROT //14 +-3.082158e+02 -1.471550e+02 -7.805627e+01 -4.294174e+01 -2.400289e+01 -1.271673e+01 +-6.040509e+00 -2.968910e+00 -2.001281e+00 -1.763819e+00 -1.574487e+00 -1.250098e+00 +-8.791217e-01 -5.622889e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-4.276366e-03 -1.623044e-04 -2.724892e-06 9.783316e-08 -4.237012e-06 -6.946127e-04 + 4.543383e-03 -6.338713e-03 -9.867039e-03 -8.021791e-03 -5.547580e-03 -3.468197e-03 +-2.034718e-03 -1.161367e-03 +>ZYYI ROT=ZROT //14 + 1.502459e-04 -5.292003e-05 -3.472303e-07 1.530837e-07 -3.048432e-06 -2.409107e-04 + 3.084847e-03 7.394239e-03 1.051335e-03 -1.948585e-03 -2.590171e-03 -2.218974e-03 +-1.573762e-03 -1.001597e-03 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 9.832800e-03 -1.724032e-04 -3.565531e-05 -4.493331e-07 -1.923429e-08 -7.117671e-06 + 1.119372e-04 -4.490065e-05 -4.575021e-04 -4.742950e-04 -3.519918e-04 -2.276305e-04 +-1.360297e-04 -7.833825e-05 +>TXI.EXP //14 +-4.328237e-04 1.610823e-05 6.470875e-06 1.023290e-06 -3.773757e-09 3.325100e-06 +-2.008516e-05 3.564912e-04 2.107017e-04 -3.612439e-05 -1.280836e-04 -1.292314e-04 +-9.829510e-05 -6.490047e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.545427e-02 -2.997987e-04 1.052615e-05 1.894857e-06 9.496012e-09 1.831075e-05 +-2.653843e-04 1.037229e-04 1.152705e-03 1.083025e-03 7.569901e-04 4.774225e-04 + 2.825703e-04 1.620714e-04 +>TYI.EXP //14 + 1.187038e-03 4.499342e-05 -1.754553e-07 -1.685044e-06 2.016248e-08 -4.999859e-06 + 4.008277e-05 -8.795489e-04 -4.631179e-04 1.557362e-04 3.173597e-04 2.901139e-04 + 2.117265e-04 1.370916e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par97.edi b/examples/data/NEConductor/par97.edi new file mode 100644 index 00000000..8894546e --- /dev/null +++ b/examples/data/NEConductor/par97.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par97" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par97" +REFLAT=-30:12:14.3847 +REFLONG=139:44:57.8689 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par97" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 8.083981e-03 -2.088973e-04 -1.393397e-05 -2.565106e-07 4.117177e-06 7.199964e-04 +-4.831619e-03 6.579050e-03 1.031615e-02 8.329590e-03 5.743268e-03 3.585753e-03 + 2.102393e-03 1.199706e-03 +>ZXXI ROT=ZROT //14 + 1.166664e-03 -1.107745e-04 -3.014463e-06 3.488558e-07 2.991740e-06 1.927385e-04 +-3.057978e-03 -7.816887e-03 -1.070241e-03 2.056845e-03 2.700089e-03 2.302827e-03 + 1.629665e-03 1.035959e-03 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866356e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.316925e+01 + 8.368251e+00 6.584114e+00 5.455523e+00 4.257509e+00 2.999969e+00 1.917753e+00 + 1.142601e+00 6.570067e-01 +>ZXYI ROT=ZROT //14 + 3.082500e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400289e+01 1.271665e+01 + 6.041488e+00 2.974092e+00 2.004055e+00 1.763499e+00 1.572633e+00 1.248033e+00 + 8.774693e-01 5.611685e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865800e+02 -1.241457e+02 -7.346918e+01 -4.197590e+01 -2.350538e+01 -1.316950e+01 +-8.365894e+00 -6.586095e+00 -5.462457e+00 -4.265077e+00 -3.006000e+00 -1.921824e+00 +-1.145086e+00 -6.584496e-01 +>ZYXI ROT=ZROT //14 +-3.082116e+02 -1.471550e+02 -7.805628e+01 -4.294174e+01 -2.400289e+01 -1.271664e+01 +-6.040868e+00 -2.968805e+00 -2.001074e+00 -1.763720e+00 -1.574474e+00 -1.250131e+00 +-8.791647e-01 -5.623240e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.954479e-03 -1.564686e-04 -2.604120e-06 7.953922e-08 -4.046682e-06 -6.833901e-04 + 4.240701e-03 -6.321247e-03 -8.634703e-03 -6.434386e-03 -4.202757e-03 -2.531083e-03 +-1.453425e-03 -8.214898e-04 +>ZYYI ROT=ZROT //14 + 1.227159e-04 -4.982349e-05 -2.853560e-07 1.596606e-07 -3.573663e-06 -2.657602e-04 + 3.197421e-03 6.431615e-03 2.327384e-04 -2.057899e-03 -2.265432e-03 -1.779584e-03 +-1.196688e-03 -7.370653e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 8.241824e-03 -2.597563e-04 -3.679117e-05 -2.047777e-07 -4.129709e-09 -2.750047e-06 + 4.708959e-05 -2.115982e-05 -1.701883e-04 -2.066005e-04 -1.663382e-04 -1.109807e-04 +-6.709351e-05 -3.882741e-05 +>TXI.EXP //14 +-2.865368e-04 2.828921e-05 8.226249e-06 8.746856e-07 1.327162e-08 1.992635e-06 +-9.340692e-06 1.376933e-04 9.585419e-05 4.205893e-06 -4.893637e-05 -5.769649e-05 +-4.637658e-05 -3.139147e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.542957e-02 -2.989467e-04 1.054085e-05 1.892804e-06 1.015300e-08 1.762198e-05 +-2.501465e-04 1.021534e-04 1.081020e-03 1.007874e-03 7.017940e-04 4.419053e-04 + 2.613831e-04 1.498848e-04 +>TYI.EXP //14 + 1.181715e-03 4.492451e-05 -1.774020e-07 -1.684303e-06 2.070177e-08 -4.290966e-06 + 3.443111e-05 -8.246961e-04 -4.270085e-04 1.501057e-04 2.970017e-04 2.697741e-04 + 1.963428e-04 1.269656e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par98.edi b/examples/data/NEConductor/par98.edi new file mode 100644 index 00000000..dd8b776f --- /dev/null +++ b/examples/data/NEConductor/par98.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par98" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par98" +REFLAT=-30:11:58.1448 +REFLONG=139:44:58.0742 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par98" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 6.940743e-03 -2.497445e-04 -1.267537e-05 -2.354854e-07 4.111815e-06 6.731405e-04 +-4.347878e-03 6.255252e-03 8.711338e-03 6.452306e-03 4.208202e-03 2.536328e-03 + 1.457839e-03 8.244499e-04 +>ZXXI ROT=ZROT //14 + 1.071616e-03 -1.241523e-04 -2.118952e-06 3.601542e-07 2.667427e-06 1.942801e-04 +-2.974126e-03 -6.602194e-03 -2.429176e-04 2.078437e-03 2.272322e-03 1.782004e-03 + 1.198704e-03 7.388250e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866354e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.316932e+01 + 8.367652e+00 6.585004e+00 5.457261e+00 4.259229e+00 3.001304e+00 1.918644e+00 + 1.143142e+00 6.573200e-01 +>ZXYI ROT=ZROT //14 + 3.082500e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400289e+01 1.271675e+01 + 6.040967e+00 2.972853e+00 2.003578e+00 1.763658e+00 1.573087e+00 1.248512e+00 + 8.778464e-01 5.614224e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865735e+02 -1.241456e+02 -7.346922e+01 -4.197590e+01 -2.350537e+01 -1.316955e+01 +-8.365561e+00 -6.586812e+00 -5.463306e+00 -4.265725e+00 -3.006458e+00 -1.922119e+00 +-1.145262e+00 -6.585512e-01 +>ZYXI ROT=ZROT //14 +-3.082081e+02 -1.471551e+02 -7.805630e+01 -4.294174e+01 -2.400289e+01 -1.271673e+01 +-6.040391e+00 -2.968231e+00 -2.001083e+00 -1.763903e+00 -1.574684e+00 -1.250312e+00 +-8.792960e-01 -5.624094e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.690308e-03 -1.525227e-04 -2.515268e-06 6.105053e-08 -4.717149e-06 -6.406457e-04 + 3.828350e-03 -6.021321e-03 -7.192845e-03 -4.739760e-03 -2.808876e-03 -1.573875e-03 +-8.639856e-04 -4.779210e-04 +>ZYYI ROT=ZROT //14 + 1.073525e-04 -4.751817e-05 -2.220673e-07 1.697923e-07 -3.533825e-06 -2.514166e-04 + 3.086026e-03 5.356494e-03 -5.120077e-04 -2.084311e-03 -1.884333e-03 -1.309456e-03 +-8.050870e-04 -4.660740e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 6.601383e-03 -3.472176e-04 -3.752068e-05 5.582821e-08 1.805414e-08 1.844485e-06 +-1.961298e-05 4.982983e-06 1.187742e-04 6.591213e-05 2.443249e-05 9.409569e-06 + 4.181649e-06 2.052258e-06 +>TXI.EXP //14 +-1.384611e-04 4.039532e-05 9.889203e-06 7.102484e-07 3.253340e-08 6.116361e-07 + 6.785313e-07 -8.290938e-05 -2.091696e-05 4.279893e-05 3.074570e-05 1.532784e-05 + 6.971642e-06 3.155508e-06 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.540655e-02 -2.981151e-04 1.055486e-05 1.890933e-06 7.459829e-09 1.547766e-05 +-2.197723e-04 8.554987e-05 9.619233e-04 8.948977e-04 6.214976e-04 3.908115e-04 + 2.310246e-04 1.324479e-04 +>TYI.EXP //14 + 1.176837e-03 4.485484e-05 -1.795049e-07 -1.683777e-06 2.150784e-08 -3.813812e-06 + 3.192897e-05 -7.325047e-04 -3.808415e-04 1.349690e-04 2.644192e-04 2.393231e-04 + 1.738577e-04 1.123219e-04 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/NEConductor/par99.edi b/examples/data/NEConductor/par99.edi new file mode 100644 index 00000000..1583bb18 --- /dev/null +++ b/examples/data/NEConductor/par99.edi @@ -0,0 +1,126 @@ +>HEAD +DATAID="par99" +FILEBY="WG3DForward" +FILEDATE=03/29/12 +STDVERS="SEG 1.0" +PROGVERS="WINGLINK EDI 1.0.22" +PROGDATE=04/23/02 + +>=DEFINEMEAS +MAXRUN=999 +MAXMEAS=9999 +UNITS=M +REFTYPE=CART +REFLOC="par99" +REFLAT=-30:11:41.9049 +REFLONG=139:44:58.2795 +REFELEV=0 +>HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 +>HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 +>HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 +>HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + +>=MTSECT +SECTID="par99" +NFREQ=14 +HX=1001.001 +HY=1002.001 +HZ=1003.001 +EX=1004.001 +EY=1005.001 +RX=1006.001 +RY=1007.001 + +>!****FREQUENCIES****! +>FREQ //14 + 3.162278e+03 9.999999e+02 3.162278e+02 1.000000e+02 3.162278e+01 1.000000e+01 + 3.162278e+00 1.000000e+00 3.162278e-01 1.000000e-01 3.162278e-02 1.000000e-02 + 3.162278e-03 1.000000e-03 +>!****IMPEDANCE ROTATION ANGLES****! +>ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****IMPEDANCES****! +>ZXXR ROT=ZROT //14 + 5.750324e-03 -2.883489e-04 -1.133140e-05 -2.118366e-07 3.753918e-06 5.912495e-04 +-3.701339e-03 5.638045e-03 6.744887e-03 4.292535e-03 2.478716e-03 1.365484e-03 + 7.421023e-04 4.085783e-04 +>ZXXI ROT=ZROT //14 + 9.736649e-04 -1.363038e-04 -1.198532e-06 3.666636e-07 1.875843e-06 1.668239e-04 +-2.690925e-03 -5.145274e-03 5.931432e-04 2.021139e-03 1.750461e-03 1.182371e-03 + 7.122916e-04 4.065300e-04 +>ZXX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZXYR ROT=ZROT //14 + 1.866352e+02 1.241440e+02 7.346935e+01 4.197589e+01 2.350537e+01 1.316949e+01 + 8.366446e+00 6.587062e+00 5.460733e+00 4.262541e+00 3.003831e+00 1.920314e+00 + 1.144150e+00 6.579031e-01 +>ZXYI ROT=ZROT //14 + 3.082500e+02 1.471571e+02 7.805614e+01 4.294173e+01 2.400289e+01 1.271700e+01 + 6.039614e+00 2.970470e+00 2.002811e+00 1.764061e+00 1.574000e+00 1.249436e+00 + 8.785611e-01 5.618995e-01 +>ZXY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYXR ROT=ZROT //14 +-1.865671e+02 -1.241459e+02 -7.346928e+01 -4.197590e+01 -2.350537e+01 -1.316967e+01 +-8.364920e+00 -6.588458e+00 -5.464887e+00 -4.266810e+00 -3.007164e+00 -1.922547e+00 +-1.145509e+00 -6.586913e-01 +>ZYXI ROT=ZROT //14 +-3.082054e+02 -1.471555e+02 -7.805633e+01 -4.294174e+01 -2.400289e+01 -1.271698e+01 +-6.039178e+00 -2.967261e+00 -2.001292e+00 -1.764334e+00 -1.575087e+00 -1.250617e+00 +-8.795001e-01 -5.625350e-01 +>ZYX.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>ZYYR ROT=ZROT //14 +-3.485993e-03 -1.504903e-04 -2.458012e-06 4.214740e-08 -3.606121e-06 -5.751729e-04 + 3.378403e-03 -5.518548e-03 -5.761934e-03 -3.177912e-03 -1.559224e-03 -7.280332e-04 +-3.469638e-04 -1.775218e-04 +>ZYYI ROT=ZROT //14 + 1.071057e-04 -4.601823e-05 -1.570553e-07 1.843851e-07 -2.392569e-06 -2.051702e-04 + 2.790726e-03 4.330695e-03 -1.094871e-03 -2.034775e-03 -1.504572e-03 -8.753555e-04 +-4.534073e-04 -2.259396e-04 +>ZYY.VAR ROT=ZROT //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>!****TIPPER PARAMETERS****! +>TROT.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TXR.EXP //14 + 4.915123e-03 -4.325289e-04 -3.756975e-05 3.106950e-07 3.717455e-08 5.664067e-06 +-7.753493e-05 2.340243e-05 3.755530e-04 3.160197e-04 2.022074e-04 1.222871e-04 + 7.116688e-05 4.050537e-05 +>TXI.EXP //14 + 1.196400e-05 5.213401e-05 1.132521e-05 5.382540e-07 2.450701e-08 -8.614680e-07 + 1.172685e-05 -2.785843e-04 -1.320413e-04 7.298706e-05 1.022170e-04 8.256796e-05 + 5.662876e-05 3.547822e-05 +>TXVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 +>TYR.EXP //14 +-1.538491e-02 -2.972919e-04 1.056828e-05 1.889224e-06 2.602245e-09 1.243020e-05 +-1.799390e-04 5.983805e-05 8.124334e-04 7.577850e-04 5.252623e-04 3.298528e-04 + 1.948646e-04 1.116915e-04 +>TYI.EXP //14 + 1.172352e-03 4.478323e-05 -1.817854e-07 -1.683437e-06 1.586751e-08 -3.455813e-06 + 3.109865e-05 -6.162909e-04 -3.281478e-04 1.136908e-04 2.240040e-04 2.024305e-04 + 1.468641e-04 9.481531e-05 +>TYVAR.EXP //14 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 + 0.000000e+00 0.000000e+00 + +>END \ No newline at end of file diff --git a/examples/data/edi_files/pb40c_dr.edi b/examples/data/edi_files/pb40c_dr.edi deleted file mode 100644 index d9016ee7..00000000 --- a/examples/data/edi_files/pb40c_dr.edi +++ /dev/null @@ -1,287 +0,0 @@ ->HEAD - ACQBY="Adelaide University" - ACQDATE="May 21, 2010" - DATAID=PB40 - ELEV=40.0 - LAT=-30:12:28.90 - LOC=PB40 - LONG=139:42:4.21 - PROSPECT= - FILEDATE="2015/12/23 21:10:51 UTC" - ->INFO - battery no: "33 Starting Voltage:12.64 End Voltage 12.37" - cache rate (hhmmss): 001000 - coherence threshold z channel (c2threshe1): None - coil calibration file: c:\BIRRP\BBConv.txt - data logger: 5440 - data logger gain: 1 - edifile_generated_with: MTpy - electric channel rotation angles (thetae): 0,90,180 - electric coherence threshold (c2threshe): 0 - final channel rotation angles (thetaf): 0,90,0 - first frequency extracted (nf1): 3 - frequency increment per window (nfinc): 1.0 - hard drive no: 5457 - instrument box no: 6 - interaction level (ilev): 1 - interface box gain: 1 - interface box no: 24 - large leverage point control (ainuin): 0.9999 - low and high periods for coherence threshold (perlo,perhi): 1000,0.001 - lower leverage point control (ainlin): 0.0001 - magnetic channel rotation angles (thetab): 0,90,0 - magnetic coherence threshold (c2thresheb): 0.45 - max length of fft window (nfft): 65536 - maximum number of fft sections (nsctmax): 12 - number of frequencies per window (nfsect): 3 - number of inputs (ninp): 2 - number of outputs (nout): 2 - number of periods to reject (nprej): 0 - number of remote reference time series (nref): 2 - order of prewhitening filter (nar): 5 - other notes: na - periods to reject (prej): [] - remote reference elev: 109 - remote reference lat: -30.436398 - remote reference long: 139.41805 - remote reference station: pbrt1 - remote reference(0) or bounded influence(1)(nrr): 1 - sampling frequency (hz): 500 - section increment divisor (nsctinc): 2 - slepian filter order (tbw): 2.0 - small leverage point control (uin): 0 - station: PB40 - z component (nz): 0 - z_unit: km/s - ->=DEFINEMEAS - MAXCHAN=6 - MAXMEAS=99999 - MAXRUN=999 - REFELEV=40.0 - REFLAT=-30:12:28.90 - REFLONG=139:42:4.21 - REFTYPY=CART - UNITS=M - ->HMEAS ID=1001.001 CHTYPE=HX X=0 Y=0 AZM=0 ->HMEAS ID=1002.001 CHTYPE=HY X=0 Y=0 AZM=90 ->EMEAS ID=1003.001 CHTYPE=EX X=0 Y=0 X2=1 Y2=0 ->EMEAS ID=1004.001 CHTYPE=EY X=0 Y=0 X2=0 Y2=1 ->HMEAS ID=1005.001 CHTYPE=RX X=0 Y=0 AZM=0 ->HMEAS ID=1006.001 CHTYPE=RY X=0 Y=0 AZM=90 - ->=MTSECT - EX=1003.001 - EY=1004.001 - HX=1001.001 - HY=1002.001 - NFREQ=43 - RX=1005.001 - RY=1006.001 - SECTID=pb40 - ->ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->FREQ // 43 - 7.812500E+01 6.250000E+01 4.687500E+01 3.906250E+01 3.125000E+01 - 2.343750E+01 1.953125E+01 1.562500E+01 1.171875E+01 9.765625E+00 - 7.812500E+00 6.250000E+00 4.687500E+00 3.906250E+00 3.125000E+00 - 2.343750E+00 1.953125E+00 1.562500E+00 1.171875E+00 9.765630E-01 - 7.812500E-01 5.859380E-01 4.882810E-01 3.906250E-01 2.929690E-01 - 2.441410E-01 1.953130E-01 1.464840E-01 1.220700E-01 9.765600E-02 - 7.324200E-02 6.103500E-02 4.882800E-02 3.662100E-02 3.051800E-02 - 2.441400E-02 1.831100E-02 1.525900E-02 1.220700E-02 9.155000E-03 - 7.629000E-03 6.104000E-03 4.578000E-03 ->ZXXR ROT=ZROT // 43 - -1.950602E-01 -7.877679E-02 -1.354958E-02 -1.016340E-01 -1.068363E-01 - -2.556549E-02 1.735777E-02 -8.629046E-02 3.696729E-02 -1.158885E-01 - -1.706151E-01 1.846241E-01 2.308541E-02 -8.270337E-02 -1.156645E-02 - 2.180831E-02 -8.548958E-02 -9.195541E-02 -1.126398E-01 -1.452928E-01 - -1.115086E-01 -1.182793E-01 -1.029727E-01 -9.980736E-02 -1.378449E-01 - -1.107826E-01 -1.711234E-01 -6.909361E-02 6.323641E-02 3.170431E-01 - 4.700372E-01 3.553120E-01 3.678321E-01 3.162205E-01 3.060866E-01 - 2.262841E-01 1.585538E-01 1.222738E-01 5.587674E-02 2.822400E-02 - -5.690047E-03 -9.264380E-02 -8.457153E-02 ->ZXXI ROT=ZROT // 43 - 2.879051E-02 3.930007E-02 1.296304E-01 7.947682E-02 7.324447E-02 - 1.267125E-01 8.323664E-03 5.831060E-02 -2.755219E-05 1.085138E-01 - 2.539557E-03 -2.861209E-01 -2.479288E-01 -2.674808E-01 -2.152567E-01 - -1.436582E-01 -1.003735E-02 -3.433876E-02 -8.268581E-02 -1.387663E-02 - -1.805511E-02 -4.781184E-02 -1.020548E-01 -1.400691E-01 -8.269172E-02 - 2.987281E-02 -1.857378E-01 -7.112660E-01 -3.040208E-02 -1.323874E-01 - -1.580048E-01 -8.187152E-02 -2.404874E-02 1.725111E-01 2.144813E-01 - 1.987740E-01 2.333290E-01 2.664314E-01 2.849244E-01 2.480580E-01 - 2.076563E-01 1.677504E-01 1.318504E-01 ->ZXX.VAR ROT=ZROT // 43 - 1.421312E-01 1.075002E-01 8.756574E-02 7.329615E-02 6.137320E-02 - 4.940604E-02 4.553192E-02 3.679834E-02 3.242501E-02 3.241742E-02 - 2.501043E-02 4.523809E-02 5.549056E-02 8.087498E-02 8.334246E-02 - 8.014919E-02 9.346488E-02 9.118009E-02 9.348000E-02 1.190718E-01 - 7.472345E-02 4.645375E-02 6.149907E-02 7.766288E-02 1.620396E-01 - 4.680229E-01 5.659081E-01 5.598377E-01 2.619339E-01 4.681031E-01 - 2.757554E-01 8.088920E-02 4.933451E-02 2.774816E-02 2.766368E-02 - 2.124983E-02 2.008194E-02 1.953235E-02 2.040770E-02 2.298102E-02 - 3.189924E-02 4.317053E-02 4.336814E-02 ->ZXYR ROT=ZROT // 43 - 2.677144E+01 2.433045E+01 2.223170E+01 1.908963E+01 1.712706E+01 - 1.449513E+01 1.314040E+01 1.150833E+01 1.031792E+01 8.248930E+00 - 7.597526E+00 6.759591E+00 6.201452E+00 5.765957E+00 5.271810E+00 - 4.735542E+00 4.423535E+00 4.211288E+00 3.855486E+00 3.802392E+00 - 3.758079E+00 3.544645E+00 3.517585E+00 3.642481E+00 3.563394E+00 - 3.641828E+00 3.343622E+00 3.453628E+00 3.449262E+00 3.093717E+00 - 2.707366E+00 2.751115E+00 2.421656E+00 2.008225E+00 2.011448E+00 - 1.810408E+00 1.629612E+00 1.642831E+00 1.572648E+00 1.480999E+00 - 1.366573E+00 1.187033E+00 9.804046E-01 ->ZXYI ROT=ZROT // 43 - 3.789254E+01 3.232767E+01 2.777478E+01 2.491902E+01 2.198960E+01 - 1.842648E+01 1.662163E+01 1.453029E+01 1.271596E+01 1.087847E+01 - 9.618873E+00 7.623082E+00 5.755468E+00 4.575622E+00 4.068296E+00 - 3.464370E+00 2.944063E+00 2.546875E+00 2.026183E+00 1.641912E+00 - 1.391116E+00 1.084861E+00 8.307758E-01 7.124609E-01 6.475073E-01 - 9.635032E-01 7.178844E-01 1.021909E+00 9.084394E-01 1.192942E+00 - 1.280879E+00 1.231849E+00 1.450307E+00 1.372029E+00 1.369968E+00 - 1.340517E+00 1.285243E+00 1.305496E+00 1.254647E+00 1.188913E+00 - 1.099368E+00 1.033781E+00 7.831510E-01 ->ZXY.VAR ROT=ZROT // 43 - 2.295912E-01 1.778952E-01 1.472770E-01 1.207062E-01 1.010640E-01 - 8.049440E-02 7.213532E-02 6.208548E-02 5.614133E-02 5.964191E-02 - 4.842184E-02 8.838125E-02 1.041721E-01 1.435474E-01 1.348245E-01 - 1.217757E-01 1.416203E-01 1.262645E-01 1.143838E-01 1.432810E-01 - 1.051930E-01 8.449595E-02 1.444026E-01 1.776584E-01 2.487376E-01 - 5.305558E-01 5.709333E-01 6.076017E-01 3.217834E-01 6.650024E-01 - 5.098383E-01 1.636727E-01 1.054111E-01 4.833697E-02 4.817286E-02 - 3.558594E-02 2.992406E-02 2.961996E-02 2.902001E-02 3.544964E-02 - 4.683473E-02 5.871729E-02 4.792355E-02 ->ZYXR ROT=ZROT // 43 - -2.673104E+01 -2.437548E+01 -2.247710E+01 -1.937616E+01 -1.743121E+01 - -1.488541E+01 -1.336801E+01 -1.148254E+01 -1.028542E+01 -8.261467E+00 - -7.742211E+00 -7.385800E+00 -6.521210E+00 -6.056391E+00 -5.762691E+00 - -5.372803E+00 -4.897901E+00 -4.577688E+00 -4.450802E+00 -4.124494E+00 - -3.950371E+00 -3.630519E+00 -3.499188E+00 -3.300381E+00 -3.054560E+00 - -2.806084E+00 -1.830659E+00 -1.366852E+00 -1.436783E+00 -1.268264E+00 - -1.074744E+00 -1.152840E+00 -8.856637E-01 -6.203642E-01 -5.541495E-01 - -4.716442E-01 -3.932091E-01 -3.796204E-01 -3.430900E-01 -3.341233E-01 - -3.113968E-01 -2.888011E-01 -2.308975E-01 ->ZYXI ROT=ZROT // 43 - -3.772503E+01 -3.176819E+01 -2.731167E+01 -2.470920E+01 -2.195282E+01 - -1.856008E+01 -1.663744E+01 -1.444762E+01 -1.274957E+01 -1.064118E+01 - -9.521249E+00 -8.104120E+00 -6.148107E+00 -4.864159E+00 -4.126664E+00 - -3.480527E+00 -3.184625E+00 -2.921310E+00 -2.483417E+00 -2.215657E+00 - -2.108011E+00 -1.955741E+00 -1.900541E+00 -1.814181E+00 -1.598664E+00 - -1.468645E+00 -1.268560E+00 -1.705076E+00 -1.413173E+00 -1.472043E+00 - -1.444477E+00 -1.208110E+00 -1.178650E+00 -9.594510E-01 -9.115669E-01 - -7.822669E-01 -6.395599E-01 -6.294978E-01 -5.620497E-01 -5.042642E-01 - -4.289672E-01 -3.673166E-01 -2.940898E-01 ->ZYX.VAR ROT=ZROT // 43 - 1.174647E-01 8.701126E-02 7.080968E-02 5.805517E-02 4.879923E-02 - 3.959555E-02 3.511146E-02 2.856225E-02 2.635993E-02 2.513617E-02 - 1.958737E-02 4.674437E-02 5.838363E-02 8.467352E-02 8.683971E-02 - 8.255843E-02 9.406047E-02 8.891995E-02 8.785808E-02 1.050857E-01 - 6.644729E-02 3.999820E-02 4.763032E-02 5.696324E-02 1.079313E-01 - 2.793586E-01 3.244252E-01 3.214180E-01 1.767735E-01 2.832282E-01 - 1.685632E-01 5.473688E-02 3.019069E-02 1.669007E-02 1.522508E-02 - 1.248260E-02 1.060683E-02 1.009973E-02 9.027374E-03 1.142392E-02 - 1.439354E-02 1.983825E-02 1.700697E-02 ->ZYYR ROT=ZROT // 43 - -9.853523E-02 -2.940684E-01 -3.936331E-01 8.302448E-03 2.741706E-02 - -2.508985E-01 -6.488562E-02 -1.515792E-01 -2.293690E-01 -3.476592E-01 - 6.388633E-02 -1.936678E-02 -8.849037E-01 -1.066243E+00 -9.180472E-01 - -5.653412E-01 -5.749565E-01 -4.787958E-01 -1.937294E-01 -2.707219E-02 - 1.297954E-01 1.371446E-01 1.909353E-01 2.986466E-01 3.529655E-01 - 2.130207E-01 3.252741E-01 9.355302E-02 4.106736E-01 2.878027E-01 - 2.339798E-01 4.779855E-01 3.808359E-01 2.808574E-01 2.785784E-01 - 2.330550E-01 1.712655E-01 1.745602E-01 1.405067E-01 1.501128E-01 - 1.637089E-01 1.155929E-01 9.920127E-02 ->ZYYI ROT=ZROT // 43 - 4.269247E-01 5.077434E-02 -2.617001E-01 8.053437E-02 1.375301E-01 - -2.059435E-02 -6.712435E-02 2.820259E-01 -1.474311E-01 5.923623E-01 - 7.678876E-01 1.131002E+00 7.270673E-01 5.923695E-01 3.126955E-01 - -4.605640E-02 -2.950162E-01 -3.691386E-01 -3.270628E-01 -3.400530E-01 - -3.010867E-01 -3.377203E-01 -4.638112E-01 -4.831509E-01 -4.584344E-01 - -2.606003E-01 1.291616E-01 1.823562E-01 2.483374E-01 2.728419E-01 - 3.553731E-01 1.515443E-01 1.020421E-01 1.669193E-01 1.208813E-01 - 1.456593E-01 1.350643E-01 1.586653E-01 1.533098E-01 1.462844E-01 - 1.471918E-01 1.366259E-01 1.271841E-01 ->ZYY.VAR ROT=ZROT // 43 - 1.782214E-01 1.346608E-01 1.107044E-01 9.010363E-02 7.571318E-02 - 6.053132E-02 5.316614E-02 4.569660E-02 4.324800E-02 4.428611E-02 - 3.623647E-02 8.487025E-02 9.999821E-02 1.382464E-01 1.301451E-01 - 1.165968E-01 1.337097E-01 1.157505E-01 1.028882E-01 1.198678E-01 - 8.863353E-02 6.858854E-02 1.018006E-01 1.196264E-01 1.575824E-01 - 3.204346E-01 3.347883E-01 3.389145E-01 2.105185E-01 3.795109E-01 - 2.950583E-01 9.724852E-02 6.242987E-02 2.692574E-02 2.624001E-02 - 1.826162E-02 1.435199E-02 1.379689E-02 1.330219E-02 1.637207E-02 - 2.061120E-02 2.820566E-02 1.941981E-02 - ->TXR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 - ->END diff --git a/examples/data/edi_files/pb40c_dr_1.edi b/examples/data/edi_files/pb40c_dr_1.edi deleted file mode 100644 index 8fa035a5..00000000 --- a/examples/data/edi_files/pb40c_dr_1.edi +++ /dev/null @@ -1,287 +0,0 @@ ->HEAD - ACQBY="Adelaide University" - ACQDATE="May 21, 2010" - DATAID=PB40 - ELEV=40.0 - LAT=-30:12:28.90 - LOC=PB40 - LONG=139:42:4.21 - PROSPECT= - FILEDATE="2015/12/23 21:13:10 UTC" - ->INFO - battery no: "33 Starting Voltage:12.64 End Voltage 12.37" - cache rate (hhmmss): 001000 - coherence threshold z channel (c2threshe1): None - coil calibration file: c:\BIRRP\BBConv.txt - data logger: 5440 - data logger gain: 1 - edifile_generated_with: MTpy - electric channel rotation angles (thetae): 0,90,180 - electric coherence threshold (c2threshe): 0 - final channel rotation angles (thetaf): 0,90,0 - first frequency extracted (nf1): 3 - frequency increment per window (nfinc): 1.0 - hard drive no: 5457 - instrument box no: 6 - interaction level (ilev): 1 - interface box gain: 1 - interface box no: 24 - large leverage point control (ainuin): 0.9999 - low and high periods for coherence threshold (perlo,perhi): 1000,0.001 - lower leverage point control (ainlin): 0.0001 - magnetic channel rotation angles (thetab): 0,90,0 - magnetic coherence threshold (c2thresheb): 0.45 - max length of fft window (nfft): 65536 - maximum number of fft sections (nsctmax): 12 - number of frequencies per window (nfsect): 3 - number of inputs (ninp): 2 - number of outputs (nout): 2 - number of periods to reject (nprej): 0 - number of remote reference time series (nref): 2 - order of prewhitening filter (nar): 5 - other notes: na - periods to reject (prej): [] - remote reference elev: 109 - remote reference lat: -30.436398 - remote reference long: 139.41805 - remote reference station: pbrt1 - remote reference(0) or bounded influence(1)(nrr): 1 - sampling frequency (hz): 500 - section increment divisor (nsctinc): 2 - slepian filter order (tbw): 2.0 - small leverage point control (uin): 0 - station: PB40 - z component (nz): 0 - z_unit: km/s - ->=DEFINEMEAS - MAXCHAN=6 - MAXMEAS=99999 - MAXRUN=999 - REFELEV=40.0 - REFLAT=-30:12:28.90 - REFLONG=139:42:4.21 - REFTYPY=CART - UNITS=M - ->HMEAS ID=1001.001 CHTYPE=HX X=0 Y=0 AZM=0 ->HMEAS ID=1002.001 CHTYPE=HY X=0 Y=0 AZM=90 ->EMEAS ID=1003.001 CHTYPE=EX X=0 Y=0 X2=1 Y2=0 ->EMEAS ID=1004.001 CHTYPE=EY X=0 Y=0 X2=0 Y2=1 ->HMEAS ID=1005.001 CHTYPE=RX X=0 Y=0 AZM=0 ->HMEAS ID=1006.001 CHTYPE=RY X=0 Y=0 AZM=90 - ->=MTSECT - EX=1003.001 - EY=1004.001 - HX=1001.001 - HY=1002.001 - NFREQ=43 - RX=1005.001 - RY=1006.001 - SECTID=pb40 - ->ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->FREQ // 43 - 7.812500E+01 6.250000E+01 4.687500E+01 3.906250E+01 3.125000E+01 - 2.343750E+01 1.953125E+01 1.562500E+01 1.171875E+01 9.765625E+00 - 7.812500E+00 6.250000E+00 4.687500E+00 3.906250E+00 3.125000E+00 - 2.343750E+00 1.953125E+00 1.562500E+00 1.171875E+00 9.765630E-01 - 7.812500E-01 5.859380E-01 4.882810E-01 3.906250E-01 2.929690E-01 - 2.441410E-01 1.953130E-01 1.464840E-01 1.220700E-01 9.765600E-02 - 7.324200E-02 6.103500E-02 4.882800E-02 3.662100E-02 3.051800E-02 - 2.441400E-02 1.831100E-02 1.525900E-02 1.220700E-02 9.155000E-03 - 7.629000E-03 6.104000E-03 4.578000E-03 ->ZXXR ROT=ZROT // 43 - -1.923913E-01 -7.630633E-02 -1.124961E-02 -9.968467E-02 -1.050884E-01 - -2.404849E-02 1.873508E-02 -8.514493E-02 3.803574E-02 -1.150843E-01 - -1.698844E-01 1.854499E-01 2.376271E-02 -8.211295E-02 -1.097979E-02 - 2.236737E-02 -8.501900E-02 -9.152006E-02 -1.122251E-01 -1.449237E-01 - -1.111448E-01 -1.179509E-01 -1.026520E-01 -9.950591E-02 -1.375828E-01 - -1.105359E-01 -1.709991E-01 -6.897905E-02 6.340719E-02 3.172906E-01 - 4.703217E-01 3.555619E-01 3.680593E-01 3.164014E-01 3.062569E-01 - 2.264163E-01 1.586529E-01 1.223581E-01 5.593263E-02 2.826872E-02 - -5.660223E-03 -9.264852E-02 -8.457920E-02 ->ZXXI ROT=ZROT // 43 - 3.266982E-02 4.257242E-02 1.324792E-01 8.204017E-02 7.552285E-02 - 1.286628E-01 1.003289E-02 5.981380E-02 1.279887E-03 1.096453E-01 - 3.516888E-03 -2.853959E-01 -2.473902E-01 -2.670811E-01 -2.149133E-01 - -1.433546E-01 -9.714490E-03 -3.405192E-02 -8.246179E-02 -1.365456E-02 - -1.784563E-02 -4.762901E-02 -1.018977E-01 -1.399350E-01 -8.255843E-02 - 3.003449E-02 -1.856765E-01 -7.113548E-01 -3.026843E-02 -1.322855E-01 - -1.579152E-01 -8.177798E-02 -2.393679E-02 1.726734E-01 2.146542E-01 - 1.989279E-01 2.334811E-01 2.665947E-01 2.850877E-01 2.482016E-01 - 2.077773E-01 1.678502E-01 1.319294E-01 ->ZXX.VAR ROT=ZROT // 43 - 2.601563E-01 1.960692E-01 1.581108E-01 1.303800E-01 1.078783E-01 - 8.459727E-02 7.537909E-02 6.004911E-02 5.157874E-02 4.805829E-02 - 3.760678E-02 6.021625E-02 6.875513E-02 9.471384E-02 9.602713E-02 - 9.124883E-02 1.042521E-01 1.011153E-01 1.030231E-01 1.289884E-01 - 8.219606E-02 5.193351E-02 6.761086E-02 8.422047E-02 1.707109E-01 - 4.815052E-01 5.774542E-01 5.737195E-01 2.683724E-01 4.779106E-01 - 2.833834E-01 8.448249E-02 5.188767E-02 2.932596E-02 2.918195E-02 - 2.236863E-02 2.101374E-02 2.045004E-02 2.127871E-02 2.381242E-02 - 3.274800E-02 4.406206E-02 4.409485E-02 ->ZXYR ROT=ZROT // 43 - 2.678137E+01 2.433949E+01 2.223998E+01 1.909671E+01 1.713341E+01 - 1.450053E+01 1.314528E+01 1.151261E+01 1.032177E+01 8.252023E+00 - 7.600336E+00 6.762098E+00 6.203841E+00 5.768204E+00 5.273858E+00 - 4.737356E+00 4.425233E+00 4.212898E+00 3.856935E+00 3.803805E+00 - 3.759459E+00 3.545945E+00 3.518870E+00 3.643801E+00 3.564679E+00 - 3.643156E+00 3.344828E+00 3.454899E+00 3.450498E+00 3.094835E+00 - 2.708345E+00 2.752086E+00 2.422515E+00 2.008941E+00 2.012165E+00 - 1.811055E+00 1.630198E+00 1.643422E+00 1.573216E+00 1.481532E+00 - 1.367063E+00 1.187461E+00 9.807578E-01 ->ZXYI ROT=ZROT // 43 - 3.790654E+01 3.233965E+01 2.778510E+01 2.492825E+01 2.199774E+01 - 1.843331E+01 1.662779E+01 1.453565E+01 1.272069E+01 1.088244E+01 - 9.622360E+00 7.625791E+00 5.757527E+00 4.577257E+00 4.069772E+00 - 3.465659E+00 2.945185E+00 2.547857E+00 2.026968E+00 1.642555E+00 - 1.391662E+00 1.085298E+00 8.311313E-01 7.127745E-01 6.477943E-01 - 9.638871E-01 7.181373E-01 1.022269E+00 9.087507E-01 1.193356E+00 - 1.281318E+00 1.232290E+00 1.450834E+00 1.372521E+00 1.370463E+00 - 1.340999E+00 1.285705E+00 1.305964E+00 1.255096E+00 1.189339E+00 - 1.099760E+00 1.034151E+00 7.834283E-01 ->ZXY.VAR ROT=ZROT // 43 - 4.249962E-01 3.274113E-01 2.669155E-01 2.150266E-01 1.775398E-01 - 1.377298E-01 1.205447E-01 1.015255E-01 8.897475E-02 8.802792E-02 - 7.161307E-02 1.144316E-01 1.277479E-01 1.678679E-01 1.557993E-01 - 1.386902E-01 1.583772E-01 1.409263E-01 1.264026E-01 1.559985E-01 - 1.157477E-01 9.335709E-02 1.559890E-01 1.909804E-01 2.641819E-01 - 5.529269E-01 5.922327E-01 6.299904E-01 3.387905E-01 6.876010E-01 - 5.279818E-01 1.741464E-01 1.131413E-01 5.283935E-02 5.263992E-02 - 3.913604E-02 3.288704E-02 3.261693E-02 3.184416E-02 3.840592E-02 - 5.000262E-02 6.187478E-02 5.022238E-02 ->ZYXR ROT=ZROT // 43 - -2.672718E+01 -2.437197E+01 -2.247387E+01 -1.937337E+01 -1.742869E+01 - -1.488327E+01 -1.336609E+01 -1.148088E+01 -1.028395E+01 -8.260268E+00 - -7.741081E+00 -7.384758E+00 -6.520275E+00 -6.055512E+00 -5.761862E+00 - -5.372033E+00 -4.897188E+00 -4.577021E+00 -4.450151E+00 -4.123886E+00 - -3.949791E+00 -3.629985E+00 -3.498674E+00 -3.299896E+00 -3.054107E+00 - -2.805669E+00 -1.830378E+00 -1.366648E+00 -1.436583E+00 -1.268115E+00 - -1.074638E+00 -1.152712E+00 -8.855746E-01 -6.203078E-01 -5.541016E-01 - -4.715999E-01 -3.931690E-01 -3.795785E-01 -3.430465E-01 -3.340782E-01 - -3.113514E-01 -2.887500E-01 -2.308555E-01 ->ZYXI ROT=ZROT // 43 - -3.771961E+01 -3.176363E+01 -2.730776E+01 -2.470566E+01 -2.194968E+01 - -1.855743E+01 -1.663505E+01 -1.444555E+01 -1.274774E+01 -1.063966E+01 - -9.519881E+00 -8.102926E+00 -6.147198E+00 -4.863433E+00 -4.126049E+00 - -3.480012E+00 -3.184167E+00 -2.920887E+00 -2.483052E+00 -2.215338E+00 - -2.107706E+00 -1.955455E+00 -1.900257E+00 -1.813905E+00 -1.598426E+00 - -1.468437E+00 -1.268358E+00 -1.704758E+00 -1.412966E+00 -1.471817E+00 - -1.444253E+00 -1.207928E+00 -1.178479E+00 -9.593310E-01 -9.114581E-01 - -7.821751E-01 -6.394922E-01 -6.294350E-01 -5.619985E-01 -5.042174E-01 - -4.289270E-01 -3.672812E-01 -2.940612E-01 ->ZYX.VAR ROT=ZROT // 43 - 2.129958E-01 1.580733E-01 1.273835E-01 1.034275E-01 8.582178E-02 - 6.770333E-02 5.855510E-02 4.687105E-02 4.175304E-02 3.743356E-02 - 2.953599E-02 6.017655E-02 7.039456E-02 9.717198E-02 9.826873E-02 - 9.250356E-02 1.036112E-01 9.757861E-02 9.602013E-02 1.132939E-01 - 7.266815E-02 4.449440E-02 5.238577E-02 6.192161E-02 1.141424E-01 - 2.883698E-01 3.318694E-01 3.304054E-01 1.813161E-01 2.897167E-01 - 1.736812E-01 5.730827E-02 3.193446E-02 1.775912E-02 1.620881E-02 - 1.323064E-02 1.119624E-02 1.067416E-02 9.531076E-03 1.193104E-02 - 1.488276E-02 2.035131E-02 1.739004E-02 ->ZYYR ROT=ZROT // 43 - -1.012965E-01 -2.965485E-01 -3.958813E-01 6.322233E-03 2.563756E-02 - -2.523652E-01 -6.623856E-02 -1.527504E-01 -2.304057E-01 -3.484643E-01 - 6.308951E-02 -2.006476E-02 -8.854194E-01 -1.066687E+00 -9.184618E-01 - -5.657508E-01 -5.753324E-01 -4.791636E-01 -1.941013E-01 -2.746249E-02 - 1.293871E-01 1.367574E-01 1.905432E-01 2.982260E-01 3.525453E-01 - 2.126125E-01 3.248807E-01 9.318154E-02 4.102570E-01 2.874406E-01 - 2.336655E-01 4.776316E-01 3.805301E-01 2.806088E-01 2.783298E-01 - 2.328338E-01 1.710719E-01 1.743648E-01 1.403234E-01 1.499377E-01 - 1.635437E-01 1.154532E-01 9.908537E-02 ->ZYYI ROT=ZROT // 43 - 4.229351E-01 4.741564E-02 -2.645419E-01 7.793945E-02 1.352307E-01 - -2.250166E-02 -6.883786E-02 2.804791E-01 -1.487281E-01 5.911494E-01 - 7.667800E-01 1.130049E+00 7.263661E-01 5.918100E-01 3.122288E-01 - -4.640893E-02 -2.952790E-01 -3.693496E-01 -3.272258E-01 -3.401744E-01 - -3.011876E-01 -3.377842E-01 -4.638307E-01 -4.831553E-01 -4.584356E-01 - -2.606628E-01 1.290686E-01 1.822241E-01 2.482076E-01 2.726790E-01 - 3.551892E-01 1.513948E-01 1.018771E-01 1.667531E-01 1.207219E-01 - 1.454994E-01 1.349117E-01 1.585072E-01 1.531577E-01 1.461401E-01 - 1.470567E-01 1.364991E-01 1.270847E-01 ->ZYY.VAR ROT=ZROT // 43 - 3.271741E-01 2.474168E-01 2.006701E-01 1.607964E-01 1.331204E-01 - 1.035676E-01 8.923959E-02 7.507412E-02 6.819621E-02 6.551306E-02 - 5.364522E-02 1.068397E-01 1.198963E-01 1.588128E-01 1.478914E-01 - 1.308323E-01 1.477127E-01 1.278277E-01 1.126836E-01 1.298570E-01 - 9.696239E-02 7.546047E-02 1.101729E-01 1.290341E-01 1.681403E-01 - 3.352401E-01 3.486438E-01 3.531087E-01 2.222894E-01 3.939855E-01 - 3.067794E-01 1.041920E-01 6.755489E-02 2.983257E-02 2.909218E-02 - 2.046586E-02 1.613172E-02 1.557261E-02 1.496132E-02 1.811123E-02 - 2.242580E-02 3.008471E-02 2.067616E-02 - ->TXR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 - ->END diff --git a/examples/data/edi_files/pb40c_dr_2.edi b/examples/data/edi_files/pb40c_dr_2.edi deleted file mode 100644 index d44a22d7..00000000 --- a/examples/data/edi_files/pb40c_dr_2.edi +++ /dev/null @@ -1,287 +0,0 @@ ->HEAD - ACQBY="Adelaide University" - ACQDATE="May 21, 2010" - DATAID=PB40 - ELEV=40.0 - LAT=-30:12:28.90 - LOC=PB40 - LONG=139:42:4.21 - PROSPECT= - FILEDATE="2015/12/23 22:09:06 UTC" - ->INFO - battery no: "33 Starting Voltage:12.64 End Voltage 12.37" - cache rate (hhmmss): 001000 - coherence threshold z channel (c2threshe1): None - coil calibration file: c:\BIRRP\BBConv.txt - data logger: 5440 - data logger gain: 1 - edifile_generated_with: MTpy - electric channel rotation angles (thetae): 0,90,180 - electric coherence threshold (c2threshe): 0 - final channel rotation angles (thetaf): 0,90,0 - first frequency extracted (nf1): 3 - frequency increment per window (nfinc): 1.0 - hard drive no: 5457 - instrument box no: 6 - interaction level (ilev): 1 - interface box gain: 1 - interface box no: 24 - large leverage point control (ainuin): 0.9999 - low and high periods for coherence threshold (perlo,perhi): 1000,0.001 - lower leverage point control (ainlin): 0.0001 - magnetic channel rotation angles (thetab): 0,90,0 - magnetic coherence threshold (c2thresheb): 0.45 - max length of fft window (nfft): 65536 - maximum number of fft sections (nsctmax): 12 - number of frequencies per window (nfsect): 3 - number of inputs (ninp): 2 - number of outputs (nout): 2 - number of periods to reject (nprej): 0 - number of remote reference time series (nref): 2 - order of prewhitening filter (nar): 5 - other notes: na - periods to reject (prej): [] - remote reference elev: 109 - remote reference lat: -30.436398 - remote reference long: 139.41805 - remote reference station: pbrt1 - remote reference(0) or bounded influence(1)(nrr): 1 - sampling frequency (hz): 500 - section increment divisor (nsctinc): 2 - slepian filter order (tbw): 2.0 - small leverage point control (uin): 0 - station: PB40 - z component (nz): 0 - z_unit: km/s - ->=DEFINEMEAS - MAXCHAN=6 - MAXMEAS=99999 - MAXRUN=999 - REFELEV=40.0 - REFLAT=-30:12:28.90 - REFLONG=139:42:4.21 - REFTYPY=CART - UNITS=M - ->HMEAS ID=1001.001 CHTYPE=HX X=0 Y=0 AZM=0 ->HMEAS ID=1002.001 CHTYPE=HY X=0 Y=0 AZM=90 ->EMEAS ID=1003.001 CHTYPE=EX X=0 Y=0 X2=1 Y2=0 ->EMEAS ID=1004.001 CHTYPE=EY X=0 Y=0 X2=0 Y2=1 ->HMEAS ID=1005.001 CHTYPE=RX X=0 Y=0 AZM=0 ->HMEAS ID=1006.001 CHTYPE=RY X=0 Y=0 AZM=90 - ->=MTSECT - EX=1003.001 - EY=1004.001 - HX=1001.001 - HY=1002.001 - NFREQ=43 - RX=1005.001 - RY=1006.001 - SECTID=pb40 - ->ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->FREQ // 43 - 7.812500E+01 6.250000E+01 4.687500E+01 3.906250E+01 3.125000E+01 - 2.343750E+01 1.953125E+01 1.562500E+01 1.171875E+01 9.765625E+00 - 7.812500E+00 6.250000E+00 4.687500E+00 3.906250E+00 3.125000E+00 - 2.343750E+00 1.953125E+00 1.562500E+00 1.171875E+00 9.765630E-01 - 7.812500E-01 5.859380E-01 4.882810E-01 3.906250E-01 2.929690E-01 - 2.441410E-01 1.953130E-01 1.464840E-01 1.220700E-01 9.765600E-02 - 7.324200E-02 6.103500E-02 4.882800E-02 3.662100E-02 3.051800E-02 - 2.441400E-02 1.831100E-02 1.525900E-02 1.220700E-02 9.155000E-03 - 7.629000E-03 6.104000E-03 4.578000E-03 ->ZXXR ROT=ZROT // 43 - -1.980382E-01 -8.154823E-02 -1.613848E-02 -1.038150E-01 -1.087898E-01 - -2.727063E-02 1.580373E-02 -8.756828E-02 3.575829E-02 -1.167776E-01 - -1.714133E-01 1.836668E-01 2.231907E-02 -8.335638E-02 -1.222563E-02 - 2.117536E-02 -8.600720E-02 -9.243239E-02 -1.130905E-01 -1.456874E-01 - -1.119021E-01 -1.186320E-01 -1.033189E-01 -1.001324E-01 -1.381201E-01 - -1.110443E-01 -1.712384E-01 -6.921257E-02 6.303480E-02 3.167179E-01 - 4.696482E-01 3.549786E-01 3.675225E-01 3.159706E-01 3.058501E-01 - 2.261021E-01 1.584191E-01 1.221610E-01 5.580561E-02 2.816949E-02 - -5.722812E-03 -9.262495E-02 -8.455054E-02 ->ZXXI ROT=ZROT // 43 - 2.441633E-02 3.560809E-02 1.264023E-01 7.657765E-02 7.066723E-02 - 1.244970E-01 6.397035E-03 5.660877E-02 -1.500352E-03 1.072234E-01 - 1.438242E-03 -2.868958E-01 -2.484993E-01 -2.678919E-01 -2.156121E-01 - -1.439793E-01 -1.039957E-02 -3.465688E-02 -8.292609E-02 -1.412476E-02 - -1.828845E-02 -4.801082E-02 -1.022168E-01 -1.401998E-01 -8.282979E-02 - 2.968632E-02 -1.857797E-01 -7.110621E-01 -3.054819E-02 -1.324828E-01 - -1.580826E-01 -8.196494E-02 -2.417135E-02 1.723030E-01 2.142551E-01 - 1.985716E-01 2.331236E-01 2.662085E-01 2.846989E-01 2.478599E-01 - 2.074897E-01 1.676134E-01 1.317421E-01 ->ZXX.VAR ROT=ZROT // 43 - 3.957202E-02 3.029724E-02 2.553498E-02 2.244479E-02 1.952055E-02 - 1.702951E-02 1.729798E-02 1.454463E-02 1.371630E-02 1.628708E-02 - 1.215745E-02 2.853805E-02 3.995834E-02 6.405944E-02 6.776720E-02 - 6.641549E-02 7.994250E-02 7.868017E-02 8.142697E-02 1.064116E-01 - 6.527411E-02 3.959470E-02 5.376800E-02 6.929693E-02 1.507749E-01 - 4.502352E-01 5.505878E-01 5.414892E-01 2.534163E-01 4.551008E-01 - 2.656937E-01 7.619938E-02 4.601724E-02 2.570487E-02 2.569532E-02 - 1.979736E-02 1.886778E-02 1.833706E-02 1.927026E-02 2.189084E-02 - 3.077915E-02 4.198889E-02 4.240181E-02 ->ZXYR ROT=ZROT // 43 - 2.675634E+01 2.431670E+01 2.221912E+01 1.907888E+01 1.711741E+01 - 1.448693E+01 1.313299E+01 1.150182E+01 1.031208E+01 8.244241E+00 - 7.593252E+00 6.755779E+00 6.197854E+00 5.762584E+00 5.268733E+00 - 4.732808E+00 4.420975E+00 4.208859E+00 3.853290E+00 3.800246E+00 - 3.755976E+00 3.542663E+00 3.515625E+00 3.640463E+00 3.561427E+00 - 3.639800E+00 3.341775E+00 3.451693E+00 3.447365E+00 3.092007E+00 - 2.705867E+00 2.749620E+00 2.420335E+00 2.007126E+00 2.010346E+00 - 1.809414E+00 1.628713E+00 1.641925E+00 1.571777E+00 1.480181E+00 - 1.365822E+00 1.186378E+00 9.798635E-01 ->ZXYI ROT=ZROT // 43 - 3.787123E+01 3.230946E+01 2.775909E+01 2.490499E+01 2.197722E+01 - 1.841610E+01 1.661225E+01 1.452214E+01 1.270878E+01 1.087241E+01 - 9.613541E+00 7.618916E+00 5.752308E+00 4.573111E+00 4.066039E+00 - 3.462412E+00 2.942370E+00 2.545397E+00 2.025004E+00 1.640947E+00 - 1.390297E+00 1.084211E+00 8.302540E-01 7.120035E-01 6.470894E-01 - 9.629301E-01 7.174947E-01 1.021354E+00 9.079562E-01 1.192301E+00 - 1.280198E+00 1.231172E+00 1.449502E+00 1.371275E+00 1.369210E+00 - 1.339778E+00 1.284534E+00 1.304779E+00 1.253957E+00 1.188260E+00 - 1.098765E+00 1.033215E+00 7.827243E-01 ->ZXY.VAR ROT=ZROT // 43 - 6.191717E-02 4.897042E-02 4.272284E-02 3.701575E-02 3.239236E-02 - 2.796469E-02 2.683550E-02 2.451271E-02 2.408283E-02 3.036125E-02 - 2.453299E-02 5.886445E-02 7.646816E-02 1.140680E-01 1.092076E-01 - 1.009295E-01 1.207285E-01 1.079619E-01 9.928739E-02 1.271563E-01 - 9.189714E-02 7.336145E-02 1.296351E-01 1.606256E-01 2.288407E-01 - 5.013930E-01 5.430779E-01 5.783183E-01 2.997515E-01 6.353842E-01 - 4.860827E-01 1.501926E-01 9.551683E-02 4.263954E-02 4.251891E-02 - 3.111058E-02 2.618736E-02 2.584499E-02 2.545496E-02 3.168782E-02 - 4.276638E-02 5.462907E-02 4.493645E-02 ->ZYXR ROT=ZROT // 43 - -2.674170E+01 -2.438515E+01 -2.248599E+01 -1.938387E+01 -1.743815E+01 - -1.489131E+01 -1.337328E+01 -1.148712E+01 -1.028947E+01 -8.264791E+00 - -7.745357E+00 -7.388626E+00 -6.523776E+00 -6.058826E+00 -5.764974E+00 - -5.374915E+00 -4.899880E+00 -4.579544E+00 -4.452618E+00 -4.126197E+00 - -3.951988E+00 -3.632013E+00 -3.500623E+00 -3.301736E+00 -3.055837E+00 - -2.807249E+00 -1.831469E+00 -1.367427E+00 -1.437319E+00 -1.268605E+00 - -1.074932E+00 -1.153117E+00 -8.858283E-01 -6.204499E-01 -5.542142E-01 - -4.717165E-01 -3.932845E-01 -3.797088E-01 -3.431974E-01 -3.342411E-01 - -3.115227E-01 -2.889619E-01 -2.310314E-01 ->ZYXI ROT=ZROT // 43 - -3.773992E+01 -3.178073E+01 -2.732240E+01 -2.471893E+01 -2.196146E+01 - -1.856735E+01 -1.664401E+01 -1.445330E+01 -1.275461E+01 -1.064533E+01 - -9.525011E+00 -8.107467E+00 -6.150662E+00 -4.866216E+00 -4.128404E+00 - -3.481975E+00 -3.185889E+00 -2.922482E+00 -2.484440E+00 -2.216540E+00 - -2.108853E+00 -1.956538E+00 -1.901343E+00 -1.814968E+00 -1.599337E+00 - -1.469211E+00 -1.269155E+00 -1.706109E+00 -1.413747E+00 -1.472691E+00 - -1.445127E+00 -1.208629E+00 -1.179128E+00 -9.597432E-01 -9.118190E-01 - -7.824758E-01 -6.396950E-01 -6.296123E-01 -5.621282E-01 -5.043384E-01 - -4.290320E-01 -3.673772E-01 -2.941396E-01 ->ZYX.VAR ROT=ZROT // 43 - 3.365089E-02 2.476863E-02 2.083443E-02 1.763297E-02 1.544767E-02 - 1.366688E-02 1.303281E-02 1.109005E-02 1.124913E-02 1.247447E-02 - 9.440066E-03 3.138739E-02 4.403086E-02 6.924767E-02 7.260497E-02 - 7.009202E-02 8.195443E-02 7.791690E-02 7.745798E-02 9.453114E-02 - 5.852267E-02 3.433325E-02 4.159266E-02 5.061849E-02 9.982886E-02 - 2.673581E-01 3.144056E-01 3.094046E-01 1.706923E-01 2.745055E-01 - 1.617445E-01 5.136091E-02 2.791756E-02 1.530266E-02 1.394838E-02 - 1.150901E-02 9.836949E-03 9.350075E-03 8.368859E-03 1.075564E-02 - 1.374213E-02 1.914887E-02 1.648832E-02 ->ZYYR ROT=ZROT // 43 - -8.507803E-02 -2.819191E-01 -3.825811E-01 1.792929E-02 3.606207E-02 - -2.436903E-01 -5.828686E-02 -1.458374E-01 -2.242581E-01 -3.436381E-01 - 6.774168E-02 -1.596675E-02 -8.821271E-01 -1.063757E+00 -9.157524E-01 - -5.631773E-01 -5.729537E-01 -4.768620E-01 -1.918624E-01 -2.516601E-02 - 1.317412E-01 1.389857E-01 1.927841E-01 3.006008E-01 3.549013E-01 - 2.149408E-01 3.270882E-01 9.533105E-02 4.125748E-01 2.894760E-01 - 2.354372E-01 4.795613E-01 3.822072E-01 2.819808E-01 2.797025E-01 - 2.340598E-01 1.721547E-01 1.754573E-01 1.413550E-01 1.509187E-01 - 1.644625E-01 1.162370E-01 9.973472E-02 ->ZYYI ROT=ZROT // 43 - 4.461960E-01 6.709159E-02 -2.478016E-01 9.312850E-02 1.486699E-01 - -1.131324E-02 -5.877150E-02 2.894625E-01 -1.410789E-01 5.980805E-01 - 7.730402E-01 1.135292E+00 7.302561E-01 5.949103E-01 3.148701E-01 - -4.432812E-02 -2.936486E-01 -3.680005E-01 -3.261706E-01 -3.393597E-01 - -3.005044E-01 -3.373068E-01 -4.635757E-01 -4.829827E-01 -4.582891E-01 - -2.602176E-01 1.295745E-01 1.829435E-01 2.488935E-01 2.735511E-01 - 3.561592E-01 1.522252E-01 1.028136E-01 1.676769E-01 1.216197E-01 - 1.463927E-01 1.357656E-01 1.593862E-01 1.540029E-01 1.469416E-01 - 1.478042E-01 1.372011E-01 1.276292E-01 ->ZYY.VAR ROT=ZROT // 43 - 4.936590E-02 3.721142E-02 3.203140E-02 2.742177E-02 2.415818E-02 - 2.099715E-02 1.950126E-02 1.778784E-02 1.876761E-02 2.240192E-02 - 1.829641E-02 5.946060E-02 7.622644E-02 1.129797E-01 1.081917E-01 - 9.884630E-02 1.160711E-01 1.005330E-01 9.047977E-02 1.071193E-01 - 7.807068E-02 5.990399E-02 9.109793E-02 1.075700E-01 1.439467E-01 - 3.010328E-01 3.165550E-01 3.202391E-01 1.952047E-01 3.604059E-01 - 2.796096E-01 8.830232E-02 5.587180E-02 2.326348E-02 2.264804E-02 - 1.550480E-02 1.213007E-02 1.158583E-02 1.123145E-02 1.417737E-02 - 1.829488E-02 2.577457E-02 1.779042E-02 - ->TXR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 - ->END diff --git a/examples/data/edi_files/pb40c_dr_3.edi b/examples/data/edi_files/pb40c_dr_3.edi deleted file mode 100644 index 0f6a7b4e..00000000 --- a/examples/data/edi_files/pb40c_dr_3.edi +++ /dev/null @@ -1,287 +0,0 @@ ->HEAD - ACQBY="Adelaide University" - ACQDATE="May 21, 2010" - DATAID=PB40 - ELEV=40.0 - LAT=-30:12:28.90 - LOC=PB40 - LONG=139:42:4.21 - PROSPECT= - FILEDATE="2015/12/23 22:26:25 UTC" - ->INFO - battery no: "33 Starting Voltage:12.64 End Voltage 12.37" - cache rate (hhmmss): 001000 - coherence threshold z channel (c2threshe1): None - coil calibration file: c:\BIRRP\BBConv.txt - data logger: 5440 - data logger gain: 1 - edifile_generated_with: MTpy - electric channel rotation angles (thetae): 0,90,180 - electric coherence threshold (c2threshe): 0 - final channel rotation angles (thetaf): 0,90,0 - first frequency extracted (nf1): 3 - frequency increment per window (nfinc): 1.0 - hard drive no: 5457 - instrument box no: 6 - interaction level (ilev): 1 - interface box gain: 1 - interface box no: 24 - large leverage point control (ainuin): 0.9999 - low and high periods for coherence threshold (perlo,perhi): 1000,0.001 - lower leverage point control (ainlin): 0.0001 - magnetic channel rotation angles (thetab): 0,90,0 - magnetic coherence threshold (c2thresheb): 0.45 - max length of fft window (nfft): 65536 - maximum number of fft sections (nsctmax): 12 - number of frequencies per window (nfsect): 3 - number of inputs (ninp): 2 - number of outputs (nout): 2 - number of periods to reject (nprej): 0 - number of remote reference time series (nref): 2 - order of prewhitening filter (nar): 5 - other notes: na - periods to reject (prej): [] - remote reference elev: 109 - remote reference lat: -30.436398 - remote reference long: 139.41805 - remote reference station: pbrt1 - remote reference(0) or bounded influence(1)(nrr): 1 - sampling frequency (hz): 500 - section increment divisor (nsctinc): 2 - slepian filter order (tbw): 2.0 - small leverage point control (uin): 0 - station: PB40 - z component (nz): 0 - z_unit: km/s - ->=DEFINEMEAS - MAXCHAN=6 - MAXMEAS=99999 - MAXRUN=999 - REFELEV=40.0 - REFLAT=-30:12:28.90 - REFLONG=139:42:4.21 - REFTYPY=CART - UNITS=M - ->HMEAS ID=1001.001 CHTYPE=HX X=0 Y=0 AZM=0 ->HMEAS ID=1002.001 CHTYPE=HY X=0 Y=0 AZM=90 ->EMEAS ID=1003.001 CHTYPE=EX X=0 Y=0 X2=1 Y2=0 ->EMEAS ID=1004.001 CHTYPE=EY X=0 Y=0 X2=0 Y2=1 ->HMEAS ID=1005.001 CHTYPE=RX X=0 Y=0 AZM=0 ->HMEAS ID=1006.001 CHTYPE=RY X=0 Y=0 AZM=90 - ->=MTSECT - EX=1003.001 - EY=1004.001 - HX=1001.001 - HY=1002.001 - NFREQ=43 - RX=1005.001 - RY=1006.001 - SECTID=pb40 - ->ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->FREQ // 43 - 7.812500E+01 6.250000E+01 4.687500E+01 3.906250E+01 3.125000E+01 - 2.343750E+01 1.953125E+01 1.562500E+01 1.171875E+01 9.765625E+00 - 7.812500E+00 6.250000E+00 4.687500E+00 3.906250E+00 3.125000E+00 - 2.343750E+00 1.953125E+00 1.562500E+00 1.171875E+00 9.765630E-01 - 7.812500E-01 5.859380E-01 4.882810E-01 3.906250E-01 2.929690E-01 - 2.441410E-01 1.953130E-01 1.464840E-01 1.220700E-01 9.765600E-02 - 7.324200E-02 6.103500E-02 4.882800E-02 3.662100E-02 3.051800E-02 - 2.441400E-02 1.831100E-02 1.525900E-02 1.220700E-02 9.155000E-03 - 7.629000E-03 6.104000E-03 4.578000E-03 ->ZXXR ROT=ZROT // 43 - -1.980382E-01 -8.154823E-02 -1.613848E-02 -1.038150E-01 -1.087898E-01 - -2.727063E-02 1.580373E-02 -8.756828E-02 3.575829E-02 -1.167776E-01 - -1.714133E-01 1.836668E-01 2.231907E-02 -8.335638E-02 -1.222563E-02 - 2.117536E-02 -8.600720E-02 -9.243239E-02 -1.130905E-01 -1.456874E-01 - -1.119021E-01 -1.186320E-01 -1.033189E-01 -1.001324E-01 -1.381201E-01 - -1.110443E-01 -1.712384E-01 -6.921257E-02 6.303480E-02 3.167179E-01 - 4.696482E-01 3.549786E-01 3.675225E-01 3.159706E-01 3.058501E-01 - 2.261021E-01 1.584191E-01 1.221610E-01 5.580561E-02 2.816949E-02 - -5.722812E-03 -9.262495E-02 -8.455054E-02 ->ZXXI ROT=ZROT // 43 - 2.441633E-02 3.560809E-02 1.264023E-01 7.657765E-02 7.066723E-02 - 1.244970E-01 6.397035E-03 5.660877E-02 -1.500352E-03 1.072234E-01 - 1.438242E-03 -2.868958E-01 -2.484993E-01 -2.678919E-01 -2.156121E-01 - -1.439793E-01 -1.039957E-02 -3.465688E-02 -8.292609E-02 -1.412476E-02 - -1.828845E-02 -4.801082E-02 -1.022168E-01 -1.401998E-01 -8.282979E-02 - 2.968632E-02 -1.857797E-01 -7.110621E-01 -3.054819E-02 -1.324828E-01 - -1.580826E-01 -8.196494E-02 -2.417135E-02 1.723030E-01 2.142551E-01 - 1.985716E-01 2.331236E-01 2.662085E-01 2.846989E-01 2.478599E-01 - 2.074897E-01 1.676134E-01 1.317421E-01 ->ZXX.VAR ROT=ZROT // 43 - 3.957202E-02 3.029724E-02 2.553498E-02 2.244479E-02 1.952055E-02 - 1.702951E-02 1.729798E-02 1.454463E-02 1.371630E-02 1.628708E-02 - 1.215745E-02 2.853805E-02 3.995834E-02 6.405944E-02 6.776720E-02 - 6.641549E-02 7.994250E-02 7.868017E-02 8.142697E-02 1.064116E-01 - 6.527411E-02 3.959470E-02 5.376800E-02 6.929693E-02 1.507749E-01 - 4.502352E-01 5.505878E-01 5.414892E-01 2.534163E-01 4.551008E-01 - 2.656937E-01 7.619938E-02 4.601724E-02 2.570487E-02 2.569532E-02 - 1.979736E-02 1.886778E-02 1.833706E-02 1.927026E-02 2.189084E-02 - 3.077915E-02 4.198889E-02 4.240181E-02 ->ZXYR ROT=ZROT // 43 - 2.675634E+01 2.431670E+01 2.221912E+01 1.907888E+01 1.711741E+01 - 1.448693E+01 1.313299E+01 1.150182E+01 1.031208E+01 8.244241E+00 - 7.593252E+00 6.755779E+00 6.197854E+00 5.762584E+00 5.268733E+00 - 4.732808E+00 4.420975E+00 4.208859E+00 3.853290E+00 3.800246E+00 - 3.755976E+00 3.542663E+00 3.515625E+00 3.640463E+00 3.561427E+00 - 3.639800E+00 3.341775E+00 3.451693E+00 3.447365E+00 3.092007E+00 - 2.705867E+00 2.749620E+00 2.420335E+00 2.007126E+00 2.010346E+00 - 1.809414E+00 1.628713E+00 1.641925E+00 1.571777E+00 1.480181E+00 - 1.365822E+00 1.186378E+00 9.798635E-01 ->ZXYI ROT=ZROT // 43 - 3.787123E+01 3.230946E+01 2.775909E+01 2.490499E+01 2.197722E+01 - 1.841610E+01 1.661225E+01 1.452214E+01 1.270878E+01 1.087241E+01 - 9.613541E+00 7.618916E+00 5.752308E+00 4.573111E+00 4.066039E+00 - 3.462412E+00 2.942370E+00 2.545397E+00 2.025004E+00 1.640947E+00 - 1.390297E+00 1.084211E+00 8.302540E-01 7.120035E-01 6.470894E-01 - 9.629301E-01 7.174947E-01 1.021354E+00 9.079562E-01 1.192301E+00 - 1.280198E+00 1.231172E+00 1.449502E+00 1.371275E+00 1.369210E+00 - 1.339778E+00 1.284534E+00 1.304779E+00 1.253957E+00 1.188260E+00 - 1.098765E+00 1.033215E+00 7.827243E-01 ->ZXY.VAR ROT=ZROT // 43 - 6.191717E-02 4.897042E-02 4.272284E-02 3.701575E-02 3.239236E-02 - 2.796469E-02 2.683550E-02 2.451271E-02 2.408283E-02 3.036125E-02 - 2.453299E-02 5.886445E-02 7.646816E-02 1.140680E-01 1.092076E-01 - 1.009295E-01 1.207285E-01 1.079619E-01 9.928739E-02 1.271563E-01 - 9.189714E-02 7.336145E-02 1.296351E-01 1.606256E-01 2.288407E-01 - 5.013930E-01 5.430779E-01 5.783183E-01 2.997515E-01 6.353842E-01 - 4.860827E-01 1.501926E-01 9.551683E-02 4.263954E-02 4.251891E-02 - 3.111058E-02 2.618736E-02 2.584499E-02 2.545496E-02 3.168782E-02 - 4.276638E-02 5.462907E-02 4.493645E-02 ->ZYXR ROT=ZROT // 43 - -2.674170E+01 -2.438515E+01 -2.248599E+01 -1.938387E+01 -1.743815E+01 - -1.489131E+01 -1.337328E+01 -1.148712E+01 -1.028947E+01 -8.264791E+00 - -7.745357E+00 -7.388626E+00 -6.523776E+00 -6.058826E+00 -5.764974E+00 - -5.374915E+00 -4.899880E+00 -4.579544E+00 -4.452618E+00 -4.126197E+00 - -3.951988E+00 -3.632013E+00 -3.500623E+00 -3.301736E+00 -3.055837E+00 - -2.807249E+00 -1.831469E+00 -1.367427E+00 -1.437319E+00 -1.268605E+00 - -1.074932E+00 -1.153117E+00 -8.858283E-01 -6.204499E-01 -5.542142E-01 - -4.717165E-01 -3.932845E-01 -3.797088E-01 -3.431974E-01 -3.342411E-01 - -3.115227E-01 -2.889619E-01 -2.310314E-01 ->ZYXI ROT=ZROT // 43 - -3.773992E+01 -3.178073E+01 -2.732240E+01 -2.471893E+01 -2.196146E+01 - -1.856735E+01 -1.664401E+01 -1.445330E+01 -1.275461E+01 -1.064533E+01 - -9.525011E+00 -8.107467E+00 -6.150662E+00 -4.866216E+00 -4.128404E+00 - -3.481975E+00 -3.185889E+00 -2.922482E+00 -2.484440E+00 -2.216540E+00 - -2.108853E+00 -1.956538E+00 -1.901343E+00 -1.814968E+00 -1.599337E+00 - -1.469211E+00 -1.269155E+00 -1.706109E+00 -1.413747E+00 -1.472691E+00 - -1.445127E+00 -1.208629E+00 -1.179128E+00 -9.597432E-01 -9.118190E-01 - -7.824758E-01 -6.396950E-01 -6.296123E-01 -5.621282E-01 -5.043384E-01 - -4.290320E-01 -3.673772E-01 -2.941396E-01 ->ZYX.VAR ROT=ZROT // 43 - 3.365089E-02 2.476863E-02 2.083443E-02 1.763297E-02 1.544767E-02 - 1.366688E-02 1.303281E-02 1.109005E-02 1.124913E-02 1.247447E-02 - 9.440066E-03 3.138739E-02 4.403086E-02 6.924767E-02 7.260497E-02 - 7.009202E-02 8.195443E-02 7.791690E-02 7.745798E-02 9.453114E-02 - 5.852267E-02 3.433325E-02 4.159266E-02 5.061849E-02 9.982886E-02 - 2.673581E-01 3.144056E-01 3.094046E-01 1.706923E-01 2.745055E-01 - 1.617445E-01 5.136091E-02 2.791756E-02 1.530266E-02 1.394838E-02 - 1.150901E-02 9.836949E-03 9.350075E-03 8.368859E-03 1.075564E-02 - 1.374213E-02 1.914887E-02 1.648832E-02 ->ZYYR ROT=ZROT // 43 - -8.507803E-02 -2.819191E-01 -3.825811E-01 1.792929E-02 3.606207E-02 - -2.436903E-01 -5.828686E-02 -1.458374E-01 -2.242581E-01 -3.436381E-01 - 6.774168E-02 -1.596675E-02 -8.821271E-01 -1.063757E+00 -9.157524E-01 - -5.631773E-01 -5.729537E-01 -4.768620E-01 -1.918624E-01 -2.516601E-02 - 1.317412E-01 1.389857E-01 1.927841E-01 3.006008E-01 3.549013E-01 - 2.149408E-01 3.270882E-01 9.533105E-02 4.125748E-01 2.894760E-01 - 2.354372E-01 4.795613E-01 3.822072E-01 2.819808E-01 2.797025E-01 - 2.340598E-01 1.721547E-01 1.754573E-01 1.413550E-01 1.509187E-01 - 1.644625E-01 1.162370E-01 9.973472E-02 ->ZYYI ROT=ZROT // 43 - 4.461960E-01 6.709159E-02 -2.478016E-01 9.312850E-02 1.486699E-01 - -1.131324E-02 -5.877150E-02 2.894625E-01 -1.410789E-01 5.980805E-01 - 7.730402E-01 1.135292E+00 7.302561E-01 5.949103E-01 3.148701E-01 - -4.432812E-02 -2.936486E-01 -3.680005E-01 -3.261706E-01 -3.393597E-01 - -3.005044E-01 -3.373068E-01 -4.635757E-01 -4.829827E-01 -4.582891E-01 - -2.602176E-01 1.295745E-01 1.829435E-01 2.488935E-01 2.735511E-01 - 3.561592E-01 1.522252E-01 1.028136E-01 1.676769E-01 1.216197E-01 - 1.463927E-01 1.357656E-01 1.593862E-01 1.540029E-01 1.469416E-01 - 1.478042E-01 1.372011E-01 1.276292E-01 ->ZYY.VAR ROT=ZROT // 43 - 4.936590E-02 3.721142E-02 3.203140E-02 2.742177E-02 2.415818E-02 - 2.099715E-02 1.950126E-02 1.778784E-02 1.876761E-02 2.240192E-02 - 1.829641E-02 5.946060E-02 7.622644E-02 1.129797E-01 1.081917E-01 - 9.884630E-02 1.160711E-01 1.005330E-01 9.047977E-02 1.071193E-01 - 7.807068E-02 5.990399E-02 9.109793E-02 1.075700E-01 1.439467E-01 - 3.010328E-01 3.165550E-01 3.202391E-01 1.952047E-01 3.604059E-01 - 2.796096E-01 8.830232E-02 5.587180E-02 2.326348E-02 2.264804E-02 - 1.550480E-02 1.213007E-02 1.158583E-02 1.123145E-02 1.417737E-02 - 1.829488E-02 2.577457E-02 1.779042E-02 - ->TXR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TXVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYI.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 ->TYVAR.EXP ROT=ZROT // 43 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 - 0.000000E+00 0.000000E+00 0.000000E+00 - ->END diff --git a/mtpy/analysis/distortion.py b/mtpy/analysis/distortion.py index 644075fd..2246d4b1 100644 --- a/mtpy/analysis/distortion.py +++ b/mtpy/analysis/distortion.py @@ -17,13 +17,11 @@ is in an independent, personalised module. - - Functions: - - @UofA, 2013 (LK) +Edited by JP, 2016 + """ #================================================================= @@ -33,6 +31,7 @@ import mtpy.analysis.geometry as MTge import mtpy.utils.exceptions as MTex import mtpy.utils.calculator as MTcc +import copy #reload(MTex) #reload(MTz) @@ -61,240 +60,220 @@ -def find_distortion(z_object, g = 'det', lo_dims = None): +def find_distortion(z_object, g ='det', num_freq=None, lo_dims=None): """ find optimal distortion tensor from z object automatically determine the dimensionality over all frequencies, then find the appropriate distortion tensor D + + Arguments + ------------- + + **z_object** : mtpy.core.z object + + **g** : [ 'det' | '01' | '10 ] + type of distortion correction + *default* is 'det' + + **num_freq** : int + number of frequencies to look for distortion from + the index 0 + *default* is None, meaning all frequencies are used + + **lo_dims** : list + list of dimensions for each frequency + *default* is None, meaning calculated from data + + Returns + --------- + + **distortion** : np.ndarray(2, 2) + distortion array all real values + + **distortion_err** : np.ndarray(2, 2) + distortion error array + + Example: + --------- + :Estimate Distortion: :: + + >>> import mtpy.analysis.distortion as distortion + >>> dis, dis_err = distortion.find_distortion(z_obj, num_freq=12) + """ - z_obj = z_object - - if lo_dims is None : - lo_dims = MTge.dimensionality(z_object = z_obj) - try: - if len(lo_dims) != len(z_obj.z): - lo_dims = MTge.dimensionality(z_object = z_obj) - except: - pass + z_obj = copy.deepcopy(z_object) + + if num_freq is not None: + if num_freq > z_obj.freq.size: + num_freq = z_obj.freq.size + print 'Number of frequencies to sweep over is too high for z' + print 'setting num_freq to {0}'.format(num_freq) + else: + num_freq = z_obj.freq.size + + z_obj.z = z_obj.z[0:num_freq] + z_obj.z_err = z_obj.z_err[0:num_freq] + z_obj.freq = z_obj.freq[0:num_freq] + + + g = 'det' + + dim_arr = MTge.dimensionality(z_object=z_obj) + st_arr = -1*MTge.strike_angle(z_object=z_obj)[:, 0] + + dis = np.zeros_like(z_obj.z, dtype=np.float) + dis_err = np.ones_like(z_obj.z, dtype=np.float) + #dictionary of values that should be no distortion in case distortion #cannot be calculated for that component - dis_dict = {(0,0):1, (0,1):0, (1,0):0, (1,1):1} - - lo_dis = [] - lo_diserr = [] - - if 1 in lo_dims: - idx_1 = np.where(np.array(lo_dims) == 1)[0] - - for idx in idx_1: - - realz = np.real(z_obj.z[idx]) - imagz = np.imag(z_obj.z[idx]) - - mat1 = np.matrix([[0, -1],[1, 0]]) - - - if g in ['01','10']: - gr = np.abs(realz[int(g[0]),int(g[1])]) - gi = np.abs(imagz[int(g[0]),int(g[1])]) + + rot_mat = np.matrix([[0, -1], [1, 0]]) + for idx, dim in enumerate(dim_arr): + if np.any(z_obj.z[idx] == 0.0+0.0j) == True: + dis[idx] = np.identity(2) + print 'Found a zero in z at {0}, skipping'.format(idx) + continue + + if dim == 1: + + if g in ['01', '10']: + gr = np.abs(z_obj.z.real[idx, int(g[0]), int(g[1])]) + gi = np.abs(z_obj.z.imag[idx, int(g[0]), int(g[1])]) else: - gr = np.sqrt(np.linalg.det(realz)) - gi = np.sqrt(np.linalg.det(imagz)) - - lo_dis.append(1./gr*np.dot(realz,mat1)) - lo_dis.append(1./gi*np.dot(imagz,mat1)) - - if z_obj.zerr is not None: + gr = np.sqrt(np.linalg.det(z_obj.z.real[idx])) + gi = np.sqrt(np.linalg.det(z_obj.z.imag[idx])) + + dis[idx] = np.mean(np.array([(1./gr*np.dot(z_obj.z.real[idx], + rot_mat)), + (1./gi*np.dot(z_obj.z.imag[idx], + rot_mat))]), + axis=0) + + if z_obj.z_err is not None: #find errors of entries for calculating weights - - lo_diserr.append(1./gr*\ - np.array([[np.abs(z_obj.zerr[idx][0,1]), - np.abs(z_obj.zerr[idx][0,0])], - [np.abs(z_obj.zerr[idx][1,1]), - np.abs(z_obj.zerr[idx][1,0])]])) - - lo_diserr.append(1./gi*\ - np.array([[np.abs(z_obj.zerr[idx][0,1]), - np.abs(z_obj.zerr[idx][0,0])], - [np.abs(z_obj.zerr[idx][1,1]), - np.abs(z_obj.zerr[idx][1,0])]])) - - else: - #otherwise go for evenly weighted average - lo_diserr.append(np.ones((2, 2))) - lo_diserr.append(np.ones((2, 2))) - - - dis = np.identity(2) - diserr = np.identity(2) - for i in range(2): - for j in range(2): - try: - dis[i,j], dummy = np.average(np.array([k[i, j] - for k in lo_dis]), - weights=np.array([1./(k[i,j])**2 - for k in lo_diserr]), - returned=True) - diserr[i,j] = np.sqrt(1./dummy) - - #if the distortion came out as nan set it to an appropriate - #value - if np.nan_to_num(dis[i,j]) == 0: - dis[i, j] = dis_dict[i, j] - diserr[i, j] = dis_dict[i, j] - - except ZeroDivisionError: - - print ('Could not get distortion for dis[{0}, {1}]'.format( - i, j)+' setting value to {0}'.format(dis_dict[i,j])) - dis[i, j] = dis_dict[i, j] - diserr[i, j] = dis_dict[i, j]*1e-6 - return dis, diserr - - if 2 in lo_dims: - idx_2 = np.where(np.array(lo_dims) == 2)[0] - #follow bibby et al. 2005 first alternative: P = 1 - P = 1 - - lo_strikes = MTge.strike_angle(z_object = z_obj) - lo_tetms = [] - lo_t = [] - lo_tetm_errs =[] - - for idx in idx_2: - - mat = z_obj.z[idx] - ang = -lo_strikes[idx][0] - if np.isnan(ang): - ang = 0. - - errmat = None - if z_obj.zerr is not None: - errmat = z_obj.zerr[idx] - tetm_mat, tetm_err = MTcc.rotatematrix_incl_errors(mat, - ang, - inmatrix_err=errmat) - - lo_tetms.append(tetm_mat) - - lo_tetm_errs.append(tetm_err) - - realz = np.real(tetm_mat) - imagz = np.imag(tetm_mat) - lo_t.append(-4*P*realz[0,1]*realz[1,0]/np.linalg.det(realz) ) - lo_t.append(-4*P*imagz[0,1]*imagz[1,0]/np.linalg.det(imagz) ) - - #since there is no 'wrong' solution by a different value of T, no - #error is given/calculated for T ! - try: - #just add 0.1% for avoiding numerical issues in the squareroots - #later on - T = np.sqrt(max(lo_t))+0.001 - except: - T = 2 - - - for idx in range(len(lo_tetms)): - - realz = np.real(lo_tetms[idx]) - imagz = np.imag(lo_tetms[idx]) - errmat = lo_tetm_errs[idx] + gr_err = 1./gr*np.abs(z_obj.z_err[idx]) + gr_err[np.where(gr_err == 0.0)] = 1.0 + + gi_err = 1./gi*np.abs(z_obj.z_err[idx]) + gi_err[np.where(gi_err == 0.0)] = 1.0 + + dis_err[idx] = np.mean(np.array([gi_err, gr_err]), + axis=0) + + elif dim == 2: + P = 1 + strike_ang = st_arr[idx] + if np.isnan(strike_ang): + strike_ang = 0.0 - sr = np.sqrt(T**2+4*P*realz[0, 1]*realz[1, 0]/np.linalg.det(realz)) - si = np.sqrt(T**2+4*P*imagz[0, 1]*imagz[1, 0]/np.linalg.det(imagz)) - - par_r = 2*realz[0, 1]/(T-sr) - orth_r = 2*realz[1, 0]/(T+sr) - par_i = 2*imagz[0, 1]/(T-si) - orth_i = 2*imagz[1, 0]/(T+si) - + if z_obj.z_err is not None: + err_arr = z_obj.z_err[idx] + err_arr[np.where(err_arr == 0.0)] = 1.0 + else: + err_arr = None + + tetm_arr, tetm_err = MTcc.rotatematrix_incl_errors(z_obj.z[idx], + strike_ang, + inmatrix_err=err_arr) + + tetm_r = tetm_arr.real + tetm_i = tetm_arr.imag + t_arr_r = -4*P*tetm_r[0, 1]*tetm_r[1, 0]/np.linalg.det(tetm_r) + t_arr_i = -4*P*tetm_i[0, 1]*tetm_i[1, 0]/np.linalg.det(tetm_i) + + try: + T = np.sqrt(max([t_arr_r, t_arr_i]))+.001 + except ValueError: + T = 2 + + sr = np.sqrt(T**2+4*P*tetm_r[0, 1]*tetm_r[1, 0]/np.linalg.det(tetm_r)) + si = np.sqrt(T**2+4*P*tetm_i[0, 1]*tetm_i[1, 0]/np.linalg.det(tetm_i)) + + par_r = 2*tetm_r[0, 1]/(T-sr) + orth_r = 2*tetm_r[1, 0]/(T+sr) + par_i = 2*tetm_i[0, 1]/(T-si) + orth_i = 2*tetm_i[1, 0]/(T+si) + mat2_r = np.matrix([[0, 1./orth_r], [1./par_r, 0]]) mat2_i = np.matrix([[0, 1./orth_i], [1./par_i ,0]]) - - lo_dis.append(np.dot(realz,mat2_r)) - lo_dis.append(np.dot(imagz,mat2_i)) - - if z_obj.zerr is not None: + + avg_mat = np.mean(np.array([np.dot(tetm_r, mat2_r), + np.dot(tetm_i, mat2_i)]), + axis=0) + + dis[idx] = avg_mat + + if err_arr is not None: #find errors of entries for calculating weights - sigma_sr = np.sqrt((-(2*P*realz[0,1]*realz[1,0]*\ - realz[1,1]*errmat[0,0])/\ - (np.linalg.det(realz)**2*sr))**2+\ - ((2*P*realz[0,0]*realz[1,0]*\ - realz[1,1]*errmat[0,1])/\ - (np.linalg.det(realz)**2*sr))**2+\ - ((2*P*realz[0,0]* realz[0,1]*\ - realz[1,1]*errmat[1,0])/\ - (np.linalg.det(realz)**2*sr))**2 +\ - (-(2*P*realz[0,1]* realz[1,0]*\ - realz[0,0]*errmat[1,1])/\ - (np.linalg.det(realz)**2*sr))**2) - + sigma_sr = np.sqrt((-(2*P*tetm_r[0,1]*tetm_r[1,0]*\ + tetm_r[1,1]*err_arr[0,0])/\ + (np.linalg.det(tetm_r)**2*sr))**2+\ + ((2*P*tetm_r[0,0]*tetm_r[1,0]*\ + tetm_r[1,1]*err_arr[0,1])/\ + (np.linalg.det(tetm_r)**2*sr))**2+\ + ((2*P*tetm_r[0,0]* tetm_r[0,1]*\ + tetm_r[1,1]*err_arr[1,0])/\ + (np.linalg.det(tetm_r)**2*sr))**2 +\ + (-(2*P*tetm_r[0,1]* tetm_r[1,0]*\ + tetm_r[0,0]*err_arr[1,1])/\ + (np.linalg.det(tetm_r)**2*sr))**2) + sigma_dr_11 = 0.5*sigma_sr sigma_dr_22 = 0.5*sigma_sr - - sigma_dr_12 = np.sqrt((mat2_r[0,1]/realz[0,0]*errmat[0,0])**2+\ - (mat2_r[0,1]/realz[1,0]*errmat[1,0])**2+\ - (0.5*realz[0,0]/realz[1,0]*sigma_sr)**2) - sigma_dr_21 = np.sqrt((mat2_r[1,0]/realz[1,1]*errmat[1,1])**2+\ - (mat2_r[1,0]/realz[0,1]*errmat[0,1])**2+\ - (0.5*realz[1,1]/realz[0,1]*sigma_sr)**2) - - lo_diserr.append(np.array([[sigma_dr_11, sigma_dr_12], - [sigma_dr_21, sigma_dr_22]])) - - sigma_si = np.sqrt((-(2*P*imagz[0,1]*imagz[1,0]*\ - imagz[1,1]*errmat[0,0])/\ - (np.linalg.det(imagz)**2*sr))**2+\ - ((2*P*imagz[0,0]*imagz[1,0]*\ - imagz[1,1]*errmat[0,1])/\ - (np.linalg.det(imagz)**2*sr))**2+\ - ((2*P*imagz[0,0]*imagz[0,1]*\ - imagz[1,1]*errmat[1,0])/\ - (np.linalg.det(imagz)**2*sr))**2+\ - (-(2*P*imagz[0,1]*imagz[1,0]*\ - imagz[0,0]*errmat[1,1])/\ - (np.linalg.det(imagz)**2*sr))**2) - + + sigma_dr_12 = np.sqrt((mat2_r[0,1]/tetm_r[0,0]*err_arr[0,0])**2+\ + (mat2_r[0,1]/tetm_r[1,0]*err_arr[1,0])**2+\ + (0.5*tetm_r[0,0]/tetm_r[1,0]*sigma_sr)**2) + sigma_dr_21 = np.sqrt((mat2_r[1,0]/tetm_r[1,1]*err_arr[1,1])**2+\ + (mat2_r[1,0]/tetm_r[0,1]*err_arr[0,1])**2+\ + (0.5*tetm_r[1,1]/tetm_r[0,1]*sigma_sr)**2) + + dis_err_r = np.array([[sigma_dr_11, sigma_dr_12], + [sigma_dr_21, sigma_dr_22]]) + + sigma_si = np.sqrt((-(2*P*tetm_i[0,1]*tetm_i[1,0]*\ + tetm_i[1,1]*err_arr[0,0])/\ + (np.linalg.det(tetm_i)**2*sr))**2+\ + ((2*P*tetm_i[0,0]*tetm_i[1,0]*\ + tetm_i[1,1]*err_arr[0,1])/\ + (np.linalg.det(tetm_i)**2*sr))**2+\ + ((2*P*tetm_i[0,0]*tetm_i[0,1]*\ + tetm_i[1,1]*err_arr[1,0])/\ + (np.linalg.det(tetm_i)**2*sr))**2+\ + (-(2*P*tetm_i[0,1]*tetm_i[1,0]*\ + tetm_i[0,0]*err_arr[1,1])/\ + (np.linalg.det(tetm_i)**2*sr))**2) + sigma_di_11 = 0.5*sigma_si sigma_di_22 = 0.5*sigma_si - sigma_di_12 = np.sqrt((mat2_i[0,1]/imagz[0,0]*errmat[0,0])**2+\ - (mat2_i[0,1]/imagz[1,0]*errmat[1,0])**2+\ - (0.5*imagz[0,0]/imagz[1,0]*sigma_si)**2) - sigma_di_21 = np.sqrt((mat2_i[1,0]/imagz[1,1]*errmat[1,1])**2+\ - (mat2_i[1,0]/imagz[0,1]*errmat[0,1])**2+\ - (0.5*imagz[1,1]/imagz[0,1]*sigma_si)**2) - - lo_diserr.append(np.array([[sigma_di_11, sigma_di_12], - [sigma_di_21, sigma_di_22]])) - - else: - #otherwise go for evenly weighted average - lo_diserr.append(np.ones((2, 2))) - lo_diserr.append(np.ones((2, 2))) - - - dis = np.zeros((2, 2)) - diserr = np.zeros((2, 2)) - for i in range(2): - for j in range(2): - - dis[i, j], dummy = np.average(np.array([k[i, j] - for k in lo_dis]), - weights=np.array([1./(k[i,j])**2 - for k in lo_diserr]), - returned=True ) - diserr[i, j] = np.sqrt(1./dummy) + sigma_di_12 = np.sqrt((mat2_i[0,1]/tetm_i[0,0]*err_arr[0,0])**2+\ + (mat2_i[0,1]/tetm_i[1,0]*err_arr[1,0])**2+\ + (0.5*tetm_i[0,0]/tetm_i[1,0]*sigma_si)**2) + sigma_di_21 = np.sqrt((mat2_i[1,0]/tetm_i[1,1]*err_arr[1,1])**2+\ + (mat2_i[1,0]/tetm_i[0,1]*err_arr[0,1])**2+\ + (0.5*tetm_i[1,1]/tetm_i[0,1]*sigma_si)**2) + + dis_err_i = np.array([[sigma_di_11, sigma_di_12], + [sigma_di_21, sigma_di_22]]) + + dis_err[idx] = np.mean(np.array([dis_err_r, dis_err_i])) + else: + dis[idx] = np.identity(2) + + nonzero_idx = np.array(list(set(np.nonzero(dis)[0]))) + + dis_avg, weights_sum = np.average(dis[nonzero_idx], + axis=0, + weights=(1./dis_err[nonzero_idx])**2, + returned=True) - return dis, diserr + dis_avg_err = np.sqrt(1./weights_sum) - #if only 3D, use identity matrix - no distortion calculated - dis = np.identity(2) - diserr = diserr = np.zeros((2, 2)) - return dis, diserr + return dis_avg, dis_avg_err @@ -359,26 +338,71 @@ def find_2d_distortion(z_object, include_non2d=False): return find_distortion(z_obj, lo_dims = lo_dims) -def remove_distortion(z_array=None, z_object=None): +def remove_distortion(z_array=None, z_object=None, num_freq=None, g='det'): + """ + remove distortion from an impedance tensor using the method outlined by + Bibby et al., [2005]. + + Arguments + ----------- + + **z_array** : np.ndarray((nf, 2, 2)) + numpy array of impedance tensor + *default* is None + + **z_object** : mtpy.core.z object + *default* is None + + **num_freq** : int + number of frequecies to look for distortion + *default* is None, meaning look over all frequencies + + **g** : [ 'det' | '01' | '10 ] + type of distortion to look for + *default* is 'det' + + Returns + ------------ + + **distortion** : np.ndarray (2, 2) + distortion array + + **new_z_obj** : mtpy.core.z + z object with distortion removed and error calculated + + Examples + ------------- + + :Remove Distortion: :: + + >>> import mtpy.analysis.distortion as distortion + >>> d, new_z = distortion.remove_distortion(z_object=z_obj) + """ if z_array is not None: z_obj = MTz.Z(z_array=z_array) elif z_object is not None: z_obj = z_object + + zero_idx = np.where(z_obj.z == 0+0j) #0. generate a Z object #1. find distortion via function above, #2. remove distortion via method of z object - dis, diserr = find_distortion(z_obj) + dis, dis_err = find_distortion(z_obj, num_freq=num_freq, g=g) try: distortion_tensor, zd, zd_err = z_obj.no_distortion(dis, - distortion_err_tensor=diserr) + distortion_err_tensor=dis_err) + + zd_err = np.nan_to_num(zd_err) + zd_err[np.where(zd_err == 0.0)] = 1.0 distortion_z_obj = z_obj distortion_z_obj.z = zd - distortion_z_obj.zerr = zd_err + distortion_z_obj.z[zero_idx] = 0.0+0.0j + distortion_z_obj.z_err = zd_err return distortion_tensor, distortion_z_obj diff --git a/mtpy/analysis/geometry.py b/mtpy/analysis/geometry.py index 5dafcf8f..966241ef 100644 --- a/mtpy/analysis/geometry.py +++ b/mtpy/analysis/geometry.py @@ -5,22 +5,17 @@ Contains classes and functions for handling geometry analysis of impedance tensors: -dimensionality, strike directions, alphas/betas/... +dimensionality, strike directions, alphas/skews/... - - - Class: - - Methods: - - - - Functions: - + * 1d - 2d : excentricity of ellipses + * 2d - 3d : skew < threshold (to be given as argument) + * strike: frequency - depending angle (incl. 90degree ambiguity) @UofA, 2013 (LK) +Edited by JP, 2016 + """ #================================================================= @@ -30,29 +25,63 @@ import mtpy.analysis.pt as MTpt import mtpy.utils.exceptions as MTex -# reload(MTex) -# reload(MTz) -reload(MTpt) - - #================================================================= - -# 1d - 2d : excentricity of ellipses -# 2d - 3d : beta < threshold (to be given as argument) -# strike: frequency - depending angle (incl. 90degree ambiguity) -# input: PT object, Z object (,edi object) - - - def dimensionality(z_array = None, z_object = None, pt_array= None, - pt_object = None, beta_threshold = 5, + pt_object = None, skew_threshold = 5, eccentricity_threshold = 0.1): """ - beta_threshold: angle in degrees - if beta is smaller than this, it's 2d + Esitmate dimensionality of an impedance tensor, frequency by frequency. + + Dimensionality is estimated from the phase tensor given the threshold + criteria on the skew angle and eccentricity following Bibby et al., 2005 + and Booker, 2014. + + Arguments + ------------ + + **z_array** : np.ndarray(nf, 2, 2) + numpy array of impedance elements + *default* is None + + **z_object** : mtpy.core.z.Z + z_object + *default* is None + + **pt_array** : np.ndarray(nf, 2, 2) + numpy array of phase tensor elements + *default* is None + + **pt_object** : mtpy.analysis.pt.PT + phase tensor object + *default* is None + + **skew_threshold** : float + threshold on the skew angle in degrees, anything + above this value is 3-D or azimuthally anisotropic + *default* is 5 degrees + + **eccentricity_threshold** : float + threshold on eccentricty in dimensionaless + units, anything below this value is 1-D + *default* is 0.1 + + Returns + ---------- + + **dimensions** : np.ndarray(nf, dtype=int) + an array of dimesions for each frequency + the values are [ 1 | 2 | 3 ] + + + Examples + ---------- + :Estimate Dimesions: :: + + >>> import mtpy.analysis.geometry as geometry + >>> dim = geometry.dimensionality(z_object=z_obj, + >>> skew_threshold=3) - eccentricity_threshold: fraction of eccentricity (0: circle - 1: line) - - if eccentricity (ellipticity) is small than this, it's a 1D geometry. """ @@ -72,12 +101,13 @@ def dimensionality(z_array = None, z_object = None, pt_array= None, pt_obj = pt_object - #use criteria from Bibby et al. 2005 for determining the dimensionality for each frequency of the pt/z array: + # use criteria from Bibby et al. 2005 for determining the dimensionality + # for each frequency of the pt/z array: for idx_f in range(len(pt_obj.pt)): - #1. determine beta value... - beta = pt_obj.beta[0][idx_f] + #1. determine skew value... + skew = pt_obj.beta[0][idx_f] #compare with threshold for 3D - if beta > beta_threshold: + if skew > skew_threshold: lo_dimensionality.append(3) else: #2.check for eccentricity: @@ -92,8 +122,60 @@ def dimensionality(z_array = None, z_object = None, pt_array= None, def strike_angle(z_array = None, z_object = None, pt_array= None, - pt_object = None, beta_threshold = 5, + pt_object = None, skew_threshold = 5, eccentricity_threshold = 0.1): + + """ + Estimate strike angle from 2D parts of the impedance tensor given the + skew and eccentricity thresholds + + Arguments + ------------ + + **z_array** : np.ndarray(nf, 2, 2) + numpy array of impedance elements + *default* is None + + **z_object** : mtpy.core.z.Z + z_object + *default* is None + + **pt_array** : np.ndarray(nf, 2, 2) + numpy array of phase tensor elements + *default* is None + + **pt_object** : mtpy.analysis.pt.PT + phase tensor object + *default* is None + + **skew_threshold** : float + threshold on the skew angle in degrees, anything + above this value is 3-D or azimuthally anisotropic + *default* is 5 degrees + + **eccentricity_threshold** : float + threshold on eccentricty in dimensionaless + units, anything below this value is 1-D + *default* is 0.1 + + Returns + ---------- + + **strike** : np.ndarray(nf) + an array of strike angles in degrees for each frequency + assuming 0 is north, and e is 90. There is a 90 + degree ambiguity in the angle. + + + Examples + ---------- + :Estimate Dimesions: :: + + >>> import mtpy.analysis.geometry as geometry + >>> strike = geometry.strike_angle(z_object=z_obj, + >>> skew_threshold=3) + + """ if z_array is not None: pt_obj = MTpt.PhaseTensor(z_array = z_array) @@ -109,7 +191,9 @@ def strike_angle(z_array = None, z_object = None, pt_array= None, raise MTex.MTpyError_PT('Input argument is not an instance of the PhaseTensor class') pt_obj = pt_object - lo_dims = dimensionality(pt_object = pt_obj, beta_threshold =beta_threshold , eccentricity_threshold = eccentricity_threshold ) + lo_dims = dimensionality(pt_object = pt_obj, + skew_threshold=skew_threshold, + eccentricity_threshold=eccentricity_threshold ) lo_strikes = [] @@ -138,7 +222,48 @@ def strike_angle(z_array = None, z_object = None, pt_array= None, -def eccentricity(z_array = None, z_object = None, pt_array= None, pt_object = None): +def eccentricity(z_array=None, z_object=None, pt_array=None, pt_object=None): + """ + Estimate eccentricy of a given impedance or phase tensor object + + + Arguments + ------------ + + **z_array** : np.ndarray(nf, 2, 2) + numpy array of impedance elements + *default* is None + + **z_object** : mtpy.core.z.Z + z_object + *default* is None + + **pt_array** : np.ndarray(nf, 2, 2) + numpy array of phase tensor elements + *default* is None + + **pt_object** : mtpy.analysis.pt.PT + phase tensor object + *default* is None + + + Returns + ---------- + + **eccentricity** : np.ndarray(nf) + + + **eccentricity_err** : np.ndarray(nf) + + + + Examples + ---------- + :Estimate Dimesions: :: + + >>> import mtpy.analysis.geometry as geometry + >>> ec, ec_err= geometry.eccentricity(z_object=z_obj) + """ if z_array is not None: diff --git a/mtpy/analysis/pt.py b/mtpy/analysis/pt.py index 2009861c..ef507123 100644 --- a/mtpy/analysis/pt.py +++ b/mtpy/analysis/pt.py @@ -1,54 +1,13 @@ #!/usr/bin/env python """ -mtpy/mtpy/analysis/pt.py +====================== +Phase Tensor +====================== -Contains classes and functions for handling Phase Tensor analysis of given impedance tensors (Z). - - Class: - "PhaseTensor" contains information about a Phase tensor PT. - - Methods: - - - set_pt - - set_pterr - - set_freq - - read_edi_file - - read_edi - - read_z - - read_z_array - - invariants - - trace - - alpha - - beta - - skew - - det - - _pi1 - - _pi2 - - phimin - - phimax - - rotate - - only1d - - only2d - - Class: - "ResidualPhaseTensor" contains information about a REsidual Phase tensor ResPT. - - Methods: - - - read_pt_objects - - read_pts - - set_rpt - - set_rpterr - - - Functions: - - - z2pt - - z_object2pt - - edi_object2pt - - edi_file2pt +Following Caldwell et al, 2004 +Residual Phase Tensor following Heise et al., [2008] @UofA, 2013 (LK) @@ -68,49 +27,49 @@ class PhaseTensor(object): """ - PhaseTensor class - generates a Phase Tensor (PT) object. + PhaseTensor class - generates a Phase Tensor (PT) object. - Methods include reading and writing from and to edi-objects, rotations - combinations of Z instances, as well as - calculation of invariants, inverse, amplitude/phase,... + Methods include reading and writing from and to edi-objects, rotations + combinations of Z instances, as well as + calculation of invariants, inverse, amplitude/phase,... - - PT is a complex array of the form (n_freq, 2, 2), - with indices in the following order: - PTxx: (0,0) - PTxy: (0,1) - PTyx: (1,0) - PTyy: (1,1) - - All internal methods are based on (Caldwell et al.,2004) and - (Bibby et al.,2005), in which they use the canonical cartesian 2D - reference (x1, x2). However, all components, coordinates, - and angles for in- and outputs are given in the geographical - reference frame: + + PT is a complex array of the form (n_freq, 2, 2), + with indices in the following order: + PTxx: (0,0) - PTxy: (0,1) - PTyx: (1,0) - PTyy: (1,1) + + All internal methods are based on (Caldwell et al.,2004) and + (Bibby et al.,2005), in which they use the canonical cartesian 2D + reference (x1, x2). However, all components, coordinates, + and angles for in- and outputs are given in the geographical + reference frame: x-axis = North ; y-axis = East (; z-axis = Down) - - Therefore, all results from using those methods are consistent - (angles are referenced from North rather than x1). + + Therefore, all results from using those methods are consistent + (angles are referenced from North rather than x1). + + ====================== ==================================================== + Attributes Description + ====================== ==================================================== + freq array of frequencies associated with elements of + impedance tensor. + pt phase tensor array + pterr phase tensor error + z impedance tensor + z_err impedance error + rotation_angle rotation angle in degrees + ====================== ==================================================== """ - def __init__(self, pt_array = None, pterr_array = None, z_array = None, - zerr_array = None, z_object = None, freq=None, pt_rot=0.0): - """ - Initialise an instance of the PhaseTensor class. + def __init__(self, pt_array=None, pterr_array=None, z_array=None, + z_err_array=None, z_object=None, freq=None, pt_rot=0.0): - Optional input: - pt_array : Numpy array containing Phase-Tensor values - pterr_array : Numpy array containing Phase-Tensor-error values - z_array : Numpy array containing Z values - zerr_array : Numpy array containing Z-error values (NOT variance, but stddev!) - z_object: MTpy core.z Z class instance - freq : numpy array containing freq values - - (Initialise attributes with None) - """ self._pt = pt_array self._pterr = pterr_array self._z = z_array - self._z_err = zerr_array + self._z_err = z_err_array self._freq = freq self.rotation_angle = pt_rot @@ -133,11 +92,11 @@ def __init__(self, pt_array = None, pterr_array = None, z_array = None, self._z_err = None print 'Can not calculate pt from z==None' - if zerr_array is not None: + if z_err_array is not None: try: - self._set_z_err(zerr_array) - if z_array.shape != zerr_array.shape: + self._set_z_err(z_err_array) + if z_array.shape != z_err_array.shape: self._set_z_err(None) except: pass @@ -313,7 +272,7 @@ def set_z_object(self, z_object): """ self._z = z_object.z - self._z_err = z_object.zerr + self._z_err = z_object.z_err self._freq = z_object.freq self._pt = np.zeros_like(self._z, dtype=np.float) self._pterr = np.zeros_like(self._z, dtype=np.float) @@ -347,7 +306,7 @@ def set_z_object(self, z_object): self.rotation_angle = z_object.rotation_angle # def _get_z_object(self): - # z_object = MTz.Z(z_array=self._z, zerr_array=self._z_err) + # z_object = MTz.Z(z_array=self._z, z_err_array=self._z_err) # z_object.freq = self._freq # z_object.rotation_angle = self.rotation_angle @@ -982,39 +941,46 @@ def compute_residual_pt(self, pt_o1, pt_o2): #--> compute residual phase tensor if pt1 is not None and pt2 is not None: - try: - if pt1.dtype not in [float,int]: - raise - if pt2.dtype not in [float,int]: - raise - if not pt1.shape == pt2.shape: - raise - if (not len(pt1.shape) in [2,3]) : - raise - - if len(pt1.shape) == 3: - self.rpt = np.zeros_like(pt1) - - for idx in range(len(pt1)): + if pt1.dtype not in [float,int]: + raise ValueError + if pt2.dtype not in [float,int]: + raise ValueError + if not pt1.shape == pt2.shape: + raise MTex.MTpyError_PT('PT arrays not the same shape') + if (not len(pt1.shape) in [2,3]) : + raise MTex.MTpyError_PT('PT array is not a valid shape') + + if len(pt1.shape) == 3: + self.rpt = np.zeros_like(pt1) + + for idx in range(len(pt1)): + try: self.rpt[idx] = np.eye(2)-np.dot(np.matrix(pt1[idx]).I, np.matrix(pt2[idx])) - - self._pt1 = pt1 - self._pt2 = pt2 + except np.linalg.LinAlgError: + print 'Singular matrix at index {0}, frequency {1:.5g}'.format(idx, self.freq[idx]) + print 'Setting residual PT to zeros. ' + self.rpt[idx] = np.zeros((2, 2)) + + self._pt1 = pt1 + self._pt2 = pt2 - else: - self.rpt = np.zeros((1,2,2)) - self.rpt[0] = np.eye(2)-np.dot(np.matrix(pt1).I, - np.matrix(pt2)) - - self._pt1 = np.zeros((1,2,2)) - self._pt1[0] = pt1 - self._pt2 = np.zeros((1,2,2)) - self._pt2[0] = pt2 + else: + self.rpt = np.zeros((1,2,2)) + try: + self.rpt[idx] = np.eye(2)-np.dot(np.matrix(pt1).I, + np.matrix(pt2)) + except np.linalg.LinAlgError: + print 'Singular matrix at frequency {0:.5g}'.format(self.freq) + print 'Setting residual PT to zeros. ' + self.rpt[0] = np.eye(2)-np.dot(np.matrix(pt1).I, + np.matrix(pt2)) + + self._pt1 = np.zeros((1,2,2)) + self._pt1[0] = pt1 + self._pt2 = np.zeros((1,2,2)) + self._pt2[0] = pt2 - except: - raise MTex.MTpyError_PT('ERROR - both PhaseTensor objects must' - ' contain valid PT arrays of the same shape') else: print ('Could not determine ResPT - both PhaseTensor objects must' @@ -1176,7 +1142,7 @@ def set_rpterr(self, rpterr_array): #======================================================================= -def z2pt(z_array, zerr_array = None): +def z2pt(z_array, z_err_array = None): """ Calculate Phase Tensor from Z array (incl. uncertainties) @@ -1203,19 +1169,19 @@ def z2pt(z_array, zerr_array = None): raise MTex.MTpyError_PT('Error - incorrect z array: %s;%s instead of (N,2,2);complex'%(str(z_array.shape), str(z_array.dtype))) - if zerr_array is not None: + if z_err_array is not None: try: - if not len(zerr_array.shape) in [2,3]: + if not len(z_err_array.shape) in [2,3]: raise - if not zerr_array.shape[-2:] == (2,2): + if not z_err_array.shape[-2:] == (2,2): raise - if not zerr_array.dtype in ['float']: + if not z_err_array.dtype in ['float']: raise except: - raise MTex.MTpyError_PT('Error - incorrect z-err-array: %s;%s instead of (N,2,2);real'%(str(zerr_array.shape), str(zerr_array.dtype))) + raise MTex.MTpyError_PT('Error - incorrect z-err-array: %s;%s instead of (N,2,2);real'%(str(z_err_array.shape), str(z_err_array.dtype))) - if not z_array.shape == zerr_array.shape: - raise MTex.MTpyError_PT('Error - z-array and z-err-array have different shape: %s;%s'%(str(z_array.shape), str(zerr_array.shape))) + if not z_array.shape == z_err_array.shape: + raise MTex.MTpyError_PT('Error - z-array and z-err-array have different shape: %s;%s'%(str(z_array.shape), str(z_err_array.shape))) #for a single matrix as input: if len(z_array.shape) == 2: @@ -1229,7 +1195,7 @@ def z2pt(z_array, zerr_array = None): if detreal == 0 : if np.linalg.norm(realz) == 0 and np.linalg.norm(imagz) == 0: pterr_array = np.zeros_like(pt_array) - if zerr_array is None: + if z_err_array is None: pterr_array = None return pt_array, pterr_array @@ -1245,41 +1211,41 @@ def z2pt(z_array, zerr_array = None): pt_array /= detreal - if zerr_array is None: + if z_err_array is None: return pt_array, None pterr_array = np.zeros_like(pt_array) #Z entries are independent -> use Gaussian error propagation (squared sums/2-norm) - pterr_array[0,0] = 1/np.abs(detreal) * np.sqrt(np.sum([np.abs(-pt_array[0,0] * realz[1,1] * zerr_array[0,0])**2, - np.abs( pt_array[0,0] * realz[0,1] * zerr_array[1,0])**2, - np.abs(((imagz[0,0] * realz[1,0] - realz[0,0] * imagz[1,0]) / np.abs(detreal) * realz[0,0] ) * zerr_array[0,1])**2, - np.abs(((imagz[1,0] * realz[0,0] - realz[1,0] * imagz[1,1]) / np.abs(detreal) * realz[0,1] ) * zerr_array[1,1])**2, - np.abs(realz[1,1] * zerr_array[0,0])**2, - np.abs(realz[0,1] * zerr_array[1,0])**2 ])) + pterr_array[0,0] = 1/np.abs(detreal) * np.sqrt(np.sum([np.abs(-pt_array[0,0] * realz[1,1] * z_err_array[0,0])**2, + np.abs( pt_array[0,0] * realz[0,1] * z_err_array[1,0])**2, + np.abs(((imagz[0,0] * realz[1,0] - realz[0,0] * imagz[1,0]) / np.abs(detreal) * realz[0,0] ) * z_err_array[0,1])**2, + np.abs(((imagz[1,0] * realz[0,0] - realz[1,0] * imagz[1,1]) / np.abs(detreal) * realz[0,1] ) * z_err_array[1,1])**2, + np.abs(realz[1,1] * z_err_array[0,0])**2, + np.abs(realz[0,1] * z_err_array[1,0])**2 ])) - pterr_array[0,1] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( -pt_array[0,1] * realz[1,1] * zerr_array[0,0])**2, - np.abs( pt_array[0,1] * realz[0,1] * zerr_array[1,0])**2, - np.abs( ( (imagz[0,1] * realz[1,0] - realz[0,0] * imagz[1,1]) / np.abs(detreal) * realz[1,1] ) * zerr_array[0,1])**2, - np.abs( ( (imagz[1,1] * realz[0,0] - realz[0,1] * imagz[1,0]) / np.abs(detreal) * realz[0,1] ) * zerr_array[1,1])**2, - np.abs( realz[1,1] * zerr_array[0,1])**2, - np.abs( realz[0,1] * zerr_array[1,1])**2 ])) + pterr_array[0,1] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( -pt_array[0,1] * realz[1,1] * z_err_array[0,0])**2, + np.abs( pt_array[0,1] * realz[0,1] * z_err_array[1,0])**2, + np.abs( ( (imagz[0,1] * realz[1,0] - realz[0,0] * imagz[1,1]) / np.abs(detreal) * realz[1,1] ) * z_err_array[0,1])**2, + np.abs( ( (imagz[1,1] * realz[0,0] - realz[0,1] * imagz[1,0]) / np.abs(detreal) * realz[0,1] ) * z_err_array[1,1])**2, + np.abs( realz[1,1] * z_err_array[0,1])**2, + np.abs( realz[0,1] * z_err_array[1,1])**2 ])) - pterr_array[1,0] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( pt_array[1,0] * realz[1,0] * zerr_array[0,1])**2, - np.abs( -pt_array[1,0] * realz[0,0] * zerr_array[1,1])**2, - np.abs( ( (imagz[0,0] * realz[1,1] - realz[0,1] * imagz[1,1]) / np.abs(detreal) * realz[1,0] ) * zerr_array[0,0])**2, - np.abs( ( (imagz[1,0] * realz[0,1] - realz[1,1] * imagz[0,0]) / np.abs(detreal) * realz[0,0] ) * zerr_array[0,1])**2, - np.abs( realz[1,0] * zerr_array[0,0])**2, - np.abs( realz[0,0] * zerr_array[1,0])**2 ])) + pterr_array[1,0] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( pt_array[1,0] * realz[1,0] * z_err_array[0,1])**2, + np.abs( -pt_array[1,0] * realz[0,0] * z_err_array[1,1])**2, + np.abs( ( (imagz[0,0] * realz[1,1] - realz[0,1] * imagz[1,1]) / np.abs(detreal) * realz[1,0] ) * z_err_array[0,0])**2, + np.abs( ( (imagz[1,0] * realz[0,1] - realz[1,1] * imagz[0,0]) / np.abs(detreal) * realz[0,0] ) * z_err_array[0,1])**2, + np.abs( realz[1,0] * z_err_array[0,0])**2, + np.abs( realz[0,0] * z_err_array[1,0])**2 ])) - pterr_array[1,1] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( pt_array[1,1] * realz[1,0] * zerr_array[0,1])**2, - np.abs( -pt_array[1,1] * realz[0,0] * zerr_array[1,1])**2, - np.abs( ( (imagz[0,1] * realz[1,1] - realz[0,1] * imagz[1,1]) / np.abs(detreal) * realz[1,0] ) * zerr_array[0,0])**2, - np.abs( ( (imagz[1,1] * realz[0,1] - realz[1,1] * imagz[0,1]) / np.abs(detreal) * realz[0,0] ) * zerr_array[0,1])**2, - np.abs( - realz[1,0] * zerr_array[0,1])**2, - np.abs( realz[0,0] * zerr_array[1,1])**2 ])) + pterr_array[1,1] = 1/np.abs(detreal) * np.sqrt( np.sum([np.abs( pt_array[1,1] * realz[1,0] * z_err_array[0,1])**2, + np.abs( -pt_array[1,1] * realz[0,0] * z_err_array[1,1])**2, + np.abs( ( (imagz[0,1] * realz[1,1] - realz[0,1] * imagz[1,1]) / np.abs(detreal) * realz[1,0] ) * z_err_array[0,0])**2, + np.abs( ( (imagz[1,1] * realz[0,1] - realz[1,1] * imagz[0,1]) / np.abs(detreal) * realz[0,0] ) * z_err_array[0,1])**2, + np.abs( - realz[1,0] * z_err_array[0,1])**2, + np.abs( realz[0,0] * z_err_array[1,1])**2 ])) return pt_array, pterr_array @@ -1304,33 +1270,33 @@ def z2pt(z_array, zerr_array = None): pt_array /= detreal - if zerr_array is None: + if z_err_array is None: return pt_array, pterr_array pterr_array = np.zeros_like(pt_array) - pterr_array[idx_f,0,0] = 1/detreal * (np.abs( -pt_array[idx_f,0,0] * realz[1,1] * zerr_array[0,0]) + \ - np.abs( pt_array[idx_f,0,0] * realz[0,1] * zerr_array[1,0]) + \ - np.abs( (imagz[0,0] - pt_array[idx_f,0,0] * realz[0,0] ) * zerr_array[1,1]) +\ - np.abs( (-imagz[1,0]+ pt_array[idx_f,0,0] * realz[1,0] ) * zerr_array[0,1]) + \ - np.abs( realz[1,1] * zerr_array[0,0]) + np.abs( realz[0,1] * zerr_array[1,0]) ) - - pterr_array[idx_f,0,1] = 1/detreal * (np.abs( -pt_array[idx_f,0,1] * realz[1,1] * zerr_array[0,0]) + \ - np.abs( pt_array[idx_f,0,1] * realz[0,1] * zerr_array[1,0]) + \ - np.abs( (imagz[0,1] - pt_array[idx_f,0,1] * realz[0,0] ) * zerr_array[1,1]) +\ - np.abs( (-imagz[1,1]+ pt_array[idx_f,0,1] * realz[1,0] ) * zerr_array[0,1]) + \ - np.abs( realz[1,1] * zerr_array[0,1]) + np.abs( realz[0,1] * zerr_array[1,1]) ) - - pterr_array[idx_f,1,0] = 1/detreal * (np.abs( (imagz[1,0] - pt_array[idx_f,1,0] * realz[1,1] ) * zerr_array[0,0]) +\ - np.abs( pt_array[idx_f,1,0] * realz[1,0] * zerr_array[0,1]) + \ - np.abs( (-imagz[0,0] + pt_array[idx_f,1,0] * realz[0,1] ) * zerr_array[1,0]) + \ - np.abs( -pt_array[idx_f,1,0] * realz[0,0] * zerr_array[1,1]) + \ - np.abs( realz[0,0] * zerr_array[1,0]) + np.abs( -realz[1,0] * zerr_array[0,0]) ) - - pterr_array[idx_f,1,1] = 1/detreal * (np.abs( (imagz[1,1] - pt_array[idx_f,1,1] * realz[1,1] ) * zerr_array[0,0]) +\ - np.abs( pt_array[idx_f,1,1] * realz[1,0] * zerr_array[0,1]) + \ - np.abs( (-imagz[0,1] + pt_array[idx_f,1,1] * realz[0,1] ) * zerr_array[1,0]) + \ - np.abs( -pt_array[idx_f,1,1] * realz[0,0] * zerr_array[1,1]) + \ - np.abs( realz[0,0] * zerr_array[1,1]) + np.abs( -realz[1,0] * zerr_array[0,1]) ) + pterr_array[idx_f,0,0] = 1/detreal * (np.abs( -pt_array[idx_f,0,0] * realz[1,1] * z_err_array[0,0]) + \ + np.abs( pt_array[idx_f,0,0] * realz[0,1] * z_err_array[1,0]) + \ + np.abs( (imagz[0,0] - pt_array[idx_f,0,0] * realz[0,0] ) * z_err_array[1,1]) +\ + np.abs( (-imagz[1,0]+ pt_array[idx_f,0,0] * realz[1,0] ) * z_err_array[0,1]) + \ + np.abs( realz[1,1] * z_err_array[0,0]) + np.abs( realz[0,1] * z_err_array[1,0]) ) + + pterr_array[idx_f,0,1] = 1/detreal * (np.abs( -pt_array[idx_f,0,1] * realz[1,1] * z_err_array[0,0]) + \ + np.abs( pt_array[idx_f,0,1] * realz[0,1] * z_err_array[1,0]) + \ + np.abs( (imagz[0,1] - pt_array[idx_f,0,1] * realz[0,0] ) * z_err_array[1,1]) +\ + np.abs( (-imagz[1,1]+ pt_array[idx_f,0,1] * realz[1,0] ) * z_err_array[0,1]) + \ + np.abs( realz[1,1] * z_err_array[0,1]) + np.abs( realz[0,1] * z_err_array[1,1]) ) + + pterr_array[idx_f,1,0] = 1/detreal * (np.abs( (imagz[1,0] - pt_array[idx_f,1,0] * realz[1,1] ) * z_err_array[0,0]) +\ + np.abs( pt_array[idx_f,1,0] * realz[1,0] * z_err_array[0,1]) + \ + np.abs( (-imagz[0,0] + pt_array[idx_f,1,0] * realz[0,1] ) * z_err_array[1,0]) + \ + np.abs( -pt_array[idx_f,1,0] * realz[0,0] * z_err_array[1,1]) + \ + np.abs( realz[0,0] * z_err_array[1,0]) + np.abs( -realz[1,0] * z_err_array[0,0]) ) + + pterr_array[idx_f,1,1] = 1/detreal * (np.abs( (imagz[1,1] - pt_array[idx_f,1,1] * realz[1,1] ) * z_err_array[0,0]) +\ + np.abs( pt_array[idx_f,1,1] * realz[1,0] * z_err_array[0,1]) + \ + np.abs( (-imagz[0,1] + pt_array[idx_f,1,1] * realz[0,1] ) * z_err_array[1,0]) + \ + np.abs( -pt_array[idx_f,1,1] * realz[0,0] * z_err_array[1,1]) + \ + np.abs( realz[0,0] * z_err_array[1,1]) + np.abs( -realz[1,0] * z_err_array[0,1]) ) return pt_array, pterr_array diff --git a/mtpy/analysis/staticshift.py b/mtpy/analysis/staticshift.py index 5ac7885c..da0ae3ac 100644 --- a/mtpy/analysis/staticshift.py +++ b/mtpy/analysis/staticshift.py @@ -18,9 +18,8 @@ import mtpy.imaging.mtplot as mtplot #============================================================================== -def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, - freq_skip=4, shift_tol=.15, plot=False): - +def estimate_static_spatial_median(edi_fn, radius=1000., num_freq=20, + freq_skip=4, shift_tol=.15): """ Remove static shift from a station using a spatial median filter. This will look at all the edi files in the same directory as edi_fn and find @@ -57,24 +56,15 @@ def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, away from 1. Therefore the shift_tol is used to stop that bias. If 1-tol < correction < 1+tol then the correction factor is set to 1. *default* is 0.15 - - **plot** : [ True | False ] - Boolean to plot the corrected response against the - non-corrected response. *default* is False + Returns ---------------- - **new_edi_fn_ss** : string - new path to the edi file with static shift removed **shift_corrections** : (float, float) static shift corrections for x and y modes - **plot_obj** : mtplot.plot_multiple_mt_responses object - If plot is True a plot_obj is returned - If plot is False None is returned - """ - + """ # convert meters to decimal degrees so we don't have to deal with zone # changes meter_to_deg_factor = 8.994423457456377e-06 @@ -82,13 +72,16 @@ def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, # make a list of edi files in the directory edi_path = os.path.dirname(edi_fn) - edi_list = [os.path.join(edi_path, edi) for edi in os.listdir(edi_path) - if edi.find('.edi') > 0] - edi_list.remove(edi_fn) + edi_list = [os.path.abspath(os.path.join(edi_path, edi)) + for edi in os.listdir(edi_path) + if edi.endswith('.edi')] + + edi_list.remove(os.path.abspath(edi_fn)) # read the edi file mt_obj = mt.MT(edi_fn) mt_obj.Z._compute_res_phase() + interp_freq = mt_obj.Z.freq[freq_skip:num_freq+freq_skip] # Find stations near by and store them in a list mt_obj_list = [] @@ -100,15 +93,22 @@ def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, mt_obj_2.delta_d = float(delta_d)/meter_to_deg_factor mt_obj_list.append(mt_obj_2) + if len(mt_obj_list) == 0: + print 'No stations found within given radius {0:.2f} m'.format(radius) + return 1.0, 1.0 + # extract the resistivity values from the near by stations res_array = np.zeros((len(mt_obj_list), num_freq, 2, 2)) print 'These stations are within the given {0} m radius:'.format(radius) for kk, mt_obj_kk in enumerate(mt_obj_list): print '\t{0} --> {1:.1f} m'.format(mt_obj_kk.station, mt_obj_kk.delta_d) - interp_freq = mt_obj.Z.freq[freq_skip:num_freq+freq_skip] - Z_interp, Tip_interp = mt_obj_kk.interpolate(interp_freq) + interp_idx = np.where((interp_freq >= mt_obj_kk.Z.freq.min()) & + (interp_freq <= mt_obj_kk.Z.freq.max())) + + interp_freq_kk = interp_freq[interp_idx] + Z_interp, Tip_interp = mt_obj_kk.interpolate(interp_freq_kk) Z_interp._compute_res_phase() - res_array[kk, :, :, :] = Z_interp.resistivity[0:num_freq, :, :] + res_array[kk, interp_idx, :, :] = Z_interp.resistivity[0:len(interp_freq_kk), :, :] #compute the static shift of x-components static_shift_x = mt_obj.Z.resistivity[freq_skip:num_freq+freq_skip, 0, 1]/\ @@ -128,11 +128,75 @@ def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, if 1-shift_tol < static_shift_y and static_shift_y < 1+shift_tol: static_shift_y = 1.0 - print 'x static shift is {0:.3f}'.format(static_shift_x) - print 'y static shift is {0:.3f}'.format(static_shift_y) + return static_shift_x, static_shift_y + +def remove_static_shift_spatial_filter(edi_fn, radius=1000, num_freq=20, + freq_skip=4, shift_tol=.15, plot=False): + + """ + Remove static shift from a station using a spatial median filter. This + will look at all the edi files in the same directory as edi_fn and find + those station within the given radius (meters). Then it will find + the medain static shift for the x and y modes and remove it, given that + it is larger than the shift tolerance away from 1. A new edi file will + be written in a new folder called SS. - s, z_ss = mt_obj.Z.no_ss(reduce_res_factor_x=static_shift_x, - reduce_res_factor_y=static_shift_y) + Arguments + ----------------- + **edi_fn** : string + full path to edi file to have static shift removed + + **radius** : float + radius to look for nearby stations, in meters. + *default* is 1000 m + + **num_freq** : int + number of frequencies calculate the median static + shift. This is assuming the first frequency is the + highest frequency. Cause usually highest frequencies + are sampling a 1D earth. *default* is 20 + + **freq_skip** : int + number of frequencies to skip from the highest + frequency. Sometimes the highest frequencies are + not reliable due to noise or low signal in the AMT + deadband. This allows you to skip those frequencies. + *default* is 4 + + **shift_tol** : float + Tolerance on the median static shift correction. If + the data is noisy the correction factor can be biased + away from 1. Therefore the shift_tol is used to stop + that bias. If 1-tol < correction < 1+tol then the + correction factor is set to 1. *default* is 0.15 + + **plot** : [ True | False ] + Boolean to plot the corrected response against the + non-corrected response. *default* is False + + Returns + ---------------- + **new_edi_fn_ss** : string + new path to the edi file with static shift removed + + **shift_corrections** : (float, float) + static shift corrections for x and y modes + + **plot_obj** : mtplot.plot_multiple_mt_responses object + If plot is True a plot_obj is returned + If plot is False None is returned + """ + + ss_x, ss_y = estimate_static_spatial_median(edi_fn, + radius=radius, + num_freq=num_freq, + freq_skip=freq_skip, + shift_tol=.15) + mt_obj = mt.MT(edi_fn) + + s, z_ss = mt_obj.Z.no_ss(reduce_res_factor_x=ss_x, + reduce_res_factor_y=ss_y) + edi_path = os.path.dirname(edi_fn) mt_obj.Z.z = z_ss new_edi_fn = os.path.join(edi_path, 'SS', '{0}_ss.edi'.format(mt_obj.station)) diff --git a/mtpy/analysis/zinvariants.py b/mtpy/analysis/zinvariants.py index b9c1d83d..86770de1 100644 --- a/mtpy/analysis/zinvariants.py +++ b/mtpy/analysis/zinvariants.py @@ -15,13 +15,13 @@ class Zinvariants: calculates invariants from Weaver et al. [2000, 2003]. At the moment it does not calculate the error for each invariant, only the strike. - Arguments: + Arguments ---------- **z_object** : type mtpy.core.z needs to have attributes: *z --> np.array((nf, 2, 2), dtype='complex') - *zerr --> np.array((nf, 2, 2), dtype='real') + *z_err --> np.array((nf, 2, 2), dtype='real') *freq --> np.array(nf) @@ -35,7 +35,7 @@ class Zinvariants: array of freq cooresponding to the impedance tensor elements. - Attributes: + Attributes ----------- **inv1** : real off diaganol part normalizing factor @@ -58,7 +58,7 @@ class Zinvariants: **q** : dependent variable suggesting dimensionality - Further reading: + Further reading ---------------- Weaver, J. T., Agarwal, A. K., Lilley, F. E. M., 2000, Characterization of the magnetotelluric tensor in terms of its @@ -261,7 +261,7 @@ def set_z_err(self, z_err_array): those as well. """ - self._Z.zerr = z_err_array + self._Z.z_err = z_err_array # --> update the invariants self.compute_invariants() diff --git a/mtpy/core/edi.py b/mtpy/core/edi.py index 0de4c337..f8d143b2 100644 --- a/mtpy/core/edi.py +++ b/mtpy/core/edi.py @@ -1,3050 +1,1693 @@ -#!/usr/bin/env python - +# -*- coding: utf-8 -*- """ -============= -edi module -============= - -Classes --------- - * **Edi** reads and writes .edi files +=========== +EDI Class +=========== -Functions ----------- - - - read_edifile - - write_edifile - - combine_edifiles - - validate_edifile - - rotate_edifile - - _generate_edifile_string - - _cut_sectionstring - - _validate_edifile_string +The Edi class can read and write an .edi file, the 'standard format' of +magnetotellurics. Each section of the .edi file is given its own class, +so the elements of each section are attributes for easy access. -LK, JP 2013 +Created on Tue Dec 22 16:03:31 2015 +@author: jpeacock """ -#================================================================= +import os import numpy as np -import os,sys -import os.path as op -import time, calendar, datetime -import copy -#required for finding HMEAS and EMEAS at once: -import re - +import datetime import mtpy.utils.format as MTft -import mtpy.utils.calculator as MTcc import mtpy.utils.exceptions as MTex import mtpy.utils.filehandling as MTfh import mtpy.core.z as MTz +try: + import scipy.stats.distributions as ssd + ssd_test = True +except ImportError: + print 'Need scipy.stats.distributions to compute spectra errors' + print 'Could not find scipy.stats.distributions, check distribution' + ssd_test = False -#for interactive debugging: -reload(MTex) -reload(MTft) -reload(MTcc) -reload(MTz) - -# try: -# import ipdb -# except: -# pass - - -#================================================================= +tab = ' '*4 class Edi(object): """ - Edi class - generates an edi-object. - - Methods include reading and writing from and to edi-files, - rotations/combinations of edi-files, as well as 'get' and - 'set' for all edi file sections - - Errors are given as standard deviations (sqrt(VAR)) + This class is for .edi files, mainly reading and writing. Has been tested + on Winglink and Phoenix output .edi's, which are meant to follow the + archaic EDI format put forward by SEG. Can read impedance, Tipper and/or + spectra data. + + The Edi class contains a class for each major section of the .edi file. - **Agruments:** + Arguments + --------------- - **filename** : string - full path to file name - - ====================== ==================================================== - **Attributes** Description - ====================== ==================================================== - period periods extracted from edi file - data_dict dictionary of data information - definemeas definemeas block - edi_dict dictionary of edi blocks - elev elevation of station - filename name of edi file - freq frequencies extracted from edi file - head header information - hmeas_emeas hmeas and emeas block - infile_string full string of edi file - info_dict ditionary of information block - info_string full string of information block - lat latitude in decimal degrees - lon longitude in decimal degrees - mtsect mtsect block - n_freq number of frequencies - Tipper mtpy.core.z.Tipper object - zrot rotation angle in degrees - Z mtpy.core.z.Z object - ====================== ==================================================== - - ====================== ==================================================== - **Methods** Description - ====================== ==================================================== - readfile read edi file - rotate rotate Z and Tipper - writefile write edi file - ====================== ==================================================== + **edi_fn** : string + full path to .edi file to be read in. + *default* is None. If an .edi file is input, it is + automatically read in and attributes of Edi are filled + - :Example: :: + Methods + --------------- + ===================== ===================================================== + Methods Description + ===================== ===================================================== + read_edi_file Reads in an edi file and populates the associated + classes and attributes. + write_edi_file Writes an .edi file following the EDI format given + the apporpriate attributes are filled. Writes out + in impedance and Tipper format. + _read_data Reads in the impedance and Tipper blocks, if the + .edi file is in 'spectra' format, read_data converts + the data to impedance and Tipper. + _read_mt Reads impedance and tipper data from the appropriate + blocks of the .edi file. + _read_spectra Reads in spectra data and converts it to impedance + and Tipper data. + ===================== ===================================================== - >>> import mtpy.core.edi as mtedi - >>> e1 = mtedi.Edi(r"/home/MT/mt01.edi") - >>> e1.rotate(30) - >>> e1.writefile(r"/home/MT/Rotated/mt01.edi") + Attributes + --------------- + + ===================== ========================================== ========== + Attributes Description default + ===================== ========================================== ========== + Data_sect DataSection class, contains basin + information on the data collected and in + whether the data is in impedance or + spectra. + Define_measurement DefineMeasurement class, contains + information on how the data was + collected. + edi_fn full path to edi file read in None + Header Header class, contains metadata on + where, when, and who collected the data + Info Information class, contains information + on how the data was processed and how the + transfer functions where estimated. + Tipper mtpy.core.z.Tipper class, contains the + tipper data + Z mtpy.core.z.Z class, contains the + impedance data + _block_len number of data in one line. 6 + _data_header_str header string for each of the data '!****{0}****!' + section + _num_format string format of data. ' 15.6e' + _t_labels labels for tipper blocks + _z_labels labels for impedance blocks + ===================== ========================================== ========== + Examples + --------------------- + :Change Latitude: :: + >>> import mtpy.core.edi as mtedi + >>> edi_obj = mtedi.Edi(edi_fn=r"/home/mt/mt01.edi") + >>> # change the latitude + >>> edi_obj.header.lat = 45.7869 + >>> new_edi_fn = edi_obj.write_edi_file() """ - def __init__(self, filename=None, datatype = 'z'): - - """ - Initialise an instance of the Edi class. - - Initialise the attributes with None/empty dictionary - - **Agruments:** + def __init__(self, edi_fn=None): - **filename** : string - full path to file name - """ - - self.filename = filename - self.infile_string = None - self._head = {'lat':None,'long':None,'elev':None} - self._info_string = None - self._info_dict = {} - self._definemeas = {} - self._hmeas_emeas = None - self._mtsect = {} - self._freq = None - self._zrot = None + self.edi_fn = edi_fn + self.Header = Header() + self.Info = Information() + self.Define_measurement = DefineMeasurement() + self.Data_sect = DataSection() self.Z = MTz.Z() self.Tipper = MTz.Tipper() - self._station = None - self._lat = None - self._lon = None - self._elev = None - - if filename is not None: - self.readfile(self.filename, datatype = datatype) - - def readfile(self, fn, datatype = 'z'): + self._z_labels = [['zxxr', 'zxxi', 'zxx.var'], + ['zxyr', 'zxyi', 'zxy.var'], + ['zyxr', 'zyxi', 'zyx.var'], + ['zyyr', 'zyyi', 'zyy.var']] + + self._t_labels = [['txr.exp', 'txi.exp', 'txvar.exp'], + ['tyr.exp', 'tyi.exp', 'tyvar.exp']] + + self._data_header_str = '!****{0}****!\n' + + self._num_format = ' 15.6e' + self._block_len = 6 + + if self.edi_fn is not None: + self.read_edi_file() + + def read_edi_file(self, edi_fn=None): + """ + Read in an edi file and fill attributes of each section's classes. + Including: + * Header + * Info + * Define_measurement + * Data_sect + * Z + * Tipper + + .. note:: Automatically detects if data is in spectra format. All + data read in is converted to impedance and Tipper. + + Arguments + ------------- + + **edi_fn** : string + full path to .edi file to be read in + *default* is None + + + + Examples + ------------- + + :Read edi: :: + + >>> import mtpy.core.Edi as mtedi + >>> edi_obj = mtedi.Edi() + >>> edi_obj.read_edi_file(edi_fn=r"/home/mt/mt01.edi") + """ - Read in an EDI file. - - Returns an exception, if the file is invalid - (following MTpy standards). - **Agruments:** + if edi_fn is not None: + self.edi_fn = edi_fn + + if self.edi_fn is None: + raise MTex.MTpyError_EDI("No edi file input, check edi_fn") + + if os.path.isfile(self.edi_fn) is False: + raise MTex.MTpyError_EDI("Could not find {0}, check path".format(self.edi_fn)) + + + self.Header = Header(edi_fn=self.edi_fn) + self.Info = Information(edi_fn=self.edi_fn) + self.Define_measurement = DefineMeasurement(edi_fn=self.edi_fn) + self.Data_sect = DataSection(edi_fn=self.edi_fn) + + self._read_data() + + if self.Header.lat is None: + self.Header.lat = self.Define_measurement.reflat + print 'Got latitude from reflat for {0}'.format(self.Header.dataid) + if self.Header.lon is None: + self.Header.lon = self.Define_measurement.reflon + print 'Got longitude from reflon for {0}'.format(self.Header.dataid) + if self.Header.elev is None: + self.Header.elev = self.Define_measurement.refelev + print 'Got elevation from refelev for {0}'.format(self.Header.dataid) + + print "Read in edi file for station {0}".format(self.Header.dataid) + + def _read_data(self): + """ + read either impedance or spectra data + """ - **fn** : string - full path to .edi file name + if self.edi_fn is None: + raise MTex.MTpyError_EDI('No edi file input, check edi_fn') + if os.path.isfile(self.edi_fn) is False: + raise MTex.MTpyError_EDI('No edi file input, check edi_fn') - **daytatype** : | 'z' | 'resphase' | 'spectra' | - * 'z' for impedance data *default* - * 'resphase' for resistivity and phase data - * 'spectra' for spectra data + with open(self.edi_fn, 'r') as fid: + lines = fid.readlines()[self.Data_sect.line_num+2:] + + if self.Data_sect.data_type == 'spectra': + print 'Converting Spectra to Impedance and Tipper' + print 'Check to make sure input channel list is correct if' + print ' the data looks incorrect.' + self._read_spectra(lines) + + elif self.Data_sect.data_type == 'z': + self._read_mt(lines) + def _read_mt(self, data_lines): """ - - self.__init__() + read in impedance and tipper data if its there + """ + data_dict = {} + data_find = False + for line in data_lines: + if line.find('>') >= 0 and line.find('!') == -1: + line_list = line[1:].strip().split() + key = line_list[0].lower() + if key[0] == 'z' or key[0] == 't' or key == 'freq': + data_find = True + data_dict[key] = [] + else: + data_find = False + + elif data_find == True and line.find('>') == -1 and line.find('!') == -1: + d_lines = line.strip().split() + for ii, dd in enumerate(d_lines): + # check for empty values and set them to 0, check for any + # other characters sometimes there are ****** for a null + # component + try: + d_lines[ii] = float(dd) + if d_lines[ii] == 1.0e32: + d_lines[ii] = 0.0 + except ValueError: + d_lines[ii] = 0.0 + data_dict[key] += d_lines - print ' ...nulled all attributes of current MTedi.Edi instance.' - print 'reading in Edi file: {0}'.format(fn) - print datatype - infile = op.abspath(fn) - - - try: - datatype = datatype.lower() - if not datatype in ['z' , 'resphase', 'spectra']: - raise - except: - raise MTex.MTpyError_edi_file('ERROR - datatype not understood') - - #check for existence - if not op.isfile(infile): - raise MTex.MTpyError_edi_file('File is not existing: %s'%infile) - - with open(infile,'r') as F: - edistring = F.read() - - #validate edi file string following MTpy standard - if not _validate_edifile_string(edistring): - raise MTex.MTpyError_edi_file('%s is no proper EDI file'%infile) - - self.filename = infile - self.infile_string = edistring - - #read out the mandatory EDI file sections from the raw string - try: - self._read_head(edistring) - except: - raise MTex.MTpyError_edi_file( - 'Could not read HEAD section: %s'%infile) - - try: - self._read_info(edistring) - except: - print 'Could not read INFO section: {0}'.format(infile) - - - try: - self._read_definemeas(edistring) - except: - raise MTex.MTpyError_edi_file( - 'Could not read DEFINEMEAS section: %s'%infile) - - try: - self._read_hmeas_emeas(edistring) - except: - print 'Could not read HMEAS/EMEAS sub-section: %s'%infile - + ## fill useful arrays + freq_arr = np.array(data_dict['freq'], dtype=np.float) + + ## fill impedance tensor + self.Z.freq = freq_arr.copy() + self.Z.z = np.zeros((freq_arr.size, 2, 2), dtype=np.complex) + self.Z.z_err = np.zeros((freq_arr.size, 2, 2), dtype=np.float) try: - self._read_mtsect(edistring) - except: - print 'Could not read MTSECT section: %s'%infile + self.Z.rotation_angle = data_dict['zrot'] + except KeyError: + self.Z.rotation_angle = np.zeros_like(freq_arr) + + self.Z.z[:, 0, 0] = np.array(data_dict['zxxr'])+\ + np.array(data_dict['zxxi'])*1j + self.Z.z[:, 0, 1] = np.array(data_dict['zxyr'])+\ + np.array(data_dict['zxyi'])*1j + self.Z.z[:, 1, 0] = np.array(data_dict['zyxr'])+\ + np.array(data_dict['zyxi'])*1j + self.Z.z[:, 1, 1] = np.array(data_dict['zyyr'])+\ + np.array(data_dict['zyyi'])*1j + + self.Z.z_err[:, 0, 0] = np.array(data_dict['zxx.var']) + self.Z.z_err[:, 0, 1] = np.array(data_dict['zxy.var']) + self.Z.z_err[:, 1, 0] = np.array(data_dict['zyx.var']) + self.Z.z_err[:, 1, 1] = np.array(data_dict['zyy.var']) + + # compute resistivity and phase + self.Z._compute_res_phase() + + ## fill tipper data if there it exists + self.Tipper.tipper = np.zeros((freq_arr.size, 1, 2), + dtype=np.complex) + self.Tipper.tipper_err = np.zeros((freq_arr.size, 1, 2), + dtype=np.float) + self.Tipper.freq = freq_arr.copy() try: - self._read_freq(edistring) - except: - print 'Could not read FREQ section: %s'%infile - - if datatype == 'z': - try: - self._read_z(edistring) - except: - raise MTex.MTpyError_edi_file( - 'Could not read Z section: %s -- check datatype!'%infile) - - elif datatype == 'resphase': - try: - self._read_res_phase(edistring) - except: - raise MTex.MTpyError_edi_file( - 'Could not read ResPhase-/Rho-section -- check datatype!: %s'%infile) - #rotation is optional - try: - self._read_rhorot(edistring) - except: - self.zrot = None #list(np.zeros((self.n_freq()))) - print 'Could not read Rhorot section: %s'%infile - - elif datatype == 'spectra': - try: - self._read_spectra(edistring) - except: - raise MTex.MTpyError_edi_file( - 'Could not read Spectra section: %s'%infile) - - - #Tipper is optional - if self.Tipper.tipper is None: - try: - self._read_tipper(edistring) - except: - self.Tipper = MTz.Tipper() - #self.tippererr = None - print 'Could not read Tipper section: %s'%infile - - #rotation is optional - if self._zrot is None: + self.Tipper.rotation_angle = data_dict['trot'] + except KeyError: try: - self._read_zrot(edistring) - except: - self.zrot = np.zeros((len(self.Z.z))) - print 'Could not read Zrot section: %s'%infile - - - def edi_dict(self): - """ - Collect sections of the EDI file and return them as a dictionary. - - """ - - edi_dict = {} - - edi_dict['HEAD'] = self.head - edi_dict['INFO'] = self.info_dict - edi_dict['info_string'] = self.info_string - edi_dict['DEFINEMEAS'] = self.definemeas - edi_dict['HMEAS_EMEAS'] = self.hmeas_emeas - edi_dict['MTSECT'] = self.mtsect - edi_dict['FREQ'] = self.freq - edi_dict['Z'] = _make_z_dict(self.Z) - if self.Tipper.tipper is not None: - edi_dict['TIPPER'] = _make_tipper_dict(self.Tipper) - edi_dict['ZROT'] = self.zrot - - - return edi_dict - + self.Tipper.rotation_angle = data_dict['zrot'] + except KeyError: + self.Tipper.rotation_angle = np.zeros_like(freq_arr) - def data_dict(self): + if 'txr.exp' in data_dict.keys(): + self.Tipper.tipper[:, 0, 0] = np.array(data_dict['txr.exp'])+\ + np.array(data_dict['txi.exp'])*1j + self.Tipper.tipper[:, 0, 1] = np.array(data_dict['tyr.exp'])+\ + np.array(data_dict['tyi.exp'])*1j + + self.Tipper.tipper_err[:, 0, 0] = np.array(data_dict['txvar.exp']) + self.Tipper.tipper_err[:, 0, 1] = np.array(data_dict['tyvar.exp']) + + self.Tipper._compute_amp_phase() + self.Tipper._compute_mag_direction() + + else: + print 'Could not find any Tipper data.' + + def _read_spectra(self, data_lines, + comp_list=['hx', 'hy', 'hz', 'ex', 'ey', 'rhx', 'rhy']): """ - Return collected raw data information in one dictionary: - Z, Tipper, Zrot, freq - + read in spectra data """ + data_dict = {} - - data_dict['z'] = self.Z.z - data_dict['zerr'] = self.Z.zerr - data_dict['tipper'] = self.Tipper.tipper - data_dict['tippererr'] = self.Tipper.tippererr - data_dict['zrot'] = self.zrot - data_dict['freq'] = self.freq - - return data_dict - - #----------------Periods---------------------------------------------- - def _get_period(self): - """ - Return an array of periods (output values in seconds). - """ - - try: - return 1./np.array(self.freq) - except: - return None - - def _set_period(self, period_lst): - """ - Set freq by a list of periods (values in seconds). - """ - if len(period_lst) is not len(self.Z.z): - print 'length of periods list not correct'+\ - '({0} instead of {1})'.format(len(period_lst), - len(self.Z.z)) - return - self.freq = 1./np.array(period_lst) - - period = property(_get_period, _set_period, - doc='List of periods (values in seconds)') - - #----------------number of freq------------------------------------- - def n_freq(self): + avgt_dict = {} + data_find = False + for line in data_lines: + if line.lower().find('>spectra') == 0 and line.find('!') == -1: + line_list = _validate_str_with_equals(line) + data_find = True + + # frequency will be the key + try: + key = float([ss.split('=')[1] for ss in line_list + if ss.lower().find('freq')==0][0]) + data_dict[key] = [] + avgt = float([ss.split('=')[1] for ss in line_list + if ss.lower().find('avgt')==0][0]) + avgt_dict[key] = avgt + except ValueError: + print 'did not find frequency key' + + elif data_find == True and line.find('>') == -1 and \ + line.find('!') == -1: + data_dict[key] += [float(ll) for ll in line.strip().split()] + + elif line.find('>spectra') == -1: + data_find = False + + ## get an object that contains the indices for each component + cc = index_locator(comp_list) + + freq_arr = np.array(sorted(data_dict.keys(), reverse=True)) + + z_arr = np.zeros((len(data_dict.keys()), 2, 2), dtype=np.complex) + t_arr = np.zeros((len(data_dict.keys()), 1, 2), dtype=np.complex) + + z_err_arr = np.zeros_like(z_arr, dtype=np.float) + t_err_arr = np.zeros_like(t_arr, dtype=np.float) + + for kk, key in enumerate(freq_arr): + spectra_arr = np.reshape(np.array(data_dict[key]), + (len(comp_list), len(comp_list))) + + # compute cross powers + s_arr = np.zeros_like(spectra_arr, dtype=np.complex) + for ii in range(s_arr.shape[0]): + for jj in range(ii, s_arr.shape[0]): + if ii == jj: + s_arr[ii, jj] = (spectra_arr[ii, jj]) + else: + # minus sign for complex conjugation + # original spectra data are of form , but we need + # the order ... + # this is achieved by complex conjugation of the original entries + s_arr[ii, jj] = np.complex(spectra_arr[jj, ii], + -spectra_arr[ii, jj]) + # keep complex conjugated entries in the lower + # triangular matrix: + s_arr[jj, ii] = np.complex(spectra_arr[jj, ii], + spectra_arr[ii, jj]) + + # use formulas from Bahr/Simpson to convert the Spectra into Z + # the entries of S are sorted like + # + # + # ..... + + z_arr[kk, 0, 0] = s_arr[cc.ex, cc.rhx]*s_arr[cc.hy, cc.rhy]-\ + s_arr[cc.ex, cc.rhy]*s_arr[cc.hy, cc.rhx] + z_arr[kk, 0, 1] = s_arr[cc.ex, cc.rhy]*s_arr[cc.hx, cc.rhx]-\ + s_arr[cc.ex, cc.rhx]*s_arr[cc.hx, cc.rhy] + z_arr[kk, 1, 0] = s_arr[cc.ey, cc.rhx]*s_arr[cc.hy, cc.rhy]-\ + s_arr[cc.ey, cc.rhy]*s_arr[cc.hy, cc.rhx] + z_arr[kk, 1, 1] = s_arr[cc.ey, cc.rhy]*s_arr[cc.hx, cc.rhx]-\ + s_arr[cc.ey, cc.rhx]*s_arr[cc.hx, cc.rhy] + + z_arr[kk] /= (s_arr[cc.hx, cc.rhx]*s_arr[cc.hy, cc.rhy]-\ + s_arr[cc.hx, cc.rhy]*s_arr[cc.hy, cc.rhx]) + + # compute error only if scipy package exists + if ssd_test is True: + # 68% Quantil of the Fisher distribution: + z_det = np.real(s_arr[cc.hx, cc.hx]*s_arr[cc.hy, cc.hy]-\ + np.abs(s_arr[cc.hx, cc.hy]**2)) + + sigma_quantil = ssd.f.ppf(0.68, 4, avgt_dict[key]-4) + + ## 1) Ex + a = s_arr[cc.ex, cc.hx]*s_arr[cc.hy, cc.hy]-\ + s_arr[cc.ex, cc.hy]*s_arr[cc.hy, cc.hx] + b = s_arr[cc.ex, cc.hy]*s_arr[cc.hx, cc.hx]- \ + s_arr[cc.ex, cc.hx]*s_arr[cc.hx, cc.hy] + a /= z_det + b /= z_det + + psi_squared = np.real(1./s_arr[cc.ex, cc.ex].real*\ + (a*s_arr[cc.hx, cc.ex]+b*s_arr[cc.hy, cc.ex])) + epsilon_squared = 1.-psi_squared + + scaling = sigma_quantil*4/(avgt_dict[key]-4.)*\ + epsilon_squared/z_det*s_arr[cc.ex, cc.ex].real + z_err_arr[kk, 0, 0] = np.sqrt(scaling*s_arr[cc.hy, cc.hy].real) + z_err_arr[kk, 0, 1] = np.sqrt(scaling*s_arr[cc.hx, cc.hx].real) + + ## 2) EY + a = s_arr[cc.ey, cc.hx]*s_arr[cc.hy, cc.hy]-\ + s_arr[cc.ey, cc.hy]*s_arr[cc.hy, cc.hx] + b = s_arr[cc.ey, cc.hy]*s_arr[cc.hx, cc.hx]- \ + s_arr[cc.ey, cc.hx]*s_arr[cc.hx, cc.hy] + a /= z_det + b /= z_det + + psi_squared = np.real(1./np.real(s_arr[cc.ey, cc.ey])*\ + (a*s_arr[cc.hx, cc.ey]+b*s_arr[cc.hy, cc.ey])) + epsilon_squared = 1.-psi_squared + + scaling = sigma_quantil*4/(avgt_dict[key]-4.)*\ + epsilon_squared/z_det*s_arr[cc.ey, cc.ey].real + z_err_arr[kk, 1, 0] = np.sqrt(scaling*s_arr[cc.hy, cc.hy].real) + z_err_arr[kk, 1, 1] = np.sqrt(scaling*s_arr[cc.hx, cc.hx].real) + + #if HZ information is present: + if len(comp_list) > 5: + t_arr[kk, 0, 0] = s_arr[cc.hz, cc.rhx]*s_arr[cc.hy, cc.rhy]-\ + s_arr[cc.hz, cc.rhy]*s_arr[cc.hy, cc.rhx] + t_arr[kk, 0, 1] = s_arr[cc.hz, cc.rhy]*s_arr[cc.hx, cc.rhx]-\ + s_arr[cc.hz, cc.rhx]*s_arr[cc.hx, cc.rhy] + + t_arr[kk] /= (s_arr[cc.hx, cc.rhx]*s_arr[cc.hy, cc.rhy]-\ + s_arr[cc.hx, cc.rhy]*s_arr[cc.hy, cc.rhx]) + + if ssd_test is True: + a = s_arr[cc.hz, cc.hx]*s_arr[cc.hy, cc.hy]-\ + s_arr[cc.hz, cc.hy]*s_arr[cc.hy, cc.hx] + b = s_arr[cc.hz, cc.hy]*s_arr[cc.hx, cc.hx]- \ + s_arr[cc.hz, cc.hx]*s_arr[cc.hx, cc.hy] + a /= z_det + b /= z_det + + psi_squared = np.real(1./s_arr[cc.hz, cc.hz].real*\ + (a*s_arr[cc.hx, cc.hz]+b*s_arr[cc.hy, cc.hz])) + epsilon_squared = 1.-psi_squared + + scaling = sigma_quantil*4/(avgt_dict[key]-4.)*\ + epsilon_squared/z_det*s_arr[cc.hz, cc.hz].real + t_err_arr[kk, 0, 0] = np.sqrt(scaling*s_arr[cc.hy, cc.hy].real) + t_err_arr[kk, 0, 1] = np.sqrt(scaling*s_arr[cc.hx, cc.hx].real) + + + # check for nans + z_err_arr = np.nan_to_num(z_err_arr) + t_err_arr = np.nan_to_num(t_err_arr) + + z_err_arr[np.where(z_err_arr==0.0)] = 1.0 + t_err_arr[np.where(t_err_arr==0.0)] = 1.0 + + # be sure to fill attributes + self.Z.z = z_arr + self.Z.z_err = z_err_arr + self.Z.freq = freq_arr + self.Z.rotation_angle = np.zeros_like(freq_arr) + self.Z._compute_res_phase() + + self.Tipper.tipper = t_arr + self.Tipper.tipper_err = t_err_arr + self.Tipper.freq = freq_arr + self.Tipper.rotation_angle = np.zeros_like(freq_arr) + self.Tipper._compute_amp_phase() + self.Tipper._compute_mag_direction() + + def write_edi_file(self, new_edi_fn=None): """ - Return the number of freq/length of the Z data array . + Write a new edi file from either an existing .edi file or from data + input by the user into the attributes of Edi. + + Arguments + ----------- + + **new_edi_fn** : string + full path to new edi file. + *default* is None, which will write to the same + file as the input .edi with as: + r"/home/mt/mt01_1.edi" + + Examples + ----------- + + :Write EDI file: :: + + >>> import mtpy.core.edi as mtedi + >>> edi_obj = mtedi.Edi(edi_fn=r"/home/mt/mt01/edi") + >>> edi_obj.Header.dataid = 'mt01_rr' + >>> edi_obj.write_edi_file() """ - if self.freq is not None: - return len(self.freq) + + if new_edi_fn is None: + if self.edi_fn is not None: + new_edi_fn = self.edi_fn + else: + new_edi_fn = os.path.join(os.getcwd(), + '{0}.edi'.format(self.Header.dataid)) + new_edi_fn = MTfh.make_unique_filename(new_edi_fn) + + if self.Header.dataid is None: + self.read_edi_file() + + # write lines + header_lines = self.Header.write_header() + info_lines = self.Info.write_info() + define_lines = self.Define_measurement.write_define_measurement() + dsect_lines = self.Data_sect.write_data_sect() + + # write out frequencies + freq_lines = [self._data_header_str.format('frequencies'.upper())] + freq_lines += self._write_data_block(self.Z.freq, 'freq') + + # write out rotation angles + zrot_lines = [self._data_header_str.format('impedance rotation angles'.upper())] + zrot_lines += self._write_data_block(self.Z.rotation_angle, 'zrot') + + # write out data only impedance and tipper + z_data_lines = [self._data_header_str.format('impedances'.upper())] + for ii in range(2): + for jj in range(2): + z_lines_real = self._write_data_block(self.Z.z[:, ii, jj].real, + self._z_labels[2*ii+jj][0]) + z_lines_imag = self._write_data_block(self.Z.z[:, ii, jj].imag, + self._z_labels[2*ii+jj][1]) + z_lines_var = self._write_data_block(self.Z.z_err[:, ii, jj], + self._z_labels[2*ii+jj][2]) + + z_data_lines += z_lines_real + z_data_lines += z_lines_imag + z_data_lines += z_lines_var + + # write out rotation angles + trot_lines = [self._data_header_str.format('tipper rotation angles'.upper())] + if type(self.Tipper.rotation_angle) is float: + trot = np.repeat(self.Tipper.rotation_angle, self.Tipper.freq.size) else: - return None - - #----------------elevation---------------------------------------------- - def _get_elev(self): - """ - get elevation from either header or definmeas + trot = self.Tipper.rotation_angle + trot_lines += self._write_data_block(np.array(trot), 'trot') + + # write out tipper lines + t_data_lines = [self._data_header_str.format('tipper'.upper())] + for jj in range(2): + t_lines_real = self._write_data_block(self.Tipper.tipper[:, 0, jj].real, + self._t_labels[jj][0]) + t_lines_imag = self._write_data_block(self.Tipper.tipper[:, 0, jj].imag, + self._t_labels[jj][1]) + t_lines_var = self._write_data_block(self.Tipper.tipper_err[:, 0, jj], + self._t_labels[jj][2]) + + t_data_lines += t_lines_real + t_data_lines += t_lines_imag + t_data_lines += t_lines_var + + edi_lines = header_lines+\ + info_lines+\ + define_lines+\ + dsect_lines+\ + freq_lines+\ + zrot_lines+\ + z_data_lines+\ + trot_lines+\ + t_data_lines+['>END'] + + with open(new_edi_fn, 'w') as fid: + fid.write(''.join(edi_lines)) + + print 'Wrote {0}'.format(new_edi_fn) + return new_edi_fn + def _write_data_block(self, data_comp_arr, data_key): """ - try: - return self.head['elev'] - except KeyError: - try: - return self.definemeas['refelev'] - except KeyError: - print 'Could not find elevation value' + write a data block - def _set_elev(self, value): + return a list of strings + """ + if data_key.lower().find('z') >= 0 and \ + data_key.lower() not in ['zrot', 'trot']: + block_lines = ['>{0} ROT=ZROT // {1:.0f}\n'.format(data_key.upper(), + data_comp_arr.size)] + elif data_key.lower().find('t') >= 0 and \ + data_key.lower() not in ['zrot', 'trot']: + block_lines = ['>{0} ROT=TROT // {1:.0f}\n'.format(data_key.upper(), + data_comp_arr.size)] + elif data_key.lower() == 'freq': + block_lines = ['>{0} // {1:.0f}\n'.format(data_key.upper(), + data_comp_arr.size)] + + elif data_key.lower() in ['zrot', 'trot']: + block_lines = ['>{0} // {1:.0f}\n'.format(data_key.upper(), + data_comp_arr.size)] + + else: + raise MTex.MTpyError_EDI('Cannot write block for {0}'.format(data_key)) - no_key = True - try: - self.head['elev'] = MTft._assert_position_format('elev',value) - no_key = False - except : - pass - try: - self.definemeas['refelev'] = \ - MTft._assert_position_format('elev',value) - no_key = False - except : - pass - - if no_key is True: - print 'Invalid elevation value' + for d_index, d_comp in enumerate(data_comp_arr, 1): + if d_comp == 0.0 and data_key.lower() not in ['zrot', 'trot']: + d_comp = float(self.Header.empty) + # write the string in the specified format + num_str = '{0:{1}}'.format(d_comp, self._num_format) + + # check to see if a new line is needed + if d_index%self._block_len == 0: + num_str += '\n' + # at the end of the block add a return + if d_index == data_comp_arr.size: + num_str += '\n' - elev = property(_get_elev, _set_elev, doc='Location elevation in meters') - - #----------------latitude---------------------------------------------- + block_lines.append(num_str) + + return block_lines + + #----------------------------------------------------------------------- + # set a few important properties + # --> Latitude def _get_lat(self): + """ + get latitude + """ + + return self.Header.lat + + def _set_lat(self, input_lat): """ - get latitude looking for keywords 'lat' in head or 'reflat' in definemeas - - """ -# try: - return self.head['lat'] - # except KeyError: - # try: - # return self.definemeas['reflat'] - # except KeyError: - # print 'Could not find Latitude' - - def _set_lat(self, value): - """ - set latitude value in head and defmeas - converts to decimal degrees + set latitude and make sure it is converted to a float """ - no_key = True - try: - self.head['lat'] = MTft._assert_position_format('lat',value) - no_key = False - except: - pass - try: - self.definemeas['reflat'] = \ - MTft._assert_position_format('lat',value) - no_key = False - except: - pass - if no_key is True: - print 'Invalid latitude value' - - lat = property(_get_lat, _set_lat, doc='Location latitude in degrees') + self.Header.lat = MTft._assert_position_format('lat', input_lat) + print 'Converted input latitude to decimal degrees: {0: .6f}'.format( + self.Header.lat) + + lat = property(fget=_get_lat, fset=_set_lat, + doc='Latitude in decimal degrees') - #----------------longitude---------------------------------------------- - def _get_lon(self): - """ - get longitude looking for keywords 'long' in head or 'reflong' in - definemeas - """ - try: - return self.head['long'] - except KeyError: - try: - return self.definemeas['reflong'] - except KeyError: - print 'Could not find Longitude' + # --> Longitude + def _get_lon(self): + return self.Header.lon + + def _set_lon(self, input_lon): + self.Header.lon = MTft._assert_position_format('lon', input_lon) + print 'Converted input longitude to decimal degrees: {0: .6f}'.format( + self.Header.lon) - def _set_lon(self, value): - """ - set longitude value in head and defmeas - converts to decimal degrees - """ - - no_key = True - - try: - self.head['long'] = MTft._assert_position_format('lon',value) - no_key = False - except: - pass - try: - self.definemeas['reflong'] = \ - MTft._assert_position_format('lon',value) - no_key = False - except: - pass - - if no_key is True: - - print 'Invalid longitude value' - - - - lon = property(_get_lon, _set_lon, doc='Location longitude in degrees') + lon = property(fget=_get_lon, fset=_set_lon, + doc='Longitude in decimal degrees') + + # --> Elevation + def _get_elev(self): + return self.Header.elev + + def _set_elev(self, input_elev): + self.Header.elev = MTft._assert_position_format('elev', input_elev) + + elev = property(fget=_get_elev, fset=_set_elev, + doc='Elevation in meters') + + # --> station + def _get_station(self): + return self.Header.dataid + + def _set_station(self, new_station): + if type(new_station) is not str: + new_station = '{0}'.format(new_station) + self.Header.dataid = new_station + self.Data_sect.sectid = new_station + + station = property(fget=_get_station, fset=_set_station, + doc="station name") + +#============================================================================== +# Index finder +#============================================================================== +class index_locator(object): + def __init__(self, component_list): + for ii, comp in enumerate(component_list): + setattr(self, comp, ii) + +#============================================================================== +# Header object +#============================================================================== +class Header(object): + """ + Header class contains all the information in the header section of the .edi + file. A typical header block looks like:: + + >HEAD + + ACQBY=None + ACQDATE=None + DATAID=par28ew + ELEV=0.000 + EMPTY=1e+32 + FILEBY=WG3DForward + FILEDATE=2016/04/11 19:37:37 UTC + LAT=-30:12:49 + LOC=None + LON=139:47:50 + PROGDATE=2002-04-22 + PROGVERS=WINGLINK EDI 1.0.22 + + Arguments + ------------- + + **edi_fn** : string + full path to .edi file to be read in. + *default* is None. If an .edi file is input, it is + automatically read in and attributes of Header are filled + + Attributes + ------------- + + Many of the attributes are needed in the .edi file. They are marked with + a yes for 'In .edi' + + ============== ======================================= ======== =========== + Attributes Description Default In .edi + ============== ======================================= ======== =========== + acqby Acquired by None yes + acqdate Acquired date (YYYY-MM-DD) None yes + dataid Station name, should be a string None yes + edi_fn Full path to .edi file None no + elev Elevation of station (m) None yes + empty Value for missing data 1e32 yes + fileby File written by None yes + filedate Date the file is written (YYYY-MM-DD) None yes + header_list List of header lines None no + lat Latitude of station [1]_ None yes + loc Location name where station was None yes + collected + lon Longitude of station [1]_ None yes + phoenix_edi [ True | False ] if phoenix .edi format False no + progdate Date of program version to write .edi None yes + progvers Version of program writing .edi None yes + stdvers Standard version None yes + units Units of distance m yes + _header_keys list of metadata input into .edi [2]_ + header block. no + ============== ======================================= ======== =========== + + .. rubric:: footnotes + .. [1] Internally everything is converted to decimal degrees. Output is + written as HH:MM:SS.ss so Winglink can read them in. + .. [2] If you want to change what metadata is written into the .edi file + change the items in _header_keys. Default attributes are: + * acqby + * acqdate + * dataid + * elev + * fileby + * lat + * loc + * lon + * filedate + * empty + * progdate + * progvers + + Methods + ------------- + + ====================== ==================================================== + Methods Description + ====================== ==================================================== + get_header_list get header lines from edi file + read_header read in header information from header_lines + write_header write header lines, returns a list of lines to write + ====================== ==================================================== + - #--------------Read Header---------------------------------------------- - def _read_head(self, edistring): + Examples + -------------- + + :Read Header: :: + + >>> import mtpy.core.edi as mtedi + >>> header_obj = mtedi.Header(edi_fn=r"/home/mt/mt01.edi") + + """ + + def __init__(self, edi_fn=None, **kwargs): + self.edi_fn = edi_fn + self.dataid = None + self.acqby = None + self.fileby = None + self.acqdate = None + self.units = None + self.filedate = datetime.datetime.utcnow().strftime( + '%Y/%m/%d %H:%M:%S UTC') + self.loc = None + self.lat = None + self.lon = None + self.elev = None + self.empty = 1E32 + self.progvers = None + self.progdate = None + self.phoenix_edi = False + + self.header_list = None + + self._header_keys = ['acqby', + 'acqdate', + 'dataid', + 'elev', + 'fileby', + 'lat', + 'loc', + 'lon', + 'filedate', + 'empty', + 'progdate', + 'progvers'] + + for key in kwargs.keys(): + setattr(self, key, kwargs[key]) + + if self.edi_fn is not None: + self.read_header() + + def get_header_list(self): """ - Read in the HEAD section from the raw edi-string. + Get the header information from the .edi file in the form of a list, + where each item is a line in the header section. """ - - try: - temp_string = _cut_sectionstring(edistring,'HEAD') - except: - raise - - head_dict = {} - t1 = temp_string.strip().split('\n') - t2 = [i.strip() for i in t1 if '=' in i] - for j in t2: - k = j.split('=') - key = str(k[0]).lower().strip() - value = k[1].replace('"','') - if key == 'dataid': - value = value.replace(' ','_') - if key in ['lat','long','lon','latitude','longitude','ele','elev', - 'elevation']: - value = MTft._assert_position_format(key,value) - - if key in ['ele','elev','elevation']: - key = 'elev' - if key in ['lat','latitude']: - key = 'lat' - if key in ['long','lon','longitude']: - key = 'long' - #bring longitude to standard interval: - if 180 < value <= 360: - value -= 360 - - head_dict[key] = value - - if not head_dict.has_key('elev'): - head_dict['elev'] = 0. + + if self.edi_fn == None: + print 'No edi file to read' + return + if os.path.isfile(self.edi_fn) == False: + print 'Could not find {0}, check path'.format(self.edi_fn) + + self.header_list = [] + head_find = False + count = 0 + with open(self.edi_fn, 'r') as fid: + for line in fid: + if line.find('>') == 0: + count += 1 + if line.lower().find('head') > 0: + head_find = True + else: + head_find = False + if count == 2 and head_find == False: + break + elif count == 1 and line.find('>') != 0 and head_find == True: + line = line.strip() + # skip any blank lines + if len(line) > 2: + self.header_list.append(line.strip()) + + self.header_list = self._validate_header_list(self.header_list) + + def read_header(self, header_list=None): + """ + read a header information from either edi file or a list of lines + containing header information. - try: - self.station = head_dict['dataid'].replace(' ','_') - except KeyError: - print 'Did not find station name under dataid in HEAD' - - self._head = head_dict + Arguments + ----------- - - #--------------Read Info---------------------------------------------- - def _read_info(self, edistring): - """ - Read in the INFO section from the raw edi-string. + **header_list** : list + should be read from an .edi file or input as + ['key_01=value_01', 'key_02=value_02'] + + Examples + ---------- + + :Input header_list: :: + + >>> h_list = ['lat=36.7898', 'lon=120.73532', 'elev=120.0', ... + >>> 'dataid=mt01'] + >>> import mtpy.core.edi as mtedi + >>> header = mtedi.Header() + >>> header.read_header(h_list) + """ - try: - temp_string = _cut_sectionstring(edistring,'INFO') - except: - raise - - self._info_string = temp_string.strip() - - - t1 = temp_string.strip().split('\n') - t2 = [i.strip() for i in t1 if '=' in i or ':' in i] - - info_dict = {} - - for tmp_str in t2: - #fill dictionary - #ignore lines with no information after '='' or ':' - - if '=' in tmp_str: - t3 = tmp_str.split('=') - key = str(t3[0]).lower().strip() - value = t3[1].replace('"','').strip() - if not len(value) == 0: - info_dict[key] = value - - elif ':' in tmp_str: - #consider potential ':' characters in coordinates! - t3 = tmp_str.split(':') - key = str(t3[0]).lower().strip() - value = t3[1:] - value = [i.strip().replace('"','').strip() for i in value] - if len(value) > 1: - value = ':'.join(value) - else: - value = value[0] - - if not len(value) == 0: - info_dict[key] = value - - if 'station' not in info_dict: - station = self.head['dataid'] - if len(station) == 0: - station = op.splitext(op.basename(self.filename))[0] - info_dict['station'] = station - - info_dict['Z_unit'] = 'km/s' - - self._info_dict = info_dict - - #--------------Read Definemeas-------------------------------------------- - def _read_definemeas(self, edistring): - """ - Read in the DEFINEMEAS section from the raw edi-string. - """ - - try: - temp_string = _cut_sectionstring(edistring,'DEFINEMEAS') - except: - raise - - d_dict = {} - - t1 = temp_string.strip().split('\n') - - for tmp_str in t1: - if '=' in tmp_str: - k = tmp_str.strip().split('=') - key = k[0].lower() - value = k[1].replace('"','').strip() - if len(value) != 0: - if 'lat' in key: - value = MTft._assert_position_format('lat',value) - if 'lon' in key: - value = MTft._assert_position_format('lon',value) - - - d_dict[key] = value - - if len(d_dict.keys()) == 0: - raise - - - self._definemeas = d_dict - - #--------------Read h and e measure--------------------------------------- - def _read_hmeas_emeas(self, edistring): - """ - Read in the HMEAS/EMEAS section from the raw edi-string. - """ - try: - temp_string = _cut_sectionstring(edistring,'HMEAS_EMEAS') - except: - raise - - t1 = temp_string.strip().split('\n') - lo_hmeas_emeas = [] - for j in t1: - j = j.replace('>','') - lo_j = j.split() - hemeas_line = ' '.join(lo_j) - #skip empty lines - if len(lo_j) == 0 : - continue - - lo_hmeas_emeas.append(hemeas_line) - - self._hmeas_emeas = lo_hmeas_emeas - + if header_list is not None: + self.header_list = self._validate_header_list(header_list) + + if self.header_list is None and self.edi_fn is None: + print 'Nothing to read. header_list and edi_fn are None' + + if self.header_list is None and self.edi_fn is not None: + self.get_header_list() - #--------------Read mt sect-------------------------------------------- - def _read_mtsect(self, edistring): - """ - Read in the MTSECT section from the raw edi-string. - """ - - try: - temp_string = _cut_sectionstring(edistring,'MTSECT') - except: - raise - m_dict = {} - - t1 = temp_string.strip().split('\n') - - for tmp_str in t1: - if '=' in tmp_str: - k = tmp_str.strip().split('=') - key = k[0].lower() - value = k[1].replace('"','').strip() - if len(value) != 0: - m_dict[key] = value - - if len(m_dict.keys()) == 0: - raise - - - self._mtsect = m_dict - - #--------------Read freq-------------------------------------------- - def _read_freq(self, edistring): - """ - Read in the FREQ section from the raw edi-string. - """ - - try: - temp_string = _cut_sectionstring(edistring,'FREQ') - except: - raise - - lo_freqs = [] - - t1 = temp_string.strip().split('\n')[1:] - - for j in t1: - lo_j = j.strip().split() - for k in lo_j: + for h_line in self.header_list: + h_list = h_line.split('=') + key = h_list[0].lower() + value = h_list[1].replace('"', '').strip() + + if key in 'latitude': + key = 'lat' + value = MTft._assert_position_format(key, value) + + elif key in 'longitude': + key = 'lon' + value = MTft._assert_position_format(key, value) + + elif key in 'elevation': + key = 'elev' + try: + value = float(value) + except ValueError: + value = 0.0 + print 'No elevation data' + + elif key in ['country', 'state', 'loc', 'location', 'prospect']: + key = 'loc' try: - lo_freqs.append(float(k)) - except: + if getattr(self, key) is not None: + value = '{0}, {1}'.format(getattr(self, key), value) + except KeyError: pass - - self._freq = np.array(lo_freqs) - - #be sure to set tipper freq - if self.Tipper.tipper is not None: - self.Tipper.freq = self._freq - - #be sure to set z_object's freq - self.Z.freq = self._freq - - #--------------Read impedance tensor-------------------------------------- - def _read_z(self, edistring): - """ - Read in impedances information from a raw EDI-string. - Store it as attribute (complex array). - + # test if its a phoenix formated .edi file + elif key in ['progvers']: + if value.lower().find('mt-editor') != -1: + self.phoenix_edi = True + + elif key in ['fileby']: + if value == '': + value = 'mtpy' + + setattr(self, key, value) + + def write_header(self, header_list=None): """ - - compstrings = ['ZXX','ZXY','ZYX','ZYY'] - Z_entries = ['R','I','.VAR'] - z_array = np.zeros((self.n_freq(), 2, 2), dtype=np.complex) - zerr_array = np.zeros((self.n_freq(), 2, 2), dtype=np.float) - z_dict = {} - - for idx_comp,comp in enumerate(compstrings): - for idx_zentry,zentry in enumerate(Z_entries): - sectionhead = comp + zentry + Write header information to a list of lines. + + Arguments + ------------- + + **header_list** : list + should be read from an .edi file or input as + ['key_01=value_01', 'key_02=value_02'] + + Returns + --------------- + + **header_lines** : list + list of lines containing header information + will be of the form + ['>HEAD\n', + ' key_01=value_01\n'] + if None is input then reads from input .edi + file or uses attribute information to write + metadata. + """ + + if header_list is not None: + self.read_header(header_list) + + if self.header_list is None and self.edi_fn is not None: + self.get_header_list() + + header_lines = ['>HEAD\n\n'] + for key in sorted(self._header_keys): + value = getattr(self, key) + if key in ['progdate', 'progvers']: + if value is None: + value = 'mtpy' + elif key in ['lat', 'lon']: + value = MTft.convert_dms_tuple2string( + MTft.convert_degrees2dms_tuple(value)) + if key in ['elev']: try: - temp_string = _cut_sectionstring(edistring,sectionhead) - except: - continue - - lo_z_vals = [] - - #check, if correct number of entries are given in the block - t0 = temp_string.strip().split('\n')[0] - n_dummy = int(float(t0.split('//')[1].strip())) - if not n_dummy == self.n_freq(): - raise MTex.MTpyError_edi_file("Error - number of entries"+\ - " does not equal number of"+\ - " freq") - - - t1 = temp_string.strip().split('\n')[1:] - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_z_vals.append(float(k)) - except: - pass - - z_dict[sectionhead] = lo_z_vals - - if len(z_dict) == 0 : - raise MTex.MTpyError_inputarguments("ERROR - Could not find "+\ - "any Z component") - - - for idx_freq in range( self.n_freq()): - try: - z_array[idx_freq,0,0] = np.complex(z_dict['ZXXR'][idx_freq], - z_dict['ZXXI'][idx_freq]) - except: - pass - try: - z_array[idx_freq,0,1] = np.complex(z_dict['ZXYR'][idx_freq], - z_dict['ZXYI'][idx_freq]) - except: - pass - try: - z_array[idx_freq,1,0] = np.complex(z_dict['ZYXR'][idx_freq], - z_dict['ZYXI'][idx_freq]) - except: - pass - try: - z_array[idx_freq,1,1] = np.complex(z_dict['ZYYR'][idx_freq], - z_dict['ZYYI'][idx_freq]) - except: - pass - - - for idx_comp,comp in enumerate(compstrings): - sectionhead = comp + '.VAR' - if sectionhead in z_dict: - zerr_array[idx_freq, idx_comp/2, idx_comp%2] = \ - z_dict[sectionhead][idx_freq] - - self.Z.z = z_array - - #errors are stddev, not VAR : - self.Z.zerr = np.sqrt(zerr_array) - - #--------------Read Tipper---------------------------------------------- - def _read_tipper(self, edistring): + value = '{0:.3f}'.format(value) + except ValueError: + value = '0.000' + + if key in ['filedate']: + value = datetime.datetime.utcnow().strftime( + '%Y/%m/%d %H:%M:%S UTC') + + header_lines.append('{0}{1}={2}\n'.format(tab, key.upper(), value)) + header_lines.append('\n') + return header_lines + + def _validate_header_list(self, header_list): """ - Read in Tipper information from a raw EDI-string. - Store it as attribute (complex array). - + make sure the input header list is valid + + returns a validated header list """ - - compstrings = ['TX','TY'] - T_entries = ['R','I','VAR'] - - tipper_array = np.zeros((self.n_freq(),1,2),dtype=np.complex) - tippererr_array = np.zeros((self.n_freq(),1,2),dtype=np.float) - t_dict = {} - - - for idx_comp,comp in enumerate(compstrings): - for idx_tentry,tentry in enumerate(T_entries): - temp_string = None - try: - sectionhead = comp + tentry + '.EXP' - temp_string = _cut_sectionstring(edistring,sectionhead) - except: - try: - sectionhead = comp + tentry - temp_string = _cut_sectionstring(edistring,sectionhead) - except: - # if tipper is given with sectionhead "TX.VAR" - if (idx_tentry == 2) and (temp_string is None): - try: - sectionhead = comp + '.' + tentry - temp_string = _cut_sectionstring(edistring, - sectionhead) - except: - pass - pass - - lo_t_vals = [] - - #check, if correct number of entries are given in the block - t0 = temp_string.strip().split('\n')[0] - n_dummy = int(float(t0.split('//')[1].strip())) - - if not n_dummy == self.n_freq(): - raise MTex.MTpyError_edi_file("Error - number of entries"+\ - " does not equal number of"+\ - " freq") - - t1 = temp_string.strip().split('\n')[1:] - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_t_vals.append(float(k)) - except: - pass - - t_dict[comp + tentry] = lo_t_vals - - - for idx_freq in range( self.n_freq()): - tipper_array[idx_freq,0,0] = np.complex(t_dict['TXR'][idx_freq], - t_dict['TXI'][idx_freq]) - tippererr_array[idx_freq,0,0] = t_dict['TXVAR'][idx_freq] - tipper_array[idx_freq,0,1] = np.complex(t_dict['TYR'][idx_freq], - t_dict['TYI'][idx_freq]) - tippererr_array[idx_freq,0,1] = t_dict['TYVAR'][idx_freq] - - self.Tipper.tipper = tipper_array - #errors are stddev, not VAR : - self.Tipper.tippererr = np.sqrt(tippererr_array) - self.Tipper.freq = self.freq - - #--------------Read Resistivity and Phase--------------------------------- - def _read_res_phase(self, edistring): + + if header_list is None: + print 'No header information to read' + return None + + new_header_list = [] + for h_line in header_list: + h_line = h_line.strip().replace('"', '') + if len(h_line) > 1: + h_list = h_line.split('=') + if len(h_list) == 2: + key = h_list[0] + value = h_list[1] + new_header_list.append('{0}={1}'.format(key, value)) + + return new_header_list + +#============================================================================== +# Info object +#============================================================================== +class Information(object): + """ + Contain, read, and write info section of .edi file + + not much to really do here, but just keep it in the same format that it is + read in as, except if it is in phoenix format then split the two paragraphs + up so they are sequential. + + """ + + def __init__(self, edi_fn=None): + self.edi_fn = edi_fn + self.info_list = None + + if self.edi_fn is not None: + self.read_info() + + def get_info_list(self): """ - Read in ResPhase-(RhoPhi-)information from a raw EDI-string. - Convert the information into Z and Zerr. - Store this as attribute (complex array). - + get a list of lines from the info section """ - # using the loop over all components. For each component check, - # if Rho and Phi are given, raise exception if not! Then convert the - # polar RhoPhi representation into the cartesian Z. Rho is assumed to - # be in Ohm m, Phi in degrees. Z will be in km/s. - z_array = np.zeros((self.n_freq(),2,2), 'complex') - zerr_array = np.zeros((self.n_freq(),2,2)) - - rhophistrings = ['RHO','PHS'] - compstrings = ['XX','XY','YX','YY'] - entries = ['','.ERR'] - - rhophi_dict = {} - for rp in rhophistrings: - for comp in compstrings: - for entry in entries: - sectionhead = rp + comp + entry - try: - temp_string = _cut_sectionstring(edistring,sectionhead) - except: - continue - - lo_vals = [] - #check, if correct number of entries are given in the block - t0 = temp_string.strip().split('\n')[0] - n_dummy = int(float(t0.split('//')[1].strip())) - if not n_dummy == self.n_freq(): - raise - - t1 = temp_string.strip().split('\n')[1:] - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_vals.append(float(k)) - except: - pass - - rhophi_dict[sectionhead] = lo_vals - if len (rhophi_dict) == 0: - raise - - for idx_freq in range( self.n_freq()): - r = np.zeros((2,2)) - tmp_rho = np.zeros((2,2)) - phi = np.zeros((2,2)) - rerr = np.zeros((2,2)) - phierr = np.zeros((2,2)) - zerr = np.zeros((2,2)) - - for idx_c, comp in enumerate(compstrings): - #convert rho to resistivity: - try: - r[idx_c/2,idx_c%2] = \ - np.sqrt(rhophi_dict['RHO'+comp][idx_freq] *\ - 5 * self.freq[idx_freq]) - tmp_rho[idx_c/2,idx_c%2] = rhophi_dict['RHO'+comp][idx_freq] - except: - pass - try: - phi[idx_c/2,idx_c%2] = rhophi_dict['PHS'+comp][idx_freq] - except: - pass - try: - try: - #check for small amplitude close to zero - if r[idx_c/2,idx_c%2] == 0: - raise - f1 = np.abs(np.sqrt(2.5*self.freq[idx_freq]/\ - r[idx_c/2,idx_c%2])*\ - (rhophi_dict['RHO'+comp+'.ERR'][idx_freq])) - except: - f1 = np.sqrt(rhophi_dict['RHO'+comp+'.ERR'][idx_freq]*\ - 5 * self.freq[idx_freq] ) - rerr[idx_c/2,idx_c%2] = f1 - except: - pass - try: - phierr[idx_c/2,idx_c%2] = \ - rhophi_dict['PHS'+comp +'.ERR'][idx_freq] - except: - pass - zerr[idx_c/2,idx_c%2] = max(MTcc.propagate_error_polar2rect( - r[idx_c/2,idx_c%2], - rerr[idx_c/2,idx_c%2], - phi[idx_c/2,idx_c%2], - phierr[idx_c/2,idx_c%2])) - - z_array[idx_freq] = MTcc.rhophi2z(tmp_rho, phi,self.freq[idx_freq]) - - zerr_array[idx_freq] = zerr - - - self.Z.z = z_array - self.Z.zerr = zerr_array - - - #--------------Read Rho rotations------------------------------------------ - def _read_rhorot(self, edistring): + if self.edi_fn is None: + print 'no edi file input, check edi_fn attribute' + return + if os.path.isfile(self.edi_fn) is False: + print 'Could not find {0}, check path'.format(self.edi_fn) + return + + self.info_list = [] + info_find = False + phoenix_file = False + phoenix_list_02 = [] + count = 0 + with open(self.edi_fn, 'r') as fid: + for line in fid: + if line.find('>') == 0: + count += 1 + if line.lower().find('info') > 0: + info_find = True + else: + info_find = False + if count > 2 and info_find == False: + break + elif count > 1 and line.find('>') != 0 and info_find == True: + if line.lower().find('run information') >= 0: + phoenix_file = True + if phoenix_file == True and len(line) > 40: + self.info_list.append(line[0:37].strip()) + phoenix_list_02.append(line[38:].strip()) + else: + if len(line.strip()) > 1: + self.info_list.append(line.strip()) + + self.info_list += phoenix_list_02 + # validate the information list + self.info_list = self._validate_info_list(self.info_list) + + def read_info(self, info_list=None): """ - Read in the (optional) RhoRot section from the raw edi-string for - data file containing data in ResPhase style. Angles are stored in - the ZROT attribute. + read information section of the .edi file """ - - try: - temp_string = _cut_sectionstring(edistring,'RHOROT') - except: - lo_angles = np.zeros((self.n_freq())) - self.zrot = lo_angles - self.Z.rotation_angle = self.zrot - if self.Tipper.tipper is not None: - self.Tipper.rotation_angle = self.zrot - - return - - - lo_angles = [] - - t1 = temp_string.strip().split('\n')[1:] - - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_angles.append(float(k)) - except: - pass - - if len(lo_angles) != self.n_freq(): - raise - - self.zrot = np.array(lo_angles) - self.Z.rotation_angle = self.zrot - if self.Tipper.tipper is not None: - self.Tipper.rotation_angle = self.zrot - - #--------------Read Spectra---------------------------------------------- - def _read_spectra(self,edistring): + if info_list is not None: + self.info_list = self._validate_info_list(info_list) + + if self.edi_fn is not None and self.info_list is None: + self.get_info_list() + + if self.info_list is None: + print "Could not read information" + return + + def write_info(self, info_list=None): """ - Read in Spectra information from a raw EDI-string. - Convert the information into Z and Tipper. - + """ - #identify and cut spectrasect part: - specset_string = _cut_sectionstring(edistring,'SPECTRASECT') - s_dict = {} - t1 = specset_string.strip().split('\n') - tipper_array = None - - s_dict['sectid'] = '' - - sectid = _find_key_value('sectid', '=',specset_string ) - if sectid is not None : - s_dict['sectid'] = sectid - - for tmp_str in t1: - if '=' in tmp_str: - k = tmp_str.strip().split('=') - key = k[0].lower() - value = k[1].replace('"','').strip() - if len(value) != 0: - s_dict[key] = value - - dummy4 = specset_string.upper().find('NCHAN') - n_chan = int(float( - specset_string[dummy4:].strip().split('=')[1].split()[0])) - try: - id_list = specset_string.split('//')[1].strip().split()[1:n_chan+1] - except: - raise MTex.MTpyError_EDI("ERROR - check number of channels in >=spectrasect") - - dummy5 = specset_string.upper().find('NFREQ') - n_freq = int(float( - specset_string[dummy5:].strip().split('=')[1].split()[0])) - lo_spectra_strings = [] - tmp_string = copy.copy(edistring) - - #read in all SPECTRA subsections into a list - while True: - try: - dummy3 = tmp_string.find('>SPECTRA') - #check, if SPECTRA subsection exists - - if dummy3 <0 : - raise - # cut the respective sub string - tmp_cut_string = _cut_sectionstring(tmp_string,'SPECTRA') - - #append to the list - lo_spectra_strings.append(tmp_cut_string) - - # reduce the input string by the keyword 'SPECTRA', - #so the subsequent subsection will be read in the next - #loop-run instead - tmp_string = tmp_string[:dummy3] + tmp_string[dummy3+8:] - - #exceptions for breaking the while, called, if no more SPECTRA - #subsections can be found - except: - break - - #assert that the list of read in SPECTRA subsection is not empty: - if len(lo_spectra_strings) == 0: - raise MTex.MTpyError_EDI('ERROR - EDI file does not contain'+\ - 'readable SPECTRA sections!') - - z_array = np.zeros((len(lo_spectra_strings),2,2), 'complex') - zerr_array = np.zeros((len(lo_spectra_strings),2,2)) + if info_list is not None: + self.info_list = self._validate_info_list(info_list) - id_comps = ['HX', 'HY', 'EX', 'EY','RX', 'RY'] - if n_chan%2 != 0 : - id_comps = ['HX', 'HY','HZ', 'EX', 'EY','RX', 'RY'] - - tipper_array = np.zeros((len(lo_spectra_strings),1,2), 'complex') - tippererr_array = np.zeros((len(lo_spectra_strings),1,2)) - - lo_freqs = [] - lo_rots = [] - - id_channel_dict = _build_id_channel_dict(self.hmeas_emeas) - - channellist = [id_channel_dict[i] for i in id_list] - - for j in ['HX', 'HY', 'EX', 'EY'] : - if j not in channellist: - raise MTex.MTpyError_edi_file('Mandatory data for channel'+\ - '{0} missing!'.format(j)) - - - for s_idx, spectra in enumerate(lo_spectra_strings): - firstline = spectra.split('\n')[0] - freq = float(_find_key_value('FREQ','=',firstline)) - # Read information on uncertainties on data, given by AVGT value: - avgt = None - try: - avgt = float(_find_key_value('AVGT','=',firstline)) - except: - avgt = None - #if AVGT cannot be read, no errors are calculated - - lo_freqs.append(freq) - rotangle = 0. - try: - rotangle = float(_find_key_value('ROTSPEC','=',firstline)) - except: - pass - lo_rots.append(rotangle) - - datalist = [] - for innerline in spectra.split('\n')[1:]: - datalist.extend(innerline.strip().split()) - data = np.array([float(i) - for i in datalist]).reshape(n_chan,n_chan) - - zdata = spectra2z(data, avgt, channellist) - z_array[s_idx] = zdata[0] - if zdata[2] is not None: - zerr_array[s_idx] = zdata[2] - if n_chan%2 != 0 : - tipper_array[s_idx] = zdata[1] - if zdata[3] is not None: - tippererr_array[s_idx] = zdata[3] + info_lines = ['>INFO\n\n'] + for line in self.info_list: + info_lines.append('{0}{1}\n'.format(tab, line)) + + return info_lines - - self.Z = MTz.Z(z_array=z_array,zerr_array=zerr_array,freq=np.array(lo_freqs)) - self._set_freq(self.Z.freq) - self.Z.rotation_angle = np.array(lo_rots) - - self.zrot = self.Z.rotation_angle.copy() - - - if tipper_array is not None: - self.Tipper = MTz.Tipper(tipper_array=tipper_array, - tippererr_array= tippererr_array, - freq=self.freq) - self.Tipper.rotation_angle = self.zrot.copy() - - for i,j in enumerate(id_list): - s_dict[ id_comps[i] ] = j - - self.mtsect = s_dict - - - #--------------Read impedance rotation angles----------------------------- - def _read_zrot(self, edistring): + + def _validate_info_list(self, info_list): """ - Read in the (optional) Zrot section from the raw edi-string. + check to make sure the info list input is valid, really just checking + for Phoenix format where they put two columns in the file and remove + any blank lines and the >info line """ - - try: - temp_string = _cut_sectionstring(edistring,'ZROT') - except: - lo_angles = np.zeros((self.n_freq())) - self.zrot = lo_angles - self.Z.rotation_angle = self.zrot - return - - - lo_angles = [] - - t1 = temp_string.strip().split('\n')[1:] - - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_angles.append(float(k)) - except: + + new_info_list = [] + for line in info_list: + # get rid of empty lines + lt = str(line).strip() + if len(lt) > 1: + if line.find('>') == 0: pass + else: + new_info_list.append(line.strip()) + + return new_info_list + + +#============================================================================== +# Define measurement class +#============================================================================== +class DefineMeasurement(object): + """ + DefineMeasurement class holds information about the measurement. This + includes how each channel was setup. The main block contains information + on the reference location for the station. This is a bit of an archaic + part and was meant for a multiple station .edi file. This section is also + important if you did any forward modeling with Winglink cause it only gives + the station location in this section. The other parts are how each channel + was collected. An example define measurement section looks like:: + + >=DEFINEMEAS + + MAXCHAN=7 + MAXRUN=999 + MAXMEAS=9999 + UNITS=M + REFTYPE=CART + REFLAT=-30:12:49.4693 + REFLONG=139:47:50.87 + REFELEV=0 + + >HMEAS ID=1001.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 + >HMEAS ID=1002.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + >HMEAS ID=1003.001 CHTYPE=HZ X=0.0 Y=0.0 Z=0.0 AZM=0.0 + >EMEAS ID=1004.001 CHTYPE=EX X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 + >EMEAS ID=1005.001 CHTYPE=EY X=0.0 Y=0.0 Z=0.0 X2=0.0 Y2=0.0 + >HMEAS ID=1006.001 CHTYPE=HX X=0.0 Y=0.0 Z=0.0 AZM=0.0 + >HMEAS ID=1007.001 CHTYPE=HY X=0.0 Y=0.0 Z=0.0 AZM=90.0 + + Arguments + ------------- + + **edi_fn** : string + full path to .edi file to read in. + + Attributes + ------------- + + ================= ==================================== ======== =========== + Attributes Description Default In .edi + ================= ==================================== ======== =========== + edi_fn Full path to edi file read in None no + maxchan Maximum number of channels measured None yes + maxmeas Maximum number of measurements 9999 yes + maxrun Maximum number of measurement runs 999 yes + meas_#### HMeasurement or EMEasurment object None yes + defining the measurement made [1]_ + refelev Reference elevation (m) None yes + reflat Reference latitude [2]_ None yes + refloc Reference location None yes + reflon Reference longituted [2]_ None yes + reftype Reference coordinate system 'cart' yes + units Units of length m yes + _define_meas_keys Keys to include in define_measurment [3]_ no + section. + ================= ==================================== ======== =========== + + .. rubric:: footnotes + .. [1] Each channel with have its own define measurement and depending on + whether it is an E or H channel the metadata will be different. + the #### correspond to the channel number. + .. [2] Internally everything is converted to decimal degrees. Output is + written as HH:MM:SS.ss so Winglink can read them in. + .. [3] If you want to change what metadata is written into the .edi file + change the items in _header_keys. Default attributes are: + * maxchan + * maxrun + * maxmeas + * reflat + * reflon + * refelev + * reftype + * units - if len(lo_angles) != self.n_freq(): - raise - - self.zrot = np.array(lo_angles) - self.Z.rotation_angle = self.zrot.copy() - if self.Tipper.tipper is not None: - self.Tipper.rotation_angle = self.zrot.copy() - - - #--------------Write out file--------------------------------------------- - def set_Z(self, z_object): + """ + + def __init__(self, edi_fn=None): + self.edi_fn = edi_fn + self.measurement_list = None + + self.maxchan = None + self.maxmeas = 7 + self.maxrun = 999 + self.refelev = None + self.reflat = None + self.reflon = None + self.reftype = 'cartesian' + self.units = 'm' + + self._define_meas_keys = ['maxchan', + 'maxrun', + 'maxmeas', + 'reflat', + 'reflon', + 'refelev', + 'reftype', + 'units'] + + if self.edi_fn is not None: + self.read_define_measurement() + + def get_measurement_lists(self): """ - Set the Z object attribute. + get measurement list including measurement setup """ - if not isinstance(z_object, MTz.Z): - raise MTex.MTpyError_Z('Input argument is not an instance of '+\ - 'the Z class') - - self.Z = z_object - self.freq = z_object.freq - - #--------------Write out file--------------------------------------------- - def set_Tipper(self, tipper_object): + if self.edi_fn is None: + print 'No edi file input, check edi_fn attribute' + return + + if os.path.isfile(self.edi_fn) is False: + print 'Could not find {0}, check path'.format(self.edi_fn) + + self.measurement_list = [] + meas_find = False + count = 0 + with open(self.edi_fn, 'r') as fid: + for line in fid: + if line.find('>=') == 0: + count += 1 + if line.lower().find('definemeas') > 0: + meas_find = True + else: + meas_find = False + if count == 2 and meas_find == False: + break + elif count == 1 and line.find('>') != 0 and meas_find == True: + line = line.strip() + if len(line) > 2: + self.measurement_list.append(line.strip()) + + # look for the >XMEAS parts + elif count == 1 and line.find('>') == 0 and meas_find == True: + if line.find('!') > 0: + pass + else: + line_list = _validate_str_with_equals(line) + m_dict = {} + for ll in line_list: + ll_list = ll.split('=') + key = ll_list[0].lower() + value = ll_list[1] + m_dict[key] = value + self.measurement_list.append(m_dict) + + def read_define_measurement(self, measurement_list=None): """ - Set the Tipper object attribute. + read the define measurment section of the edi file + + should be a list with lines for: + - maxchan + - maxmeas + - maxrun + - refelev + - reflat + - reflon + - reftype + - units + - dictionaries for >XMEAS with keys: + - id + - chtype + - x + - y + - axm + -acqchn + """ - if not isinstance(tipper_object, MTz.Tipper): - raise MTex.MTpyError_Tipper('Input argument is not an instance of '+\ - 'the Tipper class') - - self.Tipper = tipper_object - #self.freq = tipper_object.freq - - - #--------------Write out file--------------------------------------------- - def writefile(self, fn=None, allow_overwrite=False, use_info_string=False): + if measurement_list is not None: + self.measurement_list = measurement_list + + if self.measurement_list is None and self.edi_fn is not None: + self.get_measurement_lists() + + if self.measurement_list is None and self.edi_fn is None: + print 'Nothing to read, check edi_fn or measurement_list attributes' + return + + for line in self.measurement_list: + if type(line) is str: + line_list = line.split('=') + key = line_list[0].lower() + value = line_list[1].strip() + if key in 'reflatitude': + key = 'reflat' + value = MTft._assert_position_format('lat', value) + elif key in 'reflongitude': + key = 'reflon' + value = MTft._assert_position_format('lon', value) + elif key in 'refelevation': + key = 'refelev' + value = MTft._assert_position_format('elev', value) + elif key in 'maxchannels': + key = 'maxchan' + try: + value = int(value) + except ValueError: + value = 0 + elif key in 'maxmeasurements': + key = 'maxmeas' + try: + value = int(value) + except ValueError: + value = 0 + elif key in 'maxruns': + key = 'maxrun' + try: + value = int(value) + except ValueError: + value = 0 + setattr(self, key, value) + + elif type(line) is dict: + key = 'meas_{0}'.format(line['chtype'].lower()) + if key[4:].find('h') >= 0: + value = HMeasurement(**line) + elif key[4:].find('e') >= 0: + value = EMeasurement(**line) + setattr(self, key, value) + + def write_define_measurement(self, measurement_list=None): """ - Write out the edi object into an EDI file. - - Default: existing files are not overwritten, a unique filename is - generated for each new file - - Default: the INFO section is written using the self.info_dict. This - behaviour can be changed to allow a verbatim write of the - self.info_string (useful if existing EDIs are only slightly altered) - - + write the define measurement block as a list of strings """ - - if fn is not None and len(fn) == 0: - fn = None - elif fn is not None: - #see, if it's iterable - if type(fn) is not str: - fn = fn[0] - - self.info_dict['edifile_generated_with'] = 'MTpy' - - try: - outstring, stationname = _generate_edifile_string(self.edi_dict(),use_info_string) - except: - print 'ERROR - could not generate valid EDI file \n-> check, if'\ - ' method "edi_dict" returns sufficient information\n '\ - '' - return - - if stationname is None: - stationname = 'dummy' - if len(stationname) == 0: - stationname = 'unknown' - - if not _validate_edifile_string(outstring): - #return outstring - raise MTex.MTpyError_edi_file('Cannot write EDI file...'+\ - 'output string is invalid') - - - if fn != None: - try: - outfilename = op.abspath(fn) - if not outfilename.lower().endswith('.edi'): - outfilename += '.edi' - except: - fn = None - print 'ERROR - could not generate output file with '+\ - 'given name - trying generic name instead!' - - if fn == None: - outfilename = op.abspath(stationname.upper()+'.edi') - if allow_overwrite is not True: - outfilename = MTfh.make_unique_filename(outfilename) - - try: - with open(outfilename , 'w') as F: - F.write(outstring) - except: - raise MTex.MTpyError_edi_file('Cannot write EDI file:'+\ - '{0}'.format(outfilename)) - - return outfilename - - #--------------Rotate data---------------------------------------------- - def rotate(self,angle): - """ - Rotate the Z and tipper information in the Edi object. Change the - rotation angles in Zrot respectively. - - Rotation angle must be given in degrees. All angles are referenced - to geographic North, positive in clockwise direction. - (Mathematically negative!) - - In non-rotated state, X refs to North and Y to East direction. - - Updates the attributes "z, zrot, tipper". - - """ - if type(angle) in [float,int]: - angle = np.array([float(angle)%360 for i in range(len(self.zrot))]) + if measurement_list is not None: + self.read_define_measurement(measurement_list=measurement_list) + + measurement_lines = ['\n>=DEFINEMEAS\n\n'] + for key in self._define_meas_keys: + value = getattr(self, key) + if key == 'reflat' or key == 'reflon': + value = MTft.convert_dms_tuple2string( + MTft.convert_degrees2dms_tuple(value)) + elif key == 'refelev': + value = '{0:.3f}'.format(value) + + measurement_lines.append('{0}{1}={2}\n'.format(tab, + key.upper(), + value)) + measurement_lines.append('\n') + + ## need to write the >XMEAS type + m_key_list = [kk for kk in self.__dict__.keys() if kk.find('meas_')==0] + if len(m_key_list) == 0: + print 'No XMEAS information.' else: - try: - if type(angle) is str: - try: - angle = float(angle) - angle = np.array([float(angle)%360 for i in range(len(self.zrot))]) - except: - raise - elif len(angle) != len(self.zrot): - raise - angle = np.array([float(i)%360 for i in angle]) - except: - raise MTex.MTpyError_inputarguments('ERROR - "angle" must'+\ - ' be a single numerical'+\ - ' value or a list of '+\ - 'values. In the latter'+\ - ' case, its length must'+\ - 'be {0}'.format( - len(self.zrot))) - - self.Z.rotate(angle) - self.zrot = self.Z.rotation_angle - # self.zrot = [(ang0+angle[i])%360 for i,ang0 in enumerate(self.zrot)] - # self.Z.rotation_angle = self.zrot - - if self.Tipper.tipper is not None: - self.Tipper.rotate(angle) - self.Tipper.rotation_angle = self.zrot - - - #--------------get/set header ------------------------------- - def _set_head(self, head_dict): - """ - Set the attribute 'head'. - - Input: - HEAD section dictionary - - No test for consistency! - - """ - - self._head = head_dict - - - def _get_head(self): - - - return self._head + for key in sorted(m_key_list): + m_obj = getattr(self, key) + if m_obj.chtype.lower().find('h') >= 0: + head = 'hmeas' + elif m_obj.chtype.lower().find('e') >= 0: + head = 'emeas' + else: + head = None + + m_list = ['>{0}'.format(head.upper())] + for mkey, mfmt in zip(m_obj._kw_list, m_obj._fmt_list): + m_list.append(' {0}={1:{2}}'.format(mkey.upper(), + getattr(m_obj, mkey), + mfmt)) + m_list.append('\n') + measurement_lines.append(''.join(m_list)) - head = property(_get_head, _set_head, doc='HEAD attribute of EDI file') - - #--------------get/set station ------------------------------- - def _set_station(self, stationname): - """ - Set the attribute 'station'. - - Updates the 'dataid' key in 'HEAD'... - - Input: - HEAD section dictionary - - No test for consistency! - - """ - - self._station = stationname - if not 'dataid' in self._head : - self._head['dataid'] = stationname - - - def _get_station(self): - - return self._station + return measurement_lines - station = property(_get_station, _set_station, doc='station attribute of EDI file') - - - #--------------get/set info dict ------------------------------- - def _set_info_dict(self,info_dict): + def get_measurement_dict(self): """ - Set the attribute 'info_dict'. - - Input: - INFO section dictionary - - No test for consistency! - + get a dictionary for the xmeas parts """ - - self._info_dict = info_dict + meas_dict = {} + for key in self.__dict__.keys(): + if key.find('meas_') == 0: + meas_attr = getattr(self, key) + meas_key = meas_attr.chtype + meas_dict[meas_key] =meas_attr + + return meas_dict +#============================================================================== +# magnetic measurements +#============================================================================== +class HMeasurement(object): + """ + HMeasurement contains metadata for a magnetic field measurement + + Attributes + ------------ + + ====================== ==================================================== + Attributes Description + ====================== ==================================================== + id Channel number + chtype [ HX | HY | HZ | RHX | RHY ] + x x (m) north from reference point (station) + y y (m) east from reference point (station) + azm angle of sensor relative to north = 0 + acqchan name of the channel acquired usually same as chtype + ====================== ==================================================== + + Example + ------------ + + :Fill Metadata: :: + + >>> import mtpy.core.edi as mtedi + >>> h_dict = {'id': '1', 'chtype':'hx', 'x':0, 'y':0, 'azm':0} + >>> h_dict['acqchn'] = 'hx' + >>> hmeas = mtedi.HMeasurement(**h_dict) + """ + + def __init__(self, **kwargs): - def _get_info_dict(self): - return self._info_dict + self._kw_list = ['id', 'chtype', 'x', 'y', 'azm', 'acqchan'] + self._fmt_list = ['<4.4g','<3', '<4.1f', '<4.1f', '<4.1f', '<4'] + for key in self._kw_list: + setattr(self, key, None) + + for key in kwargs.keys(): + try: + setattr(self, key, float(kwargs[key])) + except ValueError: + setattr(self, key, kwargs[key]) + +#============================================================================== +# electric measurements +#============================================================================== +class EMeasurement(object): + """ + EMeasurement contains metadata for an electric field measurement - info_dict = property(_get_info_dict, _set_info_dict, - doc='INFO section dictionary') - - #--------------get/set info header ------------------------------- - def _set_info_string(self,info_string): - """ - Set the attribute 'info_string'. - - Input: - INFO section string - - No test for consistency! - - """ - - self._info_string = info_string + Attributes + ------------ + + ====================== ==================================================== + Attributes Description + ====================== ==================================================== + id Channel number + chtype [ EX | EY ] + x x (m) north from reference point (station) of one + electrode of the dipole + y y (m) east from reference point (station) of one + electrode of the dipole + x2 x (m) north from reference point (station) of the + other electrode of the dipole + y2 y (m) north from reference point (station) of the + other electrode of the dipole + acqchan name of the channel acquired usually same as chtype + ====================== ==================================================== + + Example + ------------ + + :Fill Metadata: :: + + >>> import mtpy.core.edi as mtedi + >>> e_dict = {'id': '1', 'chtype':'ex', 'x':0, 'y':0, 'x2':50, 'y2':50} + >>> e_dict['acqchn'] = 'ex' + >>> emeas = mtedi.EMeasurement(**e_dict) + """ + + def __init__(self, **kwargs): - def _get_info_string(self): - return self._info_string + self._kw_list = ['id', 'chtype', 'x', 'y', 'x2', 'y2', 'acqchan'] + self._fmt_list = ['<4.4g', '<3', '<4.1f', '<4.1f', '<4.1f', '<4.1f', + '<4'] + for key in self._kw_list: + setattr(self, key, None) - info_string = property(_get_info_string, _set_info_string, - doc='INFO section string') - - #--------------get/set definemeas ------------------------------- - def _set_definemeas(self,definemeas_dict): - """ - Set the attribute 'definemeas'. - - Input: - DEFINEMEAS section dictionary - - No test for consistency! - - """ - self._definemeas = definemeas_dict - def _get_definemeas(self): - return self._definemeas - - definemeas = property(_get_definemeas, _set_definemeas, - doc='DEFINEMEAS section dictionary') - - #--------------get/set h and e measurements ------------------------------ - def _set_hmeas_emeas(self,hmeas_emeas_list): - """ - Set the attribute 'hmeas_emeas'. - - Input: - hmeas_emeas section list of 7-tuples - - No test for consistency! - - """ - self._hmeas_emeas = hmeas_emeas_list + for key in kwargs.keys(): + try: + setattr(self, key, float(kwargs[key])) + except ValueError: + setattr(self, key, kwargs[key]) - def _get_hmeas_emeas(self): - return self._hmeas_emeas - - hmeas_emeas = property(_get_hmeas_emeas, _set_hmeas_emeas, - doc='hmeas_emeas section list of 7-tuples') - - #--------------get/set mtsect ------------------------------- - def _set_mtsect(self, mtsect_dict): - """ - Set the attribute 'mtsect'. - - Input: - MTSECT section dictionary - - No test for consistency! - - """ - - self._mtsect = mtsect_dict - def _get_mtsect(self): - return self._mtsect - - mtsect = property(_get_mtsect, _set_mtsect, - doc='MTSECT section dictionary') - - - #--------------get/set single component ------------------------------- - def _get_datacomponent(self, componentname): - """ - Return a specific data component. - - Input: - specification of the data component (Z or Tipper components) - """ - - data_dict = self.data_dict() - if componentname.lower() in data_dict: - return data_dict[componentname.lower()] - - compstrings = ['ZXX','ZXY','ZYX','ZYY'] - Z_entries = ['R','I','.VAR'] - for idx_comp,comp in enumerate(compstrings): - for idx_zentry,zentry in enumerate(Z_entries): - section = comp + zentry - if section.lower() == componentname.lower(): - return self.z_dict()[section] - - compstrings = ['TX','TY'] - T_entries = ['R','I','VAR'] - - for idx_comp,comp in enumerate(compstrings): - for idx_tentry,tentry in enumerate(T_entries): - section = comp + tentry - if section.lower() == componentname.lower(): - return self.tipper_dict()[section] - - print 'unknown data component: %s'%componentname.lower() - return - - - def _set_datacomponent(self, componentname, value): +#============================================================================== +# data section +#============================================================================== +class DataSection(object): + """ + DataSection contains the small metadata block that describes which channel + is which. A typical block looks like:: + + >=MTSECT + + ex=1004.001 + ey=1005.001 + hx=1001.001 + hy=1002.001 + hz=1003.001 + nfreq=14 + sectid=par28ew + nchan=None + maxblks=None + + Arguments + ------------- + **edi_fn** : string + full path to .edi file to read in. + + Attributes + ------------- + + ================= ==================================== ======== =========== + Attributes Description Default In .edi + ================= ==================================== ======== =========== + ex ex channel id number None yes + ey ey channel id number None yes + hx hx channel id number None yes + hy hy channel id number None yes + hz hz channel id number None yes + nfreq number of frequencies None yes + sectid section id, should be the same + as the station name -> Header.dataid None yes + maxblks maximum number of data blocks None yes + nchan number of channels None yes + _kw_list list of key words to put in metadata [1]_ no + ================= ==================================== ======== =========== + + .. rubric:: Footnotes + .. [1] Changes these values to change what is written to edi file + """ + def __init__(self, edi_fn=None): + self.edi_fn = edi_fn + + self.data_type = 'z' + self.line_num = 0 + self.data_sect_list = None + + self._kw_list = ['ex', + 'ey', + 'hx', + 'hy', + 'hz', + 'nfreq', + 'sectid', + 'nchan', + 'maxblks'] + + for key in self._kw_list: + setattr(self, key, None) + + if self.edi_fn is not None: + self.read_data_sect() + + + def get_data_sect(self): """ - Set a specific data component. - - Input: - specification of the data component (Z or Tipper components) - new value - - No test for consistency! + read in the data of the file, will detect if reading spectra or + impedance. """ - pass - - #--------------get/set freq ------------------------------- - def _set_freq(self, lo_freq): + + if self.edi_fn is None: + raise MTex.MTpyError_EDI('No edi file to read. Check edi_fn') + + if os.path.isfile(self.edi_fn) is False: + raise MTex.MTpyError_EDI('Could not find {0}. Check path'.format(self.edi_fn)) + + self.data_sect_list = [] + data_sect_find = False + count = 0 + with open(self.edi_fn) as fid: + for ii, line in enumerate(fid): + if line.find('>=') == 0: + count += 1 + if line.lower().find('sect') > 0: + data_sect_find = True + self.line_num = ii + if line.lower().find('spect') > 0: + self.data_type = 'spectra' + elif line.lower().find('mt') > 0: + self.data_type = 'z' + else: + data_sect_find = False + if count > 2 and data_sect_find == False: + break + elif count == 2 and line.find('>') != 0 and \ + data_sect_find == True: + if len(line.strip()) > 2: + self.data_sect_list.append(line.strip()) + + def read_data_sect(self, data_sect_list=None): """ - Set the array of freq. - - Input: - list/array of freq - - No test for consistency! + read data section """ - # try: - # if len(lo_freq) is not len(self.Z.z): - # print 'length of freq list not correct'+\ - # '({0} instead of {1})'.format(len(lo_freq), - # len(self.Z.z)) - # return - # except: - # print 'array self.Z.z is not defined' - # return - - self._freq = np.array(lo_freq) - if self.Z.z is not None: - try: - self.Z._set_freq(self.freq) - except: - print 'length of freq list not consistent with Z.z array '+\ - '({0} instead of {1})'.format(len(lo_freq), - len(self.Z.z)) - if self.Tipper.tipper is not None: - try: - self.Tipper._set_freq(self.freq) - except: - print 'length of freq list not consistent with Tipper.tipper array '+\ - '({0} instead of {1})'.format(len(lo_freq), - len(self.Tipper.tipper)) - - def _get_freq(self): - if self._freq is not None: - self._freq = np.array(self._freq) - return self._freq - freq = property(_get_freq, _set_freq, - doc='array of freq') - - #--------------get/set impedance rotation ------------------------------- - def _set_zrot(self, angle): + if data_sect_list is not None: + self.data_sect_list = data_sect_list + + if self.edi_fn is not None and self.data_sect_list is None: + self.get_data_sect() + + for d_line in self.data_sect_list: + d_list = d_line.split('=') + if len(d_list) > 1: + key = d_list[0].lower() + try: + value = int(d_list[1].strip()) + except ValueError: + value = d_list[1].strip().replace('"', '') + + setattr(self, key, value) + + def write_data_sect(self, data_sect_list=None): """ - Set the list of rotation angles. - - Input: - single angle or list of angles (in degrees) - - No test for consistency! + write a data section """ - - if type(angle) is str: - raise MTex.MTpyError_edi_file('list of angles contains string'+\ - 'literal(s)') - - if np.iterable(angle): - if len(angle) is not len(self.Z.z): - print 'length of angle list not correct'+\ - '({0} instead of {1})'.format(len(angle), len(self.z)) - return - try: - angle = [float(i%360) for i in angle] - except: - raise MTex.MTpyError_edi_file('list of angles contains'+\ - 'non-numercal values') - else: - try: - angle = [float(angle%360) for i in self.Z.z] - except: - raise MTex.MTpyError_edi_file('Angles is a non-numercal value') - - - self._zrot = np.array(angle) - self.Z.rotation_angle = angle - if self.Tipper.tipper is not None: - self.Tipper.rotation_angle = angle - - def _get_zrot(self): - if self._zrot is not None: - self._zrot = np.array(self._zrot) - return self._zrot + if data_sect_list is not None: + self.read_data_sect(data_sect_list) + + self.data_type = 'z' + print 'Writing out data a impedances' + + data_sect_lines = ['\n>=mtsect\n'.upper()] + for key in self._kw_list: + data_sect_lines.append('{0}{1}={2}\n'.format(tab, + key.upper(), + getattr(self, key))) - zrot = property(_get_zrot, _set_zrot, doc='') - - -#end of Edi Class -#========================= - - -def read_edifile(fn): - """ - Read in an EDI file. - - Return an instance of the Edi class. - """ - - edi_object = Edi() - - edi_object.readfile(fn) - - - return edi_object - - -def write_edifile(edi_object, out_fn = None): - """ - Write an EDI file from an instance of the Edi class. - - optional input: - EDI file name - """ - - if not isinstance(edi_object, Edi): - raise MTex.MTpyError_EDI('Input argument is not an instance of '+\ - 'the Edi class') - - if out_fn is not None: - dirname = op.dirname(op.abspath(op.join('.',out_fn))) - fn = op.basename(op.abspath(op.join('.',out_fn))) - if not op.isdir(dirname): - try: - os.makedirs(dirname) - out_fn = op.join(dirname,fn) - except: - out_fn = None - else: - out_fn = op.join(dirname,fn) - - outfilename = None - try: - outfilename = edi_object.writefile(out_fn) - except: - print 'Cannot write EDI file...output string invalid!' - - return outfilename - - -def combine_edifiles(fn1, fn2, merge_freq=None, out_fn = None, - allow_gaps = True): + data_sect_lines.append('\n') + + return data_sect_lines + +def _validate_str_with_equals(input_string): """ - Combine two EDI files. - - Inputs: - - name of EDI file 1 - - name of EDI file 2 - - optional input: - - merge_freq : freq in Hz, on which to merge the files - - default is the middle of the overlap - - out_fn : output EDI file name - - allow_gaps : allow merging EDI files whose freq ranges does - not overlap - - Outputs: - - instance of Edi class, containing merged information - - full path of the output EDI file + make sure an input string is of the format {0}={1} {2}={3} {4}={5} ... + Some software programs put spaces after the equals sign and that's not + cool. So we make the string into a readable format """ - - #edi objects: - eo1 = Edi() - eo1.readfile(fn1) - eo2 = Edi() - eo2.readfile(fn2) - #edi object merged - eom = Edi() - - #check freq lists - lo_freqs1 = eo1.freq - lo_freqs2 = eo2.freq - - - lo_eos = [] - - #check for overlap of the freq regimes: - if (not min(lo_freqs1)>max(lo_freqs2)) and \ - (not max(lo_freqs1)>min(lo_freqs2)): - if allow_gaps is False: - raise MTex.MTpyError_edi_file('Cannot merge files'+\ - '{0} and {1}'.format(fn1,fn2)+\ - '- freq ranges do not '+\ - 'overlap and "allow_gaps" is'+\ - 'set to False') - - - #determine, which is the low freq part, sort descending - lo_eos = [eo2, eo1] - - if min(lo_freqs1) <= min(lo_freqs2): - if max(lo_freqs1) >= max(lo_freqs2): - print 'freq range of file {0} fully contained'.format(fn2)+\ - 'in range of file {1} => no merging of files!'.format(fn1) - return - - if min(lo_freqs1) >= min(lo_freqs2): - if max(lo_freqs1) <= max(lo_freqs2): - print 'freq range of file {0} fully contained'.format(fn1)+\ - 'in range of file {1} => no merging of files!'.format(fn2) - return - else: - lo_eos = [eo1, eo2] - - #find sorting indices for obtaining strictly decreasing frequencies: - dec_freq_idxs_lower = np.array(lo_eos[1].freq).argsort()[::-1] - dec_freq_idxs_upper = np.array(lo_eos[0].freq).argsort()[::-1] - - #determine overlap in frequencies - upper_bound = max(lo_eos[1].freq) - lower_bound = min(lo_eos[0].freq) + # remove the first >XXXXX + if input_string.find('>') == 0: + input_string = input_string[input_string.find(' '):] + + # check if there is a // at the end of the line + if input_string.find('//') > 0: + input_string = input_string[0:input_string.find('//')] + + # split the line by = + l_list = input_string.strip().split('=') - - overlap_mid_freq = np.exp(0.5*(np.log(upper_bound) + np.log(lower_bound))) - - if merge_freq is not None: - try: - merge_freq = float(merge_freq) - except: - print 'could not read "merge freq" argument '+\ - '(float expected)...taking mean of freq overlap'+\ - 'instead: {0:.6g} Hz'.format(overlap_mid_freq) - merge_freq = overlap_mid_freq - else: - merge_freq = overlap_mid_freq + # split the remaining strings + str_list = [] + for line in l_list: + s_list = line.strip().split() + for l_str in s_list: + str_list.append(l_str.strip()) - #print merge_freq - - - #find indices for all freq from the freq lists, which are - #below(lower part) or above (upper part) of the merge freq - - #use sorted freq lists !: - - upper_idxs = np.where(np.array(lo_eos[0].freq)[dec_freq_idxs_upper]>\ - merge_freq)[0] - lower_idxs = np.where(np.array(lo_eos[1].freq)[dec_freq_idxs_lower]<=\ - merge_freq)[0] - - #total of freq in new edi object - new_freqs = lo_eos[0].freq[upper_idxs] - new_freqs= np.append(new_freqs,lo_eos[1].freq[lower_idxs]) - - n_total_freqs = len(new_freqs)# len(lower_idxs) + len(upper_idxs) - - - #------------ - # fill data fields - - new_z = np.zeros((n_total_freqs,2,2),dtype=np.complex) - new_zerr = np.zeros((n_total_freqs,2,2),dtype=np.float) - - #check, if tipper exists for both files: - if (eo1.Tipper.tipper is not None ) and (eo2.Tipper.tipper is not None ): - new_tipper = np.zeros((n_total_freqs,1,2),dtype=np.complex) - new_tippererr = np.zeros((n_total_freqs,1,2),dtype=np.float) + # probably not a good return + if len(str_list)%2 != 0: + print 'The number of entries in {0} is not even'.format(str_list) + return str_list - - counter = 0 - zrot = [] - for idx_u in upper_idxs: - try: - new_z[counter] = lo_eos[0].Z.z[idx_u] - new_zerr[counter] = lo_eos[0].Z.zerr[idx_u] - except: - pass - try: - new_tipper[counter] = lo_eos[0].Tipper.tipper[idx_u] - new_tippererr[counter] = lo_eos[0].Tipper.tippererr[idx_u] - except: - pass - try: - zrot.append(lo_eos[0].zrot[idx_u]) - except: - zrot.append(0.) - - counter +=1 - - for idx_l in lower_idxs: - try: - new_z[counter] = lo_eos[1].Z.z[idx_l] - new_zerr[counter] = lo_eos[1].Z.zerr[idx_l] - except: - pass - try: - new_tipper[counter] = lo_eos[1].Tipper.tipper[idx_l] - new_tippererr[counter] = lo_eos[1].Tipper.tippererr[idx_l] - except: - pass - try: - zrot.append(lo_eos[1].zrot[idx_l]) - except: - zrot.append(0.) - counter +=1 - - - # eom.Z.z = np.zeros((n_total_freqs,2,2),dtype=np.complex) - # eom.Z.zerr = np.zeros((n_total_freqs,2,2),dtype=np.float) - - Znew = MTz.Z(z_array=new_z, zerr_array=new_zerr, freq=new_freqs) - eom.set_Z(Znew) - - - if (eo1.Tipper.tipper is not None ) and (eo2.Tipper.tipper is not None ): - TipperNew = MTz.Tipper(tipper_array=new_tipper, tippererr_array=new_tippererr, - freq=new_freqs) - - eom.set_Tipper(TipperNew) + line_list = ['{0}={1}'.format(str_list[ii], str_list[ii+1]) for ii in + range(0, len(str_list), 2)] - eom.zrot = zrot - - - #------------ - # fill header information - - #I) HEAD - head1 = dict((k.lower(),v) for k,v in eo1.head.items()) - head2 = dict((k.lower(),v) for k,v in eo2.head.items()) - - - so_headsections = set(head1.keys() + head2.keys()) - - head_dict = {} - for element in so_headsections: - if (element in head1) and (element not in head2): - head_dict[element] = str(head1[element]) - continue - if (element in head2) and (element not in head1): - head_dict[element] = str(head2[element]) - continue - if head1[element] == head2[element]: - head_dict[element] = str(head2[element]) - continue - - if element in ['lat','long','lon','latitude','longitude', 'elevation', - 'elev','ele']: - try: - head_dict[element] = 0.5 * (float(head1[element]) + \ - float(head2[element])) - except: - raise MTex.MTpyError_edi_file('Cannot merge files: wrong'+\ - 'format of "{0}" coordinate'.format(element)) - continue - - if element == 'dataid': - head_dict[element] = head1[element]+'+'+head2[element] - continue - - if 'date' in element: - dateformat1 = '%Y/%m/%d %H:%M:%S UTC' - dateformat2 = '%d.%m.%y %H:%M:%S UTC' - dateformat3 = '%d.%m.%Y %H:%M:%S UTC' - date1 = None - - try: - date1 = calendar.timegm(time.strptime(head1[element], - dateformat1)) - date2 = calendar.timegm(time.strptime(head2[element], - dateformat1)) - except: - pass - try: - date1 = calendar.timegm(time.strptime(head1[element], - dateformat2)) - date2 = calendar.timegm(time.strptime(head2[element], - dateformat2)) - except: - pass - try: - date1 = calendar.timegm(time.strptime(head1[element], - dateformat3)) - date2 = calendar.timegm(time.strptime(head2[element], - dateformat3)) - except: - pass - if date1 is None: - raise MTex.MTpyError_edi_file('Cannot merge file, because '+\ - 'data format is not '+\ - 'understood: '+\ - '{0}={1}|{2}'.format(element, - head1[element], - head2[element])) - - - if element in ['acqdate']: - date = min(date1, date2 ) - - elif element in ['enddate']: - date = max(date1, date2 ) - - elif element in ['filedate']: - todaystring = datetime.datetime.utcnow().strftime(dateformat1) - head_dict[element] = todaystring - continue - - datetuple = time.gmtime(date) - head_dict[element] = '{0:02}/{1:02}/{2:02} '.format(datetuple[0], - datetuple[1], - datetuple[2]) - #print head_dict[element] - - eom.head = head_dict - - - #II) INFO - info1 = dict((k.lower(),v) for k,v in eo1.info_dict.items()) - info2 = dict((k.lower(),v) for k,v in eo2.info_dict.items()) - - so_infosections = set(info1.keys() + info2.keys()) - - info_dict = {} - info_dict['merge_freq'] = merge_freq - - for element in so_infosections: - - if (element in info1) and (element not in info2): - info_dict[element] = str(info1[element]) - continue - if (element in info2) and (element not in info1): - info_dict[element] = str(info2[element]) - continue - if info1[element] == info2[element]: - info_dict[element] = str(info2[element]) - continue - - if element in ['lat','long','lon','latitude','longitude', - 'elevation','elev','ele']: - try: - info_dict[element] = 0.5 * (float(info1[element]) + \ - float(info2[element])) - except: - raise MTex.MTpyError_edi_file('Cannot merge files: wrong'+\ - 'format of "{0}" coordinate'.format(element)) - continue - - if element == 'dataid': - info_dict[element] = info1[element]+'_merged_with_'+info2[element] - continue - - if 'date' in element: - dateformat1 = '%d/%m/%y' - dateformat2 = '%d.%m.%y' - dateformat3 = '%d.%m.%Y' - date1 = None - try: - date1 = calendar.timegm(time.strptime(info1[element], - dateformat1)) - date2 = calendar.timegm(time.strptime(info2[element], - dateformat1)) - except: - pass - try: - date1 = calendar.timegm(time.strptime(info1[element], - dateformat2)) - date2 = calendar.timegm(time.strptime(info2[element], - dateformat2)) - except: - pass - try: - date1 = calendar.timegm(time.strptime(info1[element], - dateformat3)) - date2 = calendar.timegm(time.strptime(info2[element], - dateformat3)) - except: - pass - if date1 is None: - raise MTex.MTpyError_edi_file('Cannot merge file, because'+\ - 'data format is not '+\ - 'understood: '+\ - '{0}={1}|{2}'.format(element, - info1[element], - info2[element])) - - - if element in ['acqdate']: - date = min(date1, date2 ) - - elif element in ['enddate']: - date = max(date1, date2 ) - - elif element in ['filedate']: - date = calendar.timegm(time.gmtime()) - - #arbitrarily choisen to take information from low freq file: - else: - date = date1 - - datetuple = time.gmtime(date) - print datetuple - info_dict[element] = '{0:02}/{1:02}/{2:2}'.format(datetuple[2], - datetuple[1], - datetuple[0]) - continue - - if element == 'station': - info_dict['station'] = info1[element] + '+' + info2[element] - - - eom.info_dict = info_dict - - eom.info_string = '\n\t=== File 1: ===\n'+eo1.info_string+\ - '\n\n\t=== File 2: ===\n'+eo2.info_string - - - #III) DEFINEMEAS - dmeas1 = dict((k.lower(),v) for k,v in eo1.definemeas.items()) - dmeas2 = dict((k.lower(),v) for k,v in eo2.definemeas.items()) - - so_dmeassections = set(dmeas1.keys() + dmeas2.keys()) - - dmeas_dict = {} - - for element in so_dmeassections: - - if element == 'refloc': - dmeas_dict[element] = '' - continue - - if (element in dmeas1) and (element not in dmeas2): - dmeas_dict[element] = str(dmeas1[element]) - continue - if (element in dmeas2) and (element not in dmeas1): - dmeas_dict[element] = str(dmeas2[element]) - continue - if dmeas1[element] == dmeas2[element]: - dmeas_dict[element] = str(dmeas2[element]) - continue - - if 'lat' in element or 'lon' in element or 'elev' in element: - try: - dmeas_dict[element] = 0.5 * (float(dmeas1[element]) +\ - float(dmeas2[element])) - except: - raise MTex.MTpyError_edi_file('Cannot merge files: wrong '+\ - 'format of "{0}" coordinate'.format(element)) - continue - - - - eom.definemeas = dmeas_dict - - #take hmeas/dmeas section directly from file 1: - - eom.hmeas_emeas = eo1.hmeas_emeas - - - - #IV) MTSECT - - msec1 = dict((k.lower(),v) for k,v in eo1.mtsect.items()) - msec2 = dict((k.lower(),v) for k,v in eo2.mtsect.items()) - - so_msecsections = set(msec1.keys() + msec2.keys()) - - msec_dict = {} - - for element in so_msecsections: - #completely unimportant, kept just for the sake of the format: - if element in ['ex','ey','hx','hy','hz','bx','by','bz']: - msec_dict[element] = msec1[element] - if element == 'nfreq': - msec_dict[element] = eom.n_freq() - if element == 'sectid': - if msec1[element] != msec2[element]: - msec_dict[element] = msec1[element]+'+'+msec2[element] - else: - msec_dict[element] = msec1[element]+'(A)'+'+'+msec2[element]+'(B)' - - - eom.mtsect = msec_dict - - - if out_fn is not None: - dirname = op.dirname(op.abspath(op.join('.',out_fn))) - fn = op.basename(op.abspath(op.join('.',out_fn))) - if not op.isdir(dirname): - try: - os.makedirs(dirname) - out_fn = op.join(dirname,fn) - except: - out_fn = None - else: - out_fn = op.join(dirname,fn) - out_fn = op.splitext(out_fn)[0]+'_merged'+op.splitext(out_fn)[1] - - else: - stationname = eom.info_dict.get('station',None) - if stationname is None: - stationname = eom.head.get('dataid',None) - if stationname is None: - stationname = 'unknown' - out_fn = op.join(op.abspath(os.curdir),stationname.upper()+'_merged.edi') - - - out_fn = eom.writefile(out_fn) - if out_fn is not None: - print '\tWritten merged EDI file {0}\n'.format(out_fn) - - - return eom, out_fn - - -def validate_edifile(fn): - """ - Validate an EDI file following MTpy standard. - - Return boolean result. - """ - - edi_object = Edi() - - try: - edi_object.readfile(fn) - return True - except: - return False - - -def rotate_edifile(fn, angle, out_fn = None): - """ - Rotate data contents (Z and Tipper) of an EDI file and write it to a - new EDI file. - (Use a script with consecutive renaming of the file for in place - rotation. MTpy does not overwrite.) - - Input: - - angle/list of angles for the rotation - - optional input: - - name of output EDI file - - Output: - - full path to the new (rotated) EDI file - """ - - ediobject = Edi() - - ediobject.readfile(fn) - - ediobject.rotate(angle) - - if out_fn is not None: - dirname = op.dirname(op.abspath(op.join('.',out_fn))) - fn = op.basename(op.abspath(op.join('.',out_fn))) - if not op.isdir(dirname): - try: - os.makedirs(dirname) - out_fn = op.join(dirname,fn) - except: - out_fn = None - else: - out_fn = op.join(dirname,fn) - - - ediobject.writefile(out_fn) - - - return out_fn - - - -def _generate_edifile_string(edidict,use_info_string=False): - """ - Generate a string to write out to an EDI file. - - Reading in information from an edi file dictionary. Using the standard - sections: - HEAD, INFO, DEFINEMEAS, HMEAS_EMEAS, MTSECT, ZROT, FREQ, Z, TIPPER - - Can be extended later on... - - """ - # define section heads explicitely instead of iteration over the dictionary - # for getting the correct order! - lo_sectionheads = ['HEAD', 'INFO', 'DEFINEMEAS', 'HMEAS_EMEAS', 'MTSECT', - 'ZROT', 'FREQ', 'Z', 'TIPPER'] - - edistring = '' - stationname = None - ZROTflag = 0 - - if len(edidict.keys()) == 0: - raise MTex.MTpyError_edi_file('Cannot generate string from empty'+\ - 'EDI dictionary. Fill dict or read in file first') - - - for sectionhead in lo_sectionheads: - - if sectionhead == 'HEAD': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "HEAD" missing!') - edistring += '>HEAD\n' - head_dict = edidict['HEAD'] - checkdate = 0 - - for k in sorted(head_dict.iterkeys()): - v = str(head_dict[k]) - #remove old time stamp of former EDI file: - if k.lower() == 'filedate': - continue - - if k.lower()=='dataid': - - stationname = v - - if k.lower() in ['lat','long']: - v = MTft.convert_degrees2dms_tuple(v) - edistring += '\t{0}={1}:{2}:{3:.2f}\n'.format(k.upper(), - int(v[0]),int(v[1]),v[2]) - continue - - if len(v) == 0: - edistring += '\t%s=""\n'%(k.upper()) - elif len(v.split()) > 1: - edistring += '\t%s="%s"\n'%(k.upper(),v) - else: - try: - v = v.upper() - except: - pass - edistring += '\t%s=%s\n'%(k.upper(),v) - - #update time stamp of the file: - todaystring = datetime.datetime.utcnow().strftime( - '%Y/%m/%d %H:%M:%S UTC') - - todaystring = '\tfiledate="%s"\n'%(todaystring) - edistring += todaystring.upper() - - - if sectionhead == 'INFO': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "INFO" missing!') - info_dict = edidict['INFO'] - info_dict = dict((k.lower(),v) for k,v in info_dict.items()) - - # if 'max lines' in info_dict: - # edistring += '>INFO MAX LINES={0}\n'.format( - # int(float(info_dict.pop('max lines')))) - # else: - edistring += '>INFO \n' - - #If an existing info string is to be written verbatim - #to not lose any original information (even if uunnecessary/wrong): - if use_info_string is True: - try: - edistring += edidict['info_string'] - except: - pass - edistring += '\n' - #otherwise use the standard way of writing dict contents: - else: - for k in sorted(info_dict.iterkeys()): - # if k.startswith('__'): - # continue - v = str(info_dict[k]) - #get station name (to be returned aside with the edistring, - # allowing for proper naming of output file) - if k == 'station': - v = v.upper().replace(' ','_') - stationname = v - if k.lower() == 'max lines': - continue - - if len(v) == 0 or len(v.split()) > 1: - edistring += '\t%s: "%s"\n'%(k,v) - else: - edistring += '\t%s: %s\n'%(k,v) - - - - if sectionhead == 'DEFINEMEAS': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "DEFINEMEAS" missing!') - defm_dict = edidict['DEFINEMEAS'] - defm_dict = dict((k.upper(),v) for k,v in defm_dict.items()) - - edistring += '>=DEFINEMEAS \n' - - for k in sorted(defm_dict.iterkeys()): - v = str(defm_dict[k]) - if k == 'REFLAT': - v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['lat']) - edistring += '\tREFLAT={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) - continue - if k == 'REFLONG': - v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['long']) - edistring += '\tREFLONG={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) - continue - if k == 'REFELEV': - edistring += '\tREFELEV={0:.1f}\n'.format(float(edidict['HEAD']['elev'])) - continue - - if len(v) == 0 or len(v.split()) > 1: - edistring += '\t%s=""\n'%(k) - else: - edistring += '\t%s=%s\n'%(k,v) - - if 'REFLAT' not in sorted(defm_dict.iterkeys()): - v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['lat']) - edistring += '\tREFLAT={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) - if 'REFLONG' not in sorted(defm_dict.iterkeys()): - v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['long']) - edistring += '\tREFLONG={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) - if 'REFELEV' not in sorted(defm_dict.iterkeys()): - edistring += '\tREFELEV={0:.1f}\n'.format(edidict['HEAD']['elev']) - - - if sectionhead == 'HMEAS_EMEAS': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'subsection "HMEAS_EMEAS" missing!') - lo_hemeas = edidict['HMEAS_EMEAS'] - - for hemeas in lo_hemeas: - edistring += ('>'+' '.join(hemeas.split())+'\n').upper() - - - if sectionhead == 'MTSECT': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "MTSECT" missing!') - mtsct_dict = edidict['MTSECT'] - mtsct_dict = dict((k.upper(),v) for k,v in mtsct_dict.items()) - - edistring += '>=MTSECT \n' - - for k in sorted(mtsct_dict.iterkeys()): - v = str(mtsct_dict[k]) - if len(v) == 0 or len(v.split()) > 1: - edistring += '\t%s=""\n'%(k) - else: - edistring += '\t%s=%s\n'%(k,v) - - - if sectionhead == 'FREQ': - if not sectionhead in edidict: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "FREQ" missing!') - lo_freqs = edidict['FREQ'] - - #edistring += '>!****FREQUENCIES****!\n' - edistring+= '>FREQ // {0}\n'.format(len(lo_freqs)) - - for i,freq in enumerate(lo_freqs): - edistring += '\t%E'%(freq) - if (i+1)%5 == 0 and (i != len(lo_freqs) - 1) and i > 0: - edistring += '\n' - - if sectionhead == 'ZROT': - - try: - lo_rots = edidict['ZROT'] - except: - continue - - #edistring += '>!****IMPEDANCE ROTATION ANGLES****!\n' - edistring+= '>ZROT // {0}\n'.format(len(lo_rots)) - - for i,angle in enumerate(lo_rots): - edistring += '\t%E'%(angle) - if (i+1)%5 == 0 and (i != len(lo_rots) - 1) and i > 0: - edistring += '\n' - - ZROTflag = 1 - - if sectionhead == 'Z': - - compstrings = ['ZXX','ZXY','ZYX','ZYY'] - Z_entries = ['R','I','.VAR'] - - try: - z_dict = edidict['Z'] - except: - raise MTex.MTpyError_edi_file('Cannot write file - required'+\ - 'section "Z" missing!') - - #edistring += '>!****IMPEDANCES****!\n' - for idx_comp,comp in enumerate(compstrings): - for idx_zentry,zentry in enumerate(Z_entries): - section = comp + zentry - if not section in z_dict: - raise MTex.MTpyError_edi_file('Cannot write file - '+\ - 'required subsection "{0}" missing!'.format(section)) - lo_vals = z_dict[section] - #convert stddev into VAR: - if zentry.lower()=='.var': - lo_vals = [i**2 for i in lo_vals] - - if ZROTflag == 1: - edistring += '>{0} ROT=ZROT // {1}\n'.format(section, - len(lo_freqs)) - else: - edistring += '>{0} // {1}\n'.format(section, - len(lo_freqs)) - - for i,val in enumerate(lo_vals): - edistring += '\t%E'%(float(val)) - if (i+1)%5 == 0 and (i != len(lo_vals) - 1) and i > 0: - edistring += '\n' - edistring += '\n' - - - if sectionhead == 'TIPPER' and (edidict.has_key('TIPPER')): - - compstrings = ['TX','TY'] - T_entries = ['R','I','VAR'] - Tout_entries = ['R.EXP','I.EXP','VAR.EXP'] - - try: - t_dict = edidict['TIPPER'] - if t_dict == None: - continue - except: - continue - - #edistring += '>!****TIPPER PARAMETERS****!\n' - for idx_comp,comp in enumerate(compstrings): - for idx_tentry,tentry in enumerate(T_entries): - section = comp + tentry - outsection = comp + Tout_entries[idx_tentry] - if not section in t_dict: - raise MTex.MTpyError_edi_file('Cannot write file -'+\ - 'required subsection "{0}" missing!'.format(section)) - lo_vals = t_dict[section] - #convert stddev into VAR: - if tentry.lower()=='var': - lo_vals = [i**2 for i in lo_vals] - - if ZROTflag == 1: - edistring += '>{0} ROT=ZROT // {1}\n'.format(outsection, - len(lo_freqs)) - else: - edistring += '>{0} // {1}\n'.format(outsection, - len(lo_freqs)) - - for i,val in enumerate(lo_vals): - edistring += '\t%E'%(float(val)) - if (i+1)%5 == 0 and (i != len(lo_vals) - 1) and i > 0: - edistring += '\n' - - edistring += '\n' - - - - edistring += '\n' - - - edistring += '>END\n' - - - return edistring.expandtabs(4), stationname - - - -def _cut_sectionstring(edistring,sectionhead): - """ - Cut an edi-string for the specified section. - - Input: - - name of the section - - Output: - - string : part of the raw edi-string containing starting at the head - of the section and ends at beginnig of the next section. - """ - - #in this case, several blocks have to be handled together, therefore, a - #simple cut to the next block start does not work: - if sectionhead.upper() == 'HMEAS_EMEAS': - - lo_start_idxs = [m.start() for m in re.finditer('>[HE]MEAS',edistring)] - if len(lo_start_idxs) == 0 : - raise - - start_idx = lo_start_idxs[0] - - end_idx = edistring[(lo_start_idxs[-1]+1):].upper().find('>') +\ - lo_start_idxs[-1] - - hmeas_emeas_string = edistring[start_idx:end_idx] - - if len(hmeas_emeas_string) == 0: - raise - - return hmeas_emeas_string - - - - start_idx = edistring.upper().find('>'+sectionhead.upper()) - if start_idx == -1: - start_idx = edistring.upper().find('>='+sectionhead.upper()) - if start_idx == -1: - raise - #correct for the = character - start_idx += 1 - #start cut behind the section keyword - start_idx += (1+len(sectionhead)) - - next_block_start = edistring.upper().find('>', start_idx + 1) - - - cutstring = edistring[start_idx:next_block_start] - - if len(cutstring) == 0 : - raise - - - return cutstring - - -def _validate_edifile_string(edistring): - """ - Read the file as string and check, if blocks 'HEAD, =DEFINEMEAS, - =MTSECT, FREQ, (Z,) END' are present. If 'Z' is missing, check for - 'spectra' or 'rho'/'phs'! - - Within the blocks look for mandatory entries: - HEAD: 'DATAID' - DEFINEMEAS: subblocks 'HMEAS, EMEAS' - ('REFLAT, REFLONG, REFELEV' have to be present for - measured data though) - MTSECT: 'NFREQ' - FREQ: non empty list - - Z: at least one component xx, yy, xy, yx ; real, imag and var ; - containing a non-empty list - Otherwise check for presence of 'RHO'/'PHS' OR 'spectra' - - - """ - isvalid = False - found = 1 - - #adding 1 to position of find to correct for possible occurrence at - #position 0 ) - found *= np.sign(edistring.upper().find('>HEAD') + 1 ) - if found == 0: - print 'Could not find >HEAD block' - found *= np.sign(edistring.upper().find('DATAID') + 1 ) - if found == 0: - print 'Could not find DATAID block' - found *= np.sign(edistring.upper().find('>HMEAS') + 1 ) - if found == 0: - print 'Could not find >HMEAS block' - found *= np.sign(edistring.upper().find('>EMEAS') + 1 ) - if found == 0: - print 'Could not find >EMEAS block' - found *= np.sign(edistring.upper().find('NFREQ') + 1 ) - if found == 0: - print 'Could not find NFREQ block' - found *= np.sign(edistring.upper().find('>END') + 1 ) - if found == 0: - print 'Could not find END block' - found *= np.sign(edistring.upper().find('>=DEFINEMEAS') + 1 ) - if found == 0: - print 'Could not find >=DEFINEMEAS block' - #allow spectral information as alternative: - if np.sign(edistring.upper().find('>FREQ') + 1 ) == 0: - if np.sign(edistring.upper().find('>SPECTRA') + 1 ) == 0 : - found *= 0 - if np.sign(edistring.upper().find('>=MTSECT') + 1 ) == 0: - if np.sign(edistring.upper().find('>=SPECTRASECT') + 1 ) == 0: - found *= 0 - - - if found < 1 : - print 'Could not find all mandatory sections for a valid EDI file!\n'+\ - '(Most basic version must contain: "HEAD, =DEFINEMEAS, =MTSECT'+\ - 'or =SPECTRASECT, FREQ or SPECTRA, (Z,) END") ' - return False - - #checking for non empty freq list: - freq_start_idx = edistring.upper().find('>FREQ') - next_block_start = edistring.upper().find('>',freq_start_idx + 1) - string_dummy_2 = edistring[freq_start_idx:next_block_start] - lo_string_dummy_2 = string_dummy_2.strip().split() - #check, if there are actually one/some valid numbers: - n_numbers = 0 - for i in lo_string_dummy_2: - try: - n = float(i) - n_numbers +=1 - except: - continue - - if n_numbers == 0: - print MTex.MTpyError_edi_file('Problem in FREQ block: no frequencies '+\ - 'found...checking for spectra instead') - #found *= 0 - #Check for data entry following priority: - # 1. Z - z_found = 0 - rhophi_found = 0 - spectra_found = 0 - - compstrings = ['ZXX','ZXY','ZYX','ZYY'] - Z_entries = ['R','I','.VAR'] - - for comp in compstrings: - n_entries = 0 - - for zentry in Z_entries: - searchstring = '>'+comp+zentry - z_comp_start_idx = edistring.upper().find(searchstring) - if z_comp_start_idx < 0: - continue - #found *= np.sign(z_comp_start_idx + 1 ) - #checking for non empty value list: - next_block_start = edistring.upper().find('>',z_comp_start_idx+1) - string_dummy_1 = edistring[z_comp_start_idx:next_block_start] - lo_string_dummy_1 = string_dummy_1.strip().split() - n_numbers = 0 - for i in lo_string_dummy_1: - try: - n = float(i) - n_numbers +=1 - except: - continue - - if n_numbers == 0: - print MTex.MTpyError_edi_file('Error in {0}'.format(comp+\ - zentry)+\ - 'block: no values found') - continue - - if zentry in ['R','I']: - n_entries += 1 - if n_entries > 1: - z_found += 1 - - - # If no Z entry is found continue searching for RhoPhase information - # 2. RHO,PHS - if z_found == 0: - - rhophistrings = ['RHO','PHS'] - compstrings = ['XX','XY','YX','YY'] - - for comp in compstrings: - n_entries = 0 - for rp in rhophistrings: - sectionhead = rp + comp - try: - temp_string = _cut_sectionstring(edistring,sectionhead) - lo_vals = [] - t0 = temp_string.strip().split('\n')[0] - n_dummy = int(float(t0.split('//')[1].strip())) - t1 = temp_string.strip().split('\n')[1:] - for j in t1: - lo_j = j.strip().split() - for k in lo_j: - try: - lo_vals.append(float(k)) - except: - pass - if len(lo_vals) == 0: - raise - except: - continue - - n_entries += 1 - if n_entries > 1 : - rhophi_found += 1 - - # If neither Z nor RHO/PHS entries are found continue searching for - #spectra information - # 3. spectra - if z_found == 0 and rhophi_found == 0: - - spectrasect = _cut_sectionstring(edistring, '=SPECTRASECT') - if len(spectrasect) == 0 : - found *=0 - dummy4 = spectrasect.upper().find('NCHAN') - n_chan = int(float( - spectrasect[dummy4:].strip().split('=')[1].split()[0])) - - if n_chan not in [4,5,6,7]: - found *= 0 - - dummy5 = spectrasect.upper().find('NFREQ') - n_freq = int(float( - spectrasect[dummy5:].strip().split('=')[1].split()[0])) - - firstspectrum = _cut_sectionstring(edistring, 'SPECTRA') - if len(firstspectrum) == 0 : - found *=0 - - no_values = int(float( - firstspectrum.split('\n')[0].strip().split('//')[1])) - - if firstspectrum.upper().find('FREQ') <0 : - found *= 0 - - if not n_chan**2 == no_values: - found *= 0 - - lo_valuelines = firstspectrum.split('\n')[1:] - dummy6 = '' - for i in lo_valuelines: - dummy6 += (' '+i) - - if not len(dummy6.split()) == no_values: - found *= 0 - - - if not edistring.upper().count('>SPECTRA') == n_freq: - found *= 0 - if found > 0: - print 'Found spectra data !!' - spectra_found = 1 - - if z_found == 0 and rhophi_found == 0 and spectra_found == 0 : - print 'ERROR - no data found in terms of "Z" or "RHO/PHS" or '+\ - '"SPECTRA" - reading of multiple stations is not supported (yet)!' - found *= 0 - - if found > 0: isvalid = True - - return isvalid - - - -def _build_id_channel_dict(lo_hmeas_emeas): - """ - build a dictionary for emeas and hmeas - """ - - id_dict = {} - - for line in lo_hmeas_emeas: - line = line.split() - if len(''.join(line).strip()) == 0: - continue - - channel = _find_key_value('CHTYPE','=',' '.join(line),valuelength=2) - ID = _find_key_value('ID','=',' '.join(line)) - id_dict[ID] = channel - - return id_dict - -def _find_key_value(key, separator, instring, valuelength=None): - """ - find a key value in a given string - """ - - line = instring.strip().split() - value = None - #loop over list/line elements - for idx, element in enumerate(line): - #if keyword is not found in entry: - if element.upper().find(key.upper()) < 0: - continue - #else check, if the separator is present in the same element (equiv. - #to no spacing) - if element.upper().find(separator) >= 0: - - #, if the splitting worked out - if len(element.split(separator)) == 2 : - #if all fine until now, read in the part after the separator - #as value - value = element.split(separator)[1].upper() - - #if the separator was at the end of the element, read the next - #element as value - if len(element.split(separator)[1]) == 0 : - value = line[idx+1] - - #else, the separator is in the next element - else: - #check, if the next line is entirely defined by separator -> - #value must be one later - if line[idx+1] == separator: - value = line[idx+2] - #else, cut off the separator from the value - else: - value = line[idx+1].split(separator)[1] - #check for correct length of value, if specified - if valuelength is not None: - if len(value) != valuelength : - continue - - return value - - - -def spectra2z(data, avgt=None, channellist=None): - """ - Convert data from spectral form into Z - for one fixed freq. - - Input: - spectral data array, real-valued, n x n sized - degrees of freedom, equiv. to 'AVGT' (number of averaged time windows) - - Output: - Z array, complex valued, 2x2 sized - (Tipper array, complex valued, 2 x 1 sized) <- if HZ is present - - note: if n>5, remote reference is assumed, so the last 2 channels - are interpreted as 'HX/HY-remote' - otherwise, self-referencing is applied - """ - - z_array = np.zeros((2,2), 'complex') - zerr_array = np.zeros((2,2),'float') - - S = np.zeros(data.shape, 'complex') - tipper_array = None - tippererr_array = None - - #in case the components are in a crazy order - comps = ['HX', 'HY', 'HZ', 'EX', 'EY'] - idx = [] - for c in comps: - if c not in channellist: - idx.append(None) - continue - - idx.append(channellist.index(c)) - - #if remote ref. is applied, take the last two columns as rem ref for HX, - #Hy - if data.shape[0] in [6,7]: - idx.append(data.shape[0]-2) - idx.append(data.shape[0]-1) - elif data.shape[0] < 6 : - idx.append(0) - idx.append(1) - - - #idx contains the indices/positions of the components within the data - #matrix. The entries are in the order - # HX, HY, HZ, EX, EY, HXrem, HYrem - # if HY is not present, the list entry is a NONE - - #build upper right triangular matrix with compex valued entries - for i in range(data.shape[0]): - for j in range(i,data.shape[0]): - if i == j : - S[i,j] = ( data[i,j]) - else: - #minus sign for complex conjugation - # original spectra data are of form , but we need - # the order ... - # this is achieved by complex conjugation of the original entries - S[i,j] = np.complex( data[j,i] , -data[i,j] ) - #keep complex conjugated entries in the lower triangular matrix: - S[j,i] = np.complex( data[j,i] , +data[i,j] ) - - - - #use formulas from Bahr/Simpson to convert the Spectra into Z entries - # the entries of S are sorted like - # - # - # ..... - - # note: the sorting can be influenced by wrong order of indices - - # the list 'idx' takes care of that - - Zdet = ( S[idx[0],idx[5]] * S[idx[1],idx[6]] - S[idx[0],idx[6]] *\ - S[idx[1],idx[5]] ) - - z_array[0,0] = S[idx[3],idx[5]] * S[idx[1],idx[6]] - S[idx[3],idx[6]] *\ - S[idx[1],idx[5]] - z_array[0,1] = S[idx[3],idx[6]] * S[idx[0],idx[5]] - S[idx[3],idx[5]] *\ - S[idx[0],idx[6]] - z_array[1,0] = S[idx[4],idx[5]] * S[idx[1],idx[6]] - S[idx[4],idx[6]] *\ - S[idx[1],idx[5]] - z_array[1,1] = S[idx[4],idx[6]] * S[idx[0],idx[5]] - S[idx[4],idx[5]] *\ - S[idx[0],idx[6]] - - z_array /= Zdet - - - #if HZ information is present: - if data.shape[0] %2 != 0: - tipper_array = np.zeros((1,2),dtype=np.complex) - tipper_array[0,0] = S[idx[2],idx[5]] * S[idx[1],idx[6]] - \ - S[idx[2],idx[6]] * S[idx[1],idx[5]] - tipper_array[0,1] = S[idx[2],idx[6]] * S[idx[0],idx[5]] - \ - S[idx[2],idx[5]] * S[idx[0],idx[6]] - - tipper_array /= Zdet - - if avgt is None: - print 'Information on uncertainties (AVGT value) missing -- cannot calculate errors' - return z_array, tipper_array, None, None - - if avgt <= 4: - print 'Warning -- Information on uncertainties insufficient (AVGT <= 4)' - return z_array, tipper_array, None, None - - - #calculate error using formulas in Bahr&Simpson, Appendix 4. - # BUT: using 68% quantil to be consistent with general error bars, which - # are usually rather 1 sigma of a normal distribution - - # BUT: needs scipy.stats.distributions providing the Fisher distribution - try: - import scipy.stats.distributions as ssd - except: - print 'module "scipy.stats.distributions" not found -- cannot calculate errors' - return z_array, tipper_array, None, None - - - zerr_array,tippererr_array = _spectraerr2zerr(S,idx,z_array,tipper_array,avgt,ssd) - - del ssd - - return z_array, tipper_array, zerr_array, tippererr_array - - -def _spectraerr2zerr(S,idx,Z,Tipper,avgt,ssd): - """calculating spectral error for one frequency - - input: NxN complex valued matrix. Important entries containing remote reference - information are in the last two columns. - - Errors do only depend on the station - no remote reference used here! - - output: - 2-tuple: [2,2] array with errors for Z , [1,2] array with errors for tipper - - """ - zerr_array = np.zeros((2,2)) - - - Zdet = np.real (S[idx[0],idx[0]] * S[idx[1],idx[1]] - np.abs(S[idx[0],idx[1]])**2) - #split up into three steps: first for Ex component, second for Ey, and then Tipper - - # 68% Quantil of the Fisher distribution: - sigma_quantil = ssd.f.ppf(0.68,4,avgt-4) - - #1) Ex - a = S[idx[3],idx[0]] * S[idx[1],idx[1]] - S[idx[3],idx[1]] * S[idx[1],idx[0]] - b = S[idx[3],idx[1]] * S[idx[0],idx[0]] - S[idx[3],idx[0]] * S[idx[0],idx[1]] - a /= Zdet - b /= Zdet - - psi_squared = np.real(1./np.real(S[idx[3],idx[3]]) * (a*S[idx[0],idx[3]]+b*S[idx[1],idx[3]])) - epsilon_squared = 1.-psi_squared - - scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[3],idx[3]]) - zerr_array[0,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) - zerr_array[0,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) - - - #2) Ey - a = S[idx[4],idx[0]] * S[idx[1],idx[1]] - S[idx[4],idx[1]] * S[idx[1],idx[0]] - b = S[idx[4],idx[1]] * S[idx[0],idx[0]] - S[idx[4],idx[0]] * S[idx[0],idx[1]] - a /= Zdet - b /= Zdet - - psi_squared = np.real(1./np.real(S[idx[4],idx[4]]) * (a*S[idx[0],idx[4]]+b*S[idx[1],idx[4]])) - epsilon_squared = 1.-psi_squared - - scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[4],idx[4]]) - zerr_array[1,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) - zerr_array[1,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) - - tippererr_array = None - - if Tipper is not None: - tippererr_array = np.zeros((1,2)) - #3) Tipper - a = S[idx[2],idx[0]] * S[idx[1],idx[1]] - S[idx[2],idx[1]] * S[idx[1],idx[0]] - b = S[idx[2],idx[1]] * S[idx[0],idx[0]] - S[idx[2],idx[0]] * S[idx[0],idx[1]] - a /= Zdet - b /= Zdet - - psi_squared = np.real(1./np.real(S[idx[2],idx[2]]) * (a* S[idx[0],idx[2]] + b *S[idx[1],idx[2]])) - epsilon_squared = 1.-psi_squared - scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[2],idx[2]]) - - tippererr_array[0,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) - tippererr_array[0,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) - - - return zerr_array, tippererr_array - - -def _make_z_dict(Z_object): - """ - make a z dictionary from a z-object - """ - - z_dict = {} - if Z_object.z is None: - return None - - compstrings = ['ZXX','ZXY','ZYX','ZYY'] - Z_entries = ['R','I','.VAR'] - for idx_comp,comp in enumerate(compstrings): - for idx_zentry,zentry in enumerate(Z_entries): - section = comp + zentry - - if idx_zentry < 2: - data = Z_object.z[:,idx_comp/2, idx_comp%2] - if idx_zentry == 0 : - data = np.real(data) - else: - data = np.imag(data) - else: - data = Z_object.zerr[:,idx_comp/2, idx_comp%2] - - z_dict[section] = data - - - return z_dict - - -def _make_tipper_dict(Tipper_object): - """ - make a dictionary from tipper object. - """ - - if Tipper_object.tipper is None: - return None - - tipper_dict = {} - compstrings = ['TX','TY'] - T_entries = ['R','I','VAR'] - for idx_comp,comp in enumerate(compstrings): - for idx_tentry,tentry in enumerate(T_entries): - section = comp + tentry - - if idx_tentry < 2: - data = Tipper_object.tipper[:,idx_comp/2, idx_comp%2] - if idx_tentry == 0 : - data = np.real(data) - else: - data = np.imag(data) - else: - data = Tipper_object.tippererr[:,idx_comp/2, idx_comp%2] - - tipper_dict[section] = data - - - return tipper_dict \ No newline at end of file + return line_list + \ No newline at end of file diff --git a/mtpy/core/edi_old.py b/mtpy/core/edi_old.py new file mode 100644 index 00000000..0de4c337 --- /dev/null +++ b/mtpy/core/edi_old.py @@ -0,0 +1,3050 @@ +#!/usr/bin/env python + +""" +============= +edi module +============= + +Classes +-------- + * **Edi** reads and writes .edi files + +Functions +---------- + + - read_edifile + - write_edifile + - combine_edifiles + - validate_edifile + - rotate_edifile + - _generate_edifile_string + - _cut_sectionstring + - _validate_edifile_string + + +LK, JP 2013 + +""" + +#================================================================= +import numpy as np +import os,sys +import os.path as op +import time, calendar, datetime +import copy +#required for finding HMEAS and EMEAS at once: +import re + + +import mtpy.utils.format as MTft +import mtpy.utils.calculator as MTcc +import mtpy.utils.exceptions as MTex +import mtpy.utils.filehandling as MTfh +import mtpy.core.z as MTz + +#for interactive debugging: +reload(MTex) +reload(MTft) +reload(MTcc) +reload(MTz) + +# try: +# import ipdb +# except: +# pass + + +#================================================================= + +class Edi(object): + """ + Edi class - generates an edi-object. + + Methods include reading and writing from and to edi-files, + rotations/combinations of edi-files, as well as 'get' and + 'set' for all edi file sections + + Errors are given as standard deviations (sqrt(VAR)) + + **Agruments:** + + **filename** : string + full path to file name + + ====================== ==================================================== + **Attributes** Description + ====================== ==================================================== + period periods extracted from edi file + data_dict dictionary of data information + definemeas definemeas block + edi_dict dictionary of edi blocks + elev elevation of station + filename name of edi file + freq frequencies extracted from edi file + head header information + hmeas_emeas hmeas and emeas block + infile_string full string of edi file + info_dict ditionary of information block + info_string full string of information block + lat latitude in decimal degrees + lon longitude in decimal degrees + mtsect mtsect block + n_freq number of frequencies + Tipper mtpy.core.z.Tipper object + zrot rotation angle in degrees + Z mtpy.core.z.Z object + ====================== ==================================================== + + ====================== ==================================================== + **Methods** Description + ====================== ==================================================== + readfile read edi file + rotate rotate Z and Tipper + writefile write edi file + ====================== ==================================================== + + :Example: :: + + >>> import mtpy.core.edi as mtedi + >>> e1 = mtedi.Edi(r"/home/MT/mt01.edi") + >>> e1.rotate(30) + >>> e1.writefile(r"/home/MT/Rotated/mt01.edi") + + + """ + + def __init__(self, filename=None, datatype = 'z'): + + """ + Initialise an instance of the Edi class. + + Initialise the attributes with None/empty dictionary + + **Agruments:** + + **filename** : string + full path to file name + """ + + self.filename = filename + self.infile_string = None + self._head = {'lat':None,'long':None,'elev':None} + self._info_string = None + self._info_dict = {} + self._definemeas = {} + self._hmeas_emeas = None + self._mtsect = {} + self._freq = None + self._zrot = None + self.Z = MTz.Z() + self.Tipper = MTz.Tipper() + self._station = None + self._lat = None + self._lon = None + self._elev = None + + + if filename is not None: + self.readfile(self.filename, datatype = datatype) + + def readfile(self, fn, datatype = 'z'): + """ + Read in an EDI file. + + Returns an exception, if the file is invalid + (following MTpy standards). + + **Agruments:** + + **fn** : string + full path to .edi file name + + **daytatype** : | 'z' | 'resphase' | 'spectra' | + * 'z' for impedance data *default* + * 'resphase' for resistivity and phase data + * 'spectra' for spectra data + + """ + + self.__init__() + + + print ' ...nulled all attributes of current MTedi.Edi instance.' + print 'reading in Edi file: {0}'.format(fn) + print datatype + infile = op.abspath(fn) + + + try: + datatype = datatype.lower() + if not datatype in ['z' , 'resphase', 'spectra']: + raise + except: + raise MTex.MTpyError_edi_file('ERROR - datatype not understood') + + #check for existence + if not op.isfile(infile): + raise MTex.MTpyError_edi_file('File is not existing: %s'%infile) + + with open(infile,'r') as F: + edistring = F.read() + + #validate edi file string following MTpy standard + if not _validate_edifile_string(edistring): + raise MTex.MTpyError_edi_file('%s is no proper EDI file'%infile) + + self.filename = infile + self.infile_string = edistring + + #read out the mandatory EDI file sections from the raw string + try: + self._read_head(edistring) + except: + raise MTex.MTpyError_edi_file( + 'Could not read HEAD section: %s'%infile) + + try: + self._read_info(edistring) + except: + print 'Could not read INFO section: {0}'.format(infile) + + + try: + self._read_definemeas(edistring) + except: + raise MTex.MTpyError_edi_file( + 'Could not read DEFINEMEAS section: %s'%infile) + + try: + self._read_hmeas_emeas(edistring) + except: + print 'Could not read HMEAS/EMEAS sub-section: %s'%infile + + try: + self._read_mtsect(edistring) + except: + print 'Could not read MTSECT section: %s'%infile + + try: + self._read_freq(edistring) + except: + print 'Could not read FREQ section: %s'%infile + + if datatype == 'z': + try: + self._read_z(edistring) + except: + raise MTex.MTpyError_edi_file( + 'Could not read Z section: %s -- check datatype!'%infile) + + elif datatype == 'resphase': + try: + self._read_res_phase(edistring) + except: + raise MTex.MTpyError_edi_file( + 'Could not read ResPhase-/Rho-section -- check datatype!: %s'%infile) + #rotation is optional + try: + self._read_rhorot(edistring) + except: + self.zrot = None #list(np.zeros((self.n_freq()))) + print 'Could not read Rhorot section: %s'%infile + + elif datatype == 'spectra': + try: + self._read_spectra(edistring) + except: + raise MTex.MTpyError_edi_file( + 'Could not read Spectra section: %s'%infile) + + + #Tipper is optional + if self.Tipper.tipper is None: + try: + self._read_tipper(edistring) + except: + self.Tipper = MTz.Tipper() + #self.tippererr = None + print 'Could not read Tipper section: %s'%infile + + #rotation is optional + if self._zrot is None: + try: + self._read_zrot(edistring) + except: + self.zrot = np.zeros((len(self.Z.z))) + print 'Could not read Zrot section: %s'%infile + + + def edi_dict(self): + """ + Collect sections of the EDI file and return them as a dictionary. + + """ + + edi_dict = {} + + edi_dict['HEAD'] = self.head + edi_dict['INFO'] = self.info_dict + edi_dict['info_string'] = self.info_string + edi_dict['DEFINEMEAS'] = self.definemeas + edi_dict['HMEAS_EMEAS'] = self.hmeas_emeas + edi_dict['MTSECT'] = self.mtsect + edi_dict['FREQ'] = self.freq + edi_dict['Z'] = _make_z_dict(self.Z) + if self.Tipper.tipper is not None: + edi_dict['TIPPER'] = _make_tipper_dict(self.Tipper) + edi_dict['ZROT'] = self.zrot + + + return edi_dict + + + def data_dict(self): + """ + Return collected raw data information in one dictionary: + Z, Tipper, Zrot, freq + + """ + data_dict = {} + + data_dict['z'] = self.Z.z + data_dict['zerr'] = self.Z.zerr + data_dict['tipper'] = self.Tipper.tipper + data_dict['tippererr'] = self.Tipper.tippererr + data_dict['zrot'] = self.zrot + data_dict['freq'] = self.freq + + return data_dict + + #----------------Periods---------------------------------------------- + def _get_period(self): + """ + Return an array of periods (output values in seconds). + """ + + try: + return 1./np.array(self.freq) + except: + return None + + def _set_period(self, period_lst): + """ + Set freq by a list of periods (values in seconds). + """ + if len(period_lst) is not len(self.Z.z): + print 'length of periods list not correct'+\ + '({0} instead of {1})'.format(len(period_lst), + len(self.Z.z)) + return + self.freq = 1./np.array(period_lst) + + period = property(_get_period, _set_period, + doc='List of periods (values in seconds)') + + #----------------number of freq------------------------------------- + def n_freq(self): + """ + Return the number of freq/length of the Z data array . + """ + if self.freq is not None: + return len(self.freq) + else: + return None + + #----------------elevation---------------------------------------------- + def _get_elev(self): + """ + get elevation from either header or definmeas + + """ + try: + return self.head['elev'] + except KeyError: + try: + return self.definemeas['refelev'] + except KeyError: + print 'Could not find elevation value' + + def _set_elev(self, value): + + no_key = True + try: + self.head['elev'] = MTft._assert_position_format('elev',value) + no_key = False + except : + pass + try: + self.definemeas['refelev'] = \ + MTft._assert_position_format('elev',value) + no_key = False + except : + pass + + if no_key is True: + print 'Invalid elevation value' + + elev = property(_get_elev, _set_elev, doc='Location elevation in meters') + + #----------------latitude---------------------------------------------- + def _get_lat(self): + """ + get latitude looking for keywords 'lat' in head or 'reflat' in definemeas + + """ +# try: + return self.head['lat'] + # except KeyError: + # try: + # return self.definemeas['reflat'] + # except KeyError: + # print 'Could not find Latitude' + + def _set_lat(self, value): + """ + set latitude value in head and defmeas - converts to decimal degrees + """ + + no_key = True + try: + self.head['lat'] = MTft._assert_position_format('lat',value) + no_key = False + except: + pass + try: + self.definemeas['reflat'] = \ + MTft._assert_position_format('lat',value) + no_key = False + except: + pass + if no_key is True: + print 'Invalid latitude value' + + lat = property(_get_lat, _set_lat, doc='Location latitude in degrees') + + #----------------longitude---------------------------------------------- + def _get_lon(self): + """ + get longitude looking for keywords 'long' in head or 'reflong' in + definemeas + """ + try: + return self.head['long'] + except KeyError: + try: + return self.definemeas['reflong'] + except KeyError: + print 'Could not find Longitude' + + def _set_lon(self, value): + """ + set longitude value in head and defmeas - converts to decimal degrees + """ + + no_key = True + + try: + self.head['long'] = MTft._assert_position_format('lon',value) + no_key = False + except: + pass + try: + self.definemeas['reflong'] = \ + MTft._assert_position_format('lon',value) + no_key = False + except: + pass + + if no_key is True: + + print 'Invalid longitude value' + + + + lon = property(_get_lon, _set_lon, doc='Location longitude in degrees') + + #--------------Read Header---------------------------------------------- + def _read_head(self, edistring): + """ + Read in the HEAD section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'HEAD') + except: + raise + + head_dict = {} + t1 = temp_string.strip().split('\n') + t2 = [i.strip() for i in t1 if '=' in i] + for j in t2: + k = j.split('=') + key = str(k[0]).lower().strip() + value = k[1].replace('"','') + if key == 'dataid': + value = value.replace(' ','_') + if key in ['lat','long','lon','latitude','longitude','ele','elev', + 'elevation']: + value = MTft._assert_position_format(key,value) + + if key in ['ele','elev','elevation']: + key = 'elev' + if key in ['lat','latitude']: + key = 'lat' + if key in ['long','lon','longitude']: + key = 'long' + #bring longitude to standard interval: + if 180 < value <= 360: + value -= 360 + + head_dict[key] = value + + if not head_dict.has_key('elev'): + head_dict['elev'] = 0. + + try: + self.station = head_dict['dataid'].replace(' ','_') + except KeyError: + print 'Did not find station name under dataid in HEAD' + + self._head = head_dict + + + #--------------Read Info---------------------------------------------- + def _read_info(self, edistring): + """ + Read in the INFO section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'INFO') + except: + raise + + self._info_string = temp_string.strip() + + + t1 = temp_string.strip().split('\n') + t2 = [i.strip() for i in t1 if '=' in i or ':' in i] + + info_dict = {} + + for tmp_str in t2: + #fill dictionary + #ignore lines with no information after '='' or ':' + + if '=' in tmp_str: + t3 = tmp_str.split('=') + key = str(t3[0]).lower().strip() + value = t3[1].replace('"','').strip() + if not len(value) == 0: + info_dict[key] = value + + elif ':' in tmp_str: + #consider potential ':' characters in coordinates! + t3 = tmp_str.split(':') + key = str(t3[0]).lower().strip() + value = t3[1:] + value = [i.strip().replace('"','').strip() for i in value] + if len(value) > 1: + value = ':'.join(value) + else: + value = value[0] + + if not len(value) == 0: + info_dict[key] = value + + if 'station' not in info_dict: + station = self.head['dataid'] + if len(station) == 0: + station = op.splitext(op.basename(self.filename))[0] + info_dict['station'] = station + + info_dict['Z_unit'] = 'km/s' + + self._info_dict = info_dict + + #--------------Read Definemeas-------------------------------------------- + def _read_definemeas(self, edistring): + """ + Read in the DEFINEMEAS section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'DEFINEMEAS') + except: + raise + + d_dict = {} + + t1 = temp_string.strip().split('\n') + + for tmp_str in t1: + if '=' in tmp_str: + k = tmp_str.strip().split('=') + key = k[0].lower() + value = k[1].replace('"','').strip() + if len(value) != 0: + if 'lat' in key: + value = MTft._assert_position_format('lat',value) + if 'lon' in key: + value = MTft._assert_position_format('lon',value) + + + d_dict[key] = value + + if len(d_dict.keys()) == 0: + raise + + + self._definemeas = d_dict + + #--------------Read h and e measure--------------------------------------- + def _read_hmeas_emeas(self, edistring): + """ + Read in the HMEAS/EMEAS section from the raw edi-string. + """ + try: + temp_string = _cut_sectionstring(edistring,'HMEAS_EMEAS') + except: + raise + + t1 = temp_string.strip().split('\n') + lo_hmeas_emeas = [] + for j in t1: + j = j.replace('>','') + lo_j = j.split() + hemeas_line = ' '.join(lo_j) + #skip empty lines + if len(lo_j) == 0 : + continue + + lo_hmeas_emeas.append(hemeas_line) + + self._hmeas_emeas = lo_hmeas_emeas + + + #--------------Read mt sect-------------------------------------------- + def _read_mtsect(self, edistring): + """ + Read in the MTSECT section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'MTSECT') + except: + raise + m_dict = {} + + t1 = temp_string.strip().split('\n') + + for tmp_str in t1: + if '=' in tmp_str: + k = tmp_str.strip().split('=') + key = k[0].lower() + value = k[1].replace('"','').strip() + if len(value) != 0: + m_dict[key] = value + + if len(m_dict.keys()) == 0: + raise + + + self._mtsect = m_dict + + #--------------Read freq-------------------------------------------- + def _read_freq(self, edistring): + """ + Read in the FREQ section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'FREQ') + except: + raise + + lo_freqs = [] + + t1 = temp_string.strip().split('\n')[1:] + + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_freqs.append(float(k)) + except: + pass + + self._freq = np.array(lo_freqs) + + #be sure to set tipper freq + if self.Tipper.tipper is not None: + self.Tipper.freq = self._freq + + #be sure to set z_object's freq + self.Z.freq = self._freq + + #--------------Read impedance tensor-------------------------------------- + def _read_z(self, edistring): + """ + Read in impedances information from a raw EDI-string. + Store it as attribute (complex array). + + """ + + compstrings = ['ZXX','ZXY','ZYX','ZYY'] + Z_entries = ['R','I','.VAR'] + z_array = np.zeros((self.n_freq(), 2, 2), dtype=np.complex) + zerr_array = np.zeros((self.n_freq(), 2, 2), dtype=np.float) + z_dict = {} + + for idx_comp,comp in enumerate(compstrings): + for idx_zentry,zentry in enumerate(Z_entries): + sectionhead = comp + zentry + try: + temp_string = _cut_sectionstring(edistring,sectionhead) + except: + continue + + lo_z_vals = [] + + #check, if correct number of entries are given in the block + t0 = temp_string.strip().split('\n')[0] + n_dummy = int(float(t0.split('//')[1].strip())) + if not n_dummy == self.n_freq(): + raise MTex.MTpyError_edi_file("Error - number of entries"+\ + " does not equal number of"+\ + " freq") + + + t1 = temp_string.strip().split('\n')[1:] + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_z_vals.append(float(k)) + except: + pass + + z_dict[sectionhead] = lo_z_vals + + if len(z_dict) == 0 : + raise MTex.MTpyError_inputarguments("ERROR - Could not find "+\ + "any Z component") + + + for idx_freq in range( self.n_freq()): + try: + z_array[idx_freq,0,0] = np.complex(z_dict['ZXXR'][idx_freq], + z_dict['ZXXI'][idx_freq]) + except: + pass + try: + z_array[idx_freq,0,1] = np.complex(z_dict['ZXYR'][idx_freq], + z_dict['ZXYI'][idx_freq]) + except: + pass + try: + z_array[idx_freq,1,0] = np.complex(z_dict['ZYXR'][idx_freq], + z_dict['ZYXI'][idx_freq]) + except: + pass + try: + z_array[idx_freq,1,1] = np.complex(z_dict['ZYYR'][idx_freq], + z_dict['ZYYI'][idx_freq]) + except: + pass + + + for idx_comp,comp in enumerate(compstrings): + sectionhead = comp + '.VAR' + if sectionhead in z_dict: + zerr_array[idx_freq, idx_comp/2, idx_comp%2] = \ + z_dict[sectionhead][idx_freq] + + self.Z.z = z_array + + #errors are stddev, not VAR : + self.Z.zerr = np.sqrt(zerr_array) + + #--------------Read Tipper---------------------------------------------- + def _read_tipper(self, edistring): + """ + Read in Tipper information from a raw EDI-string. + Store it as attribute (complex array). + + """ + + compstrings = ['TX','TY'] + T_entries = ['R','I','VAR'] + + tipper_array = np.zeros((self.n_freq(),1,2),dtype=np.complex) + tippererr_array = np.zeros((self.n_freq(),1,2),dtype=np.float) + t_dict = {} + + + for idx_comp,comp in enumerate(compstrings): + for idx_tentry,tentry in enumerate(T_entries): + temp_string = None + try: + sectionhead = comp + tentry + '.EXP' + temp_string = _cut_sectionstring(edistring,sectionhead) + except: + try: + sectionhead = comp + tentry + temp_string = _cut_sectionstring(edistring,sectionhead) + except: + # if tipper is given with sectionhead "TX.VAR" + if (idx_tentry == 2) and (temp_string is None): + try: + sectionhead = comp + '.' + tentry + temp_string = _cut_sectionstring(edistring, + sectionhead) + except: + pass + pass + + lo_t_vals = [] + + #check, if correct number of entries are given in the block + t0 = temp_string.strip().split('\n')[0] + n_dummy = int(float(t0.split('//')[1].strip())) + + if not n_dummy == self.n_freq(): + raise MTex.MTpyError_edi_file("Error - number of entries"+\ + " does not equal number of"+\ + " freq") + + t1 = temp_string.strip().split('\n')[1:] + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_t_vals.append(float(k)) + except: + pass + + t_dict[comp + tentry] = lo_t_vals + + + for idx_freq in range( self.n_freq()): + tipper_array[idx_freq,0,0] = np.complex(t_dict['TXR'][idx_freq], + t_dict['TXI'][idx_freq]) + tippererr_array[idx_freq,0,0] = t_dict['TXVAR'][idx_freq] + tipper_array[idx_freq,0,1] = np.complex(t_dict['TYR'][idx_freq], + t_dict['TYI'][idx_freq]) + tippererr_array[idx_freq,0,1] = t_dict['TYVAR'][idx_freq] + + self.Tipper.tipper = tipper_array + #errors are stddev, not VAR : + self.Tipper.tippererr = np.sqrt(tippererr_array) + self.Tipper.freq = self.freq + + #--------------Read Resistivity and Phase--------------------------------- + def _read_res_phase(self, edistring): + """ + Read in ResPhase-(RhoPhi-)information from a raw EDI-string. + Convert the information into Z and Zerr. + Store this as attribute (complex array). + + """ + # using the loop over all components. For each component check, + # if Rho and Phi are given, raise exception if not! Then convert the + # polar RhoPhi representation into the cartesian Z. Rho is assumed to + # be in Ohm m, Phi in degrees. Z will be in km/s. + z_array = np.zeros((self.n_freq(),2,2), 'complex') + zerr_array = np.zeros((self.n_freq(),2,2)) + + rhophistrings = ['RHO','PHS'] + compstrings = ['XX','XY','YX','YY'] + entries = ['','.ERR'] + + rhophi_dict = {} + for rp in rhophistrings: + for comp in compstrings: + for entry in entries: + sectionhead = rp + comp + entry + try: + temp_string = _cut_sectionstring(edistring,sectionhead) + except: + continue + + lo_vals = [] + #check, if correct number of entries are given in the block + t0 = temp_string.strip().split('\n')[0] + n_dummy = int(float(t0.split('//')[1].strip())) + if not n_dummy == self.n_freq(): + raise + + t1 = temp_string.strip().split('\n')[1:] + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_vals.append(float(k)) + except: + pass + + rhophi_dict[sectionhead] = lo_vals + + if len (rhophi_dict) == 0: + raise + + for idx_freq in range( self.n_freq()): + r = np.zeros((2,2)) + tmp_rho = np.zeros((2,2)) + phi = np.zeros((2,2)) + rerr = np.zeros((2,2)) + phierr = np.zeros((2,2)) + zerr = np.zeros((2,2)) + + for idx_c, comp in enumerate(compstrings): + #convert rho to resistivity: + try: + r[idx_c/2,idx_c%2] = \ + np.sqrt(rhophi_dict['RHO'+comp][idx_freq] *\ + 5 * self.freq[idx_freq]) + tmp_rho[idx_c/2,idx_c%2] = rhophi_dict['RHO'+comp][idx_freq] + except: + pass + try: + phi[idx_c/2,idx_c%2] = rhophi_dict['PHS'+comp][idx_freq] + except: + pass + try: + try: + #check for small amplitude close to zero + if r[idx_c/2,idx_c%2] == 0: + raise + f1 = np.abs(np.sqrt(2.5*self.freq[idx_freq]/\ + r[idx_c/2,idx_c%2])*\ + (rhophi_dict['RHO'+comp+'.ERR'][idx_freq])) + except: + f1 = np.sqrt(rhophi_dict['RHO'+comp+'.ERR'][idx_freq]*\ + 5 * self.freq[idx_freq] ) + rerr[idx_c/2,idx_c%2] = f1 + except: + pass + try: + phierr[idx_c/2,idx_c%2] = \ + rhophi_dict['PHS'+comp +'.ERR'][idx_freq] + except: + pass + zerr[idx_c/2,idx_c%2] = max(MTcc.propagate_error_polar2rect( + r[idx_c/2,idx_c%2], + rerr[idx_c/2,idx_c%2], + phi[idx_c/2,idx_c%2], + phierr[idx_c/2,idx_c%2])) + + z_array[idx_freq] = MTcc.rhophi2z(tmp_rho, phi,self.freq[idx_freq]) + + zerr_array[idx_freq] = zerr + + + self.Z.z = z_array + self.Z.zerr = zerr_array + + + #--------------Read Rho rotations------------------------------------------ + def _read_rhorot(self, edistring): + """ + Read in the (optional) RhoRot section from the raw edi-string for + data file containing data in ResPhase style. Angles are stored in + the ZROT attribute. + """ + + try: + temp_string = _cut_sectionstring(edistring,'RHOROT') + except: + lo_angles = np.zeros((self.n_freq())) + self.zrot = lo_angles + self.Z.rotation_angle = self.zrot + if self.Tipper.tipper is not None: + self.Tipper.rotation_angle = self.zrot + + return + + + lo_angles = [] + + t1 = temp_string.strip().split('\n')[1:] + + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_angles.append(float(k)) + except: + pass + + + if len(lo_angles) != self.n_freq(): + raise + + self.zrot = np.array(lo_angles) + self.Z.rotation_angle = self.zrot + if self.Tipper.tipper is not None: + self.Tipper.rotation_angle = self.zrot + + #--------------Read Spectra---------------------------------------------- + def _read_spectra(self,edistring): + """ + Read in Spectra information from a raw EDI-string. + Convert the information into Z and Tipper. + + """ + #identify and cut spectrasect part: + specset_string = _cut_sectionstring(edistring,'SPECTRASECT') + s_dict = {} + t1 = specset_string.strip().split('\n') + tipper_array = None + + s_dict['sectid'] = '' + + sectid = _find_key_value('sectid', '=',specset_string ) + if sectid is not None : + s_dict['sectid'] = sectid + + for tmp_str in t1: + if '=' in tmp_str: + k = tmp_str.strip().split('=') + key = k[0].lower() + value = k[1].replace('"','').strip() + if len(value) != 0: + s_dict[key] = value + + dummy4 = specset_string.upper().find('NCHAN') + n_chan = int(float( + specset_string[dummy4:].strip().split('=')[1].split()[0])) + try: + id_list = specset_string.split('//')[1].strip().split()[1:n_chan+1] + except: + raise MTex.MTpyError_EDI("ERROR - check number of channels in >=spectrasect") + + dummy5 = specset_string.upper().find('NFREQ') + n_freq = int(float( + specset_string[dummy5:].strip().split('=')[1].split()[0])) + + lo_spectra_strings = [] + tmp_string = copy.copy(edistring) + + #read in all SPECTRA subsections into a list + while True: + try: + dummy3 = tmp_string.find('>SPECTRA') + #check, if SPECTRA subsection exists + + if dummy3 <0 : + raise + # cut the respective sub string + tmp_cut_string = _cut_sectionstring(tmp_string,'SPECTRA') + + #append to the list + lo_spectra_strings.append(tmp_cut_string) + + # reduce the input string by the keyword 'SPECTRA', + #so the subsequent subsection will be read in the next + #loop-run instead + tmp_string = tmp_string[:dummy3] + tmp_string[dummy3+8:] + + #exceptions for breaking the while, called, if no more SPECTRA + #subsections can be found + except: + break + + #assert that the list of read in SPECTRA subsection is not empty: + if len(lo_spectra_strings) == 0: + raise MTex.MTpyError_EDI('ERROR - EDI file does not contain'+\ + 'readable SPECTRA sections!') + + z_array = np.zeros((len(lo_spectra_strings),2,2), 'complex') + zerr_array = np.zeros((len(lo_spectra_strings),2,2)) + + id_comps = ['HX', 'HY', 'EX', 'EY','RX', 'RY'] + if n_chan%2 != 0 : + id_comps = ['HX', 'HY','HZ', 'EX', 'EY','RX', 'RY'] + + tipper_array = np.zeros((len(lo_spectra_strings),1,2), 'complex') + tippererr_array = np.zeros((len(lo_spectra_strings),1,2)) + + lo_freqs = [] + lo_rots = [] + + id_channel_dict = _build_id_channel_dict(self.hmeas_emeas) + + channellist = [id_channel_dict[i] for i in id_list] + + for j in ['HX', 'HY', 'EX', 'EY'] : + if j not in channellist: + raise MTex.MTpyError_edi_file('Mandatory data for channel'+\ + '{0} missing!'.format(j)) + + + for s_idx, spectra in enumerate(lo_spectra_strings): + firstline = spectra.split('\n')[0] + freq = float(_find_key_value('FREQ','=',firstline)) + # Read information on uncertainties on data, given by AVGT value: + avgt = None + try: + avgt = float(_find_key_value('AVGT','=',firstline)) + except: + avgt = None + #if AVGT cannot be read, no errors are calculated + + lo_freqs.append(freq) + rotangle = 0. + try: + rotangle = float(_find_key_value('ROTSPEC','=',firstline)) + except: + pass + lo_rots.append(rotangle) + + datalist = [] + for innerline in spectra.split('\n')[1:]: + datalist.extend(innerline.strip().split()) + data = np.array([float(i) + for i in datalist]).reshape(n_chan,n_chan) + + zdata = spectra2z(data, avgt, channellist) + z_array[s_idx] = zdata[0] + if zdata[2] is not None: + zerr_array[s_idx] = zdata[2] + + if n_chan%2 != 0 : + tipper_array[s_idx] = zdata[1] + if zdata[3] is not None: + tippererr_array[s_idx] = zdata[3] + + + self.Z = MTz.Z(z_array=z_array,zerr_array=zerr_array,freq=np.array(lo_freqs)) + self._set_freq(self.Z.freq) + self.Z.rotation_angle = np.array(lo_rots) + + self.zrot = self.Z.rotation_angle.copy() + + + if tipper_array is not None: + self.Tipper = MTz.Tipper(tipper_array=tipper_array, + tippererr_array= tippererr_array, + freq=self.freq) + self.Tipper.rotation_angle = self.zrot.copy() + + for i,j in enumerate(id_list): + s_dict[ id_comps[i] ] = j + + self.mtsect = s_dict + + + #--------------Read impedance rotation angles----------------------------- + def _read_zrot(self, edistring): + """ + Read in the (optional) Zrot section from the raw edi-string. + """ + + try: + temp_string = _cut_sectionstring(edistring,'ZROT') + except: + lo_angles = np.zeros((self.n_freq())) + self.zrot = lo_angles + self.Z.rotation_angle = self.zrot + return + + + lo_angles = [] + + t1 = temp_string.strip().split('\n')[1:] + + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_angles.append(float(k)) + except: + pass + + if len(lo_angles) != self.n_freq(): + raise + + self.zrot = np.array(lo_angles) + self.Z.rotation_angle = self.zrot.copy() + if self.Tipper.tipper is not None: + self.Tipper.rotation_angle = self.zrot.copy() + + + #--------------Write out file--------------------------------------------- + def set_Z(self, z_object): + """ + Set the Z object attribute. + """ + if not isinstance(z_object, MTz.Z): + raise MTex.MTpyError_Z('Input argument is not an instance of '+\ + 'the Z class') + + self.Z = z_object + self.freq = z_object.freq + + #--------------Write out file--------------------------------------------- + def set_Tipper(self, tipper_object): + """ + Set the Tipper object attribute. + """ + if not isinstance(tipper_object, MTz.Tipper): + raise MTex.MTpyError_Tipper('Input argument is not an instance of '+\ + 'the Tipper class') + + self.Tipper = tipper_object + + #self.freq = tipper_object.freq + + + #--------------Write out file--------------------------------------------- + def writefile(self, fn=None, allow_overwrite=False, use_info_string=False): + """ + Write out the edi object into an EDI file. + + Default: existing files are not overwritten, a unique filename is + generated for each new file + + Default: the INFO section is written using the self.info_dict. This + behaviour can be changed to allow a verbatim write of the + self.info_string (useful if existing EDIs are only slightly altered) + + + """ + + if fn is not None and len(fn) == 0: + fn = None + elif fn is not None: + #see, if it's iterable + if type(fn) is not str: + fn = fn[0] + + self.info_dict['edifile_generated_with'] = 'MTpy' + + try: + outstring, stationname = _generate_edifile_string(self.edi_dict(),use_info_string) + except: + print 'ERROR - could not generate valid EDI file \n-> check, if'\ + ' method "edi_dict" returns sufficient information\n '\ + '' + return + + if stationname is None: + stationname = 'dummy' + if len(stationname) == 0: + stationname = 'unknown' + + if not _validate_edifile_string(outstring): + #return outstring + raise MTex.MTpyError_edi_file('Cannot write EDI file...'+\ + 'output string is invalid') + + + if fn != None: + try: + outfilename = op.abspath(fn) + if not outfilename.lower().endswith('.edi'): + outfilename += '.edi' + except: + fn = None + print 'ERROR - could not generate output file with '+\ + 'given name - trying generic name instead!' + + if fn == None: + outfilename = op.abspath(stationname.upper()+'.edi') + + if allow_overwrite is not True: + outfilename = MTfh.make_unique_filename(outfilename) + + try: + with open(outfilename , 'w') as F: + F.write(outstring) + except: + raise MTex.MTpyError_edi_file('Cannot write EDI file:'+\ + '{0}'.format(outfilename)) + + return outfilename + + #--------------Rotate data---------------------------------------------- + def rotate(self,angle): + """ + Rotate the Z and tipper information in the Edi object. Change the + rotation angles in Zrot respectively. + + Rotation angle must be given in degrees. All angles are referenced + to geographic North, positive in clockwise direction. + (Mathematically negative!) + + In non-rotated state, X refs to North and Y to East direction. + + Updates the attributes "z, zrot, tipper". + + """ + if type(angle) in [float,int]: + angle = np.array([float(angle)%360 for i in range(len(self.zrot))]) + else: + try: + if type(angle) is str: + try: + angle = float(angle) + angle = np.array([float(angle)%360 for i in range(len(self.zrot))]) + except: + raise + elif len(angle) != len(self.zrot): + raise + angle = np.array([float(i)%360 for i in angle]) + except: + raise MTex.MTpyError_inputarguments('ERROR - "angle" must'+\ + ' be a single numerical'+\ + ' value or a list of '+\ + 'values. In the latter'+\ + ' case, its length must'+\ + 'be {0}'.format( + len(self.zrot))) + + self.Z.rotate(angle) + self.zrot = self.Z.rotation_angle + # self.zrot = [(ang0+angle[i])%360 for i,ang0 in enumerate(self.zrot)] + # self.Z.rotation_angle = self.zrot + + if self.Tipper.tipper is not None: + self.Tipper.rotate(angle) + self.Tipper.rotation_angle = self.zrot + + + #--------------get/set header ------------------------------- + def _set_head(self, head_dict): + """ + Set the attribute 'head'. + + Input: + HEAD section dictionary + + No test for consistency! + + """ + + self._head = head_dict + + + def _get_head(self): + + + return self._head + + head = property(_get_head, _set_head, doc='HEAD attribute of EDI file') + + #--------------get/set station ------------------------------- + def _set_station(self, stationname): + """ + Set the attribute 'station'. + + Updates the 'dataid' key in 'HEAD'... + + Input: + HEAD section dictionary + + No test for consistency! + + """ + + self._station = stationname + if not 'dataid' in self._head : + self._head['dataid'] = stationname + + + def _get_station(self): + + return self._station + + station = property(_get_station, _set_station, doc='station attribute of EDI file') + + + #--------------get/set info dict ------------------------------- + def _set_info_dict(self,info_dict): + """ + Set the attribute 'info_dict'. + + Input: + INFO section dictionary + + No test for consistency! + + """ + + self._info_dict = info_dict + + def _get_info_dict(self): + return self._info_dict + + info_dict = property(_get_info_dict, _set_info_dict, + doc='INFO section dictionary') + + #--------------get/set info header ------------------------------- + def _set_info_string(self,info_string): + """ + Set the attribute 'info_string'. + + Input: + INFO section string + + No test for consistency! + + """ + + self._info_string = info_string + + def _get_info_string(self): + return self._info_string + + info_string = property(_get_info_string, _set_info_string, + doc='INFO section string') + + #--------------get/set definemeas ------------------------------- + def _set_definemeas(self,definemeas_dict): + """ + Set the attribute 'definemeas'. + + Input: + DEFINEMEAS section dictionary + + No test for consistency! + + """ + self._definemeas = definemeas_dict + def _get_definemeas(self): + return self._definemeas + + definemeas = property(_get_definemeas, _set_definemeas, + doc='DEFINEMEAS section dictionary') + + #--------------get/set h and e measurements ------------------------------ + def _set_hmeas_emeas(self,hmeas_emeas_list): + """ + Set the attribute 'hmeas_emeas'. + + Input: + hmeas_emeas section list of 7-tuples + + No test for consistency! + + """ + self._hmeas_emeas = hmeas_emeas_list + + def _get_hmeas_emeas(self): + return self._hmeas_emeas + + hmeas_emeas = property(_get_hmeas_emeas, _set_hmeas_emeas, + doc='hmeas_emeas section list of 7-tuples') + + #--------------get/set mtsect ------------------------------- + def _set_mtsect(self, mtsect_dict): + """ + Set the attribute 'mtsect'. + + Input: + MTSECT section dictionary + + No test for consistency! + + """ + + self._mtsect = mtsect_dict + + def _get_mtsect(self): + return self._mtsect + + mtsect = property(_get_mtsect, _set_mtsect, + doc='MTSECT section dictionary') + + + #--------------get/set single component ------------------------------- + def _get_datacomponent(self, componentname): + """ + Return a specific data component. + + Input: + specification of the data component (Z or Tipper components) + """ + + data_dict = self.data_dict() + if componentname.lower() in data_dict: + return data_dict[componentname.lower()] + + compstrings = ['ZXX','ZXY','ZYX','ZYY'] + Z_entries = ['R','I','.VAR'] + for idx_comp,comp in enumerate(compstrings): + for idx_zentry,zentry in enumerate(Z_entries): + section = comp + zentry + if section.lower() == componentname.lower(): + return self.z_dict()[section] + + compstrings = ['TX','TY'] + T_entries = ['R','I','VAR'] + + for idx_comp,comp in enumerate(compstrings): + for idx_tentry,tentry in enumerate(T_entries): + section = comp + tentry + if section.lower() == componentname.lower(): + return self.tipper_dict()[section] + + print 'unknown data component: %s'%componentname.lower() + return + + + def _set_datacomponent(self, componentname, value): + """ + Set a specific data component. + + Input: + specification of the data component (Z or Tipper components) + new value + + No test for consistency! + """ + pass + + #--------------get/set freq ------------------------------- + def _set_freq(self, lo_freq): + """ + Set the array of freq. + + Input: + list/array of freq + + No test for consistency! + """ + # try: + # if len(lo_freq) is not len(self.Z.z): + # print 'length of freq list not correct'+\ + # '({0} instead of {1})'.format(len(lo_freq), + # len(self.Z.z)) + # return + # except: + # print 'array self.Z.z is not defined' + # return + + self._freq = np.array(lo_freq) + if self.Z.z is not None: + try: + self.Z._set_freq(self.freq) + except: + print 'length of freq list not consistent with Z.z array '+\ + '({0} instead of {1})'.format(len(lo_freq), + len(self.Z.z)) + if self.Tipper.tipper is not None: + try: + self.Tipper._set_freq(self.freq) + except: + print 'length of freq list not consistent with Tipper.tipper array '+\ + '({0} instead of {1})'.format(len(lo_freq), + len(self.Tipper.tipper)) + + def _get_freq(self): + if self._freq is not None: + self._freq = np.array(self._freq) + return self._freq + + freq = property(_get_freq, _set_freq, + doc='array of freq') + + #--------------get/set impedance rotation ------------------------------- + def _set_zrot(self, angle): + """ + Set the list of rotation angles. + + Input: + single angle or list of angles (in degrees) + + No test for consistency! + """ + + + if type(angle) is str: + raise MTex.MTpyError_edi_file('list of angles contains string'+\ + 'literal(s)') + + if np.iterable(angle): + if len(angle) is not len(self.Z.z): + print 'length of angle list not correct'+\ + '({0} instead of {1})'.format(len(angle), len(self.z)) + return + try: + angle = [float(i%360) for i in angle] + except: + raise MTex.MTpyError_edi_file('list of angles contains'+\ + 'non-numercal values') + else: + try: + angle = [float(angle%360) for i in self.Z.z] + except: + raise MTex.MTpyError_edi_file('Angles is a non-numercal value') + + + self._zrot = np.array(angle) + self.Z.rotation_angle = angle + if self.Tipper.tipper is not None: + self.Tipper.rotation_angle = angle + + def _get_zrot(self): + if self._zrot is not None: + self._zrot = np.array(self._zrot) + return self._zrot + + zrot = property(_get_zrot, _set_zrot, doc='') + + +#end of Edi Class +#========================= + + +def read_edifile(fn): + """ + Read in an EDI file. + + Return an instance of the Edi class. + """ + + edi_object = Edi() + + edi_object.readfile(fn) + + + return edi_object + + +def write_edifile(edi_object, out_fn = None): + """ + Write an EDI file from an instance of the Edi class. + + optional input: + EDI file name + """ + + if not isinstance(edi_object, Edi): + raise MTex.MTpyError_EDI('Input argument is not an instance of '+\ + 'the Edi class') + + if out_fn is not None: + dirname = op.dirname(op.abspath(op.join('.',out_fn))) + fn = op.basename(op.abspath(op.join('.',out_fn))) + if not op.isdir(dirname): + try: + os.makedirs(dirname) + out_fn = op.join(dirname,fn) + except: + out_fn = None + else: + out_fn = op.join(dirname,fn) + + outfilename = None + try: + outfilename = edi_object.writefile(out_fn) + except: + print 'Cannot write EDI file...output string invalid!' + + return outfilename + + +def combine_edifiles(fn1, fn2, merge_freq=None, out_fn = None, + allow_gaps = True): + """ + Combine two EDI files. + + Inputs: + - name of EDI file 1 + - name of EDI file 2 + + optional input: + - merge_freq : freq in Hz, on which to merge the files - + default is the middle of the overlap + - out_fn : output EDI file name + - allow_gaps : allow merging EDI files whose freq ranges does + not overlap + + Outputs: + - instance of Edi class, containing merged information + - full path of the output EDI file + """ + + #edi objects: + eo1 = Edi() + eo1.readfile(fn1) + eo2 = Edi() + eo2.readfile(fn2) + #edi object merged + eom = Edi() + + #check freq lists + lo_freqs1 = eo1.freq + lo_freqs2 = eo2.freq + + + lo_eos = [] + + #check for overlap of the freq regimes: + if (not min(lo_freqs1)>max(lo_freqs2)) and \ + (not max(lo_freqs1)>min(lo_freqs2)): + if allow_gaps is False: + raise MTex.MTpyError_edi_file('Cannot merge files'+\ + '{0} and {1}'.format(fn1,fn2)+\ + '- freq ranges do not '+\ + 'overlap and "allow_gaps" is'+\ + 'set to False') + + + #determine, which is the low freq part, sort descending + lo_eos = [eo2, eo1] + + if min(lo_freqs1) <= min(lo_freqs2): + if max(lo_freqs1) >= max(lo_freqs2): + print 'freq range of file {0} fully contained'.format(fn2)+\ + 'in range of file {1} => no merging of files!'.format(fn1) + return + + if min(lo_freqs1) >= min(lo_freqs2): + if max(lo_freqs1) <= max(lo_freqs2): + print 'freq range of file {0} fully contained'.format(fn1)+\ + 'in range of file {1} => no merging of files!'.format(fn2) + return + else: + lo_eos = [eo1, eo2] + + #find sorting indices for obtaining strictly decreasing frequencies: + dec_freq_idxs_lower = np.array(lo_eos[1].freq).argsort()[::-1] + dec_freq_idxs_upper = np.array(lo_eos[0].freq).argsort()[::-1] + + #determine overlap in frequencies + upper_bound = max(lo_eos[1].freq) + lower_bound = min(lo_eos[0].freq) + + + overlap_mid_freq = np.exp(0.5*(np.log(upper_bound) + np.log(lower_bound))) + + if merge_freq is not None: + try: + merge_freq = float(merge_freq) + except: + print 'could not read "merge freq" argument '+\ + '(float expected)...taking mean of freq overlap'+\ + 'instead: {0:.6g} Hz'.format(overlap_mid_freq) + merge_freq = overlap_mid_freq + else: + merge_freq = overlap_mid_freq + + #print merge_freq + + + #find indices for all freq from the freq lists, which are + #below(lower part) or above (upper part) of the merge freq - + #use sorted freq lists !: + + upper_idxs = np.where(np.array(lo_eos[0].freq)[dec_freq_idxs_upper]>\ + merge_freq)[0] + lower_idxs = np.where(np.array(lo_eos[1].freq)[dec_freq_idxs_lower]<=\ + merge_freq)[0] + + #total of freq in new edi object + new_freqs = lo_eos[0].freq[upper_idxs] + new_freqs= np.append(new_freqs,lo_eos[1].freq[lower_idxs]) + + n_total_freqs = len(new_freqs)# len(lower_idxs) + len(upper_idxs) + + + #------------ + # fill data fields + + new_z = np.zeros((n_total_freqs,2,2),dtype=np.complex) + new_zerr = np.zeros((n_total_freqs,2,2),dtype=np.float) + + #check, if tipper exists for both files: + if (eo1.Tipper.tipper is not None ) and (eo2.Tipper.tipper is not None ): + new_tipper = np.zeros((n_total_freqs,1,2),dtype=np.complex) + new_tippererr = np.zeros((n_total_freqs,1,2),dtype=np.float) + + + counter = 0 + zrot = [] + for idx_u in upper_idxs: + try: + new_z[counter] = lo_eos[0].Z.z[idx_u] + new_zerr[counter] = lo_eos[0].Z.zerr[idx_u] + except: + pass + try: + new_tipper[counter] = lo_eos[0].Tipper.tipper[idx_u] + new_tippererr[counter] = lo_eos[0].Tipper.tippererr[idx_u] + except: + pass + try: + zrot.append(lo_eos[0].zrot[idx_u]) + except: + zrot.append(0.) + + counter +=1 + + for idx_l in lower_idxs: + try: + new_z[counter] = lo_eos[1].Z.z[idx_l] + new_zerr[counter] = lo_eos[1].Z.zerr[idx_l] + except: + pass + try: + new_tipper[counter] = lo_eos[1].Tipper.tipper[idx_l] + new_tippererr[counter] = lo_eos[1].Tipper.tippererr[idx_l] + except: + pass + try: + zrot.append(lo_eos[1].zrot[idx_l]) + except: + zrot.append(0.) + counter +=1 + + + # eom.Z.z = np.zeros((n_total_freqs,2,2),dtype=np.complex) + # eom.Z.zerr = np.zeros((n_total_freqs,2,2),dtype=np.float) + + Znew = MTz.Z(z_array=new_z, zerr_array=new_zerr, freq=new_freqs) + eom.set_Z(Znew) + + + if (eo1.Tipper.tipper is not None ) and (eo2.Tipper.tipper is not None ): + TipperNew = MTz.Tipper(tipper_array=new_tipper, tippererr_array=new_tippererr, + freq=new_freqs) + + eom.set_Tipper(TipperNew) + + eom.zrot = zrot + + + #------------ + # fill header information + + #I) HEAD + head1 = dict((k.lower(),v) for k,v in eo1.head.items()) + head2 = dict((k.lower(),v) for k,v in eo2.head.items()) + + + so_headsections = set(head1.keys() + head2.keys()) + + head_dict = {} + for element in so_headsections: + if (element in head1) and (element not in head2): + head_dict[element] = str(head1[element]) + continue + if (element in head2) and (element not in head1): + head_dict[element] = str(head2[element]) + continue + if head1[element] == head2[element]: + head_dict[element] = str(head2[element]) + continue + + if element in ['lat','long','lon','latitude','longitude', 'elevation', + 'elev','ele']: + try: + head_dict[element] = 0.5 * (float(head1[element]) + \ + float(head2[element])) + except: + raise MTex.MTpyError_edi_file('Cannot merge files: wrong'+\ + 'format of "{0}" coordinate'.format(element)) + continue + + if element == 'dataid': + head_dict[element] = head1[element]+'+'+head2[element] + continue + + if 'date' in element: + dateformat1 = '%Y/%m/%d %H:%M:%S UTC' + dateformat2 = '%d.%m.%y %H:%M:%S UTC' + dateformat3 = '%d.%m.%Y %H:%M:%S UTC' + date1 = None + + try: + date1 = calendar.timegm(time.strptime(head1[element], + dateformat1)) + date2 = calendar.timegm(time.strptime(head2[element], + dateformat1)) + except: + pass + try: + date1 = calendar.timegm(time.strptime(head1[element], + dateformat2)) + date2 = calendar.timegm(time.strptime(head2[element], + dateformat2)) + except: + pass + try: + date1 = calendar.timegm(time.strptime(head1[element], + dateformat3)) + date2 = calendar.timegm(time.strptime(head2[element], + dateformat3)) + except: + pass + if date1 is None: + raise MTex.MTpyError_edi_file('Cannot merge file, because '+\ + 'data format is not '+\ + 'understood: '+\ + '{0}={1}|{2}'.format(element, + head1[element], + head2[element])) + + + if element in ['acqdate']: + date = min(date1, date2 ) + + elif element in ['enddate']: + date = max(date1, date2 ) + + elif element in ['filedate']: + todaystring = datetime.datetime.utcnow().strftime(dateformat1) + head_dict[element] = todaystring + continue + + datetuple = time.gmtime(date) + head_dict[element] = '{0:02}/{1:02}/{2:02} '.format(datetuple[0], + datetuple[1], + datetuple[2]) + #print head_dict[element] + + eom.head = head_dict + + + #II) INFO + info1 = dict((k.lower(),v) for k,v in eo1.info_dict.items()) + info2 = dict((k.lower(),v) for k,v in eo2.info_dict.items()) + + so_infosections = set(info1.keys() + info2.keys()) + + info_dict = {} + info_dict['merge_freq'] = merge_freq + + for element in so_infosections: + + if (element in info1) and (element not in info2): + info_dict[element] = str(info1[element]) + continue + if (element in info2) and (element not in info1): + info_dict[element] = str(info2[element]) + continue + if info1[element] == info2[element]: + info_dict[element] = str(info2[element]) + continue + + if element in ['lat','long','lon','latitude','longitude', + 'elevation','elev','ele']: + try: + info_dict[element] = 0.5 * (float(info1[element]) + \ + float(info2[element])) + except: + raise MTex.MTpyError_edi_file('Cannot merge files: wrong'+\ + 'format of "{0}" coordinate'.format(element)) + continue + + if element == 'dataid': + info_dict[element] = info1[element]+'_merged_with_'+info2[element] + continue + + if 'date' in element: + dateformat1 = '%d/%m/%y' + dateformat2 = '%d.%m.%y' + dateformat3 = '%d.%m.%Y' + date1 = None + try: + date1 = calendar.timegm(time.strptime(info1[element], + dateformat1)) + date2 = calendar.timegm(time.strptime(info2[element], + dateformat1)) + except: + pass + try: + date1 = calendar.timegm(time.strptime(info1[element], + dateformat2)) + date2 = calendar.timegm(time.strptime(info2[element], + dateformat2)) + except: + pass + try: + date1 = calendar.timegm(time.strptime(info1[element], + dateformat3)) + date2 = calendar.timegm(time.strptime(info2[element], + dateformat3)) + except: + pass + if date1 is None: + raise MTex.MTpyError_edi_file('Cannot merge file, because'+\ + 'data format is not '+\ + 'understood: '+\ + '{0}={1}|{2}'.format(element, + info1[element], + info2[element])) + + + if element in ['acqdate']: + date = min(date1, date2 ) + + elif element in ['enddate']: + date = max(date1, date2 ) + + elif element in ['filedate']: + date = calendar.timegm(time.gmtime()) + + #arbitrarily choisen to take information from low freq file: + else: + date = date1 + + datetuple = time.gmtime(date) + print datetuple + info_dict[element] = '{0:02}/{1:02}/{2:2}'.format(datetuple[2], + datetuple[1], + datetuple[0]) + continue + + if element == 'station': + info_dict['station'] = info1[element] + '+' + info2[element] + + + eom.info_dict = info_dict + + eom.info_string = '\n\t=== File 1: ===\n'+eo1.info_string+\ + '\n\n\t=== File 2: ===\n'+eo2.info_string + + + #III) DEFINEMEAS + dmeas1 = dict((k.lower(),v) for k,v in eo1.definemeas.items()) + dmeas2 = dict((k.lower(),v) for k,v in eo2.definemeas.items()) + + so_dmeassections = set(dmeas1.keys() + dmeas2.keys()) + + dmeas_dict = {} + + for element in so_dmeassections: + + if element == 'refloc': + dmeas_dict[element] = '' + continue + + if (element in dmeas1) and (element not in dmeas2): + dmeas_dict[element] = str(dmeas1[element]) + continue + if (element in dmeas2) and (element not in dmeas1): + dmeas_dict[element] = str(dmeas2[element]) + continue + if dmeas1[element] == dmeas2[element]: + dmeas_dict[element] = str(dmeas2[element]) + continue + + if 'lat' in element or 'lon' in element or 'elev' in element: + try: + dmeas_dict[element] = 0.5 * (float(dmeas1[element]) +\ + float(dmeas2[element])) + except: + raise MTex.MTpyError_edi_file('Cannot merge files: wrong '+\ + 'format of "{0}" coordinate'.format(element)) + continue + + + + eom.definemeas = dmeas_dict + + #take hmeas/dmeas section directly from file 1: + + eom.hmeas_emeas = eo1.hmeas_emeas + + + + #IV) MTSECT + + msec1 = dict((k.lower(),v) for k,v in eo1.mtsect.items()) + msec2 = dict((k.lower(),v) for k,v in eo2.mtsect.items()) + + so_msecsections = set(msec1.keys() + msec2.keys()) + + msec_dict = {} + + for element in so_msecsections: + #completely unimportant, kept just for the sake of the format: + if element in ['ex','ey','hx','hy','hz','bx','by','bz']: + msec_dict[element] = msec1[element] + if element == 'nfreq': + msec_dict[element] = eom.n_freq() + if element == 'sectid': + if msec1[element] != msec2[element]: + msec_dict[element] = msec1[element]+'+'+msec2[element] + else: + msec_dict[element] = msec1[element]+'(A)'+'+'+msec2[element]+'(B)' + + + eom.mtsect = msec_dict + + + if out_fn is not None: + dirname = op.dirname(op.abspath(op.join('.',out_fn))) + fn = op.basename(op.abspath(op.join('.',out_fn))) + if not op.isdir(dirname): + try: + os.makedirs(dirname) + out_fn = op.join(dirname,fn) + except: + out_fn = None + else: + out_fn = op.join(dirname,fn) + out_fn = op.splitext(out_fn)[0]+'_merged'+op.splitext(out_fn)[1] + + else: + stationname = eom.info_dict.get('station',None) + if stationname is None: + stationname = eom.head.get('dataid',None) + if stationname is None: + stationname = 'unknown' + out_fn = op.join(op.abspath(os.curdir),stationname.upper()+'_merged.edi') + + + out_fn = eom.writefile(out_fn) + if out_fn is not None: + print '\tWritten merged EDI file {0}\n'.format(out_fn) + + + return eom, out_fn + + +def validate_edifile(fn): + """ + Validate an EDI file following MTpy standard. + + Return boolean result. + """ + + edi_object = Edi() + + try: + edi_object.readfile(fn) + return True + except: + return False + + +def rotate_edifile(fn, angle, out_fn = None): + """ + Rotate data contents (Z and Tipper) of an EDI file and write it to a + new EDI file. + (Use a script with consecutive renaming of the file for in place + rotation. MTpy does not overwrite.) + + Input: + - angle/list of angles for the rotation + + optional input: + - name of output EDI file + + Output: + - full path to the new (rotated) EDI file + """ + + ediobject = Edi() + + ediobject.readfile(fn) + + ediobject.rotate(angle) + + if out_fn is not None: + dirname = op.dirname(op.abspath(op.join('.',out_fn))) + fn = op.basename(op.abspath(op.join('.',out_fn))) + if not op.isdir(dirname): + try: + os.makedirs(dirname) + out_fn = op.join(dirname,fn) + except: + out_fn = None + else: + out_fn = op.join(dirname,fn) + + + ediobject.writefile(out_fn) + + + return out_fn + + + +def _generate_edifile_string(edidict,use_info_string=False): + """ + Generate a string to write out to an EDI file. + + Reading in information from an edi file dictionary. Using the standard + sections: + HEAD, INFO, DEFINEMEAS, HMEAS_EMEAS, MTSECT, ZROT, FREQ, Z, TIPPER + + Can be extended later on... + + """ + # define section heads explicitely instead of iteration over the dictionary + # for getting the correct order! + lo_sectionheads = ['HEAD', 'INFO', 'DEFINEMEAS', 'HMEAS_EMEAS', 'MTSECT', + 'ZROT', 'FREQ', 'Z', 'TIPPER'] + + edistring = '' + stationname = None + ZROTflag = 0 + + if len(edidict.keys()) == 0: + raise MTex.MTpyError_edi_file('Cannot generate string from empty'+\ + 'EDI dictionary. Fill dict or read in file first') + + + for sectionhead in lo_sectionheads: + + if sectionhead == 'HEAD': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "HEAD" missing!') + edistring += '>HEAD\n' + head_dict = edidict['HEAD'] + checkdate = 0 + + for k in sorted(head_dict.iterkeys()): + v = str(head_dict[k]) + #remove old time stamp of former EDI file: + if k.lower() == 'filedate': + continue + + if k.lower()=='dataid': + + stationname = v + + if k.lower() in ['lat','long']: + v = MTft.convert_degrees2dms_tuple(v) + edistring += '\t{0}={1}:{2}:{3:.2f}\n'.format(k.upper(), + int(v[0]),int(v[1]),v[2]) + continue + + if len(v) == 0: + edistring += '\t%s=""\n'%(k.upper()) + elif len(v.split()) > 1: + edistring += '\t%s="%s"\n'%(k.upper(),v) + else: + try: + v = v.upper() + except: + pass + edistring += '\t%s=%s\n'%(k.upper(),v) + + #update time stamp of the file: + todaystring = datetime.datetime.utcnow().strftime( + '%Y/%m/%d %H:%M:%S UTC') + + todaystring = '\tfiledate="%s"\n'%(todaystring) + edistring += todaystring.upper() + + + if sectionhead == 'INFO': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "INFO" missing!') + info_dict = edidict['INFO'] + info_dict = dict((k.lower(),v) for k,v in info_dict.items()) + + # if 'max lines' in info_dict: + # edistring += '>INFO MAX LINES={0}\n'.format( + # int(float(info_dict.pop('max lines')))) + # else: + edistring += '>INFO \n' + + #If an existing info string is to be written verbatim + #to not lose any original information (even if uunnecessary/wrong): + if use_info_string is True: + try: + edistring += edidict['info_string'] + except: + pass + edistring += '\n' + #otherwise use the standard way of writing dict contents: + else: + for k in sorted(info_dict.iterkeys()): + # if k.startswith('__'): + # continue + v = str(info_dict[k]) + #get station name (to be returned aside with the edistring, + # allowing for proper naming of output file) + if k == 'station': + v = v.upper().replace(' ','_') + stationname = v + if k.lower() == 'max lines': + continue + + if len(v) == 0 or len(v.split()) > 1: + edistring += '\t%s: "%s"\n'%(k,v) + else: + edistring += '\t%s: %s\n'%(k,v) + + + + if sectionhead == 'DEFINEMEAS': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "DEFINEMEAS" missing!') + defm_dict = edidict['DEFINEMEAS'] + defm_dict = dict((k.upper(),v) for k,v in defm_dict.items()) + + edistring += '>=DEFINEMEAS \n' + + for k in sorted(defm_dict.iterkeys()): + v = str(defm_dict[k]) + if k == 'REFLAT': + v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['lat']) + edistring += '\tREFLAT={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) + continue + if k == 'REFLONG': + v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['long']) + edistring += '\tREFLONG={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) + continue + if k == 'REFELEV': + edistring += '\tREFELEV={0:.1f}\n'.format(float(edidict['HEAD']['elev'])) + continue + + if len(v) == 0 or len(v.split()) > 1: + edistring += '\t%s=""\n'%(k) + else: + edistring += '\t%s=%s\n'%(k,v) + + if 'REFLAT' not in sorted(defm_dict.iterkeys()): + v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['lat']) + edistring += '\tREFLAT={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) + if 'REFLONG' not in sorted(defm_dict.iterkeys()): + v = MTft.convert_degrees2dms_tuple(edidict['HEAD']['long']) + edistring += '\tREFLONG={0}:{1}:{2:.2f}\n'.format(int(v[0]),int(v[1]),v[2]) + if 'REFELEV' not in sorted(defm_dict.iterkeys()): + edistring += '\tREFELEV={0:.1f}\n'.format(edidict['HEAD']['elev']) + + + if sectionhead == 'HMEAS_EMEAS': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'subsection "HMEAS_EMEAS" missing!') + lo_hemeas = edidict['HMEAS_EMEAS'] + + for hemeas in lo_hemeas: + edistring += ('>'+' '.join(hemeas.split())+'\n').upper() + + + if sectionhead == 'MTSECT': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "MTSECT" missing!') + mtsct_dict = edidict['MTSECT'] + mtsct_dict = dict((k.upper(),v) for k,v in mtsct_dict.items()) + + edistring += '>=MTSECT \n' + + for k in sorted(mtsct_dict.iterkeys()): + v = str(mtsct_dict[k]) + if len(v) == 0 or len(v.split()) > 1: + edistring += '\t%s=""\n'%(k) + else: + edistring += '\t%s=%s\n'%(k,v) + + + if sectionhead == 'FREQ': + if not sectionhead in edidict: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "FREQ" missing!') + lo_freqs = edidict['FREQ'] + + #edistring += '>!****FREQUENCIES****!\n' + edistring+= '>FREQ // {0}\n'.format(len(lo_freqs)) + + for i,freq in enumerate(lo_freqs): + edistring += '\t%E'%(freq) + if (i+1)%5 == 0 and (i != len(lo_freqs) - 1) and i > 0: + edistring += '\n' + + if sectionhead == 'ZROT': + + try: + lo_rots = edidict['ZROT'] + except: + continue + + #edistring += '>!****IMPEDANCE ROTATION ANGLES****!\n' + edistring+= '>ZROT // {0}\n'.format(len(lo_rots)) + + for i,angle in enumerate(lo_rots): + edistring += '\t%E'%(angle) + if (i+1)%5 == 0 and (i != len(lo_rots) - 1) and i > 0: + edistring += '\n' + + ZROTflag = 1 + + if sectionhead == 'Z': + + compstrings = ['ZXX','ZXY','ZYX','ZYY'] + Z_entries = ['R','I','.VAR'] + + try: + z_dict = edidict['Z'] + except: + raise MTex.MTpyError_edi_file('Cannot write file - required'+\ + 'section "Z" missing!') + + #edistring += '>!****IMPEDANCES****!\n' + for idx_comp,comp in enumerate(compstrings): + for idx_zentry,zentry in enumerate(Z_entries): + section = comp + zentry + if not section in z_dict: + raise MTex.MTpyError_edi_file('Cannot write file - '+\ + 'required subsection "{0}" missing!'.format(section)) + lo_vals = z_dict[section] + #convert stddev into VAR: + if zentry.lower()=='.var': + lo_vals = [i**2 for i in lo_vals] + + if ZROTflag == 1: + edistring += '>{0} ROT=ZROT // {1}\n'.format(section, + len(lo_freqs)) + else: + edistring += '>{0} // {1}\n'.format(section, + len(lo_freqs)) + + for i,val in enumerate(lo_vals): + edistring += '\t%E'%(float(val)) + if (i+1)%5 == 0 and (i != len(lo_vals) - 1) and i > 0: + edistring += '\n' + edistring += '\n' + + + if sectionhead == 'TIPPER' and (edidict.has_key('TIPPER')): + + compstrings = ['TX','TY'] + T_entries = ['R','I','VAR'] + Tout_entries = ['R.EXP','I.EXP','VAR.EXP'] + + try: + t_dict = edidict['TIPPER'] + if t_dict == None: + continue + except: + continue + + #edistring += '>!****TIPPER PARAMETERS****!\n' + for idx_comp,comp in enumerate(compstrings): + for idx_tentry,tentry in enumerate(T_entries): + section = comp + tentry + outsection = comp + Tout_entries[idx_tentry] + if not section in t_dict: + raise MTex.MTpyError_edi_file('Cannot write file -'+\ + 'required subsection "{0}" missing!'.format(section)) + lo_vals = t_dict[section] + #convert stddev into VAR: + if tentry.lower()=='var': + lo_vals = [i**2 for i in lo_vals] + + if ZROTflag == 1: + edistring += '>{0} ROT=ZROT // {1}\n'.format(outsection, + len(lo_freqs)) + else: + edistring += '>{0} // {1}\n'.format(outsection, + len(lo_freqs)) + + for i,val in enumerate(lo_vals): + edistring += '\t%E'%(float(val)) + if (i+1)%5 == 0 and (i != len(lo_vals) - 1) and i > 0: + edistring += '\n' + + edistring += '\n' + + + + edistring += '\n' + + + edistring += '>END\n' + + + return edistring.expandtabs(4), stationname + + + +def _cut_sectionstring(edistring,sectionhead): + """ + Cut an edi-string for the specified section. + + Input: + - name of the section + + Output: + - string : part of the raw edi-string containing starting at the head + of the section and ends at beginnig of the next section. + """ + + #in this case, several blocks have to be handled together, therefore, a + #simple cut to the next block start does not work: + if sectionhead.upper() == 'HMEAS_EMEAS': + + lo_start_idxs = [m.start() for m in re.finditer('>[HE]MEAS',edistring)] + if len(lo_start_idxs) == 0 : + raise + + start_idx = lo_start_idxs[0] + + end_idx = edistring[(lo_start_idxs[-1]+1):].upper().find('>') +\ + lo_start_idxs[-1] + + hmeas_emeas_string = edistring[start_idx:end_idx] + + if len(hmeas_emeas_string) == 0: + raise + + return hmeas_emeas_string + + + + start_idx = edistring.upper().find('>'+sectionhead.upper()) + if start_idx == -1: + start_idx = edistring.upper().find('>='+sectionhead.upper()) + if start_idx == -1: + raise + #correct for the = character + start_idx += 1 + #start cut behind the section keyword + start_idx += (1+len(sectionhead)) + + next_block_start = edistring.upper().find('>', start_idx + 1) + + + cutstring = edistring[start_idx:next_block_start] + + if len(cutstring) == 0 : + raise + + + return cutstring + + +def _validate_edifile_string(edistring): + """ + Read the file as string and check, if blocks 'HEAD, =DEFINEMEAS, + =MTSECT, FREQ, (Z,) END' are present. If 'Z' is missing, check for + 'spectra' or 'rho'/'phs'! + + Within the blocks look for mandatory entries: + HEAD: 'DATAID' + DEFINEMEAS: subblocks 'HMEAS, EMEAS' + ('REFLAT, REFLONG, REFELEV' have to be present for + measured data though) + MTSECT: 'NFREQ' + FREQ: non empty list + + Z: at least one component xx, yy, xy, yx ; real, imag and var ; + containing a non-empty list + Otherwise check for presence of 'RHO'/'PHS' OR 'spectra' + + + """ + isvalid = False + found = 1 + + #adding 1 to position of find to correct for possible occurrence at + #position 0 ) + found *= np.sign(edistring.upper().find('>HEAD') + 1 ) + if found == 0: + print 'Could not find >HEAD block' + found *= np.sign(edistring.upper().find('DATAID') + 1 ) + if found == 0: + print 'Could not find DATAID block' + found *= np.sign(edistring.upper().find('>HMEAS') + 1 ) + if found == 0: + print 'Could not find >HMEAS block' + found *= np.sign(edistring.upper().find('>EMEAS') + 1 ) + if found == 0: + print 'Could not find >EMEAS block' + found *= np.sign(edistring.upper().find('NFREQ') + 1 ) + if found == 0: + print 'Could not find NFREQ block' + found *= np.sign(edistring.upper().find('>END') + 1 ) + if found == 0: + print 'Could not find END block' + found *= np.sign(edistring.upper().find('>=DEFINEMEAS') + 1 ) + if found == 0: + print 'Could not find >=DEFINEMEAS block' + #allow spectral information as alternative: + if np.sign(edistring.upper().find('>FREQ') + 1 ) == 0: + if np.sign(edistring.upper().find('>SPECTRA') + 1 ) == 0 : + found *= 0 + if np.sign(edistring.upper().find('>=MTSECT') + 1 ) == 0: + if np.sign(edistring.upper().find('>=SPECTRASECT') + 1 ) == 0: + found *= 0 + + + if found < 1 : + print 'Could not find all mandatory sections for a valid EDI file!\n'+\ + '(Most basic version must contain: "HEAD, =DEFINEMEAS, =MTSECT'+\ + 'or =SPECTRASECT, FREQ or SPECTRA, (Z,) END") ' + return False + + #checking for non empty freq list: + freq_start_idx = edistring.upper().find('>FREQ') + next_block_start = edistring.upper().find('>',freq_start_idx + 1) + string_dummy_2 = edistring[freq_start_idx:next_block_start] + lo_string_dummy_2 = string_dummy_2.strip().split() + #check, if there are actually one/some valid numbers: + n_numbers = 0 + for i in lo_string_dummy_2: + try: + n = float(i) + n_numbers +=1 + except: + continue + + if n_numbers == 0: + print MTex.MTpyError_edi_file('Problem in FREQ block: no frequencies '+\ + 'found...checking for spectra instead') + #found *= 0 + #Check for data entry following priority: + # 1. Z + z_found = 0 + rhophi_found = 0 + spectra_found = 0 + + compstrings = ['ZXX','ZXY','ZYX','ZYY'] + Z_entries = ['R','I','.VAR'] + + for comp in compstrings: + n_entries = 0 + + for zentry in Z_entries: + searchstring = '>'+comp+zentry + z_comp_start_idx = edistring.upper().find(searchstring) + if z_comp_start_idx < 0: + continue + #found *= np.sign(z_comp_start_idx + 1 ) + #checking for non empty value list: + next_block_start = edistring.upper().find('>',z_comp_start_idx+1) + string_dummy_1 = edistring[z_comp_start_idx:next_block_start] + lo_string_dummy_1 = string_dummy_1.strip().split() + n_numbers = 0 + for i in lo_string_dummy_1: + try: + n = float(i) + n_numbers +=1 + except: + continue + + if n_numbers == 0: + print MTex.MTpyError_edi_file('Error in {0}'.format(comp+\ + zentry)+\ + 'block: no values found') + continue + + if zentry in ['R','I']: + n_entries += 1 + if n_entries > 1: + z_found += 1 + + + # If no Z entry is found continue searching for RhoPhase information + # 2. RHO,PHS + if z_found == 0: + + rhophistrings = ['RHO','PHS'] + compstrings = ['XX','XY','YX','YY'] + + for comp in compstrings: + n_entries = 0 + for rp in rhophistrings: + sectionhead = rp + comp + try: + temp_string = _cut_sectionstring(edistring,sectionhead) + lo_vals = [] + t0 = temp_string.strip().split('\n')[0] + n_dummy = int(float(t0.split('//')[1].strip())) + t1 = temp_string.strip().split('\n')[1:] + for j in t1: + lo_j = j.strip().split() + for k in lo_j: + try: + lo_vals.append(float(k)) + except: + pass + if len(lo_vals) == 0: + raise + except: + continue + + n_entries += 1 + if n_entries > 1 : + rhophi_found += 1 + + # If neither Z nor RHO/PHS entries are found continue searching for + #spectra information + # 3. spectra + if z_found == 0 and rhophi_found == 0: + + spectrasect = _cut_sectionstring(edistring, '=SPECTRASECT') + if len(spectrasect) == 0 : + found *=0 + dummy4 = spectrasect.upper().find('NCHAN') + n_chan = int(float( + spectrasect[dummy4:].strip().split('=')[1].split()[0])) + + if n_chan not in [4,5,6,7]: + found *= 0 + + dummy5 = spectrasect.upper().find('NFREQ') + n_freq = int(float( + spectrasect[dummy5:].strip().split('=')[1].split()[0])) + + firstspectrum = _cut_sectionstring(edistring, 'SPECTRA') + if len(firstspectrum) == 0 : + found *=0 + + no_values = int(float( + firstspectrum.split('\n')[0].strip().split('//')[1])) + + if firstspectrum.upper().find('FREQ') <0 : + found *= 0 + + if not n_chan**2 == no_values: + found *= 0 + + lo_valuelines = firstspectrum.split('\n')[1:] + dummy6 = '' + for i in lo_valuelines: + dummy6 += (' '+i) + + if not len(dummy6.split()) == no_values: + found *= 0 + + + if not edistring.upper().count('>SPECTRA') == n_freq: + found *= 0 + if found > 0: + print 'Found spectra data !!' + spectra_found = 1 + + if z_found == 0 and rhophi_found == 0 and spectra_found == 0 : + print 'ERROR - no data found in terms of "Z" or "RHO/PHS" or '+\ + '"SPECTRA" - reading of multiple stations is not supported (yet)!' + found *= 0 + + if found > 0: isvalid = True + + return isvalid + + + +def _build_id_channel_dict(lo_hmeas_emeas): + """ + build a dictionary for emeas and hmeas + """ + + id_dict = {} + + for line in lo_hmeas_emeas: + line = line.split() + if len(''.join(line).strip()) == 0: + continue + + channel = _find_key_value('CHTYPE','=',' '.join(line),valuelength=2) + ID = _find_key_value('ID','=',' '.join(line)) + id_dict[ID] = channel + + return id_dict + +def _find_key_value(key, separator, instring, valuelength=None): + """ + find a key value in a given string + """ + + line = instring.strip().split() + value = None + #loop over list/line elements + for idx, element in enumerate(line): + #if keyword is not found in entry: + if element.upper().find(key.upper()) < 0: + continue + #else check, if the separator is present in the same element (equiv. + #to no spacing) + if element.upper().find(separator) >= 0: + + #, if the splitting worked out + if len(element.split(separator)) == 2 : + #if all fine until now, read in the part after the separator + #as value + value = element.split(separator)[1].upper() + + #if the separator was at the end of the element, read the next + #element as value + if len(element.split(separator)[1]) == 0 : + value = line[idx+1] + + #else, the separator is in the next element + else: + #check, if the next line is entirely defined by separator -> + #value must be one later + if line[idx+1] == separator: + value = line[idx+2] + #else, cut off the separator from the value + else: + value = line[idx+1].split(separator)[1] + #check for correct length of value, if specified + if valuelength is not None: + if len(value) != valuelength : + continue + + return value + + + +def spectra2z(data, avgt=None, channellist=None): + """ + Convert data from spectral form into Z - for one fixed freq. + + Input: + spectral data array, real-valued, n x n sized + degrees of freedom, equiv. to 'AVGT' (number of averaged time windows) + + Output: + Z array, complex valued, 2x2 sized + (Tipper array, complex valued, 2 x 1 sized) <- if HZ is present + + note: if n>5, remote reference is assumed, so the last 2 channels + are interpreted as 'HX/HY-remote' + otherwise, self-referencing is applied + """ + + z_array = np.zeros((2,2), 'complex') + zerr_array = np.zeros((2,2),'float') + + S = np.zeros(data.shape, 'complex') + tipper_array = None + tippererr_array = None + + #in case the components are in a crazy order + comps = ['HX', 'HY', 'HZ', 'EX', 'EY'] + idx = [] + for c in comps: + if c not in channellist: + idx.append(None) + continue + + idx.append(channellist.index(c)) + + #if remote ref. is applied, take the last two columns as rem ref for HX, + #Hy + if data.shape[0] in [6,7]: + idx.append(data.shape[0]-2) + idx.append(data.shape[0]-1) + elif data.shape[0] < 6 : + idx.append(0) + idx.append(1) + + + #idx contains the indices/positions of the components within the data + #matrix. The entries are in the order + # HX, HY, HZ, EX, EY, HXrem, HYrem + # if HY is not present, the list entry is a NONE + + #build upper right triangular matrix with compex valued entries + for i in range(data.shape[0]): + for j in range(i,data.shape[0]): + if i == j : + S[i,j] = ( data[i,j]) + else: + #minus sign for complex conjugation + # original spectra data are of form , but we need + # the order ... + # this is achieved by complex conjugation of the original entries + S[i,j] = np.complex( data[j,i] , -data[i,j] ) + #keep complex conjugated entries in the lower triangular matrix: + S[j,i] = np.complex( data[j,i] , +data[i,j] ) + + + + #use formulas from Bahr/Simpson to convert the Spectra into Z entries + # the entries of S are sorted like + # + # + # ..... + + # note: the sorting can be influenced by wrong order of indices - + # the list 'idx' takes care of that + + Zdet = ( S[idx[0],idx[5]] * S[idx[1],idx[6]] - S[idx[0],idx[6]] *\ + S[idx[1],idx[5]] ) + + z_array[0,0] = S[idx[3],idx[5]] * S[idx[1],idx[6]] - S[idx[3],idx[6]] *\ + S[idx[1],idx[5]] + z_array[0,1] = S[idx[3],idx[6]] * S[idx[0],idx[5]] - S[idx[3],idx[5]] *\ + S[idx[0],idx[6]] + z_array[1,0] = S[idx[4],idx[5]] * S[idx[1],idx[6]] - S[idx[4],idx[6]] *\ + S[idx[1],idx[5]] + z_array[1,1] = S[idx[4],idx[6]] * S[idx[0],idx[5]] - S[idx[4],idx[5]] *\ + S[idx[0],idx[6]] + + z_array /= Zdet + + + #if HZ information is present: + if data.shape[0] %2 != 0: + tipper_array = np.zeros((1,2),dtype=np.complex) + tipper_array[0,0] = S[idx[2],idx[5]] * S[idx[1],idx[6]] - \ + S[idx[2],idx[6]] * S[idx[1],idx[5]] + tipper_array[0,1] = S[idx[2],idx[6]] * S[idx[0],idx[5]] - \ + S[idx[2],idx[5]] * S[idx[0],idx[6]] + + tipper_array /= Zdet + + if avgt is None: + print 'Information on uncertainties (AVGT value) missing -- cannot calculate errors' + return z_array, tipper_array, None, None + + if avgt <= 4: + print 'Warning -- Information on uncertainties insufficient (AVGT <= 4)' + return z_array, tipper_array, None, None + + + #calculate error using formulas in Bahr&Simpson, Appendix 4. + # BUT: using 68% quantil to be consistent with general error bars, which + # are usually rather 1 sigma of a normal distribution + + # BUT: needs scipy.stats.distributions providing the Fisher distribution + try: + import scipy.stats.distributions as ssd + except: + print 'module "scipy.stats.distributions" not found -- cannot calculate errors' + return z_array, tipper_array, None, None + + + zerr_array,tippererr_array = _spectraerr2zerr(S,idx,z_array,tipper_array,avgt,ssd) + + del ssd + + return z_array, tipper_array, zerr_array, tippererr_array + + +def _spectraerr2zerr(S,idx,Z,Tipper,avgt,ssd): + """calculating spectral error for one frequency + + input: NxN complex valued matrix. Important entries containing remote reference + information are in the last two columns. + + Errors do only depend on the station - no remote reference used here! + + output: + 2-tuple: [2,2] array with errors for Z , [1,2] array with errors for tipper + + """ + zerr_array = np.zeros((2,2)) + + + Zdet = np.real (S[idx[0],idx[0]] * S[idx[1],idx[1]] - np.abs(S[idx[0],idx[1]])**2) + #split up into three steps: first for Ex component, second for Ey, and then Tipper + + # 68% Quantil of the Fisher distribution: + sigma_quantil = ssd.f.ppf(0.68,4,avgt-4) + + #1) Ex + a = S[idx[3],idx[0]] * S[idx[1],idx[1]] - S[idx[3],idx[1]] * S[idx[1],idx[0]] + b = S[idx[3],idx[1]] * S[idx[0],idx[0]] - S[idx[3],idx[0]] * S[idx[0],idx[1]] + a /= Zdet + b /= Zdet + + psi_squared = np.real(1./np.real(S[idx[3],idx[3]]) * (a*S[idx[0],idx[3]]+b*S[idx[1],idx[3]])) + epsilon_squared = 1.-psi_squared + + scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[3],idx[3]]) + zerr_array[0,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) + zerr_array[0,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) + + + #2) Ey + a = S[idx[4],idx[0]] * S[idx[1],idx[1]] - S[idx[4],idx[1]] * S[idx[1],idx[0]] + b = S[idx[4],idx[1]] * S[idx[0],idx[0]] - S[idx[4],idx[0]] * S[idx[0],idx[1]] + a /= Zdet + b /= Zdet + + psi_squared = np.real(1./np.real(S[idx[4],idx[4]]) * (a*S[idx[0],idx[4]]+b*S[idx[1],idx[4]])) + epsilon_squared = 1.-psi_squared + + scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[4],idx[4]]) + zerr_array[1,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) + zerr_array[1,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) + + tippererr_array = None + + if Tipper is not None: + tippererr_array = np.zeros((1,2)) + #3) Tipper + a = S[idx[2],idx[0]] * S[idx[1],idx[1]] - S[idx[2],idx[1]] * S[idx[1],idx[0]] + b = S[idx[2],idx[1]] * S[idx[0],idx[0]] - S[idx[2],idx[0]] * S[idx[0],idx[1]] + a /= Zdet + b /= Zdet + + psi_squared = np.real(1./np.real(S[idx[2],idx[2]]) * (a* S[idx[0],idx[2]] + b *S[idx[1],idx[2]])) + epsilon_squared = 1.-psi_squared + scaling = sigma_quantil*4/(avgt-4.)*epsilon_squared/Zdet*np.real(S[idx[2],idx[2]]) + + tippererr_array[0,0] = np.sqrt(scaling*np.real(S[idx[1],idx[1]])) + tippererr_array[0,1] = np.sqrt(scaling*np.real(S[idx[0],idx[0]])) + + + return zerr_array, tippererr_array + + +def _make_z_dict(Z_object): + """ + make a z dictionary from a z-object + """ + + z_dict = {} + if Z_object.z is None: + return None + + compstrings = ['ZXX','ZXY','ZYX','ZYY'] + Z_entries = ['R','I','.VAR'] + for idx_comp,comp in enumerate(compstrings): + for idx_zentry,zentry in enumerate(Z_entries): + section = comp + zentry + + if idx_zentry < 2: + data = Z_object.z[:,idx_comp/2, idx_comp%2] + if idx_zentry == 0 : + data = np.real(data) + else: + data = np.imag(data) + else: + data = Z_object.zerr[:,idx_comp/2, idx_comp%2] + + z_dict[section] = data + + + return z_dict + + +def _make_tipper_dict(Tipper_object): + """ + make a dictionary from tipper object. + """ + + if Tipper_object.tipper is None: + return None + + tipper_dict = {} + compstrings = ['TX','TY'] + T_entries = ['R','I','VAR'] + for idx_comp,comp in enumerate(compstrings): + for idx_tentry,tentry in enumerate(T_entries): + section = comp + tentry + + if idx_tentry < 2: + data = Tipper_object.tipper[:,idx_comp/2, idx_comp%2] + if idx_tentry == 0 : + data = np.real(data) + else: + data = np.imag(data) + else: + data = Tipper_object.tippererr[:,idx_comp/2, idx_comp%2] + + tipper_dict[section] = data + + + return tipper_dict \ No newline at end of file diff --git a/mtpy/core/mt.py b/mtpy/core/mt.py index fa6a8259..6a8bb4b2 100644 --- a/mtpy/core/mt.py +++ b/mtpy/core/mt.py @@ -45,10 +45,12 @@ class MT(object): """ Basic object containing all information necessary for a single MT station - including: + including + Attributes + ------------ ===================== ===================================================== - **Attribute** Description + Attribute Description ===================== ===================================================== name station name lat station latitude in decimal degrees @@ -60,7 +62,6 @@ class MT(object): east station location in UTM coordinates assuming WGS-84 north station location in UTM coordinates assuming WGS-84 utm_zone zone of UTM coordinates assuming WGS-84 - data_type | 'z' | 'spectra' | 'resphase' | ===================== ===================================================== .. note:: @@ -78,7 +79,7 @@ class MT(object): * can input the following key words to fill values in Z and Tipper: - z_object --> mtpy.core.z.Z object - z_array --> np.ndarray(n_freq, 2, 2, dtype='complex') - - zerr_array --> np.ndarray(n_freq, 2, 2) + - z_err_array --> np.ndarray(n_freq, 2, 2) - freq --> np.ndarray(n_freq) - resistivity --> np.ndarray(n_freq, 2, 2) (linear scale) - resistivity_err --> np.ndarray(n_freq, 2, 2) @@ -86,14 +87,17 @@ class MT(object): - phase_err --> np.ndarray(n_freq, 2, 2) - tipper_object --> mtpy.core.z.Tipper object - tipper --> np.ndarray(n_freq, 1, 2, dtype='complex') - - tippererr --> np.ndarray(n_freq, 1, 2) + - tipper_err --> np.ndarray(n_freq, 1, 2) + Methods + ------------ ===================== ===================================================== - **methods** Description + Methods Description ===================== ===================================================== write_edi_file write an edi_file from the MT data remove_distortion remove distortion from the data following Bibby et al. [2005] + remove_static_shift Shifts apparent resistivity curves up or down interpolate interpolates the impedance tensor and induction vectors onto a specified frequency array. plot_mt_response plots the MT response using mtpy.imaging.plotresponse @@ -102,42 +106,43 @@ class MT(object): Examples ------------------- - - * Read in Spectra data: + :Read from an .edi File: :: >>> import mtpy.core.mt as mt - >>> mt_obj = mt.MT(r"/home/edi_files/mt_01.edi", data_type='spectra') + >>> mt_obj = mt.MT(r"/home/edi_files/s01.edi") - * Plot MT response: + :Plot MT response: :: - >>> import mtpy.core.mt as mt - >>> mt_obj = mt.MT(r"/home/edi_files/s01.edi") >>> # plot all components of mt response and phase tensor >>> plot_obj = mt_obj.plot_mt_response(plot_num=2, plot_pt='y') >>> # plot the tipper as well >>> plot_obj.plot_tipper = 'yri' >>> plot_obj.redraw_plot() - * Remove Distortion: + :Remove Distortion: :: - >>> import mtpy.core.mt as mt - >>> mt_obj = mt.MT(r"/home/edi_files/s01.edi") >>> D, new_z = mt_obj.remove_distortion() >>> print D - np.array([[0.1, .9], - [0.98, .43]]) + >>> np.array([[0.1, .9], + >>> ... [0.98, .43]]) >>> # write a new edi file >>> mt_obj.write_edi_file(new_Z=new_z) - wrote file to: /home/edi_files/s01_RW.edi + >>> wrote file to: /home/edi_files/s01_RW.edi + + :Remove Static Shift: :: + + >>> new_z_obj = mt_obj.remove_static_shift(ss_x=.78, ss_y=1.1) + >>> # write a new edi file + >>> mt_obj.write_edi_file(new_fn=r"/home/edi_files/s01_ss.edi", + >>> new_Z=new_z) + >>> wrote file to: /home/edi_files/s01_ss.edi - * Interpolate: - - >>> import mtpy.core.mt as mt - >>> mt_obj = mt.MT(r"/home/edi_files/s01.edi") + :Interpolate: :: + >>> new_freq = np.logspace(-3, 3, num=24) >>> new_z_obj, new_tipper_obj = mt_obj.interpolate(new_freq) >>> mt_obj.write_edi_file(new_Z=new_z_obj, new_Tipper=new_tipper_obj) - wrote file to: /home/edi_files/s01_RW.edi + >>> wrote file to: /home/edi_files/s01_RW.edi """ def __init__(self, fn=None, **kwargs): @@ -153,7 +158,6 @@ def __init__(self, fn=None, **kwargs): self._east = kwargs.pop('east', None) self._north = kwargs.pop('north', None) self._rotation_angle = kwargs.pop('rotation_angle', 0) - self._data_type = kwargs.pop('data_type', 'z') #provide key words to fill values if an edi file does not exist if 'z_object' in kwargs: @@ -162,8 +166,8 @@ def __init__(self, fn=None, **kwargs): if 'z_array' in kwargs: self._Z.z = kwargs['z_array'] - if 'zerr_array' in kwargs: - self._Z.zerr = kwargs['zerr_array'] + if 'z_err_array' in kwargs: + self._Z.z_err = kwargs['z_err_array'] if 'freq' in kwargs: self._Z.freq = kwargs['freq'] @@ -175,8 +179,8 @@ def __init__(self, fn=None, **kwargs): if 'tipper' in kwargs: self._Tipper.tipper = kwargs['tipper'] - if 'tippererr' in kwargs: - self._Tipper.tippererr = kwargs['tippererr'] + if 'tipper_err' in kwargs: + self._Tipper.tipper_err = kwargs['tipper_err'] if 'resisitivity' in kwargs: self._Z.resistivity = kwargs['resistivity'] @@ -196,14 +200,9 @@ def __init__(self, fn=None, **kwargs): self.zinv = None self._utm_ellipsoid = 23 - #--> read in the edi file if its given + #--> read in the file name given if self._fn is not None: - if self._fn[-3:] == 'edi': - self._read_edi_file() - else: - not_fn = self._fn[os.path.basename(self._fn).find['.']:] - raise MTex.MTpyError_file_handling('File '+\ - 'type {0} not supported yet.'.format(not_fn)) + self._set_fn(fn) #========================================================================== # set functions @@ -409,6 +408,7 @@ def _get_ll(self): self.utm_zone) + #--> read in edi file def _read_edi_file(self): """ @@ -416,7 +416,7 @@ def _read_edi_file(self): """ - self.edi_object = MTedi.Edi(self.fn, datatype=self._data_type) + self.edi_object = MTedi.Edi(edi_fn=self.fn) self.lat = self.edi_object.lat self.lon = self.edi_object.lon self.elev = self.edi_object.elev @@ -445,7 +445,8 @@ def write_edi_file(self, new_fn=None, new_Z=None, new_Tipper=None): Similarly, the new function name does not change the MT objecte fn attribute but does change MT.edi_object.fn attribute. - **Arguments**: + Arguments + -------------- *new_fn* : string full path to new file name @@ -458,14 +459,14 @@ def write_edi_file(self, new_fn=None, new_Z=None, new_Tipper=None): """ if new_Z is not None: - self.edi_object.set_Z(new_Z) + self.edi_object.Z = new_Z else: - self.edi_object.set_Z(self._Z) + self.edi_object.Z = self._Z if new_Tipper is not None: - self.edi_object.set_Tipper(new_Tipper) + self.edi_object.Tipper = new_Tipper else: - self.edi_object.set_Tipper(self._Tipper) + self.edi_object.Tipper = self._Tipper self.edi_object.lat = self._lat self.edi_object.lon = self._lon @@ -475,7 +476,7 @@ def write_edi_file(self, new_fn=None, new_Z=None, new_Tipper=None): if new_fn is None: new_fn = self.fn[:-4]+'_RW'+'.edi' - self.edi_object.writefile(new_fn) + self.edi_object.write_edi_file(new_edi_fn=new_fn) #--> check the order of frequencies @@ -490,30 +491,32 @@ def _check_freq_order(self): if self.Z.freq[0] < self.Z.freq[1]: print 'Flipping arrays to be ordered from short period to long' self.Z.z = self.Z.z.copy()[::-1] - self.Z.zerr = self.Z.zerr.copy()[::-1] + self.Z.z_err = self.Z.z_err.copy()[::-1] self.Z.freq = self.Z.freq.copy()[::-1] if self.Tipper.tipper is not None: if self.Tipper.freq[0] < self.Tipper.freq[1]: self.Tipper.tipper = self.Tipper.tipper.copy()[::-1] - self.Tipper.tippererr = self.Tipper.tippererr.copy()[::-1] + self.Tipper.tipper_err = self.Tipper.tipper_err.copy()[::-1] self.Tipper.freq = self.Tipper.freq.copy()[::-1] - def remove_distortion(self): + def remove_distortion(self, num_freq=None): """ remove distortion following Bibby et al. [2005]. - if you want to write a new edi file with distortion removed you can - do this by: + Example + ---------- + :Remove Distortion and Write New .edi: :: >>> import mtpy.core.mt as mt >>> mt1 = mt.MT(fn=r"/home/mt/edi_files/mt01.edi") >>> D, new_z = mt1.remove_distortion() >>> mt1.write_edi_file(new_fn=r"/home/mt/edi_files/mt01_dr.edi",\ - new_Z=new_z) + >>> new_Z=new_z) """ dummy_z_obj = MTz.copy.deepcopy(self.Z) - D, new_z_object = MTdistortion.remove_distortion(z_object=dummy_z_obj) + D, new_z_object = MTdistortion.remove_distortion(z_object=dummy_z_obj, + num_freq=num_freq) return D, new_z_object @@ -530,7 +533,8 @@ def remove_static_shift(self, ss_x=1.0, ss_y =1.0): * Z0 = S^(-1) * Z - **Arguments** + Arguments + ------------ *ss_x* : float correction factor for x component @@ -538,13 +542,26 @@ def remove_static_shift(self, ss_x=1.0, ss_y =1.0): *ss_y* : float correction factor for y component - **Returns** + .. note:: The factors are in resistivity scale, so the + entries of the matrix "S" need to be given by their + square-roots! + + Returns + ------------ *new_z* : new z array - .. note:: The factors are in resistivity scale, so the - entries of the matrix "S" need to be given by their - square-roots! + + + Examples + ---------- + :Remove Static Shift: :: + + >>> import mtpy.core.mt as mt + >>> mt_obj = mt.MT(r"/home/mt/mt01.edi") + >>> new_z_obj = mt.remove_static_shift(ss_x=.5, ss_y=1.2) + >>> mt_obj.write_edi_file(new_fn=r"/home/mt/mt01_ss.edi", + >>> ... new_Z=new_z_obj) """ s_array, new_z = self.Z.no_ss(reduce_res_factor_x=ss_x, @@ -558,9 +575,11 @@ def remove_static_shift(self, ss_x=1.0, ss_y =1.0): def interpolate(self, new_freq_array): """ - interpolate the impedance tensor onto different frequencies. + Interpolate the impedance tensor onto different frequencies - **Arguments** + + Arguments + ------------ *new_freq_array* : np.ndarray a 1-d array of frequencies to interpolate on @@ -568,7 +587,9 @@ def interpolate(self, new_freq_array): frequency range, anything outside and an error will occur. - **Returns** : + Returns + ----------- + *new_z_object* : mtpy.core.z.Z object a new impedance object with the corresponding frequencies and components. @@ -577,9 +598,12 @@ def interpolate(self, new_freq_array): a new tipper object with the corresponding frequencies and components. - - :Example: :: - >>> # make a new edi file for interpolated frequencies + + Examples + ---------- + + :Interpolate: :: + >>> import mtpy.core.mt as mt >>> edi_fn = r"/home/edi_files/mt_01.edi" >>> mt_obj = mt.MT(edi_fn) @@ -587,8 +611,8 @@ def interpolate(self, new_freq_array): >>> new_freq = np.logspace(-3, 3, 24) >>> new_z_object, new_tipper_obj = mt_obj.interpolate(new_freq) >>> mt_obj.write_edi_file(new_fn=r"/home/edi_files/mt_01_interp.edi", - >>> new_Z=new_z_object, - >>> new_Tipper=new_tipper_object) + >>> ... new_Z=new_z_object, + >>> ... new_Tipper=new_tipper_object) """ # if the interpolation module has not been loaded return @@ -615,12 +639,12 @@ def interpolate(self, new_freq_array): # make a new Z object new_Z = MTz.Z(z_array=np.zeros((new_freq_array.shape[0], 2, 2), dtype='complex'), - zerr_array=np.zeros((new_freq_array.shape[0], 2, 2)), + z_err_array=np.zeros((new_freq_array.shape[0], 2, 2)), freq=new_freq_array) new_Tipper = MTz.Tipper(tipper_array=np.zeros((new_freq_array.shape[0], 1, 2), dtype='complex'), - tippererr_array=np.zeros((new_freq_array.shape[0], 1, 2)), + tipper_err_array=np.zeros((new_freq_array.shape[0], 1, 2)), freq=new_freq_array) # interpolate the impedance tensor @@ -633,9 +657,9 @@ def interpolate(self, new_freq_array): new_Z.z[:, ii, jj] = z_func_real(new_freq_array)+\ 1j*z_func_imag(new_freq_array) - z_func_err = spi.interp1d(self.Z.freq, self.Z.zerr[:, ii, jj], + z_func_err = spi.interp1d(self.Z.freq, self.Z.z_err[:, ii, jj], kind='slinear') - new_Z.zerr[:, ii, jj] = z_func_err(new_freq_array) + new_Z.z_err[:, ii, jj] = z_func_err(new_freq_array) # if there is not tipper than skip if self.Tipper.tipper is None: @@ -653,17 +677,20 @@ def interpolate(self, new_freq_array): 1j*t_func_imag(new_freq_array) t_func_err = spi.interp1d(self.Z.freq, - self.Tipper.tippererr[:, 0, jj], + self.Tipper.tipper_err[:, 0, jj], kind='slinear') - new_Tipper.tippererr[:, 0, jj] = t_func_err(new_freq_array) + new_Tipper.tipper_err[:, 0, jj] = t_func_err(new_freq_array) return new_Z, new_Tipper def plot_mt_response(self, **kwargs): """ - returns a mtpy.imaging.plotresponse.PlotResponse object + Returns a mtpy.imaging.plotresponse.PlotResponse object + + Examples + ------------ + :Plot Response: :: - :Example: :: >>> mt_obj = mt.MT(edi_file) >>> pr = mt.plot_mt_response() >>> # if you need more infor on plot_mt_response @@ -675,8 +702,6 @@ def plot_mt_response(self, **kwargs): return plot_obj - - diff --git a/mtpy/core/z.py b/mtpy/core/z.py index 928c6dd6..e7c4364c 100644 --- a/mtpy/core/z.py +++ b/mtpy/core/z.py @@ -9,8 +9,8 @@ --------- * Z --> deals with impedance tesnsor. * Tipper --> deals with Tipper matrix. - - + + LK, JP 2013 """ @@ -22,56 +22,50 @@ import mtpy.utils.calculator as MTcc import mtpy.utils.exceptions as MTex -reload(MTcc) - #================================================================= #------------------------ class Z(object): """ - Z class - generates an impedance tensor (Z-) object. + Z class - generates an impedance tensor (Z) object. - Methods include rotations/combinations of Z instances, as well as - calculation of invariants, inverse, amplitude/phase,... - Calculation of invariants, inverse, amplitude/phase,... + Z is a complex array of the form (n_freq, 2, 2), + with indices in the following order: - - Z is a complex array of the form (n_freq, 2, 2), - with indices in the following order: - - - Zxx: (0,0) + - Zxx: (0,0) - Zxy: (0,1) - - Zyx: (1,0) - - Zyy: (1,1) + - Zyx: (1,0) + - Zyy: (1,1) All errors are given as standard deviations (sqrt(VAR)) - + Arguments - + ------------ + **z_array** : numpy.ndarray(n_freq, 2, 2) array containing complex impedance values - - **zerr_array** : numpy.ndarray(n_freq, 2, 2) - array containing error values (standard deviation) - of impedance tensor elements + + **z_err_array** : numpy.ndarray(n_freq, 2, 2) + array containing error values (standard deviation) + of impedance tensor elements **freq** : np.ndarray(n_freq) array of frequency values corresponding to impedance tensor elements. - + =============== =========================================================== Attributes Description =============== =========================================================== - freq array of frequencies corresponding to elements of z + freq array of frequencies corresponding to elements of z rotation_angle angle of which data is rotated by z impedance tensor - zerr estimated errors of impedance tensor + z_err estimated errors of impedance tensor resistivity apparent resisitivity estimated from z in Ohm-m resistivity_err apparent resisitivity error phase impedance phase (deg) phase_err error in impedance phase =============== =========================================================== - + =================== ======================================================= Methods Description =================== ======================================================= @@ -79,24 +73,24 @@ class Z(object): invariants calculates the invariants of z inverse calculates the inverse of z no_distortion removes distortion given a distortion matrix - no_ss removes static shift by assumin Z = S * Z_0 + no_ss removes static shift by assumin Z = S * Z_0 no_ss_no_distortion not implemented yet norm calculates the norm of Z - only1d zeros diagonal components and computes - the absolute valued mean of the off-diagonal + only1d zeros diagonal components and computes + the absolute valued mean of the off-diagonal components. - only2d zeros diagonal components - res_phase computes resistivity and phase + only2d zeros diagonal components + res_phase computes resistivity and phase rotate rotates z positive clockwise, angle assumes North is 0. - set_res_phase recalculates z and zerr, needs attribute freq + set_res_phase recalculates z and z_err, needs attribute freq skew calculates the invariant skew (off diagonal trace) trace calculates the trace of z =================== ======================================================= - + Example ----------- - + >>> import mtpy.core.z as mtz >>> import numpy as np >>> z_test = np.array([[0+0j, 1+1j], [-1-1j, 0+0j]]) @@ -107,50 +101,50 @@ class Z(object): """ - def __init__(self, z_array=None, zerr_array=None, freq=None): + def __init__(self, z_array=None, z_err_array=None, freq=None): """ Initialise an instance of the Z class. Arguments - + **z_array** : numpy.ndarray(n_freq, 2, 2) array containing complex impedance values - - **zerr_array** : numpy.ndarray(n_freq, 2, 2) - array containing error values (standard deviation) - of impedance tensor elements - + + **z_err_array** : numpy.ndarray(n_freq, 2, 2) + array containing error values (standard deviation) + of impedance tensor elements + **freq** : np.ndarray(n_freq) array of frequency values corresponding to impedance tensor elements. Initialises the attributes with None - """ + """ self._z = z_array - self._zerr = zerr_array + self._z_err = z_err_array self._freq = freq if z_array is not None: - if len(z_array.shape) == 2 and z_array.shape == (2,2): - if z_array.dtype in ['complex', 'float','int']: + if len(z_array.shape) == 2 and z_array.shape == (2, 2): + if z_array.dtype in ['complex', 'float', 'int']: self._z = np.zeros((1, 2, 2), 'complex') - self._z[0] = z_array + self._z[0] = z_array - if zerr_array is not None: - if len(zerr_array.shape) == 2 and zerr_array.shape == (2,2): - if zerr_array.dtype in ['complex', 'float','int']: - self._zerr = np.zeros((1, 2, 2), 'complex') - self._zerr[0] = zerr_array + if z_err_array is not None: + if len(z_err_array.shape) == 2 and z_err_array.shape == (2, 2): + if z_err_array.dtype in ['complex', 'float', 'int']: + self._z_err = np.zeros((1, 2, 2), 'complex') + self._z_err[0] = z_err_array self.rotation_angle = 0. if self._z is not None: self.rotation_angle = np.zeros((len(self._z))) - + #make attributes for resistivity and phase - self._resistivity= None + self._resistivity = None self._resistivity_err = None - + self._phase = None self._phase_err = None if self._freq is not None: @@ -164,25 +158,25 @@ def _set_freq(self, lo_freq): Arguments ------------- - + **lo_freq** : list or array of frequnecies (Hz) No test for consistency! """ if not np.iterable(lo_freq): - lo_freq= np.array([lo_freq]) + lo_freq = np.array([lo_freq]) if self.z is not None: if len(self.z.shape) == 3: if len(lo_freq) is not len(self.z): print ('length of freq list/array not correct' - '({0} instead of {1})'.format(len(lo_freq), + '({0} instead of {1})'.format(len(lo_freq), len(self.z))) return - + self._freq = np.array(lo_freq) - + #for consistency recalculate resistivity and phase if self._z is not None: try: @@ -191,13 +185,13 @@ def _set_freq(self, lo_freq): print 'Need to input frequency array' def _get_freq(self): - if self._freq is None: - return None - else: - return np.array(self._freq) - + if self._freq is None: + return None + else: + return np.array(self._freq) + freq = property(_get_freq, _set_freq, doc='array of frequencies in Hz') - + #----impedance tensor ----------------------------------------------------- def _set_z(self, z_array): """ @@ -205,35 +199,35 @@ def _set_z(self, z_array): Arguments ------------- - - **z_array** : np.ndarray(nfreq, 2, 2) + + **z_array** : np.ndarray(nfreq, 2, 2) complex impedance tensor array Test for shape, but no test for consistency! Nulling the rotation_angle - """ + """ try: - if len(z_array.shape) == 3 and z_array.shape[1:3] == (2,2): + if len(z_array.shape) == 3 and z_array.shape[1:3] == (2, 2): if z_array.dtype in ['complex', 'float', 'int']: self._z = z_array - except: + except IndexError: try: - if len(z_array.shape) == 2 and z_array.shape == (2,2): - if z_array.dtype in ['complex', 'float','int']: - self._z = np.zeros((1,2,2),'complex') - self._z[0] = z_array - except: + if len(z_array.shape) == 2 and z_array.shape == (2, 2): + if z_array.dtype in ['complex', 'float', 'int']: + self._z = np.zeros((1, 2, 2), 'complex') + self._z[0] = z_array + except IndexError: print ('provided Z array does not have correct dimensions' '- Z unchanged') - + if type(self.rotation_angle) is float: - self.rotation_angle = np.array([self.rotation_angle - for ii in self._z]) - + self.rotation_angle = np.repeat(self.rotation_angle, + len(self._z)) + #for consistency recalculate resistivity and phase if self._z is not None: try: @@ -241,50 +235,50 @@ def _set_z(self, z_array): except IndexError: print 'Need to input frequency array' - + def _get_z(self): return self._z - + z = property(_get_z, _set_z, doc="impedance tensor") #----impedance error----------------------------------------------------- - def _set_zerr(self, zerr_array): + def _set_z_err(self, z_err_array): """ - Set the attribute zerr + Set the attribute z_err Arguments ------------ - - **zerr_array** : np.ndarray(nfreq, 2, 2) + + **z_err_array** : np.ndarray(nfreq, 2, 2) error of impedance tensor array as standard deviation Test for shape, but no test for consistency! - """ - if zerr_array.shape!=self.z.shape: - print 'zerr_array shape {0} is not same shape as z {1}'.format( - zerr_array.shape, - self.z.shape) - self._zerr = zerr_array - + """ + if z_err_array.shape != self.z.shape: + print 'z_err_array shape {0} is not same shape as z {1}'.format( + z_err_array.shape, + self.z.shape) + self._z_err = z_err_array + #for consistency recalculate resistivity and phase - if self._zerr is not None and self._z is not None: + if self._z_err is not None and self._z is not None: try: self._compute_res_phase() except IndexError: print 'Need to input frequency array' - - def _get_zerr(self): - return self._zerr - - zerr = property(_get_zerr, _set_zerr, doc='impedance tensor error') + + def _get_z_err(self): + return self._z_err + + z_err = property(_get_z_err, _set_z_err, doc='impedance tensor error') #---real part of impedance tensor----------------------------------------- def _get_real(self): """ Return the real part of Z. - """ + """ if self.z is None: print 'z array is None - cannot calculate real' @@ -292,20 +286,20 @@ def _get_real(self): return np.real(self.z) - + def _set_real(self, real_array): """ Set the real part of 'z'. Arguments ------------- - - **real_array** : np.ndarray(nfreq, 2, 2) + + **real_array** : np.ndarray(nfreq, 2, 2) real part of impedance tensor array Test for shape, but no test for consistency! - """ + """ if (self.z is not None) and (self.z.shape != real_array.shape): print 'shape of "real" array does not match shape of'+\ @@ -313,20 +307,20 @@ def _set_real(self, real_array): return #assert real array: - if np.linalg.norm(np.imag(real_array )) != 0 : + if np.linalg.norm(np.imag(real_array)) != 0: print 'Error - array "real" is not real valued !' return - i = np.complex(0,1) + ii_arr = np.complex(0, 1) if self.z is not None: - z_new = real_array + i * self.imag() + z_new = real_array+ii_arr*self.imag() else: - z_new = real_array - + z_new = real_array + self.z = z_new - + #for consistency recalculate resistivity and phase self._compute_res_phase() @@ -345,41 +339,41 @@ def _get_imag(self): return np.imag(self.z) - + def _set_imag(self, imag_array): """ Set the imaginary part of 'z'. Arguments ------------- - - **imag_array** : np.ndarray(nfreq, 2, 2) + + **imag_array** : np.ndarray(nfreq, 2, 2) imaginary part of impedance tensor array Test for shape, but no test for consistency! - """ + """ if (self.z is not None) and (self.z.shape != imag_array.shape): print 'Error - shape of "imag" array does not match shape of'+\ 'Z array: {0} ; {1}'.format(imag_array.shape, self.z.shape) return - + #assert real array: - if np.linalg.norm(np.imag(imag_array )) != 0 : + if np.linalg.norm(np.imag(imag_array)) != 0: print 'Error - array "imag" is not real valued !' return - i = np.complex(0,1) - + i_arr = np.complex(0, 1) + if self.z is not None: - z_new = self.real() + i * imag_array + z_new = self.real()+i_arr*imag_array else: - z_new = i * imag_array + z_new = i_arr*imag_array self.z = z_new - + #for consistency recalculate resistivity and phase self._compute_res_phase() @@ -392,85 +386,100 @@ def _compute_res_phase(self): * resistivity * phase * resistivity_err - * phase_err* - - values for resistivity are in in Ohm m and phase in degrees. + * phase_err - """ + values for resistivity are in in Ohm-m and phase in degrees. + + """ if self.freq is None: print 'Need to input frequency list' return - + if self.z is None: print 'Z array is None - cannot calculate Res/Phase' - return - - + return + + self._resistivity_err = None self._phase_err = None - if self.zerr is not None: - self._resistivity_err = np.zeros_like(self.zerr) - self._phase_err = np.zeros_like(self.zerr) + if self.z_err is not None: + self._resistivity_err = np.zeros_like(self.z_err) + self._phase_err = np.zeros_like(self.z_err) self._resistivity = np.zeros_like(self.z, dtype='float') self._phase = np.zeros_like(self.z, dtype='float') + #calculate resistivity and phase - for idx_f in range(len(self.z)): - for i in range(2): - for j in range(2): - self._resistivity[idx_f,i,j] = np.abs(self.z[idx_f,i,j])**2/\ + for idx_f in range(len(self.z)): + for ii in range(2): + for jj in range(2): + self._resistivity[idx_f, ii, jj] = np.abs(self.z[idx_f, ii, jj])**2/\ self.freq[idx_f]*0.2 - self._phase[idx_f,i,j] = math.degrees(cmath.phase( - self.z[idx_f,i,j])) - - if self.zerr is not None: - - r_err, phi_err = MTcc.zerror2r_phi_error( - np.real(self.z[idx_f,i,j]), - self.zerr[idx_f,i,j], - np.imag(self.z[idx_f,i,j]), - self.zerr[idx_f,i,j]) - - - - self._resistivity_err[idx_f,i,j] = \ - 0.4*np.abs(self.z[idx_f,i,j])/\ - self.freq[idx_f]*r_err - self._phase_err[idx_f,i,j] = phi_err - - - def _get_resistivity(self): return self._resistivity - def _get_resistivity_err(self): return self._resistivity_err - def _get_phase(self): return self._phase - def _get_phase_err(self): return self._phase_err - def _set_resistivity(self, *kwargs): print "cannot be set individually - use method 'set_res_phase' !" - def _set_resistivity_err(self, *kwargs): print "cannot be set individually - use method 'set_res_phase' !" - def _set_phase(self, *kwargs): print "cannot be set individually - use method 'set_res_phase' !" - def _set_phase_err(self, *kwargs): print "cannot be set individually - use method 'set_res_phase' !" + self._phase[idx_f, ii, jj] = math.degrees(cmath.phase( + self.z[idx_f, ii, jj])) + if self.z_err is not None: + r_err, phi_err = MTcc.z_error2r_phi_error( + np.real(self.z[idx_f, ii, jj]), + self.z_err[idx_f, ii, jj], + np.imag(self.z[idx_f, ii, jj]), + self.z_err[idx_f, ii, jj]) - resistivity = property(_get_resistivity, _set_resistivity, doc='Resistivity array') - resistivity_err = property(_get_resistivity_err,_set_resistivity_err, doc='Resistivity error array') - phase = property(_get_phase,_set_phase, doc='Phase array') - phase_err = property(_get_phase_err,_set_phase_err, doc='Phase error array') - def set_res_phase(self, res_array, phase_array, reserr_array = None, - phaseerr_array = None): + self._resistivity_err[idx_f, ii, jj] = \ + 0.4*np.abs(self.z[idx_f, ii, jj])/\ + self.freq[idx_f]*r_err + self._phase_err[idx_f, ii, jj] = phi_err + + + def _get_resistivity(self): + return self._resistivity + def _get_resistivity_err(self): + return self._resistivity_err + def _get_phase(self): + return self._phase + def _get_phase_err(self): + return self._phase_err + def _set_resistivity(self, *kwargs): + print "cannot be set individually - use method 'set_res_phase'!" + def _set_resistivity_err(self, *kwargs): + print "cannot be set individually - use method 'set_res_phase'!" + def _set_phase(self, *kwargs): + print "cannot be set individually - use method 'set_res_phase'!" + def _set_phase_err(self, *kwargs): + print "cannot be set individually - use method 'set_res_phase'!" + + resistivity = property(_get_resistivity, + _set_resistivity, + doc='Resistivity array') + resistivity_err = property(_get_resistivity_err, + _set_resistivity_err, + doc='Resistivity error array') + + phase = property(_get_phase, + _set_phase, + doc='Phase array') + phase_err = property(_get_phase_err, + _set_phase_err, + doc='Phase error array') + + def set_res_phase(self, res_array, phase_array, reserr_array=None, + phaseerr_array=None): """ - Set values for resistivity (res - in Ohm m) and phase + Set values for resistivity (res - in Ohm m) and phase (phase - in degrees), including error propagation. Updates the attributes * z - * zerr + * z_err - """ - if self.z is not None: - z_new = copy.copy(self.z) + """ + if self.z is not None: + z_new = copy.copy(self.z) if self.z.shape != res_array.shape: print 'Error - shape of "res" array does not match shape'+\ @@ -484,8 +493,8 @@ def set_res_phase(self, res_array, phase_array, reserr_array = None, self.z.shape) return else: - z_new = np.zeros(res_array.shape,'complex') - + z_new = np.zeros(res_array.shape, 'complex') + if res_array.shape != phase_array.shape: print 'Error - shape of "phase" array does not match shape'+\ 'of "res" array: {0} ; {1}'.format(phase_array.shape, @@ -493,92 +502,92 @@ def set_res_phase(self, res_array, phase_array, reserr_array = None, return - if (self.freq is None) or (len(self.freq) != len(res_array)) : + if (self.freq is None) or (len(self.freq) != len(res_array)): raise MTex.MTpyError_EDI('ERROR - cannot set res without correct'+\ 'freq information - proper "freq" '+\ 'attribute must be defined') - + #assert real array: - if np.linalg.norm(np.imag(res_array )) != 0 : - raise MTex.MTpyError_inputarguments( 'Error - array "res" is not'+\ + if np.linalg.norm(np.imag(res_array)) != 0: + raise MTex.MTpyError_inputarguments('Error - array "res" is not'+\ 'real valued !') - - if np.linalg.norm(np.imag(phase_array )) != 0 : - raise MTex.MTpyError_inputarguments( 'Error - array "phase" is'+\ - 'not real valued !') - + + if np.linalg.norm(np.imag(phase_array)) != 0: + raise MTex.MTpyError_inputarguments('Error - array "phase" is'+\ + 'not real valued !') + for idx_f in range(len(z_new)): - for i in range(2): - for j in range(2): + for ii in range(2): + for jj in range(2): abs_z = np.sqrt(5 * self.freq[idx_f] *\ - res_array[idx_f,i,j]) - z_new[idx_f,i,j] = cmath.rect(abs_z, - np.radians(phase_array[idx_f,i,j])) + res_array[idx_f, ii, jj]) + z_new[idx_f, ii, jj] = cmath.rect(abs_z, + np.radians(phase_array[idx_f, ii, jj])) self.z = z_new - + #--------------------------- # error propagation: if reserr_array is None or phaseerr_array is None: return - if self.zerr is not None: - zerr_new = copy.copy(self.zerr) + if self.z_err is not None: + z_err_new = copy.copy(self.z_err) try: - if self.zerr.shape != reserr_array.shape: + if self.z_err.shape != reserr_array.shape: print 'Error - shape of "reserr" array does not match'+\ 'shape of Zerr array: {0} ; {1}'.format( reserr_array.shape, - self.zerr.shape) + self.z_err.shape) return - if self.zerr.shape != phaseerr_array.shape: + if self.z_err.shape != phaseerr_array.shape: print 'Error - shape of "phase" array does not match'+\ 'shape of Zerr array: {0} ; {1}'.format( phase_array.shape, self.z.shape) return - except: + except AttributeError: print 'Error - "phaseerr" or "reserr" is/are not array(s)'+\ '- Zerr not set' - self.zerr = None - return + self.z_err = None + return else: - zerr_new = np.zeros(reserr_array.shape,'float') + z_err_new = np.zeros(reserr_array.shape, 'float') try: if reserr_array.shape != phaseerr_array.shape: print 'Error - shape of "phase" array does not match'+\ 'shape of Zerr array: {0} ; {1}'.format( reserr_array.shape, - self.zerr.shape) + self.z_err.shape) return - except: + except AttributeError: print 'Error - "phaseerr" or "reserr" is/are not array(s) -'+\ ' Zerr not set' - return - - for idx_f in range(len(zerr_new)): - for i in range(2): - for j in range(2): - abs_z = np.sqrt(5 * self.freq[idx_f] * \ - res_array[idx_f,i,j]) - rel_error_res = reserr_array[idx_f,i,j]/\ - res_array[idx_f,i,j] + return + + for idx_f in range(len(z_err_new)): + for ii in range(2): + for jj in range(2): + abs_z = np.sqrt(5*self.freq[idx_f]*\ + res_array[idx_f, ii, jj]) + rel_error_res = reserr_array[idx_f, ii, jj]/\ + res_array[idx_f, ii, jj] #relative error varies by a factor of 0.5, which is the #exponent in the relation between them: - abs_z_error = 0.5 * abs_z * rel_error_res + abs_z_error = 0.5*abs_z*rel_error_res - zerr_new[idx_f,i,j] = max(MTcc.propagate_error_polar2rect( - abs_z, - abs_z_error, - phase_array[idx_f,i,j], - phaseerr_array[idx_f,i,j])) + z_err_new[idx_f, ii, jj] = max(MTcc.propagate_error_polar2rect( + abs_z, + abs_z_error, + phase_array[idx_f, ii, jj], + phaseerr_array[idx_f, ii, jj])) + + self.z_err = z_err_new - self.zerr = zerr_new - #for consistency recalculate resistivity and phase self._compute_res_phase() @@ -593,14 +602,14 @@ def _get_inverse(self): """ - if self.z is None : + if self.z is None: print 'z array is "None" - I cannot invert that' return - + inverse = copy.copy(self.z) for idx_f in range(len(inverse)): try: - inverse[idx_f,:,:] = np.array( (np.matrix(self.z[idx_f,:,:])).I ) + inverse[idx_f, :, :] = np.array((np.matrix(self.z[idx_f, :, :])).I) except: raise MTex.MTpyError_Z('The {0}ith impedance'.format(idx_f+1)+\ 'tensor cannot be inverted') @@ -611,17 +620,17 @@ def _get_inverse(self): def rotate(self, alpha): """ - Rotate Z array by angle alpha. + Rotate Z array by angle alpha. Rotation angle must be given in degrees. All angles are referenced - to geographic North, positive in clockwise direction. + to geographic North, positive in clockwise direction. (Mathematically negative!) In non-rotated state, X refs to North and Y to East direction. Updates the attributes - *z* - - *zerr* + - *z_err* - *zrot* - *resistivity* - *phase* @@ -630,7 +639,7 @@ def rotate(self, alpha): """ - if self.z is None : + if self.z is None: print 'Z array is "None" - I cannot rotate that' return @@ -639,168 +648,170 @@ def rotate(self, alpha): if np.iterable(alpha) == 0: try: degreeangle = float(alpha%360) - except: + except ValueError: print '"Angle" must be a valid number (in degrees)' return #make an n long list of identical angles - lo_angles = [degreeangle for i in self.z] + lo_angles = [degreeangle for ii in self.z] else: if len(alpha) == 1: try: degreeangle = float(alpha%360) - except: + except ValueError: print '"Angle" must be a valid number (in degrees)' return #make an n long list of identical angles - lo_angles = [degreeangle for i in self.z] - else: + lo_angles = [degreeangle for ii in self.z] + else: try: - lo_angles = [float(i%360) for i in alpha] - except: + lo_angles = [float(ii%360) for ii in alpha] + except ValueError: print '"Angles" must be valid numbers (in degrees)' return - - self.rotation_angle = np.array([(oldangle + lo_angles[i])%360 - for i,oldangle in enumerate(self.rotation_angle)]) + + self.rotation_angle = np.array([(oldangle + lo_angles[ii])%360 + for ii, oldangle in enumerate(self.rotation_angle)]) if len(lo_angles) != len(self.z): - print 'Wrong number Number of "angles" - I need %i '%(len(self.z)) + print 'Wrong number of "angles" - I need {0}'.format(len(self.z)) #self.rotation_angle = 0. return z_rot = copy.copy(self.z) - zerr_rot = copy.copy(self.zerr) + z_err_rot = copy.copy(self.z_err) for idx_freq in range(len(self.z)): - + angle = lo_angles[idx_freq] if np.isnan(angle): angle = 0. - if self.zerr is not None: - z_rot[idx_freq], zerr_rot[idx_freq] = \ - MTcc.rotatematrix_incl_errors(self.z[idx_freq,:,:], - angle, - self.zerr[idx_freq,:,:]) + if self.z_err is not None: + z_rot[idx_freq], z_err_rot[idx_freq] = \ + MTcc.rotatematrix_incl_errors(self.z[idx_freq, :, :], + angle, + self.z_err[idx_freq, :, :]) else: - z_rot[idx_freq], zerr_rot = \ - MTcc.rotatematrix_incl_errors(self.z[idx_freq,:,:], + z_rot[idx_freq], z_err_rot = \ + MTcc.rotatematrix_incl_errors(self.z[idx_freq, :, :], angle) self.z = z_rot - if self.zerr is not None: - self.zerr = zerr_rot - + if self.z_err is not None: + self.z_err = z_err_rot + #for consistency recalculate resistivity and phase self._compute_res_phase() - - def no_ss(self, reduce_res_factor_x = 1., reduce_res_factor_y = 1.): + + def no_ss(self, reduce_res_factor_x=1., reduce_res_factor_y=1.): """ Remove the static shift by providing the respective correction factors for the resistivity in the x and y components. - (Factors can be determined by using the "Analysis" module for the + (Factors can be determined by using the "Analysis" module for the impedance tensor) - Assume the original observed tensor Z is built by a static shift S + Assume the original observed tensor Z is built by a static shift S and an unperturbated "correct" Z0 : - + * Z = S * Z0 - + therefore the correct Z will be : * Z0 = S^(-1) * Z - + Arguments ------------ - + **reduce_res_factor_x** : float or iterable list or array static shift factor to be applied to x - components (ie z[:, 0, 1]). This is + components (ie z[:, 0, 1]). This is assumed to be in resistivity scale - + **reduce_res_factor_y** : float or iterable list or array static shift factor to be applied to y - components (ie z[:, 1, 0]). This is + components (ie z[:, 1, 0]). This is assumed to be in resistivity scale Returns -------------- - + **S** : np.ndarray ((2, 2)) - static shift matrix, - + static shift matrix, + **Z0**: corrected Z (over all freq) .. note:: The factors are in resistivity scale, so the entries of the matrix "S" need to be given by their - square-roots! + square-roots! """ - + #check for iterable list/set of reduce_res_factor_x - if so, it must #have length 1 or same as len(z): if np.iterable(reduce_res_factor_x) == 0: try: x_factor = float(reduce_res_factor_x) - except: + except ValueError: print '"reduce_res_factor_x" must be a valid numbers' return - lo_x_factors = [x_factor for i in self.z] + lo_x_factors = np.repeat(x_factor, len(self.z)) else: if len(reduce_res_factor_x) == 1: try: x_factor = float(reduce_res_factor_x) - except: + except ValueError: print '"reduce_res_factor_x" must be a valid numbers' return - lo_x_factors = [x_factor for i in self.z] - else: + lo_x_factors = np.repeat(x_factor, len(self.z)) + else: try: - lo_x_factors = [x_factor for i in reduce_res_factor_x] - except: + lo_x_factors = np.repeat(x_factor, + len(reduce_res_factor_x)) + except ValueError: print '"reduce_res_factor_x" must be valid numbers' return - + if len(lo_x_factors) != len(self.z): print 'Wrong number Number of "reduce_res_factor_x"'+\ '- need {0}'.format(len(self.z)) return - - #check for iterable list/set of reduce_res_factor_y - if so, + + #check for iterable list/set of reduce_res_factor_y - if so, #it must have length 1 or same as len(z): if np.iterable(reduce_res_factor_y) == 0: try: y_factor = float(reduce_res_factor_y) - except: + except ValueError: print '"reduce_res_factor_y" must be a valid numbers' return - lo_y_factors = [y_factor for i in self.z] + lo_y_factors = np.repeat(y_factor, len(self.z)) else: if len(reduce_res_factor_y) == 1: try: y_factor = float(reduce_res_factor_y) - except: + except ValueError: print '"reduce_res_factor_y" must be a valid numbers' return - lo_y_factors = [y_factor for i in self.z] - else: + lo_y_factors = np.repeat(y_factor, len(self.z)) + else: try: - lo_y_factors = [y_factor for i in reduce_res_factor_y] - except: + lo_y_factors = np.repeat(y_factor, + len(reduce_res_factor_y)) + except ValueError: print '"reduce_res_factor_y" must be valid numbers' return - + if len(lo_y_factors) != len(self.z): print 'Wrong number Number of "reduce_res_factor_y"'+\ '- need {0} '.format(len(self.z)) return - + z_corrected = copy.copy(self.z) - static_shift = np.zeros((len(self.z),2,2)) + static_shift = np.zeros((len(self.z), 2, 2)) for idx_f in range(len(self.z)): #correct for x-direction @@ -824,25 +835,25 @@ def no_distortion(self, distortion_tensor, distortion_err_tensor=None): Z = D * Z0 Propagation of errors/uncertainties included - + Arguments ------------ **distortion_tensor** : np.ndarray(2, 2, dtype=real) real distortion tensor as a 2x2 - - **distortion_err_tensor** : np.ndarray(2, 2, dtype=real), + + **distortion_err_tensor** : np.ndarray(2, 2, dtype=real), default is None - + Returns ----------- **distortion_tensor** : np.ndarray(2, 2, dtype='real') input distortion tensor **z_corrected** : np.ndarray(num_freq, 2, 2, dtype='complex') impedance tensor with distorion removed - + **z_corrected_err** : np.ndarray(num_freq, 2, 2, dtype='complex') impedance tensor error after distortion is removed - + Example ---------- >>> import mtpy.core.z as mtz @@ -854,9 +865,9 @@ def no_distortion(self, distortion_tensor, distortion_err_tensor=None): distortion_err_tensor = np.zeros_like(distortion_tensor) #for all freq, calculate D.Inverse, then obtain Z0 = D.I * Z try: - if not ( len(distortion_tensor.shape) in [2,3] ) and \ - (len(distortion_err_tensor.shape) in [2,3]): - raise + if not (len(distortion_tensor.shape) in [2, 3]) and \ + (len(distortion_err_tensor.shape) in [2, 3]): + raise ValueError('Shape not the same') if len(distortion_tensor.shape) == 3 or \ len(distortion_err_tensor.shape) == 3: print 'Distortion is not time-dependent - take only first'+\ @@ -864,22 +875,22 @@ def no_distortion(self, distortion_tensor, distortion_err_tensor=None): try: distortion_tensor = distortion_tensor[0] distortion_err_tensor = distortion_err_tensor[0] - except: - raise + except IndexError: + raise ValueError('distortion tensor the wrong shape') - if not (distortion_tensor.shape == (2,2) ) and \ - (distortion_err_tensor.shape == (2,2) ): - raise + if not (distortion_tensor.shape == (2, 2)) and \ + (distortion_err_tensor.shape == (2, 2)): + raise ValueError('Shape not the same') distortion_tensor = np.matrix(np.real(distortion_tensor)) - except: + except ValueError: raise MTex.MTpyError_Z('The array provided is not a proper'+\ 'distortion tensor') - try: + try: DI = distortion_tensor.I - except: + except np.linalg.LinAlgError: raise MTex.MTpyError_Z('The provided distortion tensor is'+\ 'singular - I cannot invert that!') @@ -895,61 +906,51 @@ def no_distortion(self, distortion_tensor, distortion_err_tensor=None): #propagation of errors - step 2 - product of D.inverse and Z; #D.I * Z, making it 4 summands for each component: z_corrected = np.zeros_like(self.z) - z_corrected_err = np.zeros_like(self.zerr) - + z_corrected_err = np.zeros_like(self.z_err) + for idx_f in range(len(self.z)): - z_corrected[idx_f] = np.array(np.dot(DI, np.matrix(self.z[idx_f]))) - for i in range(2): - for j in range(2): - z_corrected_err[idx_f,i,j] = np.sum(np.abs( - np.array([DI_err[i,0]*\ - self.z[idx_f,0,j],\ - DI[i,0]*\ - self.zerr[idx_f,0,j],\ - DI_err[i,1]*\ - self.z[idx_f,1,j],\ - DI[i,1]*\ - self.zerr[idx_f,1,j]]))) + z_corrected[idx_f] = np.array(np.dot(DI, np.matrix(self.z[idx_f]))) + for ii in range(2): + for jj in range(2): + z_corrected_err[idx_f, ii, jj] = np.sum(np.abs( + np.array([DI_err[ii, 0]*\ + self.z[idx_f, 0, jj],\ + DI[ii, 0]*\ + self.z_err[idx_f, 0, jj],\ + DI_err[ii, 1]*\ + self.z[idx_f, 1, jj],\ + DI[ii, 1]*\ + self.z_err[idx_f, 1, jj]]))) return distortion_tensor , z_corrected, z_corrected_err - - - def no_ss_no_distortion(self, rho_x = 1., rho_y = 1.): - """ - Not implemented yet!! - """ - - pass - - def _get_only1d(self): """ Return Z in 1D form. - If Z is not 1D per se, the diagonal elements are set to zero, - the off-diagonal elements keep their signs, but their absolute + If Z is not 1D per se, the diagonal elements are set to zero, + the off-diagonal elements keep their signs, but their absolute is set to the mean of the original Z off-diagonal absolutes. """ z1d = copy.copy(self.z) - for i in range(len(z1d)): - z1d[i,0,0] = 0 - z1d[i,1,1] = 0 - sign01 = np.sign(z1d[i,0,1]) - sign10 = np.sign(z1d[i,1,0]) - mean1d = 0.5* (z1d[i,1,0]+z1d[i,0,1]) - z1d[i,0,1] = sign01 * mean1d - z1d[i,1,0] = sign10 * mean1d + for ii in range(len(z1d)): + z1d[ii, 0, 0] = 0 + z1d[ii, 1, 1] = 0 + sign01 = np.sign(z1d[ii, 0, 1]) + sign10 = np.sign(z1d[ii, 1, 0]) + mean1d = 0.5* (z1d[ii, 1, 0]+z1d[ii, 0, 1]) + z1d[ii, 0, 1] = sign01 * mean1d + z1d[ii, 1, 0] = sign10 * mean1d return z1d - only1d = property(_get_only1d, - doc=""" Return Z in 1D form. If Z is not 1D per se, - the diagonal elements are set to zero, the - off-diagonal elements keep their signs, but - their absolute is set to the mean of the + only1d = property(_get_only1d, + doc=""" Return Z in 1D form. If Z is not 1D per se, + the diagonal elements are set to zero, the + off-diagonal elements keep their signs, but + their absolute is set to the mean of the original Z off-diagonal absolutes.""") def _get_only2d(self): @@ -961,13 +962,13 @@ def _get_only2d(self): z2d = copy.copy(self.z) - for i in range(len(z2d)): - z2d[i,0,0] = 0 - z2d[i,1,1] = 0 - + for ii in range(len(z2d)): + z2d[ii, 0, 0] = 0 + z2d[ii, 1, 1] = 0 + return z2d - - only2d = property(_get_only2d, + + only2d = property(_get_only2d, doc="""Return Z in 2D form. If Z is not 2D per se, the diagonal elements are set to zero. """) @@ -978,19 +979,19 @@ def _get_trace(self): Returns ------------- - **tr** : np.ndarray(nfreq, 2, 2) + **tr** : np.ndarray(nfreq, 2, 2) Trace(z) **tr_err** : np.ndarray(nfreq, 2, 2) Error of Trace(z) """ - tr = np.array( [np.trace(i) for i in self.z]) + tr = np.array( [np.trace(ii) for ii in self.z]) tr_err = None - if self.zerr is not None: + if self.z_err is not None: tr_err = np.zeros_like(tr) - tr_err[:] = self.zerr[:,0,0] + self.zerr[:,1,1] + tr_err[:] = self.z_err[:, 0, 0] + self.z_err[:, 1, 1] return tr, tr_err @@ -1003,19 +1004,19 @@ def _get_skew(self): Returns ----------- - **skew**: np.ndarray(nfreq, 2, 2) + **skew**: np.ndarray(nfreq, 2, 2) skew(z) **skew_err** : np.ndarray(nfreq, 2, 2) Error of skew(z) """ - - skew = np.array( [ i[0,1] - i[1,0] for i in self.z ] ) - + + skew = np.array([ii[0, 1]-ii[1, 0] for ii in self.z]) + skewerr = None - if self.zerr is not None: + if self.z_err is not None: skewerr = np.zeros_like(skew) - skewerr[:] = self.zerr[:,0,1] + self.zerr[:,1,0] + skewerr[:] = self.z_err[:, 0, 1] + self.z_err[:, 1, 0] return skew, skewerr skew = property(_get_skew, doc='Skew of Z, incl. error') @@ -1026,22 +1027,22 @@ def _get_det(self): Returns ---------- - **det_Z** : np.ndarray(nfreq) + **det_Z** : np.ndarray(nfreq) det(z) **det_Z_err** : np.ndarray(nfreq) Error of det(z) """ - det_Z = np.array( [np.linalg.det(i) for i in self.z]) - + det_Z = np.array([np.linalg.det(ii) for ii in self.z]) + det_Z_err = None - if self.zerr is not None: + if self.z_err is not None: det_Z_err = np.zeros_like(det_Z) - det_Z_err[:] = np.abs(self.z[:,1,1] * self.zerr[:,0,0]) +\ - np.abs(self.z[:,0,0] * self.zerr[:,1,1]) +\ - np.abs(self.z[:,0,1] * self.zerr[:,1,0]) +\ - np.abs(self.z[:,1,0] * self.zerr[:,0,1]) + det_Z_err[:] = np.abs(self.z[:, 1, 1] * self.z_err[:, 0, 0]) +\ + np.abs(self.z[:, 0, 0] * self.z_err[:, 1, 1]) +\ + np.abs(self.z[:, 0, 1] * self.z_err[:, 1, 0]) +\ + np.abs(self.z[:, 1, 0] * self.z_err[:, 0, 1]) return det_Z, det_Z_err det = property(_get_det, doc='Determinant of Z, incl. error') @@ -1050,30 +1051,32 @@ def _get_det(self): def _get_norm(self): """ Return the 2-/Frobenius-norm of Z (NO uncertainties yet). - + Returns --------- - **znorm** : np.ndarray(nfreq) + **znorm** : np.ndarray(nfreq) norm(z) **znormerr** : np.ndarray(nfreq) Error of norm(z) """ - znorm = np.array( [np.linalg.norm(i) for i in self.z ]) + znorm = np.array([np.linalg.norm(ii) for ii in self.z]) znormerr = None - if self.zerr is not None: + if self.z_err is not None: znormerr = np.zeros_like(znorm) - for idx,z_tmp in enumerate(self.z): + for idx, z_tmp in enumerate(self.z): value = znorm[idx] - error_matrix = self.zerr[idx] + error_matrix = self.z_err[idx] radicand = 0. - for i in range(2): - for j in range(2): - radicand += (error_matrix[i,j]*np.real(z_tmp[i,j]))**2 - radicand += (error_matrix[i,j]*np.imag(z_tmp[i,j]))**2 - + for ii in range(2): + for jj in range(2): + radicand += (error_matrix[ii, jj]*\ + np.real(z_tmp[ii, jj]))**2 + radicand += (error_matrix[ii, jj]*\ + np.imag(z_tmp[ii, jj]))**2 + znormerr[idx] = 1./value*np.sqrt(radicand) @@ -1101,50 +1104,50 @@ def _get_invariants(self): invariants_dict = {} - z1 = (self.z[:,0,1] - self.z[:,1,0])/2. - invariants_dict['z1'] = z1 + z1 = (self.z[:, 0, 1]-self.z[:, 1, 0])/2. + invariants_dict['z1'] = z1 invariants_dict['det'] = self.det[0] - - det_real = np.array([np.linalg.det(i) for i in np.real(self.z)]) + + det_real = np.array([np.linalg.det(ii) for ii in np.real(self.z)]) invariants_dict['det_real'] = det_real - - det_imag = np.array([np.linalg.det(i) for i in np.imag(self.z)]) + + det_imag = np.array([np.linalg.det(ii) for ii in np.imag(self.z)]) invariants_dict['det_imag'] = det_imag invariants_dict['trace'] = self.trace[0] - + invariants_dict['skew'] = self.skew[0] - + invariants_dict['norm'] = self.norm[0] - - lambda_plus = np.array([z1[i] + np.sqrt(z1[i] * z1[i] -\ - self.det[0][i]) for i in range(len(z1))]) + + lambda_plus = np.array([z1[ii] + np.sqrt(z1[ii] * z1[ii] -\ + self.det[0][ii]) for ii in range(len(z1))]) invariants_dict['lambda_plus'] = lambda_plus - - lambda_minus = np.array([z1[i] - np.sqrt(z1[i] * z1[i] -\ - self.det[0][i]) for i in range(len(z1))]) + + lambda_minus = np.array([z1[ii] - np.sqrt(z1[ii] * z1[ii] -\ + self.det[0][ii]) for ii in range(len(z1))]) invariants_dict['lambda_minus'] = lambda_minus - - sigma_plus = np.array([0.5*self.norm[0][i]**2 + \ - np.sqrt( 0.25*self.norm[0][i]**4 + \ - np.abs(self.det[0][i])**2) - for i in range(len(self.norm[0]))]) - + + sigma_plus = np.array([0.5*self.norm[0][ii]**2 + \ + np.sqrt(0.25*self.norm[0][ii]**4 + \ + np.abs(self.det[0][ii])**2) + for ii in range(len(self.norm[0]))]) + invariants_dict['sigma_plus'] = sigma_plus - - sigma_minus = np.array([0.5*self.norm[0][i]**2 - \ - np.sqrt(0.25*self.norm[0][i]**4 + \ - np.abs(self.det[0][i])**2) - for i in range(len(self.norm[0]))]) + + sigma_minus = np.array([0.5*self.norm[0][ii]**2 - \ + np.sqrt(0.25*self.norm[0][ii]**4 + \ + np.abs(self.det[0][ii])**2) + for ii in range(len(self.norm[0]))]) invariants_dict['sigma_minus'] = sigma_minus return invariants_dict - - invariants = property(_get_invariants, + + invariants = property(_get_invariants, doc="""Dictionary, containing the invariants of - Z: z1, det, det_real, det_imag, trace, - skew, norm, lambda_plus/minus, + Z: z1, det, det_real, det_imag, trace, + skew, norm, lambda_plus/minus, sigma_plus/minus""") #====================================================================== @@ -1156,35 +1159,35 @@ class Tipper(object): Tipper class --> generates a Tipper-object. Errors are given as standard deviations (sqrt(VAR)) - + Arguments ----------- **tipper_array** : np.ndarray((nf, 1, 2), dtype='complex') tipper array in the shape of [Tx, Ty] *default* is None - - **tippererr_array** : np.ndarray((nf, 1, 2)) + + **tipper_err_array** : np.ndarray((nf, 1, 2)) array of estimated tipper errors in the shape of [Tx, Ty]. Must be the same shape as tipper_array. *default* is None - + **freq** : np.ndarray(nf) array of frequencies corresponding to the tipper elements. Must be same length as tipper_array. *default* is None - + =============== =========================================================== Attributes Description =============== =========================================================== - freq array of frequencies corresponding to elements of z + freq array of frequencies corresponding to elements of z rotation_angle angle of which data is rotated by - + tipper tipper array - tippererr tipper error array + tipper_err tipper error array =============== =========================================================== - + =============== =========================================================== Methods Description =============== =========================================================== @@ -1193,67 +1196,70 @@ class Tipper(object): amp_phase computes amplitude and phase of Tx and Ty. rotate rotates the data by the given angle =============== =========================================================== - - + + """ - def __init__(self, tipper_array=None, tippererr_array=None, + def __init__(self, tipper_array=None, tipper_err_array=None, freq=None): """ Initialise an instance of the Tipper class. - + Arguments -------------- **tipper_array** : np.ndarray((nf, 1, 2), dtype='complex') tipper array in the shape of [Tx, Ty] *default* is None - - **tippererr_array** : np.ndarray((nf, 1, 2)) + + **tipper_err_array** : np.ndarray((nf, 1, 2)) array of estimated tipper errors in the shape of [Tx, Ty]. Must be the same shape as tipper_array. *default* is None - + **freq** : np.ndarray(nf) - array of frequencies corresponding to the tipper + array of frequencies corresponding to the tipper elements. Must be same length as tipper_array. *default* is None - - """ - self._tipper = tipper_array - self._tippererr = tippererr_array + """ + + self._tipper = tipper_array + self._tipper_err = tipper_err_array self._freq = freq self.rotation_angle = 0. if self.tipper is not None: self.rotation_angle = np.zeros((len(self.tipper))) - + self.amplitude = None self.amplitude_err = None self._phase = None self._phase_err = None - + self.mag_real = None self.mag_imag = None self.angle_real = None self.angle_imag = None + self.mag_err = None + self.angle_err = None + #========================================================================== # Define get/set and properties #========================================================================== - #----freq---------------------------------------------------------- + #----freq---------------------------------------------------------- def _set_freq(self, lo_freq): """ Set the array of freq. Arguments ----------- - + **lo_freq** : list or array of frequnecies (Hz) No test for consistency! @@ -1261,78 +1267,78 @@ def _set_freq(self, lo_freq): if len(lo_freq) is not len(self.tipper): print 'length of freq list/array not correct'+\ - ' (%i instead of %i)'%(len(lo_freq), len(self.tipper)) + ' (%ii instead of %ii)'%(len(lo_freq), len(self.tipper)) return self._freq = np.array(lo_freq) - + #for consistency recalculate amplitude and phase - self._compute_amp_phase() + self._compute_amp_phase() - def _get_freq(self): + def _get_freq(self): if self._freq is not None: self._freq = np.array(self._freq) return self._freq - - freq = property(_get_freq, _set_freq, + + freq = property(_get_freq, _set_freq, doc='array of freq') - #---tipper-------------------------------------------------------------- + #---tipper-------------------------------------------------------------- def _set_tipper(self, tipper_array): """ Set the attribute *tipper* Arguments ------------- - + **tipper_array** : np.ndarray((nf, 1, 2), dtype='complex') tipper array in the shape of [Tx, Ty] *default* is None Test for shape, but no test for consistency! - """ + """ #make sure the array is of required shape try: - if len(tipper_array.shape)==3 and tipper_array.shape[1:3]==(1,2): - if tipper_array.dtype in ['complex', 'float','int']: + if len(tipper_array.shape) == 3 and tipper_array.shape[1:3] == (1, 2): + if tipper_array.dtype in ['complex', 'float', 'int']: self._tipper = tipper_array - except: + except IndexError: pass #check to see if the new tipper array is the same shape as the old - if (self._tipper!=None) and (self._tipper.shape!=tipper_array.shape): + if (self._tipper != None) and (self._tipper.shape != tipper_array.shape): print 'Error - shape of "tipper" array does not match shape of '+\ 'tipper-array: %s ; %s'%(str(tipper_array.shape), str(self.tipper.shape)) return self._tipper = tipper_array - + #neeed to set the rotation angle such that it is an array if self.rotation_angle is float: - self.rotation_angle = np.array([self.rotation_angle - for ii in self._tipper]) - + self.rotation_angle = np.repeat(self.rotation_angle, + len(self._tipper)) + #for consistency recalculate mag and angle self._compute_mag_direction() - + #for consistency recalculate amplitude and phase - self._compute_amp_phase() - + self._compute_amp_phase() + def _get_tipper(self): return self._tipper - + tipper = property(_get_tipper, _set_tipper, doc="Tipper array") - + #----tipper error--------------------------------------------------------- - def _set_tippererr(self, tippererr_array): + def _set_tipper_err(self, tipper_err_array): """ - Set the attribute *tippererr*. + Set the attribute *tipper_err*. Arguments -------------- - **tippererr_array** : np.ndarray((nf, 1, 2)) + **tipper_err_array** : np.ndarray((nf, 1, 2)) array of estimated tipper errors in the shape of [Tx, Ty]. Must be the same shape as tipper_array. @@ -1340,52 +1346,52 @@ def _set_tippererr(self, tippererr_array): Test for shape, but no test for consistency! - """ + """ #make sure the input array is of required shape try: - if len(tippererr_array.shape)==3 and \ - tippererr_array.shape[1:3]==(1,2): - if tippererr_array.dtype in ['float','int']: - self._tippererr = tippererr_array - except: + if len(tipper_err_array.shape) == 3 and \ + tipper_err_array.shape[1:3] == (1, 2): + if tipper_err_array.dtype in ['float', 'int']: + self._tipper_err = tipper_err_array + except IndexError: pass - + #make sure the error array is the same shape as tipper try: - if len(self.tipper) != len(self._tippererr): - self._tippererr = None - except: + if len(self.tipper) != len(self._tipper_err): + self._tipper_err = None + except TypeError: pass - - if (self.tippererr!=None) and \ - (self._tippererr.shape!=tippererr_array.shape): - print 'Error - shape of "tippererr" array does not match shape '+\ - 'of tippererr array: %s ; %s'%(str(tippererr_array.shape), - str(self._tippererr.shape)) + + if (self.tipper_err != None) and \ + (self._tipper_err.shape != tipper_err_array.shape): + print 'Error - shape of "tipper_err" array does not match shape '+\ + 'of tipper_err array: %s ; %s'%(str(tipper_err_array.shape), + str(self._tipper_err.shape)) return - self._tippererr = tippererr_array - + self._tipper_err = tipper_err_array + #for consistency recalculate mag and angle self._compute_mag_direction() - + #for consistency recalculate amplitude and phase self._compute_amp_phase() - - def _get_tippererr(self): - return self._tippererr - - tippererr = property(_get_tippererr, _set_tippererr, + + def _get_tipper_err(self): + return self._tipper_err + + tipper_err = property(_get_tipper_err, _set_tipper_err, doc="Estimated Tipper errors") - + #----real part--------------------------------------------------------- def _get_real(self): """ Return the real part of the Tipper. - """ + """ if self.tipper is None: print 'tipper array is None - cannot calculate real' return @@ -1398,37 +1404,37 @@ def _set_real(self, real_array): Arguments -------------- - + **tipper_array** : np.ndarray((nf, 1, 2)) real part tipper array in the shape of [Tx, Ty] *default* is None Test for shape, but no test for consistency! - """ - + """ + - if (self.tipper is not None) and (self.tipper.shape!=real_array.shape): + if (self.tipper is not None) and (self.tipper.shape != real_array.shape): print 'shape of "real" array does not match shape of tipper '+\ 'array: %s ; %s'%(str(real_array.shape), str(self.tipper.shape)) return #assert real array: - if np.linalg.norm(np.imag(real_array )) != 0 : + if np.linalg.norm(np.imag(real_array)) != 0 : print 'Error - array "real" is not real valued !' return if self.tipper is not None: - tipper_new = real_array + 1j* self.imag() + tipper_new = real_array + 1j* self.imag() else: tipper_new = real_array self.tipper = tipper_new - + #for consistency recalculate mag and angle self._compute_mag_direction() - + #for consistency recalculate amplitude and phase self._compute_amp_phase() @@ -1439,7 +1445,7 @@ def _get_imag(self): """ Return the imaginary part of the Tipper. - """ + """ if self.tipper is None: print 'tipper array is None - cannot calculate imag' @@ -1447,45 +1453,45 @@ def _get_imag(self): return np.imag(self.tipper) - + def _set_imag(self, imag_array): """ Set the imaginary part of 'tipper'. Arguments -------------- - + **tipper_array** : np.ndarray((nf, 1, 2)) imaginary part tipper array in the shape of [Tx, Ty] *default* is None Test for shape, but no test for consistency! - """ + """ - if (self.tipper is not None) and (self.tipper.shape!=imag_array.shape): + if (self.tipper is not None) and (self.tipper.shape != imag_array.shape): print 'shape of "real" array does not match shape of tipper '+\ 'array: %s ; %s'%(str(imag_array.shape), str(self.tipper.shape)) return - + #assert real array: - if np.linalg.norm(np.imag(imag_array )) != 0 : + if np.linalg.norm(np.imag(imag_array)) != 0: print 'Error - array "imag" is not real valued !' return - i = np.complex(0,1) + ii_arr = np.complex(0, 1) if self.tipper is not None: - tipper_new = self.real() + i * imag_array + tipper_new = self.real() + ii_arr * imag_array else: - tipper_new = i * imag_array + tipper_new = ii_arr * imag_array self.tipper = tipper_new - + #for consistency recalculate mag and angle self._compute_mag_direction() - + #for consistency recalculate amplitude and phase self._compute_amp_phase() @@ -1499,53 +1505,53 @@ def _compute_amp_phase(self): * *phase* * *amplitude_err* * *phase_err* - + values for resistivity are in in Ohm m and phase in degrees. - """ - + """ + if self.tipper is None: #print 'tipper array is None - cannot calculate rho/phi' return None self.amplitude_err = None self._phase_err = None - if self.tippererr is not None: - self.amplitude_err = np.zeros(self.tippererr.shape) - self._phase_err = np.zeros(self.tippererr.shape) + if self.tipper_err is not None: + self.amplitude_err = np.zeros(self.tipper_err.shape) + self._phase_err = np.zeros(self.tipper_err.shape) self.amplitude = np.zeros(self.tipper.shape) self._phase = np.zeros(self.tipper.shape) - for idx_f in range(len(self.tipper)): - for j in range(2): - self.amplitude[idx_f,0,j] = np.abs(self.tipper[idx_f,0,j]) - self._phase[idx_f,0,j] = math.degrees(cmath.phase( - self.tipper[idx_f,0,j])) - - if self.tippererr is not None: + for idx_f in range(len(self.tipper)): + for jj in range(2): + self.amplitude[idx_f, 0, jj] = np.abs(self.tipper[idx_f, 0, jj]) + self._phase[idx_f, 0, jj] = math.degrees(cmath.phase( + self.tipper[idx_f, 0, jj])) + + if self.tipper_err is not None: r_err, phi_err = MTcc.propagate_error_rect2polar( - np.real(self.tipper[idx_f,0,j]), - self.tippererr[idx_f,0,j], - np.imag(self.tipper[idx_f,0,j]), - self.tippererr[idx_f,0,j]) - - self.amplitude_err[idx_f,0,j] = r_err - self._phase_err[idx_f,0,j] = phi_err + np.real(self.tipper[idx_f, 0, jj]), + self.tipper_err[idx_f, 0, jj], + np.imag(self.tipper[idx_f, 0, jj]), + self.tipper_err[idx_f, 0, jj]) + + self.amplitude_err[idx_f, 0, jj] = r_err + self._phase_err[idx_f, 0, jj] = phi_err def set_amp_phase(self, r_array, phi_array): """ Set values for amplitude(r) and argument (phi - in degrees). - Updates the attributes + Updates the attributes * tipper - * tippererr + * tipper_err - """ + """ - if self.tipper is not None: - - tipper_new = copy.copy(self.tipper) + if self.tipper is not None: + + tipper_new = copy.copy(self.tipper) if self.tipper.shape != r_array.shape: print 'Error - shape of "r" array does not match shape of '+\ @@ -1560,123 +1566,123 @@ def set_amp_phase(self, r_array, phi_array): return else: - tipper_new = np.zeros(r_array.shape,'complex') + tipper_new = np.zeros(r_array.shape, 'complex') if r_array.shape != phi_array.shape: print 'Error - shape of "phi" array does not match shape '+\ 'of "r" array: %s ; %s'%(str(phi_array.shape), str(r_array.shape)) return - + #assert real array: - if np.linalg.norm(np.imag(r_array )) != 0 : + if np.linalg.norm(np.imag(r_array)) != 0: print 'Error - array "r" is not real valued !' return - if np.linalg.norm(np.imag(phi_array )) != 0 : + if np.linalg.norm(np.imag(phi_array)) != 0: print 'Error - array "phi" is not real valued !' return for idx_f in range(len(r_array)): - for j in range(2): - tipper_new[idx_f,0,j] = cmath.rect(r_array[idx_f,0,j], - math.radians(phi_array[idx_f,0,j])) + for jj in range(2): + tipper_new[idx_f, 0, jj] = cmath.rect(r_array[idx_f, 0, jj], + math.radians(phi_array[idx_f, 0, jj])) self.tipper = tipper_new - + #for consistency recalculate amplitude and phase self._compute_amp_phase() - + #----magnitude and direction---------------------------------------------- def _compute_mag_direction(self): """ - computes the magnitude and direction of the real and imaginary - induction vectors. - + computes the magnitude and direction of the real and imaginary + induction vectors. + Returns ------------ **mag_real** : np.array(nf) magnitude of the real induction vector - + **ang_real** : np.array(nf) - angle (deg) of the real induction vector assuming + angle (deg) of the real induction vector assuming that North is 0 and angle is positive clockwise - + **mag_imag** : np.array(nf) magnitude of the imaginary induction vector - + **ang_imag** : np.array(nf) - angle (deg) of the imaginary induction vector - assuming that North is 0 and angle is positive + angle (deg) of the imaginary induction vector + assuming that North is 0 and angle is positive clockwise - - + + """ - + if self.tipper is None: return None - self.mag_real = np.sqrt(self.tipper[:,0,0].real**2 + \ - self.tipper[:,0,1].real**2) - self.mag_imag = np.sqrt(self.tipper[:,0,0].imag**2 + - self.tipper[:,0,1].imag**2) + self.mag_real = np.sqrt(self.tipper[:, 0, 0].real**2 + \ + self.tipper[:, 0, 1].real**2) + self.mag_imag = np.sqrt(self.tipper[:, 0, 0].imag**2 + + self.tipper[:, 0, 1].imag**2) + + self.mag_err = None + self.angle_err = None #get the angle, need to make both parts negative to get it into the #parkinson convention where the arrows point towards the conductor - - self.angle_real = np.rad2deg(np.arctan2(-self.tipper[:,0,1].real, - -self.tipper[:,0,0].real)) - - self.angle_imag = np.rad2deg(np.arctan2(-self.tipper[:,0,1].imag, - -self.tipper[:,0,0].imag)) - - ## estimate error: THIS MAYBE A HACK - if self.tippererr is not None: - self.mag_err = np.sqrt(self.tippererr[:, 0, 0]**2+ \ - self.tippererr[:, 0, 1]**2) - self.angle_err = np.rad2deg(np.arctan2(self.tippererr[:, 0, 0], - self.tippererr[:, 0, 1]))%45 - else: - self.mag_err = None - self.angle_err = None - + + self.angle_real = np.rad2deg(np.arctan2(-self.tipper[:, 0, 1].real, + -self.tipper[:, 0, 0].real)) + + self.angle_imag = np.rad2deg(np.arctan2(-self.tipper[:, 0, 1].imag, + -self.tipper[:, 0, 0].imag)) + + ## estimate error: THIS MAYBE A HACK + if self.tipper_err is not None: + self.mag_err = np.sqrt(self.tipper_err[:, 0, 0]**2+ \ + self.tipper_err[:, 0, 1]**2) + self.angle_err = np.rad2deg(np.arctan2(self.tipper_err[:, 0, 0], + self.tipper_err[:, 0, 1]))%45 + def set_mag_direction(self, mag_real, ang_real, mag_imag, ang_imag): """ computes the tipper from the magnitude and direction of the real and imaginary components. - + Updates tipper - + No error propagation yet """ - - self.tipper[:,0,0].real = np.sqrt((mag_real**2*np.arctan(ang_real)**2)/\ + + self.tipper[:, 0, 0].real = np.sqrt((mag_real**2*np.arctan(ang_real)**2)/\ (1-np.arctan(ang_real)**2)) - - self.tipper[:,0,1].real = np.sqrt(mag_real**2/\ + + self.tipper[:, 0, 1].real = np.sqrt(mag_real**2/\ (1-np.arctan(ang_real)**2)) - - self.tipper[:,0,0].imag = np.sqrt((mag_imag**2*np.arctan(ang_imag)**2)/\ + + self.tipper[:, 0, 0].imag = np.sqrt((mag_imag**2*np.arctan(ang_imag)**2)/\ (1-np.arctan(ang_imag)**2)) - - self.tipper[:,0,1].imag = np.sqrt(mag_imag**2/\ + + self.tipper[:, 0, 1].imag = np.sqrt(mag_imag**2/\ (1-np.arctan(ang_imag)**2)) #for consistency recalculate mag and angle self._compute_mag_direction() - + #----rotate--------------------------------------------------------------- def rotate(self, alpha): """ Rotate Tipper array. Rotation angle must be given in degrees. All angles are referenced - to geographic North=0, positive in clockwise direction. + to geographic North=0, positive in clockwise direction. (Mathematically negative!) In non-rotated state, 'X' refs to North and 'Y' to East direction. Updates the attributes * *tipper* - * *tippererr* + * *tipper_err* * *rotation_angle* """ @@ -1690,355 +1696,78 @@ def rotate(self, alpha): if np.iterable(alpha) == 0: try: degreeangle = float(alpha%360) - except: + except ValueError: print '"Angle" must be a valid number (in degrees)' return #make an n long list of identical angles - lo_angles = [degreeangle for i in self.tipper] + lo_angles = [degreeangle for ii in self.tipper] else: if len(alpha) == 1: try: degreeangle = float(alpha%360) - except: + except ValueError: print '"Angle" must be a valid number (in degrees)' return #make an n long list of identical angles - lo_angles = [degreeangle for i in self.tipper] - else: + lo_angles = [degreeangle for ii in self.tipper] + else: try: - lo_angles = [ float(i%360) for i in alpha] - except: + lo_angles = [float(ii%360) for ii in alpha] + except ValueError: print '"Angles" must be valid numbers (in degrees)' return - - self.rotation_angle = np.array([(oldangle + lo_angles[i])%360 - for i,oldangle in enumerate(self.rotation_angle)] ) + + self.rotation_angle = np.array([(oldangle+lo_angles[ii])%360 + for ii, oldangle in enumerate(self.rotation_angle)]) if len(lo_angles) != len(self.tipper): - print 'Wrong number Number of "angles" - need %i '%(len(self.tipper)) + print 'Wrong number Number of "angles" - need %ii '%(len(self.tipper)) self.rotation_angle = 0. return tipper_rot = copy.copy(self.tipper) - tippererr_rot = copy.copy(self.tippererr) + tipper_err_rot = copy.copy(self.tipper_err) for idx_freq in range(len(tipper_rot)): angle = lo_angles[idx_freq] - if self.tippererr is not None: - tipper_rot[idx_freq], tippererr_rot[idx_freq] = \ - MTcc.rotatevector_incl_errors(self.tipper[idx_freq,:,:], + if self.tipper_err is not None: + tipper_rot[idx_freq], tipper_err_rot[idx_freq] = \ + MTcc.rotatevector_incl_errors(self.tipper[idx_freq, :, :], angle, - self.tippererr[idx_freq,:,:] ) + self.tipper_err[idx_freq, :, :]) else: - tipper_rot[idx_freq], tippererr_rot = \ - MTcc.rotatevector_incl_errors(self.tipper[idx_freq,:,:], + tipper_rot[idx_freq], tipper_err_rot = \ + MTcc.rotatevector_incl_errors(self.tipper[idx_freq, :, :], angle) - + self.tipper = tipper_rot - self.tippererr = tippererr_rot - + self.tipper_err = tipper_err_rot + #for consistency recalculate mag and angle self._compute_mag_direction() - + #for consistency recalculate amplitude and phase self._compute_amp_phase() #------------------------ - - -def rotate_z(z_array, alpha, zerr_array = None): - """ - Rotate a Z array assuming N==0 and E==90 - - Arguments - ------------ - **z_array** : np.ndarray(1, 2, 2) or (2, 2) - impedance tensor - **alpha** : float - rotation angle in degrees clockwise - **z_err_array** : np.ndarray(z_array.shape) - impedance tensor error - needs to be the same shape as - z_array - - Returns - ----------- - **z_rot** : np.ndarray(z_array.shape) - rotated impedance tensor - **z_rot_err** : np.ndarray(z_array.shape) - rotated impedance tensor error - - Example - ------------- - >>> import mtpy.core.z as mtz - >>> z_array = np.array([[0-0j, 1-1j], [0-0j, -1+1j]]) - >>> rot_z = mtz.rotate_z(z_array, 45) - """ - - z_object = _read_z_array(z_array, zerr_array) - - z_object.rotate(alpha) - - return z_object.z, z_object.zerr - - - -def remove_distortion(z_array, distortion_tensor, - distortion_err_tensor = None, zerr_array = None): - """ - Remove the distortion from a given Z array. - - Arguments - ------------- - **z_array** : np.ndarray(num_freq, 2, 2) - impedance tensor - **distortion_tensor** : np.ndarray(2 ,2) - real distorion tensor - **distortion_err_tensor : np.ndarray(2, 2) - error in distortion tensor - **zerr_array** : np.ndarray(z_array.shape) - error in impedance tensor, - same shape as z_array - - Returns - ----------- - **z_corrected** : np.ndarray(z_array.shape) - impedance tensor with distorion - removed - **z_corrected_err** : np.ndarray(z_array.shape) - error in impedance after - distortion is removed - **z_array** : np.ndarray(z_array.shape) - input z_array - - """ - - z_object = _read_z_array(z_array, zerr_array) - - distortion, z_corrected, z_corrected_err = \ - z_object.no_distortion(distortion_tensor, distortion_err_tensor) - - return z_corrected, z_corrected_err, z_array - - -def remove_ss(z_array, zerr_array = None, res_x = 1., res_y = 1.): - """ - Remove the static shift from a given Z array. - - Arguments - ------------- - **z_array** : np.ndarray(num_freq, 2, 2) - impedance tensor - - **zerr_array** : np.ndarray(z_array.shape) - error in impedance tensor, - same shape as z_array - **res_x** : float - amount of static shift to remove from - Zxx and Zxy - **res_y** : float - amount of static shift to remove from - Zyx and Zyy - - Returns - ----------- - **z_corrected** : np.ndarray(z_array.shape) - impedance tensor with static shift - removed - **static_shift** : np.ndarray(2, 2) - static shift removed - **z_array** : np.ndarray(z_array.shape) - input z_array - - """ - - - z_object = _read_z_array(z_array, zerr_array) - - z_corrected, static_shift = z_object.no_ss() - - return z_corrected, static_shift, z_array - - -def remove_ss_and_distortion(z_array, zerr_array = None, res_x = 1., - res_y = 1.): - """ - Not implemented yet !! - - """ - pass - - - -def z2resphi(z_array, periods, zerr_array = None): - """ - Return the resistivity/phase information for Z - (Z must be given in units "km/s" = "mu m / nT"!!). - - Arguments - ------------ - **z_array** : np.ndarray(num_periods, 2, 2) - impedance tensor - **periods** : np.ndarray(num_periods) - array of periods corresponding to - the elements in z_array - - **zerr_array** : np.ndarray(z_array.shape) - error in impedance tensor, - same shape as z_array - - Returns - ----------- - **resistivity** : np.ndarray(z_array.shape) - apparent resistivity in Ohm-m - **resistivity_err** : np.ndarray(z_array.shape) - apparent resistivity error in Ohm-m - **phase** : np.ndarray(z_array.shape) - impedance phase in degrees - **phase_err** : np.ndarray(z_array.shape) - impedance phase error in degrees - - Example - ---------- - >>> res, res_err, phase, phase_err = mtz.z2resphi(z_array, - periods) - """ - - z_object = _read_z_array(z_array,zerr_array) - z_object.freq= np.array(1./periods) - - return (z_object.resistivity, z_object.resistivity_err, - z_object.phase, z_object.phase_err) - - -def rotate_tipper(tipper_array, alpha, tippererr_array = None): - """ - Rotate a Tipper array - - Arguments - ------------ - **tipper_array** : np.ndarray(num_freq, 2, 2) - tipper array - **alpha** : float - rotation angle in degrees clockwise - **tippererr_array** : np.ndarray(tipper_array.shape) - tipper error - needs to be the same shape as - tipper_array - - Returns - ----------- - **tipper_rot** : np.ndarray(z_array.shape) - rotated impedance tensor - **tipper_rot_err** : np.ndarray(z_array.shape) - rotated impedance tensor error - - Example - ------------- - >>> import mtpy.core.z as mtz - >>> rot_tip = mtz.rotate_tipper(tipper_array, 45) - - """ - - tipper_object = _read_tipper_array(tipper_array, tippererr_array) - - tipper_object.rotate(alpha) - - return tipper_object.tipper, tipper_object.tippererr - - -def tipper2rhophi(tipper_array, tippererr_array = None): - """ - Return values for amplitude (rho) and argument (phi - in degrees). - - Output is a 4-tuple of arrays: - (Rho, Phi, RhoError, PhiError) - """ - - tipper_object = _read_tipper_array(tipper_array, tippererr_array ) - - return tipper_object.rho_phi() - - -def _read_z_array(z_array, zerr_array = None): - """ - Read a Z array and return an instance of the Z class. - - - Arguments - ------------ - **z_array** : np.ndarray (num_freq, 2, 2, dtype='complex') - impedance tensor - **zerr_array** : np.ndarray(z_array.shape) - impedance tensor error, same shape as - z_array - - Returns - ----------- - **z_object** : mtpy.core.z.Z object - """ - - - try: - - - z_object = Z(z_array=z_array, zerr_array=zerr_array) - except: - raise MTex.MTpyError_Z('Cannot generate Z instance - check z-array'+\ - 'dimensions/type: (N,2,2)/complex ; '+\ - '{0}'.format(z_array.shape)) - - return z_object - - -def _read_tipper_array(tipper_array, tippererr_array = None): - """ - Read a Tipper array and return an instance of the Tipper class. - - - Arguments - ------------ - **tipper_array** : np.ndarray (num_freq, 2, 2, dtype='complex') - tipper tensor - **tippererr_array** : np.ndarray(z_array.shape) - tipper error, same shape as - tipper_array - - Returns - ----------- - **tipper_object** : mtpy.core.z.Tipper object - - """ - - try: - tipper_object = Tipper( tipper_array=tipper_array, - tippererr_array=tippererr_array ) - except: - raise MTex.MTpyError_tipper('Cannot generate Tipper instance -'+\ - 'check dimensions/type: (N,1,2)/complex'+ - '; {0}'.format(tipper_array.shape)) - - return tipper_object - - -def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, - Z_prime_error = None): +def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, + Z_prime_error=None): """ Correct a Z-array for wrong orientation of the sensors. Assume, E' is measured by sensors orientated with the angles E'x: a E'y: b - + Assume, B' is measured by sensors orientated with the angles B'x: c B'y: d - + With those data, one obtained the impedance tensor Z': E' = Z' * B' @@ -2046,18 +1775,18 @@ def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, E = T * E' B = U * B' - => T contains the expression of the E'-basis in terms of E - (the standard basis) - and U contains the expression of the B'-basis in terms of B + => T contains the expression of the E'-basis in terms of E + (the standard basis) + and U contains the expression of the B'-basis in terms of B (the standard basis) - The respective expressions for E'x-basis vector and E'y-basis + The respective expressions for E'x-basis vector and E'y-basis vector are the columns of T. The respective expressions for B'x-basis vector and B'y-basis vector are the columns of U. - We obtain the impedance tensor in default coordinates as: + We obtain the impedance tensor in default coordinates as: - E' = Z' * B' => T^(-1) * E = Z' * U^(-1) * B + E' = Z' * B' => T^(-1) * E = Z' * U^(-1) * B => E = T * Z' * U^(-1) * B => Z = T * Z' * U^(-1) @@ -2069,17 +1798,17 @@ def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, **Bx** : float (angle in degrees) orientation of Bx relative to geographic north (0) - *default* is 0 + *default* is 0 **By** : float (angle in degrees) orientation of By relative to geographic north (0) *default* is 90 **Ex** : float (angle in degrees) orientation of Ex relative to geographic north (0) - *default* is 0 + *default* is 0 **Ey** : float (angle in degrees) orientation of Ey relative to geographic north (0) *default* is 90 - + Z_prime_error : np.ndarray(Z_prime.shape) impedance tensor error (std) *default* is None @@ -2088,19 +1817,19 @@ def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, ------------- **Z** : np.ndarray(Z_prime.shape, dtype='complex') adjusted impedance tensor - + **Z_err** : np.ndarray(Z_prime.shape, dtype='real') - impedance tensor standard deviation in + impedance tensor standard deviation in default orientation - + """ try: if len(Z_prime.shape) != 2: raise - if Z_prime.shape != (2,2): + if Z_prime.shape != (2, 2): raise - + if Z_prime.dtype not in ['complex', 'float', 'int']: raise @@ -2114,10 +1843,10 @@ def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, try: if len(Z_prime_error.shape) != 2: raise - if Z_prime_error.shape != (2,2): + if Z_prime_error.shape != (2, 2): raise - - if Z_prime_error.dtype not in [ 'float', 'int']: + + if Z_prime_error.dtype not in ['float', 'int']: raise except: @@ -2125,33 +1854,34 @@ def correct4sensor_orientation(Z_prime, Bx=0, By=90, Ex=0, Ey=90, 'valid! Must be 2x2 real array') - T = np.matrix(np.zeros((2,2))) - U = np.matrix(np.zeros((2,2))) + T = np.matrix(np.zeros((2, 2))) + U = np.matrix(np.zeros((2, 2))) - dummy1 = cmath.rect(1,math.radians(Ex)) + dummy1 = cmath.rect(1, math.radians(Ex)) - T[0,0] = np.real(dummy1) - T[1,0] = np.imag(dummy1) - dummy2 = cmath.rect(1,math.radians(Ey)) - T[0,1] = np.real(dummy2) - T[1,1] = np.imag(dummy2) + T[0, 0] = np.real(dummy1) + T[1, 0] = np.imag(dummy1) + dummy2 = cmath.rect(1, math.radians(Ey)) + T[0, 1] = np.real(dummy2) + T[1, 1] = np.imag(dummy2) - dummy3 = cmath.rect(1,math.radians(Bx)) - U[0,0] = np.real(dummy3) - U[1,0] = np.imag(dummy3) - dummy4 = cmath.rect(1,math.radians(By)) - U[0,1] = np.real(dummy4) - U[1,1] = np.imag(dummy4) + dummy3 = cmath.rect(1, math.radians(Bx)) + U[0, 0] = np.real(dummy3) + U[1, 0] = np.imag(dummy3) + dummy4 = cmath.rect(1, math.radians(By)) + U[0, 1] = np.real(dummy4) + U[1, 1] = np.imag(dummy4) try: - Z = np.array(np.dot(T,np.dot(Z_prime, U.I))) + z_arr = np.array(np.dot(T, np.dot(Z_prime, U.I))) except: raise MTex.MTpyError_inputarguments("ERROR - Given angles do not"+\ "define basis for 2 dimensions - cannot convert Z'") - Zerr = copy.copy(Z_prime_error) + z_err_arr = copy.copy(Z_prime_error) #TODO: calculate error propagation - return Z, Zerr + return z_arr, z_err_arr + \ No newline at end of file diff --git a/mtpy/gui/edi_editor.py b/mtpy/gui/edi_editor.py new file mode 100644 index 00000000..d01f37d4 --- /dev/null +++ b/mtpy/gui/edi_editor.py @@ -0,0 +1,2528 @@ +# -*- coding: utf-8 -*- +""" +Created on Mon Mar 28 15:04:27 2016 + +@author: jpeacock +""" + +#============================================================================== +# Imports +#============================================================================== + +from PyQt4 import QtCore, QtGui +import mtpy.core.mt as mt +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar +from matplotlib.figure import Figure +import mtpy.imaging.mtplottools as mtplt +import matplotlib.pyplot as plt +import matplotlib.gridspec as gridspec +import numpy as np +import copy +import sys +import os +import mtpy.imaging.plotstrike2d as plotstrike2d +import mtpy.analysis.staticshift as staticshift +import matplotlib.widgets as mplwidgets + +#============================================================================== +# UI +#============================================================================== + +class MyStream(QtCore.QObject): + """ + this class will emit a signal to write standard output to the UI + """ + message = QtCore.pyqtSignal(str) + def __init__(self, parent=None): + super(MyStream, self).__init__(parent) + + def write(self, message): + self.message.emit(str(message)) + +class EDI_Editor_Window(QtGui.QMainWindow): + """ + This is the main window for editing an edi file. + + Includes: + * Editing points by removing them + * Adjusting for static shift + * Removing distortion + * Rotations + * Strike estimations + """ + + def __init__(self): + super(EDI_Editor_Window, self).__init__() + + + def ui_setup(self): + """ + set up the user interface + """ + + self.setWindowTitle('EDI Editor') +# self.resize(1920, 1080) + self.setWindowState(QtCore.Qt.WindowMaximized) + + self.plot_widget = PlotWidget() + self.centralWidget = self.setCentralWidget(self.plot_widget) + + self.menu_file = self.menuBar().addMenu("&File") + + self.action_open_file = self.menu_file.addAction("&Open") + self.action_open_file.triggered.connect(self.get_edi_file) + + self.action_close_file = self.menu_file.addAction("C&lose") + self.action_close_file.triggered.connect(self.close_edi_file) + + self.action_save_file = self.menu_file.addAction("&Save") + self.action_save_file.triggered.connect(self.save_edi_file) + + self.menu_plot_properties = self.menuBar().addMenu("Plot Properties") + self.action_edit_plot = self.menu_plot_properties.addAction("Edit") + self.action_edit_plot.triggered.connect(self.edit_plot_properties) + + self.menu_metadata = self.menuBar().addMenu("Metadata") + self.action_edit_metadata = self.menu_metadata.addAction("Edit") + self.action_edit_metadata.triggered.connect(self.edit_metadata) + + + self.my_stream = MyStream() + self.my_stream.message.connect(self.plot_widget.normal_output) + + sys.stdout = self.my_stream + + QtCore.QMetaObject.connectSlotsByName(self) + + def get_edi_file(self): + """ + get edi file + """ + + print '='*35 + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose EDI file', + directory=self.plot_widget.dir_path, + filter='*.edi')) + + self.plot_widget.dir_path = os.path.dirname(fn) + + self.plot_widget.mt_obj = mt.MT(fn) + self.plot_widget._mt_obj = copy.deepcopy(self.plot_widget.mt_obj) + self.plot_widget.fill_metadata() + self.plot_widget.reset_parameters() + self.plot_widget.plot_properties = PlotSettings(None) + self.plot_widget.plot() + + def close_edi_file(self): + pass + + def save_edi_file(self): + save_fn_dialog = QtGui.QFileDialog() + save_fn = str(save_fn_dialog.getSaveFileName(caption='Choose EDI File', + directory=self.plot_widget.dir_path, + filter='*.edi')) + + self.plot_widget.mt_obj.write_edi_file(new_fn=save_fn) + + def edit_plot_properties(self): + self.plot_widget.plot_properties.setup_ui() + self.plot_widget.plot_properties.show() + self.plot_widget.plot_properties.settings_updated.connect(self.update_plot) + + def update_plot(self): + + self.mask_kw = {'color' : self.plot_widget.plot_properties.mask_color, + 'marker' : self.plot_widget.plot_properties.mask_marker, + 'ms' : self.plot_widget.plot_properties.mask_ms, + 'mew' : self.plot_widget.plot_properties.mask_mew} + self.plot_widget.redraw_plot() + + def edit_metadata(self): + self.edi_text_editor = EDITextEditor(self.plot_widget.mt_obj.edi_object) + self.edi_text_editor.metadata_updated.connect(self.update_edi_metadata) + + def update_edi_metadata(self): + self.plot_widget.mt_obj.edi_object = copy.deepcopy(self.edi_text_editor.edi_obj) + self.plot_widget.mt_obj.station = self.plot_widget.mt_obj.edi_object.station + self.plot_widget.mt_obj.elev = self.plot_widget.mt_obj.edi_object.elev + self.plot_widget.mt_obj.lat = self.plot_widget.mt_obj.edi_object.lat + self.plot_widget.mt_obj.lon = self.plot_widget.mt_obj.edi_object.lon + self.plot_widget.fill_metadata() + +#============================================================================== +# Plot Widget +#============================================================================== +class PlotWidget(QtGui.QWidget): + """ + matplotlib plot of the data + + """ + + def __init__(self): + super(PlotWidget, self).__init__() + + self.mt_obj = mt.MT() + self._mt_obj = mt.MT() + self.static_shift_x = 1.0 + self.static_shift_y = 1.0 + self.rotate_z_angle = 0 + self.rotate_tip_angle = 0 + self.plot_properties = PlotSettings(None) + self._edited_ss = False + self._edited_dist = False + self._edited_rot = False + self._edited_mask = False + self._ax = None + self.dir_path = os.getcwd() + self.edits_mode = 'Both' + + self.interp_period_min = .001 + self.interp_period_max = 1000. + self.interp_period_num = 24 + self.num_freq = None + self.static_shift_med_rad = 2000. + self.static_shift_med_num_freq = 24 + self.mask_kw = {'color' : self.plot_properties.mask_color, + 'marker' : self.plot_properties.mask_marker, + 'ms' : self.plot_properties.mask_ms, + 'mew' : self.plot_properties.mask_mew} + + self.setup_ui() + + + def setup_ui(self): + """ + set up the ui + """ + self.figure = Figure(dpi=150) + self.mpl_widget = FigureCanvas(self.figure) + self.mpl_widget.setFocusPolicy(QtCore.Qt.ClickFocus) + self.mpl_widget.setFocus() + + # this will set the minimum width of the mpl plot, important to + # resize everything + screen = QtGui.QDesktopWidget().screenGeometry() + self.mpl_widget.setMinimumWidth(screen.width()*(1600./1920)) + + # be able to edit the data + self.mpl_widget.mpl_connect('pick_event', self.on_pick) + self.mpl_widget.mpl_connect('axes_enter_event', self.in_axes) + self.mpl_widget.setSizePolicy(QtGui.QSizePolicy.Expanding, + QtGui.QSizePolicy.Expanding) + + self.mpl_toolbar = NavigationToolbar(self.mpl_widget, self) + + # header label font + header_font = QtGui.QFont() + header_font.setBold = True + header_font.setPointSize (14) + + button_font = QtGui.QFont() + button_font.setBold = True + button_font.setPointSize(11) + + # output box for all notes from the program + self.output_label = QtGui.QLabel("Output") + self.output_label.setFont(header_font) + self.output_box = QtGui.QTextEdit() + + ## --> SET METADATA + self.metadata_label = QtGui.QLabel('Metadata') + self.metadata_label.setFont(header_font) + + self.meta_station_name_label = QtGui.QLabel("Station") + self.meta_station_name_edit = QtGui.QLineEdit(str(self.mt_obj.station)) + self.meta_station_name_edit.editingFinished.connect(self.meta_edit_station) + + # sets up with an empty mt object so we can set values to 0 + # once a edi is read in then the metadata will be filled. + self.meta_lat_label = QtGui.QLabel("Lat (deg)") + self.meta_lat_edit = QtGui.QLineEdit('{0:.6f}'.format(0.0)) + self.meta_lat_edit.editingFinished.connect(self.meta_edit_lat) + + self.meta_lon_label = QtGui.QLabel("Long (deg)") + self.meta_lon_edit = QtGui.QLineEdit('{0:.6f}'.format(0.0)) + self.meta_lon_edit.editingFinished.connect(self.meta_edit_lon) + + self.meta_elev_label = QtGui.QLabel("Elev (m)") + self.meta_elev_edit = QtGui.QLineEdit('{0:.3f}'.format(0.0)) + self.meta_elev_edit.editingFinished.connect(self.meta_edit_elev) + + self.meta_loc_label = QtGui.QLabel("Location") + self.meta_loc_edit = QtGui.QLineEdit("None") + self.meta_loc_edit.editingFinished.connect(self.meta_edit_loc) + + self.meta_date_label = QtGui.QLabel("Date Acq") + self.meta_date_edit = QtGui.QLineEdit("YYYY-MM-DD") + self.meta_date_edit.editingFinished.connect(self.meta_edit_date) + + self.meta_acq_label = QtGui.QLabel("Acquired By") + self.meta_acq_edit = QtGui.QLineEdit("None") + self.meta_acq_edit.editingFinished.connect(self.meta_edit_acq) + + ## Static Shift + self.static_shift_label = QtGui.QLabel("Static Shift") + self.static_shift_label.setFont(header_font) + + self.static_shift_x_label = QtGui.QLabel("Shift X") + self.static_shift_x_edit = QtGui.QLineEdit("{0:.3f}".format(self.static_shift_x)) + self.static_shift_x_edit.editingFinished.connect(self.static_shift_set_x) + + self.static_shift_y_label = QtGui.QLabel("Shift Y") + self.static_shift_y_edit = QtGui.QLineEdit("{0:.3f}".format(self.static_shift_y)) + self.static_shift_y_edit.editingFinished.connect(self.static_shift_set_y) + + self.static_shift_apply_button = QtGui.QPushButton() + self.static_shift_apply_button.setText("Apply Static Shift") + self.static_shift_apply_button.setFont(button_font) + self.static_shift_apply_button.setStyleSheet("background-color: #c75e4d") + self.static_shift_apply_button.pressed.connect(self.static_shift_apply) + + self.static_shift_med_filt_button = QtGui.QPushButton() + self.static_shift_med_filt_button.setText("Estimate Spatial Median Static Shift") + self.static_shift_med_filt_button.setFont(button_font) + self.static_shift_med_filt_button.setStyleSheet("background-color: #f9d7db") + self.static_shift_med_filt_button.pressed.connect(self.static_shift_med_filt_estimate) + + self.static_shift_med_rad_label = QtGui.QLabel("Spatial Radius (m)") + self.static_shift_med_rad_edit = QtGui.QLineEdit('{0:.2f}'.format(self.static_shift_med_rad)) + self.static_shift_med_rad_edit.editingFinished.connect(self.static_shift_med_rad_set) + + self.static_shift_med_num_freq_label = QtGui.QLabel("Number of Frequencies") + self.static_shift_med_num_freq_edit = QtGui.QLineEdit() + self.static_shift_med_num_freq_edit.setText('{0}'.format(self.static_shift_med_num_freq)) + self.static_shift_med_num_freq_edit.editingFinished.connect(self.static_shift_med_num_freq_set) + + ## remove distortion + self.remove_distortion_label = QtGui.QLabel("Remove Distortion") + self.remove_distortion_label.setFont(header_font) + + self.remove_distortion_button = QtGui.QPushButton() + self.remove_distortion_button.setText("Remove Distortion [Bibby et al., 2005]") + self.remove_distortion_button.setStyleSheet("background-color: #b8c3f5") + self.remove_distortion_button.setFont(button_font) + self.remove_distortion_button.pressed.connect(self.remove_distortion_apply) + + self.remove_distortion_num_freq_label = QtGui.QLabel("Number of Frequencies") + self.remove_distortion_num_freq_edit = QtGui.QLineEdit() + if self.mt_obj.Z.freq is not None: + self.remove_distortion_num_freq_edit.setText('{0:.0f}'.format(self.mt_obj.Z.freq.size)) + self.remove_distortion_num_freq_edit.editingFinished.connect(self.remove_distortion_set_num_freq) + ## rotate data + self.rotate_data_label = QtGui.QLabel("Rotate") + self.rotate_data_label.setFont(header_font) + + self.rotate_explanation = QtGui.QLabel("Always rotating original data, assuming: N = 0, E = 90.") + self.rotate_angle_z_label = QtGui.QLabel("Rotate Z (deg)") + self.rotate_angle_z_edit = QtGui.QLineEdit("{0:.4g}".format(self.rotate_z_angle)) + self.rotate_angle_z_edit.editingFinished.connect(self.rotate_set_z_angle) + + self.rotate_angle_t_label = QtGui.QLabel("Rotate Tipper (deg)") + self.rotate_angle_t_edit = QtGui.QLineEdit("{0:.4g}".format(self.rotate_tip_angle)) + self.rotate_angle_t_edit.editingFinished.connect(self.rotate_set_t_angle) + + self.rotate_angle_button = QtGui.QPushButton("Apply Rotation") + self.rotate_angle_button.setStyleSheet("background-color: #7dd4d0") + self.rotate_angle_button.setFont(button_font) + self.rotate_angle_button.pressed.connect(self.rotate_data_apply) + + self.rotate_estimate_strike_button = QtGui.QPushButton("Estimate Strike") + self.rotate_estimate_strike_button.pressed.connect(self.rotate_estimate_strike) + + + ## interpolate data + self.interp_label = QtGui.QLabel("Interpolate Periods") + self.interp_label.setFont(header_font) + + self.interp_apply_button = QtGui.QPushButton() + self.interp_apply_button.setText("Apply Interpolation") + self.interp_apply_button.setStyleSheet("background-color: #d39bd9") + self.interp_apply_button.setFont(button_font) + self.interp_apply_button.pressed.connect(self.interp_apply) + + self.interp_min_label = QtGui.QLabel("Min") + self.interp_min_edit = QtGui.QLineEdit("{0:.4e}".format(self.interp_period_min)) + self.interp_min_edit.editingFinished.connect(self.interp_set_min) + + self.interp_max_label = QtGui.QLabel("Max") + self.interp_max_edit = QtGui.QLineEdit("{0:.4e}".format(self.interp_period_max)) + self.interp_max_edit.editingFinished.connect(self.interp_set_max) + + self.interp_num_label = QtGui.QLabel("Num") + self.interp_num_edit = QtGui.QLineEdit("{0:.0f}".format(self.interp_period_num)) + self.interp_num_edit.editingFinished.connect(self.interp_set_num) + + ## tools label + self.tools_label = QtGui.QLabel("Editing Tools") + self.tools_label.setFont(header_font) + + ## edit x, y or both + self.edits_mode_label = QtGui.QLabel("Mode To Edit") + self.edits_combo = QtGui.QComboBox() + self.edits_combo.addItems(['Both', 'X', 'Y']) + self.edits_combo.setFont(button_font) + self.edits_combo.currentIndexChanged.connect(self.edits_set) + + ## apply edits button + self.edits_apply_button = QtGui.QPushButton() + self.edits_apply_button.setText("Apply Edits") + self.edits_apply_button.setStyleSheet("background-color: #d99ba3") + self.edits_apply_button.setFont(button_font) + self.edits_apply_button.pressed.connect(self.edits_apply) + + ## revert back to original data + self.revert_button = QtGui.QPushButton() + self.revert_button.setText("Revert back to orginal data") + self.revert_button.setStyleSheet("background-color: #c2d99b") + self.revert_button.setFont(button_font) + self.revert_button.pressed.connect(self.revert_back) + + ## save edits button + self.save_edits_button = QtGui.QPushButton() + self.save_edits_button.setText('Save Edits to new EDI file') + self.save_edits_button.setStyleSheet("background-color: #d9c59b") + self.save_edits_button.setFont(button_font) + self.save_edits_button.pressed.connect(self.save_edi_file) + + ## horizontal line + h_line_01 = QtGui.QFrame(self) + h_line_01.setFrameShape(QtGui.QFrame.HLine) + h_line_01.setFrameShadow(QtGui.QFrame.Sunken) + + h_line_02 = QtGui.QFrame(self) + h_line_02.setFrameShape(QtGui.QFrame.HLine) + h_line_02.setFrameShadow(QtGui.QFrame.Sunken) + + h_line_03 = QtGui.QFrame(self) + h_line_03.setFrameShape(QtGui.QFrame.HLine) + h_line_03.setFrameShadow(QtGui.QFrame.Sunken) + + h_line_04 = QtGui.QFrame(self) + h_line_04.setFrameShape(QtGui.QFrame.HLine) + h_line_04.setFrameShadow(QtGui.QFrame.Sunken) + + h_line_05 = QtGui.QFrame(self) + h_line_05.setFrameShape(QtGui.QFrame.HLine) + h_line_05.setFrameShadow(QtGui.QFrame.Sunken) + + ## vertical spacer + v_space = QtGui.QSpacerItem(20, 20, + QtGui.QSizePolicy.Minimum, + QtGui.QSizePolicy.Maximum) + ###--> layout --------------------------------------------- + ## mpl plot --> right panel + mpl_vbox = QtGui.QVBoxLayout() + mpl_vbox.addWidget(self.mpl_toolbar) + mpl_vbox.addWidget(self.mpl_widget) + + ##--> Left Panel + ## Metadata grid + meta_layout = QtGui.QGridLayout() + + meta_layout.addWidget(self.metadata_label, 0, 0) + meta_layout.addWidget(self.meta_station_name_label, 1, 0) + meta_layout.addWidget(self.meta_station_name_edit, 1, 1) + meta_layout.addWidget(self.meta_lat_label, 2, 0) + meta_layout.addWidget(self.meta_lat_edit, 2, 1) + meta_layout.addWidget(self.meta_lon_label, 3, 0) + meta_layout.addWidget(self.meta_lon_edit, 3, 1) + meta_layout.addWidget(self.meta_elev_label, 4, 0) + meta_layout.addWidget(self.meta_elev_edit, 4, 1) + meta_layout.addWidget(self.meta_loc_label, 5, 0) + meta_layout.addWidget(self.meta_loc_edit, 5, 1) + meta_layout.addWidget(self.meta_date_label, 6, 0) + meta_layout.addWidget(self.meta_date_edit, 6, 1) + meta_layout.addWidget(self.meta_acq_label, 7, 0) + meta_layout.addWidget(self.meta_acq_edit, 7, 1) + + ## static shift + ss_title = QtGui.QHBoxLayout() + ss_title.addWidget(self.static_shift_label) + ss_title.addWidget(self.static_shift_apply_button) + + ss_shift = QtGui.QHBoxLayout() + ss_shift.addWidget(self.static_shift_x_label) + ss_shift.addWidget(self.static_shift_x_edit) + ss_shift.addWidget(self.static_shift_y_label) + ss_shift.addWidget(self.static_shift_y_edit) + + ss_med = QtGui.QHBoxLayout() + ss_med.addWidget(self.static_shift_med_rad_label) + ss_med.addWidget(self.static_shift_med_rad_edit) + ss_med.addWidget(self.static_shift_med_num_freq_label) + ss_med.addWidget(self.static_shift_med_num_freq_edit) + + ss_layout = QtGui.QVBoxLayout() + ss_layout.addLayout(ss_title) + ss_layout.addLayout(ss_shift) + ss_layout.addLayout(ss_med) + ss_layout.addWidget(self.static_shift_med_filt_button) + + ## rotation + rot_title = QtGui.QHBoxLayout() + rot_title.addWidget(self.rotate_data_label) + rot_title.addWidget(self.rotate_angle_button) + + rot_ang = QtGui.QHBoxLayout() + rot_ang.addWidget(self.rotate_angle_z_label) + rot_ang.addWidget(self.rotate_angle_z_edit) + rot_ang.addWidget(self.rotate_angle_t_label) + rot_ang.addWidget(self.rotate_angle_t_edit) + + rot_layout = QtGui.QVBoxLayout() + rot_layout.addLayout(rot_title) + rot_layout.addWidget(self.rotate_explanation) + rot_layout.addLayout(rot_ang) + + ## interpolate + interp_title = QtGui.QHBoxLayout() + interp_title.addWidget(self.interp_label) + interp_title.addWidget(self.interp_apply_button) + + interp_num = QtGui.QGridLayout() + interp_num.addWidget(self.interp_min_label, 0, 0) + interp_num.addWidget(self.interp_min_edit, 0, 1) + interp_num.addWidget(self.interp_max_label, 0, 2) + interp_num.addWidget(self.interp_max_edit, 0, 3) + + + interp_num.addWidget(self.interp_num_label, 1, 0) + interp_num.addWidget(self.interp_num_edit, 1, 1) + + interp_layout = QtGui.QVBoxLayout() + interp_layout.addLayout(interp_title) + interp_layout.addLayout(interp_num) + + dis_hbox = QtGui.QHBoxLayout() + dis_hbox.addWidget(self.remove_distortion_num_freq_label) + dis_hbox.addWidget(self.remove_distortion_num_freq_edit) + + edit_layout = QtGui.QGridLayout() + edit_layout.addWidget(self.tools_label, 0, 0, 1, 2) + edit_layout.addWidget(self.edits_mode_label, 1, 0) + edit_layout.addWidget(self.edits_combo, 1, 1) + edit_layout.addWidget(self.edits_apply_button, 2, 0, 1, 2) + edit_layout.addWidget(self.revert_button, 3, 0, 1, 2) + edit_layout.addWidget(self.save_edits_button, 4, 0, 1, 2) + + + ## left panel + info_layout = QtGui.QVBoxLayout() + info_layout.addLayout(meta_layout) + + info_layout.addWidget(h_line_01) + info_layout.addWidget(self.remove_distortion_label) + info_layout.addWidget(self.remove_distortion_button) + info_layout.addLayout(dis_hbox) + info_layout.addWidget(h_line_02) + info_layout.addLayout(ss_layout) + info_layout.addWidget(h_line_03) + info_layout.addLayout(rot_layout) + info_layout.addWidget(h_line_04) + info_layout.addLayout(interp_layout) + info_layout.addWidget(h_line_05) + info_layout.addLayout(edit_layout) + info_layout.addItem(v_space) + info_layout.addWidget(self.output_label) + info_layout.addWidget(self.output_box) + + ## final layout + final_layout = QtGui.QHBoxLayout() + final_layout.addLayout(info_layout) + final_layout.addLayout(mpl_vbox ) + + + self.setLayout(final_layout) + self.mpl_widget.updateGeometry() + + def meta_edit_station(self): + self.mt_obj.station = str(self.meta_station_name_edit.text()) + + def meta_edit_lat(self): + self.mt_obj.lat = float(str(self.meta_lat_edit.text())) + self.meta_lat_edit.setText('{0:.6f}'.format(self.mt_obj.lat)) + + def meta_edit_lon(self): + self.mt_obj.lon = float(str(self.meta_lat_edit.text())) + self.meta_lon_edit.setText('{0:.6f}'.format(self.mt_obj.lat)) + + def meta_edit_elev(self): + self.mt_obj.elev = float(str(self.meta_elev_edit.text())) + self.meta_elev_edit.setText('{0:.6f}'.format(self.mt_obj.elev)) + + def meta_edit_loc(self): + self.mt_obj.edi_object.Header.loc = (str(self.meta_loc_edit.text())) + self.meta_loc_edit.setText('{0}'.format(self.mt_obj.edi_object.Header.loc)) + + def meta_edit_date(self): + self.mt_obj.edi_object.Header.filedate = str(self.meta_date_edit.text()) + self.meta_date_edit.setText(self.mt_obj.edi_object.Header.filedate) + + def meta_edit_acq(self): + self.mt_obj.edi_object.Header.acqby = str(self.meta_acq_edit.text()) + self.meta_acq_edit.setText(self.mt_obj.edi_object.Header.acqby) + + def fill_metadata(self): + self.meta_station_name_edit.setText(self.mt_obj.station) + self.meta_lat_edit.setText('{0:.6f}'.format(self.mt_obj.lat)) + self.meta_lon_edit.setText('{0:.6f}'.format(self.mt_obj.lon)) + self.meta_elev_edit.setText('{0:.6f}'.format(self.mt_obj.elev)) + self.meta_date_edit.setText('{0}'.format(self.mt_obj.edi_object.Header.filedate)) + self.meta_loc_edit.setText('{0}'.format(self.mt_obj.edi_object.Header.loc)) + self.meta_acq_edit.setText('{0}'.format(self.mt_obj.edi_object.Header.acqby)) + self.remove_distortion_num_freq_edit.setText('{0:.0f}'.format(self.mt_obj.Z.freq.size)) + + def static_shift_set_x(self): + self.static_shift_x = float(str(self.static_shift_x_edit.text())) + self.static_shift_x_edit.setText('{0:.3f}'.format(self.static_shift_x)) + + def static_shift_set_y(self): + self.static_shift_y = float(str(self.static_shift_y_edit.text())) + self.static_shift_y_edit.setText('{0:.3f}'.format(self.static_shift_y)) + + def static_shift_apply(self): + """ + shift apparent resistivity up or down + """ + if self._edited_dist == False and self._edited_rot == False and \ + self._edited_mask == False: + # be sure to apply the static shift to the original data + new_z_obj = self._mt_obj.remove_static_shift(ss_x=self.static_shift_x, + ss_y=self.static_shift_y) + # print the static shift applied + print "\n Static shift applied to original data:" + else: + new_z_obj = self.mt_obj.remove_static_shift(ss_x=self.static_shift_x, + ss_y=self.static_shift_y) + # print the static shift applied + print "\n - Static shift applied to edited data:" + + # print the static shift applied + print " x = {0:.4f}, y = {1:.4f}".format(self.static_shift_x, + self.static_shift_y) + self._edited_ss = True + + self.mt_obj.Z = new_z_obj + self.redraw_plot() + + def static_shift_med_rad_set(self): + self.static_shift_med_rad = float(str(self.static_shift_med_rad_edit.text())) + self.static_shift_med_rad_edit.setText('{0:.2f}'.format(self.static_shift_med_rad)) + + def static_shift_med_num_freq_set(self): + self.static_shift_med_num_freq = float(str(self.static_shift_med_num_freq_edit.text())) + self.static_shift_med_num_freq_edit.setText('{0:.0f}'.format(self.static_shift_med_num_freq)) + + def static_shift_med_filt_estimate(self): + + ss_x, ss_y = staticshift.estimate_static_spatial_median(self.mt_obj.fn, + radius=self.static_shift_med_rad, + num_freq=self.static_shift_med_num_freq) + + self.static_shift_x = ss_x + self.static_shift_y = ss_y + + self.static_shift_x_edit.setText('{0:.2f}'.format(ss_x)) + self.static_shift_y_edit.setText('{0:.2f}'.format(ss_y)) + + def remove_distortion_set_num_freq(self): + """ + set number of frequencies to remove distortion from + """ + + try: + self.num_freq = int(str(self.remove_distortion_num_freq_edit.text())) + self.remove_distortion_num_freq_edit.setText('{0:.0f}'.format(self.num_freq)) + except ValueError: + self.num_freq = None + + def remove_distortion_apply(self): + """ + remove distortion from the mt repsonse + """ + if self._edited_dist == False and self._edited_rot == False and \ + self._edited_mask == False and self._edited_ss == False: + # remove distortion from original data + distortion, new_z_object = self._mt_obj.remove_distortion(num_freq=self.num_freq) + print '\n - Removed distortion from original data' + + else: + # remove distortion from edited data + distortion, new_z_object = self.mt_obj.remove_distortion(num_freq=self.num_freq) + print '\n - Removed distortion from edited data' + + self._edited_dist = True + self.mt_obj.Z = new_z_object + + print ' Distortion matrix:' + print ' | {0:+.3f} {1:+.3f} |'.format(distortion[0, 0], + distortion[0, 1]) + print ' | {0:+.3f} {1:+.3f} |'.format(distortion[1, 0], + distortion[1, 1]) + + self.redraw_plot() + + def rotate_set_z_angle(self): + """ + set z rotation angle + + Always rotate original data otherwiswe can get messy + """ + self.rotate_z_angle = float(str(self.rotate_angle_z_edit.text())) + self.rotate_angle_z_edit.setText("{0:.4f}".format(self.rotate_z_angle)) + + self.rotate_tip_angle = float(self.rotate_z_angle) + self.rotate_angle_t_edit.setText("{0:.4f}".format(self.rotate_tip_angle)) + + + def rotate_set_t_angle(self): + """ + rotate tipper data assuming North is 0 and E is 90 + + Always rotate original data otherwiswe can get messy + """ + self.rotate_tip_angle = float(str(self.rotate_angle_t_edit.text())) + self.rotate_angle_t_edit.setText("{0:.4f}".format(self.rotate_tip_angle)) + + def rotate_data_apply(self): + """ + rotate both Z and tipper original data by the input angles + """ + + rot_z_obj = copy.deepcopy(self._mt_obj.Z) + rot_z_obj.rotate(self.rotate_z_angle) + + self.mt_obj.Z = rot_z_obj + + rot_t_obj = copy.deepcopy(self._mt_obj.Tipper) + rot_t_obj.rotate(self.rotate_tip_angle) + + self.mt_obj.Tipper = rot_t_obj + + if self._edited_ss == True: + self.static_shift_apply() + + if self._edited_dist == True: + self.remove_distortion_apply() + + self.redraw_plot() + + self._edited_rot = True + + print '\n Rotated orginal data clockwise by:' + print ' Z = {0:.3g}'.format(self.rotate_z_angle) + print ' T = {0:.3g}'.format(self.rotate_tip_angle) + + def rotate_estimate_strike(self): + """ + estimate strike from the invariants, phase tensor, and tipper if + measured. + """ + z_list = [copy.deepcopy(self.mt_obj.Z)] + t_list = [copy.deepcopy(self.mt_obj.Tipper)] + strike_plot = plotstrike2d.PlotStrike2D(z_object_list=z_list, + tipper_object_list=t_list, + plot_yn='n') + strike_plot.plot_type = 1 + if np.any(self.mt_obj.Tipper.tipper == 0) == True: + strike_plot.plot_tipper = 'n' + elif np.any(self.mt_obj.Tipper.tipper == 0) == False: + strike_plot.plot_tipper = 'y' + + strike_plot.fold = False + strike_plot.plot_range = 'data' + strike_plot.plot() + + def interp_set_min(self): + self.interp_period_min = float(str(self.interp_min_edit.text())) + self.interp_min_edit.setText('{0:.4e}'.format(self.interp_period_min)) + + def interp_set_max(self): + self.interp_period_max = float(str(self.interp_max_edit.text())) + self.interp_max_edit.setText('{0:.4e}'.format(self.interp_period_max)) + + def interp_set_num(self): + self.interp_period_num = int(str(self.interp_num_edit.text())) + self.interp_num_edit.setText('{0:.0f}'.format(self.interp_period_num)) + + def interp_apply(self): + """ + interpolate data on to a new period list that is equally spaced in + log space. + """ + + new_period = np.logspace(np.log10(self.interp_period_min), + np.log10(self.interp_period_max), + num=self.interp_period_num) + interp_freq = 1./new_period + interp_idx = np.where((interp_freq >= self.mt_obj.Z.freq.min()) & + (interp_freq <= self.mt_obj.Z.freq.max())) + + interp_freq = interp_freq[interp_idx] + if len(interp_idx) != len(new_period): + + info =['Cannot interpolate over periods not represented in the data.', + 'Data min = {0:<8.3e} s'.format(1./self.mt_obj.Z.freq.max()), + 'Data max = {0:<8.3e} s'.format(1./self.mt_obj.Z.freq.min()), + '', + 'Given period range:', + ' min = {0:<8.3e} s'.format(new_period.min()), + ' max = {0:<8.3e} s'.format(new_period.max()), + '', + 'Setting interpolation frequency bounds to:', + ' min = {0:<8.3e} s'.format(1./interp_freq.max()), + ' max = {0:<8.3e} s'.format(1./interp_freq.min())] + msg_box = QtGui.QMessageBox() + msg_box.setText('\n'.join(info)) + msg_box.setWindowTitle('Interpolation Bounds') + msg_box.exec_() + + if self._edited_dist == True or self._edited_mask == True or \ + self._edited_rot == True or self._edited_ss == True: + new_z, new_tip = self.mt_obj.interpolate(interp_freq) + self.mt_obj.Z = new_z + self.mt_obj.Tipper = new_tip + + else: + new_z, new_tip = self._mt_obj.interpolate(interp_freq) + self.mt_obj.Z = new_z + self.mt_obj.Tipper = new_tip + + self.redraw_plot() + + print 'Interpolated data onto periods:' + for ff in interp_freq: + print ' {0:.6e}'.format(1./ff) + + def edits_set(self, selected_item): + modes_list = ['Both', 'X', 'Y'] + self.edits_mode = modes_list[selected_item] + + + def edits_apply(self): + """ + apply edits, well edits are already made, but replot without edited + points + """ + + self.redraw_plot() + + + def revert_back(self): + """ + revert back to original data + + """ + + self.mt_obj = copy.deepcopy(self._mt_obj) + self.reset_parameters() + self.redraw_plot() + + print '\n' + print '-'*35 + print "Reverted back to original input data." + print "Reset editing parameters." + + def reset_parameters(self): + self.static_shift_x = 1.0 + self.static_shift_y = 1.0 + self.static_shift_x_edit.setText("{0:.4g}".format(self.static_shift_x)) + self.static_shift_y_edit.setText("{0:.4g}".format(self.static_shift_y)) + self.rotate_z_angle = 0.0 + self.rotate_tip_angle = 0.0 + self.rotate_angle_z_edit.setText("{0:.4g}".format(self.rotate_z_angle)) + self.rotate_angle_t_edit.setText("{0:.4g}".format(self.rotate_tip_angle)) + + self._edited_ss = False + self._edited_dist = False + self._edited_rot = False + + def save_edi_file(self): + """ + save edited edi file to the chosen file name. + """ + + save_dialog = QtGui.QFileDialog() + save_fn = str(save_dialog.getSaveFileName(caption='Choose EDI file', + directory=self.dir_path, + filter='*.edi')) + self.mt_obj.write_edi_file(new_fn=save_fn) + + @QtCore.pyqtSlot(str) + def normal_output(self, message): + self.output_box.moveCursor(QtGui.QTextCursor.End) + self.output_box.insertPlainText(message) + + def plot(self): + """ + plot the response + + will have original data below the editable data + """ + + self.figure.clf() + + self.figure.suptitle(self.mt_obj.station, + fontdict={'size':self.plot_properties.fs+4, + 'weight':'bold'}) + + # make some useful internal variabls + font_dict = {'size':self.plot_properties.fs+2, 'weight':'bold'} + plot_period = 1./self.mt_obj.Z.freq + plot_period_o = 1./self._mt_obj.Z.freq + + if np.all(self.mt_obj.Tipper.tipper == 0) == True: + print 'No Tipper data for station {0}'.format(self.mt_obj.station) + self.plot_tipper = False + else: + self.plot_tipper = True + + #set x-axis limits from short period to long period + self.plot_properties.xlimits = (10**(np.floor(np.log10(plot_period_o.min()))), + 10**(np.ceil(np.log10((plot_period_o.max()))))) + + #--> make key word dictionaries for plotting + kw_xx = {'color':self.plot_properties.cted, + 'marker':self.plot_properties.mted, + 'ms':self.plot_properties.ms, + 'ls':':', + 'lw':self.plot_properties.lw, + 'e_capsize':self.plot_properties.e_capsize, + 'e_capthick':self.plot_properties.e_capthick, + 'picker':3} + + kw_yy = {'color':self.plot_properties.ctmd, + 'marker':self.plot_properties.mtmd, + 'ms':self.plot_properties.ms, + 'ls':':', + 'lw':self.plot_properties.lw, + 'e_capsize':self.plot_properties.e_capsize, + 'e_capthick':self.plot_properties.e_capthick, + 'picker':3} + + kw_xx_o = {'color':self.plot_properties.cteo, + 'marker':self.plot_properties.mted, + 'ms':self.plot_properties.ms, + 'ls':':', + 'lw':self.plot_properties.lw, + 'e_capsize':self.plot_properties.e_capsize, + 'e_capthick':self.plot_properties.e_capthick, + 'picker':None} + + kw_yy_o = {'color':self.plot_properties.ctmo, + 'marker':self.plot_properties.mtmd, + 'ms':self.plot_properties.ms, + 'ls':':', + 'lw':self.plot_properties.lw, + 'e_capsize':self.plot_properties.e_capsize, + 'e_capthick':self.plot_properties.e_capthick, + 'picker':None} + + # create a grid of subplots + gs = gridspec.GridSpec(3, 2, height_ratios=[2, 1.5, 1]) + + gs.update(hspace=self.plot_properties.subplot_hspace, + wspace=self.plot_properties.subplot_wspace, + left=self.plot_properties.subplot_left, + right=self.plot_properties.subplot_right, + top=self.plot_properties.subplot_top, + bottom=self.plot_properties.subplot_bottom) + + #find locations where points have been masked + nzxx = np.nonzero(self.mt_obj.Z.z[:, 0, 0])[0] + nzxy = np.nonzero(self.mt_obj.Z.z[:, 0, 1])[0] + nzyx = np.nonzero(self.mt_obj.Z.z[:, 1, 0])[0] + nzyy = np.nonzero(self.mt_obj.Z.z[:, 1, 1])[0] + + nzxx_o = np.nonzero(self._mt_obj.Z.z[:, 0, 0])[0] + nzxy_o = np.nonzero(self._mt_obj.Z.z[:, 0, 1])[0] + nzyx_o = np.nonzero(self._mt_obj.Z.z[:, 1, 0])[0] + nzyy_o = np.nonzero(self._mt_obj.Z.z[:, 1, 1])[0] + + # make axis od = off-diagonal, d = diagonal, share x axis across plots + self.ax_res_od = self.figure.add_subplot(gs[0, 0]) + self.ax_res_d = self.figure.add_subplot(gs[0, 1], + sharex=self.ax_res_od) + + self.ax_phase_od = self.figure.add_subplot(gs[1, 0], + sharex=self.ax_res_od) + self.ax_phase_d = self.figure.add_subplot(gs[1, 1], + sharex=self.ax_res_od) + + # include tipper, r = real, i = imaginary + self.ax_tip_x = self.figure.add_subplot(gs[2, 0], + sharex=self.ax_res_od) + self.ax_tip_y = self.figure.add_subplot(gs[2, 1], + sharex=self.ax_res_od) + + self.ax_list = [self.ax_res_od, self.ax_res_d, + self.ax_phase_od, self.ax_phase_d, + self.ax_tip_x, self.ax_tip_y] + + self._ax = self.ax_res_od + + ## --> plot apparent resistivity, phase and tipper + ## plot orginal apparent resistivity + if self.plot_properties.plot_original_data == True: + orxx = mtplt.plot_errorbar(self.ax_res_d, + plot_period_o[nzxx_o], + self._mt_obj.Z.resistivity[nzxx_o, 0, 0], + self._mt_obj.Z.resistivity_err[nzxx_o, 0, 0], + **kw_xx_o) + orxy = mtplt.plot_errorbar(self.ax_res_od, + plot_period_o[nzxy_o], + self._mt_obj.Z.resistivity[nzxy_o, 0, 1], + self._mt_obj.Z.resistivity_err[nzxy_o, 0, 1], + **kw_xx_o) + oryx = mtplt.plot_errorbar(self.ax_res_od, + plot_period_o[nzyx_o], + self._mt_obj.Z.resistivity[nzyx_o, 1, 0], + self._mt_obj.Z.resistivity_err[nzyx_o, 1, 0], + **kw_yy_o) + oryy = mtplt.plot_errorbar(self.ax_res_d, + plot_period_o[nzyy_o], + self._mt_obj.Z.resistivity[nzyy_o, 1, 1], + self._mt_obj.Z.resistivity_err[nzyy_o, 1, 1], + **kw_yy_o) + # plot original phase + epxx = mtplt.plot_errorbar(self.ax_phase_d, + plot_period_o[nzxx_o], + self._mt_obj.Z.phase[nzxx_o, 0, 0], + self._mt_obj.Z.phase_err[nzxx_o, 0, 0], + **kw_xx_o) + epxy = mtplt.plot_errorbar(self.ax_phase_od, + plot_period_o[nzxy_o], + self._mt_obj.Z.phase[nzxy_o, 0, 1], + self._mt_obj.Z.phase_err[nzxy_o, 0, 1], + **kw_xx_o) + epyx = mtplt.plot_errorbar(self.ax_phase_od, + plot_period_o[nzyx_o], + self._mt_obj.Z.phase[nzyx_o, 1, 0]+180, + self._mt_obj.Z.phase_err[nzyx_o, 1, 0], + **kw_yy_o) + epyy = mtplt.plot_errorbar(self.ax_phase_d, + plot_period_o[nzyy_o], + self._mt_obj.Z.phase[nzyy_o, 1, 1], + self._mt_obj.Z.phase_err[nzyy_o, 1, 1], + **kw_yy_o) + + # plot manipulated data apparent resistivity + erxx = mtplt.plot_errorbar(self.ax_res_d, + plot_period[nzxx], + self.mt_obj.Z.resistivity[nzxx, 0, 0], + self.mt_obj.Z.resistivity_err[nzxx, 0, 0], + **kw_xx) + erxy = mtplt.plot_errorbar(self.ax_res_od, + plot_period[nzxy], + self.mt_obj.Z.resistivity[nzxy, 0, 1], + self.mt_obj.Z.resistivity_err[nzxy, 0, 1], + **kw_xx) + eryx = mtplt.plot_errorbar(self.ax_res_od, + plot_period[nzyx], + self.mt_obj.Z.resistivity[nzyx, 1, 0], + self.mt_obj.Z.resistivity_err[nzyx, 1, 0], + **kw_yy) + eryy = mtplt.plot_errorbar(self.ax_res_d, + plot_period[nzyy], + self.mt_obj.Z.resistivity[nzyy, 1, 1], + self.mt_obj.Z.resistivity_err[nzyy, 1, 1], + **kw_yy) + + + #--> set axes properties for apparent resistivity + if self.plot_properties.res_limits_d != None: + self.ax_res_d.set_ylim(self.plot_properties.res_limits_d) + if self.plot_properties.res_limits_od != None: + self.ax_res_od.set_ylim(self.plot_properties.res_limits_od) + for aa, ax in enumerate([self.ax_res_od, self.ax_res_d]): + plt.setp(ax.get_xticklabels(), visible=False) + if aa == 0: + ax.set_ylabel('App. Res. ($\mathbf{\Omega \cdot m}$)', + fontdict=font_dict) + ax.set_yscale('log') + ax.set_xscale('log') + ax.set_xlim(self.plot_properties.xlimits) + + ax.grid(True, alpha=.25, which='both', color=(.25, .25, .25), + lw=.25) + # make the plot cleaner by removing the bottom x label + ylim = ax.get_ylim() + ylimits = (10**np.floor(np.log10(ylim[0])), + 10**np.ceil(np.log10(ylim[1]))) + ax.set_ylim(ylimits) + ylabels = [' ', ' ']+\ + [mtplt.labeldict[ii] for ii + in np.arange(np.log10(ylimits[0])+1, + np.log10(ylimits[1])+1, 1)] + ax.set_yticklabels(ylabels) + + self.ax_res_od.legend((erxy[0], eryx[0]), + ('$Z_{xy}$', '$Z_{yx}$'), + loc=3, + markerscale=1, + borderaxespad=.01, + labelspacing=.07, + handletextpad=.2, + borderpad=.02) + self.ax_res_d.legend((erxx[0], eryy[0]), + ('$Z_{xx}$', '$Z_{yy}$'), + loc=3, + markerscale=1, + borderaxespad=.01, + labelspacing=.07, + handletextpad=.2, + borderpad=.02) + + + ##--> plot phase + # plot manipulated data + epxx = mtplt.plot_errorbar(self.ax_phase_d, + plot_period[nzxx], + self.mt_obj.Z.phase[nzxx, 0, 0], + self.mt_obj.Z.phase_err[nzxx, 0, 0], + **kw_xx) + epxy = mtplt.plot_errorbar(self.ax_phase_od, + plot_period[nzxy], + self.mt_obj.Z.phase[nzxy, 0, 1], + self.mt_obj.Z.phase_err[nzxy, 0, 1], + **kw_xx) + epyx = mtplt.plot_errorbar(self.ax_phase_od, + plot_period[nzyx], + self.mt_obj.Z.phase[nzyx, 1, 0]+180, + self.mt_obj.Z.phase_err[nzyx, 1, 0], + **kw_yy) + epyy = mtplt.plot_errorbar(self.ax_phase_d, + plot_period[nzyy], + self.mt_obj.Z.phase[nzyy, 1, 1], + self.mt_obj.Z.phase_err[nzyy, 1, 1], + **kw_yy) + + + #--> set axes properties + if self.plot_properties.phase_limits_od != None: + self.ax_phase_od.set_ylim(self.plot_properties.phase_limits_od) + if self.plot_properties.phase_limits_d != None: + self.ax_phase_d.set_ylim(self.plot_properties.phase_limits_d) + for aa, ax in enumerate([self.ax_phase_od, self.ax_phase_d]): + ax.set_xlabel('Period (s)', font_dict) + ax.set_xscale('log') + if aa == 0: + ax.set_ylabel('Phase (deg)', font_dict) + #ax.yaxis.set_major_locator(MultipleLocator(15)) + #ax.yaxis.set_minor_locator(MultipleLocator(5)) + ax.grid(True, alpha=.25, which='both', color=(.25, .25, .25), + lw=.25) + + + # set the last label to be an empty string for easier reading + for ax in [self.ax_phase_od, self.ax_phase_d]: + for label in [ax.get_yticklabels()[0], ax.get_yticklabels()[-1]]: + label.set_visible(False) + + ## --> plot tipper + #set th xaxis tick labels to invisible + plt.setp(self.ax_phase_od.xaxis.get_ticklabels(), visible=False) + plt.setp(self.ax_phase_d.xaxis.get_ticklabels(), visible=False) + self.ax_phase_od.set_xlabel('') + self.ax_phase_d.set_xlabel('') + + # make sure there is tipper data to plot + if self.plot_tipper == True: + + kw_tx = dict(kw_xx) + kw_ty = dict(kw_yy) + kw_tx['color'] = self.plot_properties.tipper_x_color + kw_ty['color'] = self.plot_properties.tipper_y_color + + ntx = np.nonzero(self.mt_obj.Tipper.amplitude[:, 0, 0])[0] + nty = np.nonzero(self.mt_obj.Tipper.amplitude[:, 0, 1])[0] + ntx_o = np.nonzero(self._mt_obj.Tipper.amplitude[:, 0, 0])[0] + nty_o = np.nonzero(self._mt_obj.Tipper.amplitude[:, 0, 1])[0] + + # plot magnitude of real and imaginary induction vectors + if self.plot_properties.plot_original_data == True: + etxo = mtplt.plot_errorbar(self.ax_tip_x, + plot_period_o[ntx_o], + self._mt_obj.Tipper.amplitude[ntx_o, 0, 0], + self._mt_obj.Tipper.amplitude_err[ntx_o, 0, 0], + **kw_xx_o) + + etyo = mtplt.plot_errorbar(self.ax_tip_y, + plot_period_o[nty_o], + self._mt_obj.Tipper.amplitude[nty_o, 0, 1], + self._mt_obj.Tipper.amplitude_err[nty_o, 0, 1], + **kw_yy_o) + + # plot magnitude of edited induction vectors + etx = mtplt.plot_errorbar(self.ax_tip_x, + plot_period[ntx], + self.mt_obj.Tipper.amplitude[ntx, 0, 0], + self.mt_obj.Tipper.amplitude_err[ntx, 0, 0], + **kw_tx) + + ety = mtplt.plot_errorbar(self.ax_tip_y, + plot_period[nty], + self.mt_obj.Tipper.amplitude[nty, 0, 1], + self.mt_obj.Tipper.amplitude_err[nty, 0, 1], + **kw_ty) + + self.ax_tip_x.legend([etx[0]], + ['|Re{T}|'], + loc=2, + markerscale=1, + borderaxespad=.01, + handletextpad=.2, + borderpad=.05) + self.ax_tip_y.legend([ety[0]], + ['|Im{T}|'], + loc=2, + markerscale=1, + borderaxespad=.01, + handletextpad=.2, + borderpad=.05) + + #--> set axes properties for magnitude and angle of induction vectors + if self.plot_properties.tipper_x_limits != None: + self.ax_tip_x.set_ylim(self.plot_properties.tipper_x_limits) + if self.plot_properties.tipper_y_limits != None: + self.ax_tip_y.set_ylim(self.plot_properties.tipper_y_limits) + for aa, ax in enumerate([self.ax_tip_x, self.ax_tip_y]): + if aa == 0: + ax.set_ylabel('Magnitude', fontdict=font_dict) + + ax.set_xscale('log') + ax.grid(True, alpha=.25, which='both', color=(.25, .25, .25), + lw=.25) + + + + # set the last label to be an empty string for easier reading + for ax in [self.ax_tip_x, self.ax_tip_y]: + for label in [ax.get_yticklabels()[-1]]: + label.set_visible(False) + + #gs.tight_layout(self.figure, h_pad=0) + + ## --> make a rectangluar picker box + self.rs_od_res = mplwidgets.RectangleSelector(self.ax_res_od, + self.rect_onselect_od, + drawtype='box', + useblit=True) + self.rs_d_res = mplwidgets.RectangleSelector(self.ax_res_d, + self.rect_onselect_d, + drawtype='box', + useblit=True) + self.rs_od_phs = mplwidgets.RectangleSelector(self.ax_phase_od, + self.rect_onselect_od, + drawtype='box', + useblit=True) + self.rs_d_phs = mplwidgets.RectangleSelector(self.ax_phase_d, + self.rect_onselect_d, + drawtype='box', + useblit=True) + self.rs_tr = mplwidgets.RectangleSelector(self.ax_tip_x, + self.rect_onselect_tr, + drawtype='box', + useblit=True) + self.rs_ti = mplwidgets.RectangleSelector(self.ax_tip_y, + self.rect_onselect_ti, + drawtype='box', + useblit=True) + + ## --> need to be sure to draw the figure + self.mpl_widget.draw() + + def redraw_plot(self): + self.plot() + + def on_pick(self, event): + """ + mask a data point when it is clicked on. + """ + data_point = event.artist + data_period = data_point.get_xdata()[event.ind] + data_value = data_point.get_ydata()[event.ind] + + # modify Z + if event.mouseevent.button == 1: + self._edited_mask = True + if self._ax_index == 0 or self._ax_index == 1: + d_index = np.where(self.mt_obj.Z.resistivity == data_value) + comp_jj = d_index[1][0] + comp_kk = d_index[2][0] + + # mask point in impedance object + self.mt_obj.Z.z[d_index] = 0.0+0.0*1j + self.mt_obj.Z.z_err[d_index] = 0.0 + + self._ax.plot(data_period, data_value, **self.mask_kw) + + # mask phase as well + if self._ax_index == 0: + if comp_jj == 1 and comp_kk == 0: + self.ax_phase_od.plot(data_period, + self.mt_obj.Z.phase[d_index]+180, + **self.mask_kw) + else: + self.ax_phase_od.plot(data_period, + self.mt_obj.Z.phase[d_index], + **self.mask_kw) + elif self._ax_index == 1: + self.ax_phase_d.plot(data_period, + self.mt_obj.Z.phase[d_index], + **self.mask_kw) + + # mask phase points + elif self._ax_index == 2 or self._ax_index == 3: + try: + d_index = np.where(self.mt_obj.Z.phase == data_value) + except IndexError: + d_index = np.where(self.mt_obj.Z.phase == data_value-180) + + # mask point in impedance object + self.mt_obj.Z.z[d_index] = 0.0+0.0*1j + self.mt_obj.Z.z_err[d_index] = 0.0 + + # mask the point in the axis selected + self._ax.plot(data_period, data_value, **self.mask_kw) + + # mask resistivity as well + if self._ax_index == 2: + self.ax_res_od.plot(data_period, + self.mt_obj.Z.resistivity[d_index], + **self.mask_kw) + elif self._ax_index == 3: + self.ax_res_d.plot(data_period, + self.mt_obj.Z.resistivity[d_index], + **self.mask_kw) + + # mask tipper Tx + elif self._ax_index == 4 or self._ax_index == 5: + data_value = np.round(data_value, 8) + d_index = np.where(np.round(self.mt_obj.Tipper.amplitude, + 8) == data_value) + + + # mask point + self._ax.plot(data_period, data_value, **self.mask_kw) + + # set tipper data to 0 + self.mt_obj.Tipper.tipper[d_index] = 0.0+0.0j + self.mt_obj.Tipper.tipper_err[d_index] = 0.0 + + self.mt_obj.Tipper._compute_amp_phase() + +# self._ax.figure.canvas.repaint() + self._ax.figure.canvas.update() + self._ax.figure.canvas.flush_events() + + def in_axes(self, event): + """ + check to see which axis the mouse is in + """ + + self._ax = event.inaxes + + + # find the component index so that it can be masked + for ax_index, ax in enumerate(self.ax_list): + if ax == event.inaxes: + self._ax_index = ax_index + + def _get_frequency_range(self, period_01, period_02): + + fmin = min([1./period_01, 1./period_02]) + fmax = max([1./period_01, 1./period_02]) + prange = np.where((self.mt_obj.Z.freq >= fmin) & + (self.mt_obj.Z.freq <= fmax)) + + return prange + + def rect_onselect_od(self, eclick, erelease): + x1 = eclick.xdata + x2 = erelease.xdata + + f_idx = self._get_frequency_range(x1, x2) + + for ff in f_idx: + data_period = 1./self.mt_obj.Z.freq[ff] + if self.edits_mode == 'Both' or self.edits_mode == 'X': + self.ax_res_od.plot(data_period, + self.mt_obj.Z.resistivity[ff, 0, 1], + **self.mask_kw) + self.ax_phase_od.plot(data_period, + self.mt_obj.Z.phase[ff, 0, 1], + **self.mask_kw) + self.mt_obj.Z.z[ff, 0, 1] = 0.0+0.0*1j + self.mt_obj.Z.z_err[ff, 0, 1] = 0.0 + + if self.edits_mode == 'Both' or self.edits_mode == 'Y': + self.ax_res_od.plot(data_period, + self.mt_obj.Z.resistivity[ff, 1, 0], + **self.mask_kw) + + self.ax_phase_od.plot(data_period, + self.mt_obj.Z.phase[ff, 1, 0]+180, + **self.mask_kw) + + self.mt_obj.Z.z[ff, 1, 0] = 0.0+0.0*1j + self.mt_obj.Z.z_err[ff, 1, 0] = 0.0 + + self.ax_res_od.figure.canvas.draw() + self.ax_phase_od.figure.canvas.draw() + + def rect_onselect_d(self, eclick, erelease): + x1 = eclick.xdata + x2 = erelease.xdata + + f_idx = self._get_frequency_range(x1, x2) + + for ff in f_idx: + data_period = 1./self.mt_obj.Z.freq[ff] + if self.edits_mode == 'Both' or self.edits_mode == 'X': + self.ax_res_d.plot(data_period, + self.mt_obj.Z.resistivity[ff, 0, 0], + **self.mask_kw) + self.ax_phase_d.plot(data_period, + self.mt_obj.Z.phase[ff, 0, 0], + **self.mask_kw) + self.mt_obj.Z.z[ff, 0, 0] = 0.0+0.0*1j + self.mt_obj.Z.z_err[ff, 0, 0] = 0.0 + + if self.edits_mode == 'Both' or self.edits_mode == 'Y': + self.ax_res_d.plot(data_period, + self.mt_obj.Z.resistivity[ff, 1, 1], + **self.mask_kw) + + self.ax_phase_d.plot(data_period, + self.mt_obj.Z.phase[ff, 1, 1], + **self.mask_kw) + + self.mt_obj.Z.z[ff, 1, 1] = 0.0+0.0*1j + self.mt_obj.Z.z_err[ff, 1, 1] = 0.0 + + self.ax_res_od.figure.canvas.draw() + self.ax_phase_od.figure.canvas.draw() + + def rect_onselect_tr(self, eclick, erelease): + x1 = eclick.xdata + x2 = erelease.xdata + + f_idx = self._get_frequency_range(x1, x2) + + for ff in f_idx: + data_period = 1./self.mt_obj.Z.freq[ff] + self.ax_tip_x.plot(data_period, + self.mt_obj.Tipper.amplitude[ff, 0, 0], + **self.mask_kw) + + self.mt_obj.Tipper.tipper[ff, 0, 0] = 0.0+0.0*1j + self.mt_obj.Tipper.tipper_err[ff, 0, 0] = 0.0 + + self.mt_obj.Tipper._compute_amp_phase() + + self.ax_tip_x.figure.canvas.draw() + + def rect_onselect_ti(self, eclick, erelease): + x1 = eclick.xdata + x2 = erelease.xdata + + f_idx = self._get_frequency_range(x1, x2) + + for ff in f_idx: + data_period = 1./self.mt_obj.Z.freq[ff] + self.ax_tip_y.plot(data_period, + self.mt_obj.Tipper.amplitude[ff, 0, 1], + **self.mask_kw) + + self.mt_obj.Tipper.tipper[ff, 0, 1] = 0.0+0.0*1j + self.mt_obj.Tipper.tipper_err[ff, 0, 1] = 0.0 + + self.mt_obj.Tipper._compute_amp_phase() + + self.ax_tip_y.figure.canvas.draw() + + +#============================================================================== +# Plot setting +#============================================================================== +class PlotSettings(QtGui.QWidget): + settings_updated = QtCore.pyqtSignal() + def __init__(self, parent, **kwargs): + super(PlotSettings, self).__init__(parent) + + self.fs = kwargs.pop('fs', 10) + self.lw = kwargs.pop('lw', 1.0) + self.ms = kwargs.pop('ms', 4) + + self.e_capthick = kwargs.pop('e_capthick', 1) + self.e_capsize = kwargs.pop('e_capsize', 4) + + self.cted = kwargs.pop('cted', (0, 0, .65)) + self.ctmd = kwargs.pop('ctmd', (.65, 0, 0)) + self.cteo = kwargs.pop('cted', (.5, .5, .5)) + self.ctmo = kwargs.pop('ctmd', (.75, .75, .75)) + + self.mted = kwargs.pop('mted', 's') + self.mtmd = kwargs.pop('mtmd', 'o') + + self.res_limits_od = kwargs.pop('res_limits_od', None) + self.res_limits_d = kwargs.pop('res_limits_d', None) + + self._res_limits_od_min = None + self._res_limits_od_max = None + self._res_limits_d_min = None + self._res_limits_d_max = None + + self.phase_limits_od = kwargs.pop('phase_limits_od', None) + self.phase_limits_d = kwargs.pop('phase_limits_d', None) + + self._phase_limits_od_min = None + self._phase_limits_od_max = None + self._phase_limits_d_min = None + self._phase_limits_d_max = None + + self.tipper_x_limits = kwargs.pop('tipper_x_limits', None) + self.tipper_y_limits = kwargs.pop('tipper_y_limits', None) + + self._tip_x_limits_min = None + self._tip_x_limits_max = None + self._tip_y_limits_min = None + self._tip_y_limits_max = None + + + self.subplot_wspace = kwargs.pop('subplot_wspace', .15) + self.subplot_hspace = kwargs.pop('subplot_hspace', .00) + self.subplot_right = kwargs.pop('subplot_right', .97) + self.subplot_left = kwargs.pop('subplot_left', .08) + self.subplot_top = kwargs.pop('subplot_top', .93) + self.subplot_bottom = kwargs.pop('subplot_bottom', .08) + + self.tipper_x_color = kwargs.pop('tipper_x_color', (.4, 0, .2)) + self.tipper_y_color = kwargs.pop('tipper_y_color', (0, .9, .9)) + + self.plot_original_data = kwargs.pop('plot_original_data', True) + + self.mask_marker = kwargs.pop('mask_marker', 'x') + self.mask_ms = kwargs.pop('mask_ms', 10) + self.mask_mew = kwargs.pop('mask_mew', 3) + self.mask_color = kwargs.pop('mask_color', 'k') + + #self.setup_ui() + + def setup_ui(self): + """ + setup the user interface + """ + + self.fs_label = QtGui.QLabel("Font Size") + self.fs_edit = QtGui.QLineEdit("{0:.2f}".format(self.fs)) + self.fs_edit.editingFinished.connect(self.set_fs) + + self.lw_label = QtGui.QLabel("Line Width") + self.lw_edit = QtGui.QLineEdit("{0:.2f}".format(self.lw)) + self.lw_edit.editingFinished.connect(self.set_lw) + + self.ms_label = QtGui.QLabel("Marker Size") + self.ms_edit = QtGui.QLineEdit("{0:.2f}".format(self.ms)) + self.ms_edit.editingFinished.connect(self.set_ms) + + self.mted_label = QtGui.QLabel("Marker x components") + self.mted_combo = QtGui.QComboBox() + self.mted_combo.addItem(self.mted) + self.mted_combo.addItem('.') + self.mted_combo.addItem(',') + self.mted_combo.addItem('o') + self.mted_combo.addItem('v') + self.mted_combo.addItem('^') + self.mted_combo.addItem('<') + self.mted_combo.addItem('>') + self.mted_combo.addItem('s') + self.mted_combo.addItem('p') + self.mted_combo.addItem('*') + self.mted_combo.addItem('h') + self.mted_combo.addItem('H') + self.mted_combo.addItem('+') + self.mted_combo.addItem('x') + self.mted_combo.addItem('D') + self.mted_combo.addItem('d') + self.mted_combo.addItem('|') + self.mted_combo.addItem('_') + self.mted_combo.activated[str].connect(self.set_mted) + + self.mtmd_label = QtGui.QLabel("Marker y components") + self.mtmd_combo = QtGui.QComboBox() + self.mtmd_combo.addItem(self.mtmd) + self.mtmd_combo.addItem('.') + self.mtmd_combo.addItem(',') + self.mtmd_combo.addItem('o') + self.mtmd_combo.addItem('v') + self.mtmd_combo.addItem('^') + self.mtmd_combo.addItem('<') + self.mtmd_combo.addItem('>') + self.mtmd_combo.addItem('s') + self.mtmd_combo.addItem('p') + self.mtmd_combo.addItem('*') + self.mtmd_combo.addItem('h') + self.mtmd_combo.addItem('H') + self.mtmd_combo.addItem('+') + self.mtmd_combo.addItem('x') + self.mtmd_combo.addItem('D') + self.mtmd_combo.addItem('d') + self.mtmd_combo.addItem('|') + self.mtmd_combo.addItem('_') + self.mtmd_combo.activated[str].connect(self.set_mtmd) + + self.e_capsize_label = QtGui.QLabel("Error bar cap size") + self.e_capsize_edit = QtGui.QLineEdit("{0:.2f}".format(self.e_capsize)) + self.e_capsize_edit.editingFinished.connect(self.set_e_capsize) + + self.e_capthick_label = QtGui.QLabel("Error bar cap thickness") + self.e_capthick_edit = QtGui.QLineEdit("{0:.2f}".format(self.e_capthick)) + self.e_capthick_edit.editingFinished.connect(self.set_e_capthick) + + self.cted_button = QtGui.QPushButton("Set Z_xi Color") + self.cted_button.pressed.connect(self.set_cted) + + self.ctmd_button = QtGui.QPushButton("Set Z_yi Color") + self.ctmd_button.pressed.connect(self.set_ctmd) + + self.ctx_button = QtGui.QPushButton("Set T_x Color") + self.ctx_button.pressed.connect(self.set_ctx) + + self.cty_button = QtGui.QPushButton("Set T_y Color") + self.cty_button.pressed.connect(self.set_cty) + + self.cteo_button = QtGui.QPushButton("Set Original Data_xi Color") + self.cteo_button.pressed.connect(self.set_cteo) + + self.ctmo_button = QtGui.QPushButton("Set Original Data_yi Color") + self.ctmo_button.pressed.connect(self.set_ctmo) + + self.resod_limits_label = QtGui.QLabel("Off Diagonal Res. Limits (min, max)") + + self.resod_limits_min_edit = QtGui.QLineEdit() + self.resod_limits_min_edit.editingFinished.connect(self.set_resod_min) + + self.resod_limits_max_edit = QtGui.QLineEdit() + self.resod_limits_max_edit.editingFinished.connect(self.set_resod_max) + + self.resd_limits_label = QtGui.QLabel("Diagonal Res. Limits (min, max)") + + self.resd_limits_min_edit = QtGui.QLineEdit() + self.resd_limits_min_edit.editingFinished.connect(self.set_resd_min) + + self.resd_limits_max_edit = QtGui.QLineEdit() + self.resd_limits_max_edit.editingFinished.connect(self.set_resd_max) + + self.phaseod_limits_label = QtGui.QLabel("Off Diagonal phase. Limits (min, max)") + + self.phaseod_limits_min_edit = QtGui.QLineEdit() + self.phaseod_limits_min_edit.editingFinished.connect(self.set_phaseod_min) + + self.phaseod_limits_max_edit = QtGui.QLineEdit() + self.phaseod_limits_max_edit.editingFinished.connect(self.set_phaseod_max) + + self.phased_limits_label = QtGui.QLabel("Diagonal phase. Limits (min, max)") + + self.phased_limits_min_edit = QtGui.QLineEdit() + self.phased_limits_min_edit.editingFinished.connect(self.set_phased_min) + + self.phased_limits_max_edit = QtGui.QLineEdit() + self.phased_limits_max_edit.editingFinished.connect(self.set_phased_max) + + self.tip_x_limits_label = QtGui.QLabel("T_x limits (min, max)") + + self.tip_x_limits_min_edit = QtGui.QLineEdit() + self.tip_x_limits_min_edit.editingFinished.connect(self.set_tip_x_min) + + self.tip_x_limits_max_edit = QtGui.QLineEdit() + self.tip_x_limits_max_edit.editingFinished.connect(self.set_tip_x_max) + + self.tip_y_limits_label = QtGui.QLabel("T_y limits (min, max)") + + self.tip_y_limits_min_edit = QtGui.QLineEdit() + self.tip_y_limits_min_edit.editingFinished.connect(self.set_tip_y_min) + + self.tip_y_limits_max_edit = QtGui.QLineEdit() + self.tip_y_limits_max_edit.editingFinished.connect(self.set_tip_y_max) + + self.update_button = QtGui.QPushButton("Update Settings") + self.update_button.pressed.connect(self.update_settings) + + ## --> layout + grid = QtGui.QGridLayout() + + grid.addWidget(self.fs_label, 0, 0) + grid.addWidget(self.fs_edit, 0, 1) + grid.addWidget(self.lw_label, 0, 2) + grid.addWidget(self.lw_edit, 0, 3) + grid.addWidget(self.ms_label, 1, 0) + grid.addWidget(self.ms_edit, 1, 1) + grid.addWidget(self.mted_label, 1, 2) + grid.addWidget(self.mted_combo, 1, 3) + grid.addWidget(self.mtmd_label, 1, 4) + grid.addWidget(self.mtmd_combo, 1, 5) + grid.addWidget(self.cted_button, 2, 0, 1, 3) + grid.addWidget(self.ctmd_button, 2, 3, 1, 3) + grid.addWidget(self.cteo_button, 3, 0, 1, 3) + grid.addWidget(self.ctmo_button, 3, 3, 1, 3) + grid.addWidget(self.ctx_button, 4, 0, 1, 3) + grid.addWidget(self.cty_button, 4, 3, 1, 3) + grid.addWidget(self.resod_limits_label, 5, 0) + grid.addWidget(self.resod_limits_min_edit, 5, 1) + grid.addWidget(self.resod_limits_max_edit, 5, 2) + grid.addWidget(self.resd_limits_label, 5, 3) + grid.addWidget(self.resd_limits_min_edit, 5, 4) + grid.addWidget(self.resd_limits_max_edit, 5, 5) + grid.addWidget(self.phaseod_limits_label, 6, 0) + grid.addWidget(self.phaseod_limits_min_edit, 6, 1) + grid.addWidget(self.phaseod_limits_max_edit, 6, 2) + grid.addWidget(self.phased_limits_label, 6, 3) + grid.addWidget(self.phased_limits_min_edit, 6, 4) + grid.addWidget(self.phased_limits_max_edit, 6, 5) + grid.addWidget(self.tip_x_limits_label, 7, 0) + grid.addWidget(self.tip_x_limits_min_edit, 7, 1) + grid.addWidget(self.tip_x_limits_max_edit, 7, 2) + grid.addWidget(self.tip_y_limits_label, 7, 3) + grid.addWidget(self.tip_y_limits_min_edit, 7, 4) + grid.addWidget(self.tip_y_limits_max_edit, 7, 5) + grid.addWidget(self.update_button, 10, 0, 1, 6) + + self.setLayout(grid) + self.setWindowTitle("Plot Settings") + self.show() + + + def convert_color_to_qt(self, color): + """ + convert decimal tuple to QColor object + """ + r = int(color[0]*255) + g = int(color[1]*255) + b = int(color[2]*255) + + return QtGui.QColor(r, g, b) + + def set_fs(self): + self.fs = float(str(self.fs_edit.text())) + self.fs_edit.setText("{0:.2f}".format(self.fs)) + + def set_lw(self): + self.lw = float(str(self.lw_edit.text())) + self.lw_edit.setText("{0:.2f}".format(self.lw)) + + def set_ms(self): + self.ms = float(str(self.ms_edit.text())) + self.ms_edit.setText("{0:.2f}".format(self.ms)) + + def set_e_capsize(self): + self.e_capsize = float(str(self.e_capsize_edit.text())) + self.e_capsize_edit.setText("{0:.2f}".format(self.e_capsize)) + + def set_e_capthick(self): + self.e_capthick = float(str(self.e_capthick_edit.text())) + self.e_capthick_edit.setText("{0:.2f}".format(self.e_capthick)) + + def set_mted(self, text): + self.mted = text + + def set_mtmd(self, text): + self.mtmd = text + + def set_resod_min(self): + try: + self._res_limits_od_min = float(str(self.resod_limits_min_edit.text())) + except ValueError: + self._res_limits_od_min = None + def set_resod_max(self): + try: + self._res_limits_od_max = float(str(self.resod_limits_max_edit.text())) + except ValueError: + self._res_limits_od_max = None + + def set_resd_min(self): + try: + self._res_limits_d_min = float(str(self.resd_limits_min_edit.text())) + except ValueError: + self._res_limits_d_min = None + def set_resd_max(self): + try: + self._res_limits_d_max = float(str(self.resd_limits_max_edit.text())) + except ValueError: + self._res_limits_d_max = None + + def set_phaseod_min(self): + try: + self._phase_limits_od_min = float(str(self.phaseod_limits_min_edit.text())) + except ValueError: + self._phase_limits_od_min = None + def set_phaseod_max(self): + try: + self._phase_limits_od_max = float(str(self.phaseod_limits_max_edit.text())) + except ValueError: + self._phase_limits_od_max = None + + def set_phased_min(self): + try: + self._phase_limits_d_min = float(str(self.phased_limits_min_edit.text())) + except ValueError: + self._phase_limits_d_min = None + def set_phased_max(self): + try: + self._phase_limits_d_max = float(str(self.phased_limits_max_edit.text())) + except ValueError: + self._phase_limits_d_max = None + + def set_tip_x_min(self): + try: + self._tip_x_limits_min = float(str(self.tip_x_limits_min_edit.text())) + except ValueError: + self._tip_x_limits_min = None + def set_tip_x_max(self): + try: + self._tip_x_limits_max = float(str(self.tip_x_limits_max_edit.text())) + except ValueError: + self._tip_x_limits_max = None + + def set_tip_y_min(self): + try: + self._tip_y_limits_min = float(str(self.tip_y_limits_min_edit.text())) + except ValueError: + self._tip_y_limits_min = None + def set_tip_y_max(self): + try: + self._tip_y_limits_max = float(str(self.tip_y_limits_max_edit.text())) + except ValueError: + self._tip_y_limits_max = None + + + def set_cted(self): + initial_color = self.convert_color_to_qt(self.cted) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.cted = (r, g, b) + + def set_ctmd(self): + initial_color = self.convert_color_to_qt(self.ctmd) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.ctmd = (r, g, b) + + def set_ctx(self): + initial_color = self.convert_color_to_qt(self.tipper_x_color) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.tipper_x_color = (r, g, b) + + def set_cty(self): + initial_color = self.convert_color_to_qt(self.tipper_y_color) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.tipper_y_color = (r, g, b) + + def set_cteo(self): + initial_color = self.convert_color_to_qt(self.cteo) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.cteo = (r, g, b) + + def set_ctmo(self): + initial_color = self.convert_color_to_qt(self.ctmo) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.ctmo = (r, g, b) + + def update_settings(self): + if self._res_limits_od_min != None and self._res_limits_od_max != None: + self.res_limits_od = (self._res_limits_od_min, + self._res_limits_od_max) + else: + self.res_limits_od = None + + if self._res_limits_d_min != None and self._res_limits_d_max != None: + self.res_limits_d = (self._res_limits_d_min, + self._res_limits_d_max) + else: + self.res_limits_d = None + + if self._phase_limits_od_min != None and self._phase_limits_od_max != None: + self.phase_limits_od = (self._phase_limits_od_min, + self._phase_limits_od_max) + else: + self.phase_limits_od = None + + if self._phase_limits_d_min != None and self._phase_limits_d_max != None: + self.phase_limits_d = (self._phase_limits_d_min, + self._phase_limits_d_max) + else: + self.phase_limits_d = None + + if self._tip_x_limits_min != None and self._tip_x_limits_max != None: + self.tipper_x_limits = (self._tip_x_limits_min, + self._tip_x_limits_max) + else: + self.tipper_x_limits = None + + if self._tip_y_limits_min != None and self._tip_y_limits_max != None: + self.tipper_y_limits = (self._tip_y_limits_min, + self._tip_y_limits_max) + else: + self.tipper_y_limits = None + + self.settings_updated.emit() + +#============================================================================== +# edi text editor +#============================================================================== +class EDITextEditor(QtGui.QWidget): + """ + class to edit the text of an .edi file + """ + metadata_updated = QtCore.pyqtSignal() + + def __init__(self, edi_object): + super(EDITextEditor, self).__init__() + + self.edi_obj = edi_object + + self.setup_ui() + + def setup_ui(self): + + self.setWindowTitle("EDI Text Editor") + + + + # header label font + header_font = QtGui.QFont() + header_font.setBold = True + header_font.setPointSize (16) + + ##--> header information + self.header_label = QtGui.QLabel("Header Information") + self.header_label.setFont(header_font) + + self.header_acqby_label = QtGui.QLabel("Acquired By") + self.header_acqby_edit = QtGui.QLineEdit(self.edi_obj.Header.acqby) + self.header_acqby_edit.editingFinished.connect(self.header_set_acqby) + + self.header_acqdate_label = QtGui.QLabel("Acquired Date (YYYY-MM-DD)") + self.header_acqdate_edit = QtGui.QLineEdit(self.edi_obj.Header.acqdate) + self.header_acqdate_edit.editingFinished.connect(self.header_set_acqdate) + + self.header_dataid_label = QtGui.QLabel("Station Name") + self.header_dataid_edit = QtGui.QLineEdit(self.edi_obj.Header.dataid) + self.header_dataid_edit.editingFinished.connect(self.header_set_dataid) + + self.header_elev_label = QtGui.QLabel("Elevation (m)") + self.header_elev_edit = QtGui.QLineEdit() + if self.edi_obj.elev is None: + self.header_elev_edit.setText('0.0') + else: + self.header_elev_edit.setText('{0:.1f}'.format(self.edi_obj.elev)) + + self.header_elev_edit.editingFinished.connect(self.header_set_elev) + + self.header_empty_label = QtGui.QLabel("Empty Value") + self.header_empty_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Header.empty)) + self.header_empty_edit.editingFinished.connect(self.header_set_empty) + + self.header_fileby_label = QtGui.QLabel("File By") + self.header_fileby_edit = QtGui.QLineEdit(self.edi_obj.Header.fileby) + self.header_fileby_edit.editingFinished.connect(self.header_set_fileby) + + self.header_filedate_label = QtGui.QLabel("File Date (YYY-MM-DD)") + self.header_filedate_edit = QtGui.QLineEdit(self.edi_obj.Header.filedate) + self.header_filedate_edit.editingFinished.connect(self.header_set_filedate) + + self.header_lat_label = QtGui.QLabel("Latitude (decimal degrees)") + self.header_lat_edit = QtGui.QLineEdit() + if self.edi_obj.lat is None: + self.header_lat_edit.setText('0.000000') + else: + self.header_lat_edit.setText('{0:.5f}'.format(self.edi_obj.lat)) + self.header_lat_edit.editingFinished.connect(self.header_set_lat) + + self.header_lon_label = QtGui.QLabel("Longitude (decimal degrees)") + self.header_lon_edit = QtGui.QLineEdit() + if self.edi_obj.lon is None: + self.header_lon_edit.setText('0.000000') + else: + self.header_lon_edit.setText('{0:.5f}'.format(self.edi_obj.lon)) + self.header_lon_edit.editingFinished.connect(self.header_set_lon) + + self.header_loc_label = QtGui.QLabel("Location") + self.header_loc_edit = QtGui.QLineEdit(self.edi_obj.Header.loc) + self.header_loc_edit.editingFinished.connect(self.header_set_loc) + + self.header_progdate_label = QtGui.QLabel("Program Date") + self.header_progdate_edit = QtGui.QLineEdit(self.edi_obj.Header.progdate) + self.header_progdate_edit.editingFinished.connect(self.header_set_progdate) + + + self.header_progvers_label = QtGui.QLabel("Program Version") + self.header_progvers_edit = QtGui.QLineEdit(self.edi_obj.Header.progvers) + self.header_progvers_edit.editingFinished.connect(self.header_set_progvers) + + ##--> Info + self.info_label = QtGui.QLabel("Information Section") + self.info_label.setFont(header_font) + + self.info_edit = QtGui.QTextEdit() + self.info_edit.setMinimumWidth(500) + try: + info_str = ''.join(self.edi_obj.Info.write_info()) + except TypeError: + info_str = '' + self.info_edit.setText(info_str) + self.info_edit.textChanged.connect(self.info_set_text) + + ##--> define measurement + self.define_label = QtGui.QLabel('Define Measurement') + self.define_label.setFont(header_font) + + self.define_maxchan_label = QtGui.QLabel('Maximum Channels') + self.define_maxchan_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.maxchan)) + self.define_maxchan_edit.editingFinished.connect(self.define_set_maxchan) + + self.define_maxrun_label = QtGui.QLabel('Maximum Runs') + self.define_maxrun_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.maxrun)) + self.define_maxrun_edit.editingFinished.connect(self.define_set_maxrun) + + self.define_maxmeas_label = QtGui.QLabel('Maximum Measurements') + self.define_maxmeas_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.maxmeas)) + self.define_maxmeas_edit.editingFinished.connect(self.define_set_maxmeas) + + self.define_refelev_label = QtGui.QLabel('Reference Elevation (m)') + self.define_refelev_edit = QtGui.QLineEdit() + if self.edi_obj.Define_measurement.refelev is None: + self.define_refelev_edit.setText('0.0') + else: + self.define_refelev_edit.setText('{0:.5f}'.format(self.edi_obj.Define_measurement.refelev)) + self.define_refelev_edit.editingFinished.connect(self.define_set_refelev) + + self.define_reflat_label = QtGui.QLabel('Reference Latitude (dec. deg)') + self.define_reflat_edit = QtGui.QLineEdit() + if self.edi_obj.Define_measurement.refelev is None: + self.define_reflat_edit.setText('0.0000000') + else: + self.define_reflat_edit.setText('{0:.5f}'.format(self.edi_obj.Define_measurement.reflat)) + self.define_reflat_edit.editingFinished.connect(self.define_set_reflat) + + self.define_reflon_label = QtGui.QLabel('Reference Longitude (dec. deg)') + self.define_reflon_edit = QtGui.QLineEdit() + if self.edi_obj.Define_measurement.reflon is None: + self.define_reflon_edit.setText('0.000000') + else: + self.define_reflon_edit.setText('{0:.5f}'.format(self.edi_obj.Define_measurement.reflon)) + self.define_reflon_edit.editingFinished.connect(self.define_set_reflon) + + #self.define_refloc_label = QtGui.QLabel('Reference Location') + #self.define_refloc_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.refloc)) + #self.define_refloc_edit.editingFinished.connect(self.define_set_refloc) + + self.define_reftype_label = QtGui.QLabel('Reference Type') + self.define_reftype_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.reftype)) + self.define_reftype_edit.editingFinished.connect(self.define_set_reftype) + + self.define_units_label = QtGui.QLabel('Distance Units') + self.define_units_edit = QtGui.QLineEdit('{0}'.format(self.edi_obj.Define_measurement.units)) + self.define_units_edit.editingFinished.connect(self.define_set_units) + + self.meas_help = QtGui.QLabel() + self.meas_help.setText('Assume x is northing (m), y is easting (m), North = 0 deg, East = 90 deg') + h_ch_list = ['HX', 'HY', 'HZ', 'RHX', 'RHY'] + self.meas_h01_label = QtGui.QLabel("HMEAS") + self.meas_h01_id_label = QtGui.QLabel("ID") + self.meas_h01_id_edit = QtGui.QLineEdit() + self.meas_h01_ct_label = QtGui.QLabel("CHTYPE") + self.meas_h01_ct_combo = QtGui.QComboBox() + self.meas_h01_ct_combo.addItems(h_ch_list) + self.meas_h01_x_label = QtGui.QLabel("X (m)") + self.meas_h01_x_edit = QtGui.QLineEdit() + self.meas_h01_y_label = QtGui.QLabel("Y (m)") + self.meas_h01_y_edit = QtGui.QLineEdit() + self.meas_h01_azm_label = QtGui.QLabel("Azimtuh (deg)") + self.meas_h01_azm_edit = QtGui.QLineEdit() + self.meas_h01_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_h01_acqchn_combo = QtGui.QComboBox() + self.meas_h01_acqchn_combo.addItems(h_ch_list) + + self.meas_h02_label = QtGui.QLabel("HMEAS") + self.meas_h02_id_label = QtGui.QLabel("ID") + self.meas_h02_id_edit = QtGui.QLineEdit() + self.meas_h02_ct_label = QtGui.QLabel("CHTYPE") + self.meas_h02_ct_combo = QtGui.QComboBox() + self.meas_h02_ct_combo.addItems(h_ch_list) + self.meas_h02_x_label = QtGui.QLabel("X (m)") + self.meas_h02_x_edit = QtGui.QLineEdit() + self.meas_h02_y_label = QtGui.QLabel("Y (m)") + self.meas_h02_y_edit = QtGui.QLineEdit() + self.meas_h02_azm_label = QtGui.QLabel("Azimtuh (deg)") + self.meas_h02_azm_edit = QtGui.QLineEdit() + self.meas_h02_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_h02_acqchn_combo = QtGui.QComboBox() + self.meas_h02_acqchn_combo.addItems(h_ch_list) + + self.meas_h03_label = QtGui.QLabel("HMEAS") + self.meas_h03_id_label = QtGui.QLabel("ID") + self.meas_h03_id_edit = QtGui.QLineEdit() + self.meas_h03_ct_label = QtGui.QLabel("CHTYPE") + self.meas_h03_ct_combo = QtGui.QComboBox() + self.meas_h03_ct_combo.addItems(h_ch_list) + self.meas_h03_x_label = QtGui.QLabel("X (m)") + self.meas_h03_x_edit = QtGui.QLineEdit() + self.meas_h03_y_label = QtGui.QLabel("Y (m)") + self.meas_h03_y_edit = QtGui.QLineEdit() + self.meas_h03_azm_label = QtGui.QLabel("Azimtuh (deg)") + self.meas_h03_azm_edit = QtGui.QLineEdit() + self.meas_h03_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_h03_acqchn_combo = QtGui.QComboBox() + self.meas_h03_acqchn_combo.addItems(h_ch_list) + + self.meas_hr1_label = QtGui.QLabel("HMEAS") + self.meas_hr1_id_label = QtGui.QLabel("ID") + self.meas_hr1_id_edit = QtGui.QLineEdit() + self.meas_hr1_ct_label = QtGui.QLabel("CHTYPE") + self.meas_hr1_ct_combo = QtGui.QComboBox() + self.meas_hr1_ct_combo.addItems(h_ch_list) + self.meas_hr1_x_label = QtGui.QLabel("X (m)") + self.meas_hr1_x_edit = QtGui.QLineEdit() + self.meas_hr1_y_label = QtGui.QLabel("Y (m)") + self.meas_hr1_y_edit = QtGui.QLineEdit() + self.meas_hr1_azm_label = QtGui.QLabel("Azimtuh (deg)") + self.meas_hr1_azm_edit = QtGui.QLineEdit() + self.meas_hr1_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_hr1_acqchn_combo = QtGui.QComboBox() + self.meas_hr1_acqchn_combo.addItems(h_ch_list) + + self.meas_hr2_label = QtGui.QLabel("HMEAS") + self.meas_hr2_id_label = QtGui.QLabel("ID") + self.meas_hr2_id_edit = QtGui.QLineEdit() + self.meas_hr2_ct_label = QtGui.QLabel("CHTYPE") + self.meas_hr2_ct_combo = QtGui.QComboBox() + self.meas_hr2_ct_combo.addItems(h_ch_list) + self.meas_hr2_x_label = QtGui.QLabel("X (m)") + self.meas_hr2_x_edit = QtGui.QLineEdit() + self.meas_hr2_y_label = QtGui.QLabel("Y (m)") + self.meas_hr2_y_edit = QtGui.QLineEdit() + self.meas_hr2_azm_label = QtGui.QLabel("Azimtuh (deg)") + self.meas_hr2_azm_edit = QtGui.QLineEdit() + self.meas_hr2_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_hr2_acqchn_combo = QtGui.QComboBox() + self.meas_hr2_acqchn_combo.addItems(h_ch_list) + + e_ch_list = ['EX', 'EY', 'EZ'] + self.meas_e01_label = QtGui.QLabel("EMEAS") + self.meas_e01_id_label = QtGui.QLabel("ID") + self.meas_e01_id_edit = QtGui.QLineEdit() + self.meas_e01_ct_label = QtGui.QLabel("CHTYPE") + self.meas_e01_ct_combo = QtGui.QComboBox() + self.meas_e01_ct_combo.addItems(e_ch_list) + self.meas_e01_x_label = QtGui.QLabel("X (m)") + self.meas_e01_x_edit = QtGui.QLineEdit() + self.meas_e01_y_label = QtGui.QLabel("Y (m)") + self.meas_e01_y_edit = QtGui.QLineEdit() + self.meas_e01_x2_label = QtGui.QLabel("X2 (m)") + self.meas_e01_x2_edit = QtGui.QLineEdit() + self.meas_e01_y2_label = QtGui.QLabel("Y2 (m)") + self.meas_e01_y2_edit = QtGui.QLineEdit() + self.meas_e01_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_e01_acqchn_combo = QtGui.QComboBox() + self.meas_e01_acqchn_combo.addItems(e_ch_list) + + self.meas_e02_label = QtGui.QLabel("EMEAS") + self.meas_e02_id_label = QtGui.QLabel("ID") + self.meas_e02_id_edit = QtGui.QLineEdit() + self.meas_e02_ct_label = QtGui.QLabel("CHTYPE") + self.meas_e02_ct_combo = QtGui.QComboBox() + self.meas_e02_ct_combo.addItems(e_ch_list) + self.meas_e02_x_label = QtGui.QLabel("X (m)") + self.meas_e02_x_edit = QtGui.QLineEdit() + self.meas_e02_y_label = QtGui.QLabel("Y (m)") + self.meas_e02_y_edit = QtGui.QLineEdit() + self.meas_e02_x2_label = QtGui.QLabel("X2 (m)") + self.meas_e02_x2_edit = QtGui.QLineEdit() + self.meas_e02_y2_label = QtGui.QLabel("Y2 (m)") + self.meas_e02_y2_edit = QtGui.QLineEdit() + self.meas_e02_acqchn_label = QtGui.QLabel("Acq. Channel") + self.meas_e02_acqchn_combo = QtGui.QComboBox() + self.meas_e02_acqchn_combo.addItems(e_ch_list) + + self.fill_meas() + + ##--> Update button + self.update_button = QtGui.QPushButton('Update') + self.update_button.pressed.connect(self.update_metadata) + + ## --> Layout + header_layout = QtGui.QGridLayout() + header_layout.addWidget(self.header_label, 0, 0) + header_layout.addWidget(self.header_acqby_label, 1, 0) + header_layout.addWidget(self.header_acqby_edit, 1, 1) + header_layout.addWidget(self.header_acqdate_label, 2, 0) + header_layout.addWidget(self.header_acqdate_edit, 2, 1) + header_layout.addWidget(self.header_dataid_label, 3, 0) + header_layout.addWidget(self.header_dataid_edit, 3, 1) + header_layout.addWidget(self.header_elev_label, 4, 0) + header_layout.addWidget(self.header_elev_edit, 4, 1) + header_layout.addWidget(self.header_empty_label, 5, 0) + header_layout.addWidget(self.header_empty_edit, 5, 1) + header_layout.addWidget(self.header_fileby_label, 6, 0) + header_layout.addWidget(self.header_fileby_edit, 6, 1) + header_layout.addWidget(self.header_filedate_label, 7, 0) + header_layout.addWidget(self.header_filedate_edit, 7, 1) + header_layout.addWidget(self.header_lat_label, 8, 0) + header_layout.addWidget(self.header_lat_edit, 8, 1) + header_layout.addWidget(self.header_lon_label, 9, 0) + header_layout.addWidget(self.header_lon_edit, 9, 1) + header_layout.addWidget(self.header_loc_label, 10, 0) + header_layout.addWidget(self.header_loc_edit, 10, 1) + header_layout.addWidget(self.header_progdate_label, 11, 0) + header_layout.addWidget(self.header_progdate_edit, 11, 1) + header_layout.addWidget(self.header_progvers_label, 12, 0) + header_layout.addWidget(self.header_progvers_edit, 12, 1) + + info_layout = QtGui.QVBoxLayout() + info_layout.addWidget(self.info_label) + info_layout.addWidget(self.info_edit) + + define_layout = QtGui.QGridLayout() + define_layout.addWidget(self.define_label, 0, 0) + define_layout.addWidget(self.define_maxchan_label, 1, 0) + define_layout.addWidget(self.define_maxchan_edit, 1, 1) + define_layout.addWidget(self.define_maxmeas_label, 2, 0) + define_layout.addWidget(self.define_maxmeas_edit, 2, 1) + define_layout.addWidget(self.define_maxrun_label, 3, 0) + define_layout.addWidget(self.define_maxrun_edit, 3, 1) + define_layout.addWidget(self.define_refelev_label, 4, 0) + define_layout.addWidget(self.define_refelev_edit, 4, 1) + define_layout.addWidget(self.define_reflat_label, 5, 0) + define_layout.addWidget(self.define_reflat_edit, 5, 1) + define_layout.addWidget(self.define_reflon_label, 6, 0) + define_layout.addWidget(self.define_reflon_edit, 6, 1) + define_layout.addWidget(self.define_reftype_label, 7, 0) + define_layout.addWidget(self.define_reftype_edit, 7, 1) + define_layout.addWidget(self.define_units_label, 8, 0) + define_layout.addWidget(self.define_units_edit, 8, 1) + #define_layout.addWidget(self.define_refloc_label, 7, 0) + #define_layout.addWidget(self.define_refloc_edit, 7, 1) + + meas_layout = QtGui.QGridLayout() + meas_layout.addWidget(self.meas_help, 0, 0, 1, 10) + meas_layout.addWidget(self.meas_h01_label, 1, 0) + meas_layout.addWidget(self.meas_h01_id_label, 1, 1) + meas_layout.addWidget(self.meas_h01_id_edit, 1, 2) + meas_layout.addWidget(self.meas_h01_ct_label, 1, 3) + meas_layout.addWidget(self.meas_h01_ct_combo, 1, 4) + meas_layout.addWidget(self.meas_h01_x_label, 1, 5) + meas_layout.addWidget(self.meas_h01_x_edit, 1, 6) + meas_layout.addWidget(self.meas_h01_y_label, 1, 7) + meas_layout.addWidget(self.meas_h01_y_edit, 1, 8) + meas_layout.addWidget(self.meas_h01_azm_label, 1, 9) + meas_layout.addWidget(self.meas_h01_azm_edit, 1, 10) + meas_layout.addWidget(self.meas_h01_acqchn_label, 1, 13) + meas_layout.addWidget(self.meas_h01_acqchn_combo, 1, 14) + + meas_layout.addWidget(self.meas_h02_label, 2, 0) + meas_layout.addWidget(self.meas_h02_id_label, 2, 1) + meas_layout.addWidget(self.meas_h02_id_edit, 2, 2) + meas_layout.addWidget(self.meas_h02_ct_label, 2, 3) + meas_layout.addWidget(self.meas_h02_ct_combo, 2, 4) + meas_layout.addWidget(self.meas_h02_x_label, 2, 5) + meas_layout.addWidget(self.meas_h02_x_edit, 2, 6) + meas_layout.addWidget(self.meas_h02_y_label, 2, 7) + meas_layout.addWidget(self.meas_h02_y_edit, 2, 8) + meas_layout.addWidget(self.meas_h02_azm_label, 2, 9) + meas_layout.addWidget(self.meas_h02_azm_edit, 2, 10) + meas_layout.addWidget(self.meas_h02_acqchn_label, 2, 13) + meas_layout.addWidget(self.meas_h02_acqchn_combo, 2, 14) + + meas_layout.addWidget(self.meas_h03_label, 3, 0) + meas_layout.addWidget(self.meas_h03_id_label, 3, 1) + meas_layout.addWidget(self.meas_h03_id_edit, 3, 2) + meas_layout.addWidget(self.meas_h03_ct_label, 3, 3) + meas_layout.addWidget(self.meas_h03_ct_combo, 3, 4) + meas_layout.addWidget(self.meas_h03_x_label, 3, 5) + meas_layout.addWidget(self.meas_h03_x_edit, 3, 6) + meas_layout.addWidget(self.meas_h03_y_label, 3, 7) + meas_layout.addWidget(self.meas_h03_y_edit, 3, 8) + meas_layout.addWidget(self.meas_h03_azm_label, 3, 9) + meas_layout.addWidget(self.meas_h03_azm_edit, 3, 10) + meas_layout.addWidget(self.meas_h03_acqchn_label, 3, 13) + meas_layout.addWidget(self.meas_h03_acqchn_combo, 3, 14) + + meas_layout.addWidget(self.meas_hr1_label, 4, 0) + meas_layout.addWidget(self.meas_hr1_id_label, 4, 1) + meas_layout.addWidget(self.meas_hr1_id_edit, 4, 2) + meas_layout.addWidget(self.meas_hr1_ct_label, 4, 3) + meas_layout.addWidget(self.meas_hr1_ct_combo, 4, 4) + meas_layout.addWidget(self.meas_hr1_x_label, 4, 5) + meas_layout.addWidget(self.meas_hr1_x_edit, 4, 6) + meas_layout.addWidget(self.meas_hr1_y_label, 4, 7) + meas_layout.addWidget(self.meas_hr1_y_edit, 4, 8) + meas_layout.addWidget(self.meas_hr1_azm_label, 4, 9) + meas_layout.addWidget(self.meas_hr1_azm_edit, 4, 10) + meas_layout.addWidget(self.meas_hr1_acqchn_label, 4, 13) + meas_layout.addWidget(self.meas_hr1_acqchn_combo, 4, 14) + + meas_layout.addWidget(self.meas_hr2_label, 5, 0) + meas_layout.addWidget(self.meas_hr2_id_label, 5, 1) + meas_layout.addWidget(self.meas_hr2_id_edit, 5, 2) + meas_layout.addWidget(self.meas_hr2_ct_label, 5, 3) + meas_layout.addWidget(self.meas_hr2_ct_combo, 5, 4) + meas_layout.addWidget(self.meas_hr2_x_label, 5, 5) + meas_layout.addWidget(self.meas_hr2_x_edit, 5, 6) + meas_layout.addWidget(self.meas_hr2_y_label, 5, 7) + meas_layout.addWidget(self.meas_hr2_y_edit, 5, 8) + meas_layout.addWidget(self.meas_hr2_azm_label, 5, 9) + meas_layout.addWidget(self.meas_hr2_azm_edit, 5, 10) + meas_layout.addWidget(self.meas_hr2_acqchn_label, 5, 13) + meas_layout.addWidget(self.meas_hr2_acqchn_combo, 5, 14) + + meas_layout.addWidget(self.meas_e01_label, 6, 0) + meas_layout.addWidget(self.meas_e01_id_label, 6, 1) + meas_layout.addWidget(self.meas_e01_id_edit, 6, 2) + meas_layout.addWidget(self.meas_e01_ct_label, 6, 3) + meas_layout.addWidget(self.meas_e01_ct_combo, 6, 4) + meas_layout.addWidget(self.meas_e01_x_label, 6, 5) + meas_layout.addWidget(self.meas_e01_x_edit, 6, 6) + meas_layout.addWidget(self.meas_e01_y_label, 6, 7) + meas_layout.addWidget(self.meas_e01_y_edit, 6, 8) + meas_layout.addWidget(self.meas_e01_x2_label, 6, 9) + meas_layout.addWidget(self.meas_e01_x2_edit, 6, 10) + meas_layout.addWidget(self.meas_e01_y2_label, 6, 11) + meas_layout.addWidget(self.meas_e01_y2_edit, 6, 12) + meas_layout.addWidget(self.meas_e01_acqchn_label, 6, 13) + meas_layout.addWidget(self.meas_e01_acqchn_combo, 6, 14) + + meas_layout.addWidget(self.meas_e02_label, 7, 0) + meas_layout.addWidget(self.meas_e02_id_label, 7, 1) + meas_layout.addWidget(self.meas_e02_id_edit, 7, 2) + meas_layout.addWidget(self.meas_e02_ct_label, 7, 3) + meas_layout.addWidget(self.meas_e02_ct_combo, 7, 4) + meas_layout.addWidget(self.meas_e02_x_label, 7, 5) + meas_layout.addWidget(self.meas_e02_x_edit, 7, 6) + meas_layout.addWidget(self.meas_e02_y_label, 7, 7) + meas_layout.addWidget(self.meas_e02_y_edit, 7, 8) + meas_layout.addWidget(self.meas_e02_x2_label, 7, 9) + meas_layout.addWidget(self.meas_e02_x2_edit, 7, 10) + meas_layout.addWidget(self.meas_e02_y2_label, 7, 11) + meas_layout.addWidget(self.meas_e02_y2_edit, 7, 12) + meas_layout.addWidget(self.meas_e02_acqchn_label, 7, 13) + meas_layout.addWidget(self.meas_e02_acqchn_combo, 7, 14) + + v_layout = QtGui.QVBoxLayout() + v_layout.addLayout(header_layout) + v_layout.addLayout(define_layout) + + h_layout = QtGui.QHBoxLayout() + h_layout.addLayout(v_layout) + h_layout.addLayout(info_layout) + + final_layout = QtGui.QVBoxLayout() + final_layout.addLayout(h_layout) + final_layout.addLayout(meas_layout) + final_layout.addWidget(self.update_button) + + self.setLayout(final_layout) + + self.show() + + #center the window, needs to go after show() + self.center_window() + + def center_window(self): + screen_center = QtGui.QDesktopWidget().availableGeometry().center() + widget_size = self.frameGeometry() + + widget_size.moveCenter(screen_center) + + self.move(widget_size.topLeft()) + + def header_set_acqby(self): + self.edi_obj.Header.acqby = str(self.header_acqby_edit.text()) + self.header_acqby_edit.setText(self.edi_obj.Header.acqby) + + def header_set_acqdate(self): + self.edi_obj.Header.acqdate = str(self.header_acqdate_edit.text()) + self.header_acqdate_edit.setText(self.edi_obj.Header.acqdate) + + def header_set_dataid(self): + self.edi_obj.Header.dataid = str(self.header_dataid_edit.text()) + self.header_dataid_edit.setText(self.edi_obj.Header.dataid) + + def header_set_elev(self): + self.edi_obj.elev = float(str(self.header_elev_edit.text())) + self.header_elev_edit.setText('{0:.1f}'.format(self.edi_obj.elev)) + + def header_set_empty(self): + self.edi_obj.Header.empty = float(str(self.header_empty_edit.text())) + self.header_empty_edit.setText('{0:.2e}'.format(self.edi_obj.Header.empty)) + + def header_set_fileby(self): + self.edi_obj.Header.fileby = str(self.header_fileby_edit.text()) + self.header_fileby_edit.setText('{0}'.format(self.edi_obj.Header.fileby)) + + def header_set_filedate(self): + self.edi_obj.Header.filedate = str(self.header_filedate_edit.text()) + self.header_filedate_edit.setText('{0}'.format(self.edi_obj.Header.filedate)) + + def header_set_lat(self): + self.edi_obj.lat = str(self.header_lat_edit.text()) + self.header_lat_edit.setText('{0:.5f}'.format(self.edi_obj.lat)) + + def header_set_lon(self): + self.edi_obj.lon = str(self.header_lon_edit.text()) + self.header_lon_edit.setText('{0:.5f}'.format(self.edi_obj.lon)) + + def header_set_loc(self): + self.edi_obj.Header.loc = str(self.header_loc_edit.text()) + self.header_loc_edit.setText('{0}'.format(self.edi_obj.Header.loc)) + + def header_set_progdate(self): + self.edi_obj.Header.progdate = str(self.header_progdate_edit.text()) + self.header_progdate_edit.setText('{0}'.format(self.edi_obj.Header.progdate)) + + def header_set_progvers(self): + self.edi_obj.Header.progvers = str(self.header_progvers_edit.text()) + self.header_progvers_edit.setText('{0}'.format(self.edi_obj.Header.progvers)) + + def info_set_text(self): + new_info_str = self.info_edit.toPlainText() + new_info_list = [str(nn) for nn in new_info_str.split('\n')] + self.edi_obj.Info.info_list = self.edi_obj.Info._validate_info_list(new_info_list) + + def define_set_maxchan(self): + self.edi_obj.Define_measurement.maxchan = int(str(self.define_maxchan_edit.text())) + self.define_maxchan_edit.setText('{0}'.format(self.edi_obj.Define_measurement.maxchan)) + + def define_set_maxrun(self): + self.edi_obj.Define_measurement.maxrun = int(str(self.define_maxrun_edit.text())) + self.define_maxrun_edit.setText('{0}'.format(self.edi_obj.Define_measurement.maxrun)) + + def define_set_maxmeas(self): + self.edi_obj.Define_measurement.maxmeas = int(str(self.define_maxmeas_edit.text())) + self.define_maxmeas_edit.setText('{0}'.format(self.edi_obj.Define_measurement.maxmeas)) + + def define_set_refelev(self): + value = mt.MTedi.MTft._assert_position_format('elev', + str(self.define_refelev_edit.text())) + self.edi_obj.Define_measurement.refelev = value + self.define_refelev_edit.setText('{0:.2f}'.format(value)) + + def define_set_reflat(self): + value = mt.MTedi.MTft._assert_position_format('lat', + str(self.define_reflat_edit.text())) + self.edi_obj.Define_measurement.reflat = value + self.define_reflat_edit.setText('{0:.5f}'.format(value)) + + def define_set_reflon(self): + value = mt.MTedi.MTft._assert_position_format('lon', + str(self.define_reflon_edit.text())) + self.edi_obj.Define_measurement.reflon = value + self.define_reflon_edit.setText('{0:.5f}'.format(value)) + +# def define_set_refloc(self): +# self.edi_obj.Define_measurement.refloc = str(self.define_refloc_edit.text()) +# self.define_refloc_edit.setText('{0}'.format(self.edi_obj.Define_measurement.refloc)) +# + def define_set_reftype(self): + self.edi_obj.Define_measurement.reftype = str(self.define_reftype_edit.text()) + self.define_reftype_edit.setText('{0}'.format(self.edi_obj.Define_measurement.reftype)) + + def define_set_units(self): + self.edi_obj.Define_measurement.units = str(self.define_units_edit.text()) + self.define_units_edit.setText('{0}'.format(self.edi_obj.Define_measurement.units)) + + def fill_meas(self): + + if hasattr(self.edi_obj.Define_measurement, 'meas_hx'): + self.meas_h01_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_hx.id)) + self.meas_h01_azm_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hx.azm)) + self.meas_h01_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hx.x)) + self.meas_h01_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hx.y)) + self.meas_h01_ct_combo.setCurrentIndex(0) + self.meas_h01_acqchn_combo.setCurrentIndex(0) + + if hasattr(self.edi_obj.Define_measurement, 'meas_hy'): + self.meas_h02_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_hy.id)) + self.meas_h02_azm_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hy.azm)) + self.meas_h02_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hy.x)) + self.meas_h02_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hy.y)) + self.meas_h02_ct_combo.setCurrentIndex(1) + self.meas_h02_acqchn_combo.setCurrentIndex(1) + + if hasattr(self.edi_obj.Define_measurement, 'meas_hz'): + self.meas_h03_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_hz.id)) + self.meas_h03_azm_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hz.azm)) + self.meas_h03_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hz.x)) + self.meas_h03_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_hz.y)) + self.meas_h03_ct_combo.setCurrentIndex(2) + self.meas_h03_acqchn_combo.setCurrentIndex(2) + + if hasattr(self.edi_obj.Define_measurement, 'meas_rhx'): + self.meas_hr1_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_rhx.id)) + self.meas_hr1_azm_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhx.azm)) + self.meas_hr1_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhx.x)) + self.meas_hr1_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhx.y)) + self.meas_hr1_ct_combo.setCurrentIndex(3) + self.meas_hr1_acqchn_combo.setCurrentIndex(3) + + if hasattr(self.edi_obj.Define_measurement, 'meas_rhy'): + self.meas_hr2_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_rhy.id)) + self.meas_hr2_azm_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhy.azm)) + self.meas_hr2_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhy.x)) + self.meas_hr2_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_rhy.y)) + self.meas_hr2_ct_combo.setCurrentIndex(4) + self.meas_hr2_acqchn_combo.setCurrentIndex(4) + + if hasattr(self.edi_obj.Define_measurement, 'meas_ex'): + self.meas_e01_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_ex.id)) + self.meas_e01_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ex.x)) + self.meas_e01_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ex.y)) + self.meas_e01_x2_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ex.x2)) + self.meas_e01_y2_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ex.y2)) + self.meas_e01_ct_combo.setCurrentIndex(0) + self.meas_e01_acqchn_combo.setCurrentIndex(0) + + if hasattr(self.edi_obj.Define_measurement, 'meas_ey'): + self.meas_e02_id_edit.setText('{0}'.format(self.edi_obj.Define_measurement.meas_ey.id)) + self.meas_e02_x_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ey.x)) + self.meas_e02_y_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ey.y)) + self.meas_e02_x2_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ey.x2)) + self.meas_e02_y2_edit.setText('{0:.2f}'.format(self.edi_obj.Define_measurement.meas_ey.y2)) + self.meas_e02_ct_combo.setCurrentIndex(1) + self.meas_e02_acqchn_combo.setCurrentIndex(1) + + def update_metadata(self): + self.metadata_updated.emit() + self.close() + +#============================================================================== +# Def Main +#============================================================================== +def main(): + app = QtGui.QApplication(sys.argv) + ui = EDI_Editor_Window() + ui.ui_setup() + ui.show() + sys.exit(app.exec_()) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/mtpy/gui/get_edi_files.py b/mtpy/gui/get_edi_files.py index a41bd3b4..62dcf42f 100644 --- a/mtpy/gui/get_edi_files.py +++ b/mtpy/gui/get_edi_files.py @@ -6,6 +6,8 @@ """ from PyQt4 import QtGui +import sys + class Get_EDI_Files(QtGui.QWidget): def __init__(self): super(Get_EDI_Files, self).__init__() @@ -16,10 +18,15 @@ def __init__(self): self.edi_list = [] for fn in fn_list: self.edi_list.append(str(fn)) - -if __name__ == '__main__': - - import sys + +def main(): app = QtGui.QApplication(sys.argv) window = Get_EDI_Files() - sys.exit(app.exec_()) \ No newline at end of file + sys.exit(app.exec_()) + +#if __name__ == '__main__': +# +# import sys +# app = QtGui.QApplication(sys.argv) +# window = Get_EDI_Files() +# sys.exit(app.exec_()) \ No newline at end of file diff --git a/mtpy/gui/modem_main.py b/mtpy/gui/modem_main.py deleted file mode 100644 index 30d92e0c..00000000 --- a/mtpy/gui/modem_main.py +++ /dev/null @@ -1,136 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Sun Nov 02 13:47:10 2014 - -@author: jrpeacock -""" - -from PyQt4 import QtCore, QtGui -import mtpy.modeling.modem_new as modem -from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas -from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar -from matplotlib.figure import Figure -from matplotlib.patches import Ellipse -import mtpy.imaging.mtplottools as mtplottools -import matplotlib.gridspec as gridspec -import matplotlib.colors as colors -import numpy as np -import matplotlib.pyplot as plt -import os -import mtpy.analysis.pt as mtpt -import mtpy.utils.exceptions as mtex -from matplotlib.colors import Normalize -import matplotlib.colorbar as mcb -import mtpy.imaging.mtcolors as mtcl -import mtpy.gui.get_edi_files as mt_get_edi_files - -class ModEM_Main_Window(QtGui.QMainWindow): - """ - main window for building a mesh for ModEM - - """ - - def __init__(self): - super(ModEM_Main_Window, self).__init__() - - self.ui_setup() - - def ui_setup(self): - - self.setWindowTitle("Make ModEM Data and Model Files") - self.resize(1920, 1080) - - #make a widget that will be the station list - self.list_widget = QtGui.QListWidget() - self.list_widget.itemClicked.connect(self.get_period) - self.list_widget.setMaximumWidth(150) - - # add a menu bar to the top of the window - self.menu_bar = QtGui.QMenuBar(self) - self.menu_bar.setGeometry(QtCore.QRect(0, 0, 1920, 38)) - self.menu_bar.setObjectName("menu_bar") - - #----------> DATA ------------------------------------- - # add a tab for getting data file. - self.menu_data = QtGui.QMenu(self.menu_bar) - self.menu_data.setTitle("Data File") - - # create an action to the data tab - self.action_data_open = QtGui.QAction(self) - self.action_data_open.setText('Open') - self.action_data_open.triggered.connect(self.get_data_fn) - - # add the action to the data tap - self.menu_data.addAction(self.action_data_open) - self.menu_bar.addAction(self.menu_data.menuAction()) - - #----------> Model ------------------------------------- - self.menu_model = QtGui.QMenu(self.menu_bar) - self.menu_model.setTitle("Model File") - - # create an action to the model tab - self.action_model_open = QtGui.QAction(self) - self.action_model_open.setText('Open') - self.action_model_open.triggered.connect(self.get_model_fn) - - # add the action to the model tap - self.menu_model.addAction(self.action_model_open) - self.menu_bar.addAction(self.menu_model.menuAction()) - - self.setMenuBar(self.menu_bar) - - QtCore.QMetaObject.connectSlotsByName(self) - - def get_data_fn(self): - """ - get the filename from a file dialogue - - """ - - fn_dialog = QtGui.QFileDialog() - fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM data file', - filter='(*.dat);; (*.data)')) - - self.modem_data = modem.Data() - self.modem_data.read_data_file(fn) - self.modem_data_fn = fn - - self.dir_path = os.path.dirname(fn) - - self.period_list = sorted(self.modem_data.period_list) - self.period_dict = dict([('{0:.5f}'.format(key), value) for value, key - in enumerate(self.period_list)]) - - self.list_widget.clear() - - #this will add the station name for each station to the qwidget list - for period in self.period_list: - self.list_widget.addItem('{0:.5f}'.format(period)) - - self.plot_period = self.period_list[0] - - def get_period(self, widget_item): - """ - get the station name from the clicked station - """ - self.plot_period = str(widget_item.text()) - -#def main(): - -def main(): -#if __name__ == "__main__": - import sys - app = QtGui.QApplication(sys.argv) - ui = ModEM_Main_Window() - ui.ui_setup() - ui.show() - sys.exit(app.exec_()) - -if __name__ == '__main__': - - main() - - - - - \ No newline at end of file diff --git a/mtpy/gui/modem_mesh_builder.py b/mtpy/gui/modem_mesh_builder.py index e88a17fe..77be6069 100644 --- a/mtpy/gui/modem_mesh_builder.py +++ b/mtpy/gui/modem_mesh_builder.py @@ -22,8 +22,9 @@ from matplotlib.colors import Normalize import matplotlib.colorbar as mcb import mtpy.imaging.mtcolors as mtcl -import mtpy.gui.get_edi_files as mt_get_edi_files +from mtpy.gui.get_edi_files import Get_EDI_Files import sys +import copy class MyStream(QtCore.QObject): @@ -49,7 +50,7 @@ def __init__(self): self.period_list = [] self.period_dict = {} - self.modem_model = modem.Model() + #self.model_obj = modem.Model() self.ui_setup() @@ -58,17 +59,77 @@ def ui_setup(self): set up the user interface """ self.setWindowTitle("Build a mesh for ModEM") - self.resize(1920, 1080) + self.setWindowState(QtCore.Qt.WindowMaximized) self.mesh_widget = MeshWidget() self.central_widget = self.setCentralWidget(self.mesh_widget) - #self.central_widget.setLayout(self.v_layout) + + #-------------- MENU BAR --------------------------------- + # add a menu bar to the top of the window + self.menu_data_file = self.menuBar().addMenu("Data &File") + self.menu_data_open_action = self.menu_data_file.addAction("Open") + self.menu_data_open_action.triggered.connect(self.get_data_fn) + + self.menu_model_file = self.menuBar().addMenu("&Model File") + self.menu_model_open_action = self.menu_model_file.addAction("Open") + self.menu_model_open_action.triggered.connect(self.get_model_fn) + + self.menu_model_save_action = self.menu_model_file.addAction("Save") + self.menu_model_save_action.triggered.connect(self.save_model_fn) + + #------------Output stream box------------------------------------- self.my_stream = MyStream() self.my_stream.message.connect(self.mesh_widget.normal_output) sys.stdout = self.my_stream QtCore.QMetaObject.connectSlotsByName(self) + + def get_data_fn(self): + """ + get the filename from a file dialogue + + """ + + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM data file', + filter='(*.dat);; (*.data)')) + + self.mesh_widget.modem_data = modem.Data() + self.mesh_widget.modem_data.read_data_file(fn) + self.mesh_widget.modem_data_fn = fn + + self.mesh_widget.dir_path = os.path.dirname(fn) + + + def get_model_fn(self): + """ + read in an existing model file + """ + + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM model file', + filter='*.rho')) + + self.mesh_widget.model_obj = modem.Model() + self.mesh_widget.model_obj.read_model_file(fn) + + self.mesh_widget.dir_path = os.path.dirname(fn) + + def save_model_fn(self): + """ + save the current mesh settings to a file + """ + + fn_dialog = QtGui.QFileDialog() + save_fn = str(fn_dialog.getSaveFileName( + caption='Choose ModEM model file', + filter='*.rho')) + + sv_path = os.path.dirname(save_fn) + sv_basename = os.path.basename(save_fn) + self.mesh_widget.model_obj.write_model_file(save_path=sv_path, + model_fn_basename=sv_basename) #============================================================================== # Mesh widget @@ -90,11 +151,7 @@ def __init__(self): def setup_ui(self): # get edi files self.edi_button = QtGui.QPushButton('Get EDI Files') - self.edi_button.clicked.connect(self.get_edi_files) - - self.list_widget = QtGui.QListWidget() - self.list_widget.itemClicked.connect(self.select_station) - self.list_widget.setMaximumWidth(200) + self.edi_button.clicked.connect(self.load_edi_files) self.plot_mesh_button = QtGui.QPushButton('Make Mesh') self.plot_mesh_button.clicked.connect(self.plot_mesh) @@ -102,7 +159,6 @@ def setup_ui(self): self.save_mesh_button = QtGui.QPushButton('Save Mesh') self.save_mesh_button.clicked.connect(self.save_mesh) - self.output_box = QtGui.QTextEdit() #make a label for the mesh parameters @@ -187,127 +243,195 @@ def setup_ui(self): self.rho_start_edit.editingFinished.connect(self.set_rho) #--- Set the layout ---------- - self.edi_grid = QtGui.QVBoxLayout() - self.edi_grid.addWidget(self.edi_button) - self.edi_grid.addWidget(self.list_widget) + edi_layout = QtGui.QVBoxLayout() + edi_layout.addWidget(self.edi_button) - self.grid_layout = QtGui.QGridLayout() + param_layout = QtGui.QGridLayout() - self.grid_layout.addWidget(self.plot_mesh_button, 0, 0) - self.grid_layout.addWidget(self.save_mesh_button, 0, 1) + param_layout.addWidget(self.plot_mesh_button, 0, 0) + param_layout.addWidget(self.save_mesh_button, 0, 1) - self.grid_layout.addWidget(self.parameters_label, 2, 0, 1, 2) + param_layout.addWidget(self.parameters_label, 2, 0, 1, 2) - self.grid_layout.addWidget(self.cell_size_label_east, 3, 0) - self.grid_layout.addWidget(self.cell_size_edit_east, 3, 1) + param_layout.addWidget(self.cell_size_label_east, 3, 0) + param_layout.addWidget(self.cell_size_edit_east, 3, 1) - self.grid_layout.addWidget(self.cell_size_label_north, 4, 0) - self.grid_layout.addWidget(self.cell_size_edit_north, 4, 1) + param_layout.addWidget(self.cell_size_label_north, 4, 0) + param_layout.addWidget(self.cell_size_edit_north, 4, 1) - self.grid_layout.addWidget(self.cell_pad_label_east, 5, 0) - self.grid_layout.addWidget(self.cell_pad_east_edit, 5, 1) + param_layout.addWidget(self.cell_pad_label_east, 5, 0) + param_layout.addWidget(self.cell_pad_east_edit, 5, 1) - self.grid_layout.addWidget(self.cell_pad_label_north, 6, 0) - self.grid_layout.addWidget(self.cell_pad_north_edit, 6, 1) + param_layout.addWidget(self.cell_pad_label_north, 6, 0) + param_layout.addWidget(self.cell_pad_north_edit, 6, 1) - self.grid_layout.addWidget(self.cell_pad_label_z, 7, 0) - self.grid_layout.addWidget(self.cell_pad_z_edit, 7, 1) + param_layout.addWidget(self.cell_pad_label_z, 7, 0) + param_layout.addWidget(self.cell_pad_z_edit, 7, 1) - self.grid_layout.addWidget(self.pad_h_label, 8, 0) - self.grid_layout.addWidget(self.pad_h_edit, 8, 1) + param_layout.addWidget(self.pad_h_label, 8, 0) + param_layout.addWidget(self.pad_h_edit, 8, 1) - self.grid_layout.addWidget(self.pad_v_label, 9, 0 ) - self.grid_layout.addWidget(self.pad_v_edit, 9, 1) + param_layout.addWidget(self.pad_v_label, 9, 0 ) + param_layout.addWidget(self.pad_v_edit, 9, 1) - self.grid_layout.addWidget(self.n_layers_label, 10, 0) - self.grid_layout.addWidget(self.n_layers_edit, 10, 1) + param_layout.addWidget(self.n_layers_label, 10, 0) + param_layout.addWidget(self.n_layers_edit, 10, 1) - self.grid_layout.addWidget(self.z1_layer_label, 11, 0) - self.grid_layout.addWidget(self.z1_layer_edit, 11, 1) + param_layout.addWidget(self.z1_layer_label, 11, 0) + param_layout.addWidget(self.z1_layer_edit, 11, 1) - self.grid_layout.addWidget(self.z_target_label, 12, 0) - self.grid_layout.addWidget(self.z_target_edit, 12, 1) + param_layout.addWidget(self.z_target_label, 12, 0) + param_layout.addWidget(self.z_target_edit, 12, 1) - self.grid_layout.addWidget(self.z_bottom_label, 13, 0) - self.grid_layout.addWidget(self.z_bottom_edit, 13, 1) + param_layout.addWidget(self.z_bottom_label, 13, 0) + param_layout.addWidget(self.z_bottom_edit, 13, 1) - self.grid_layout.addWidget(self.rot_ang_label, 14, 0) - self.grid_layout.addWidget(self.rot_ang_edit, 14, 1) - self.grid_layout.addWidget(self.rot_ang_hint, 15, 1) + param_layout.addWidget(self.rot_ang_label, 14, 0) + param_layout.addWidget(self.rot_ang_edit, 14, 1) + param_layout.addWidget(self.rot_ang_hint, 15, 1) - self.grid_layout.addWidget(self.rho_start_label, 16, 0) - self.grid_layout.addWidget(self.rho_start_edit, 16, 1) -# self.grid_layout.addWidget(self.rot_ang_hint, 11, 2) + param_layout.addWidget(self.rho_start_label, 16, 0) + param_layout.addWidget(self.rho_start_edit, 16, 1) + + # this is the Canvas Widget that displays the `figure` + # it takes the `figure` instance as a parameter to __init__ + self.mpl_widget = MeshPlot() -# self.grid_layout.addWidget(self.edi_button, 1, 0) -# self.grid_layout.addWidget(self.plot_mesh_button, 1, 1, 1, 2) -# self.grid_layout.addWidget(self.save_mesh_button, 1, 3) -# -# self.grid_layout.addWidget(self.list_widget, 2, 0) -# self.grid_layout.addWidget(self.output_box, 2, 1, 1, 3) -# -# self.grid_layout.addWidget(self.parameters_label, 3, 0) -# -# self.grid_layout.addWidget(self.cell_size_label, 4, 0) -# self.grid_layout.addWidget(self.cell_size_edit_east, 4, 1) -# self.grid_layout.addWidget(self.cell_size_edit_north, 4, 2) -# -# self.grid_layout.addWidget(self.cell_pad_label, 5, 0) -# self.grid_layout.addWidget(self.cell_pad_east_edit, 5, 1) -# self.grid_layout.addWidget(self.cell_pad_north_edit, 5, 2) -# self.grid_layout.addWidget(self.cell_pad_z_edit, 5, 3) -# -# self.grid_layout.addWidget(self.pad_h_label, 6, 0) -# self.grid_layout.addWidget(self.pad_h_edit, 6, 1) -# self.grid_layout.addWidget(self.pad_v_edit, 6, 2) -# -# self.grid_layout.addWidget(self.n_layers_label, 7, 0) -# self.grid_layout.addWidget(self.n_layers_edit, 7, 1) -# -# self.grid_layout.addWidget(self.z1_layer_label, 8, 0) -# self.grid_layout.addWidget(self.z1_layer_edit, 8, 1) -# -# self.grid_layout.addWidget(self.z_target_label, 9, 0) -# self.grid_layout.addWidget(self.z_target_edit, 9, 1) -# -# self.grid_layout.addWidget(self.z_bottom_label, 10, 0) -# self.grid_layout.addWidget(self.z_bottom_edit, 10, 1) -# -# self.grid_layout.addWidget(self.rot_ang_label, 11, 0) -# self.grid_layout.addWidget(self.rot_ang_edit, 11, 1) -# self.grid_layout.addWidget(self.rot_ang_hint, 11, 2) + left_layout = QtGui.QVBoxLayout() + left_layout.addLayout(edi_layout) + left_layout.addLayout(param_layout) + left_layout.addWidget(self.output_box) + + # set the layout the main window + layout = QtGui.QHBoxLayout() + layout.addLayout(left_layout) + layout.addWidget(self.mpl_widget) + self.setLayout(layout) + + #set the geometry of each widget + self.mpl_widget.updateGeometry() + + QtCore.QMetaObject.connectSlotsByName(self) + + @QtCore.pyqtSlot(str) + def normal_output(self, message): + self.output_box.moveCursor(QtGui.QTextCursor.End) + self.output_box.insertPlainText(message) + + def get_data_fn(self): + """ + get the filename from a file dialogue + + """ + + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM data file', + filter='(*.dat);; (*.data)')) + + self.modem_data = modem.Data() + self.modem_data.read_data_file(fn) + self.modem_data_fn = fn + + self.dir_path = os.path.dirname(fn) + + self.period_list = sorted(self.modem_data.period_list) + self.period_dict = dict([('{0:.5f}'.format(key), value) for value, key + in enumerate(self.period_list)]) + + self.list_widget.clear() + + #this will add the station name for each station to the qwidget list + for period in self.period_list: + self.list_widget.addItem('{0:.5f}'.format(period)) + + self.plot_period = self.period_list[0] + + + + def get_model_fn(self): + """ + read in an existing model file + """ + + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM model file', + filter='*.rho')) + + self.model_obj = modem.Model() + self.model_obj.read_model_file(fn) - self.h_layout = QtGui.QHBoxLayout() - self.h_layout.addLayout(self.edi_grid) - self.h_layout.addLayout(self.grid_layout) + self.dir_path = os.path.dirname(fn) - self.v_layout = QtGui.QVBoxLayout() - self.v_layout.addLayout(self.h_layout) - self.v_layout.addWidget(self.output_box) + def save_model_fn(self): + """ + save the current mesh settings to a file + """ + + fn_dialog = QtGui.QFileDialog() + save_fn = str(fn_dialog.getSaveFileName( + caption='Choose ModEM model file', + filter='*.rho')) + + sv_path = os.path.dirname(save_fn) + sv_basename = os.path.basename(save_fn) + + setattr(self, 'model_obj', self.mpl_widget.model_obj) + # be sure to change the grid into nodes + self.model_obj.nodes_east = self._grid_to_nodes(self.model_obj.grid_east) + self.model_obj.nodes_north = self._grid_to_nodes(self.model_obj.grid_north) + self.model_obj.nodes_z = self._grid_to_nodes(self.model_obj.grid_z) + + # need to reset the and reshape the resistivity model + self.model_obj.res_model = None + self.set_rho() + + self.model_obj.write_model_file(save_path=sv_path, + model_fn_basename=sv_basename) + + def _grid_to_nodes(self, grid_array): + nodes_array = grid_array.copy() + nx = grid_array.shape[0] + nodes_array[:nx/2] = np.array([abs(grid_array[ii]-grid_array[ii+1]) + for ii in range(int(nx/2))]) + nodes_array[nx/2:] = np.array([abs(grid_array[ii]-grid_array[ii+1]) + for ii in range(int(nx/2)-1, nx-1)]) + return nodes_array - self.full_layout = QtGui.QHBoxLayout() - self.full_layout.addLayout(self.v_layout) - self.full_layout.addWidget(self.mpl_widget) - self.setLayout(self.full_layout) - def get_edi_files(self): + def locate_station(self): + pass + + def get_period(self, widget_item): """ - get a list of edi files + get the station name from the clicked station """ - self.dialog_box = QtGui.QFileDialog() - fn_list = self.dialog_box.getOpenFileNames( - caption='Choose EDI Files', - filter='*.edi') - edi_list = [] - self.list_widget.clear() + self.plot_period = str(widget_item.text()) + + def load_edi_files(self): + fn_list = QtGui.QFileDialog().getOpenFileNames( + caption='Choose EDI Files', + filter='*.edi') + self.edi_list = [] for fn in fn_list: - self.list_widget.addItem(os.path.basename(str(fn))[:-4]) - edi_list.append(str(fn)) - - self.model_obj.edi_list = edi_list - + self.edi_list.append(str(fn)) + + self.model_obj = modem.Model(edi_list=self.edi_list) + + self.model_obj.get_station_locations() + + self.mpl_widget.plot_mesh(self.model_obj) + +# #self.make_checkable_list(self.model_obj.station_locations['station']) +# +# for station in self.model_obj.station_locations['station']: +# item = QtGui.QListWidgetItem() +# item.setText(station) +# item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable) +# item.setCheckState(QtCore.Qt.Checked) +# self.list_widget.addItem(item) + def set_cell_size_east(self): self.model_obj.cell_size_east = float(str(self.cell_size_edit_east.text())) self.cell_size_edit_east.setText('{0:.2f}'.format(self.model_obj.cell_size_east)) @@ -364,30 +488,53 @@ def plot_mesh(self): self.mpl_widget.plot_mesh(self.model_obj) def save_mesh(self): - fn = str(QtGui.QFileDialog.getSaveFileName(self, - caption='Choose Model File', - directory=os.getcwd())) + fn_dialog = QtGui.QFileDialog() + save_fn = str(fn_dialog.getSaveFileName( + caption='Choose ModEM model file', + filter='*.rho')) - self.model_obj.write_model_file(save_path=os.path.dirname(fn), - model_fn_basename=os.path.basename(fn)) + sv_path = os.path.dirname(save_fn) + sv_basename = os.path.basename(save_fn) + + # be sure to change the grid into nodes + self.model_obj.nodes_east = self._grid_to_nodes(self.mpl_widget.model_obj.grid_east) + self.model_obj.nodes_north = self._grid_to_nodes(self.mpl_widget.model_obj.grid_north) + self.model_obj.nodes_z = self._grid_to_nodes(self.mpl_widget.model_obj.grid_z) + + self.set_rho() + + self.model_obj.write_model_file(save_path=sv_path, + model_fn_basename=sv_basename) + + #--> print out useful information + print '-'*15 + print ' Number of stations = {0}'.format(len(self.model_obj.station_locations)) + print ' Dimensions: ' + print ' e-w = {0}'.format(self.model_obj.grid_east.shape[0]) + print ' n-s = {0}'.format(self.model_obj.grid_north.shape[0]) + print ' z = {0} (without 7 air layers)'.format(self.model_obj.grid_z.shape[0]) + print ' Extensions: ' + print ' e-w = {0:.1f} (m)'.format(self.model_obj.nodes_east.__abs__().sum()) + print ' n-s = {0:.1f} (m)'.format(self.model_obj.nodes_north.__abs__().sum()) + print ' 0-z = {0:.1f} (m)'.format(self.model_obj.nodes_z.__abs__().sum()) + + print ' Stations rotated by: {0:.1f} deg clockwise positive from N'.format(self.model_obj.mesh_rotation_angle) + print '' def set_rho(self): if self.model_obj.res_model is None: - self.model_obj.res_model = np.zeros(self.model_obj.grid_north.shape[0], + self.model_obj.res_model = np.zeros((self.model_obj.grid_north.shape[0], self.model_obj.grid_east.shape[0], - self.model_obj.grid_z.shape[0]) + self.model_obj.grid_z.shape[0])) self.model_obj.res_model[:, :, :] = float(str(self.rho_start_edit.text())) - self.rho_start_edit.setText('{0:.2f}'.format(self.rho_start_edit.text())) + self.rho_start_edit.setText('{0:.2f}'.format(float(str(self.rho_start_edit.text())))) @QtCore.pyqtSlot(str) def normal_output(self, message): self.output_box.moveCursor(QtGui.QTextCursor.End) self.output_box.insertPlainText(message) - - - #============================================================================== # Mesh Plot #============================================================================== @@ -415,47 +562,108 @@ def __init__(self): self.fs = 10 + self.line_mode = 'add_h' + self._ax = None + + self.model_obj = None + self.setup_ui() def setup_ui(self): + self.figure = Figure(dpi=150) - self.mpl_widget = FigureCanvas(self.figure) - self.figure.subplots_adjust(left=self.subplot_left, right=self.subplot_right, bottom=self.subplot_bottom, top=self.subplot_top, hspace=self.subplot_hspace, wspace=self.subplot_wspace) - - #make sure the figure takes up the entire plottable space + + + self.mpl_widget = FigureCanvas(self.figure) + + self.mpl_widget.mpl_connect('pick_event', self.on_pick) + self.mpl_widget.mpl_connect('axes_enter_event', self.in_axes) + self.mpl_widget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) + screen = QtGui.QDesktopWidget().screenGeometry() + self.mpl_widget.setMinimumWidth(screen.width()*(1600./1920)) - # this is the Navigation widget - # it takes the Canvas widget and a parent self.mpl_toolbar = NavigationToolbar(self.mpl_widget, self) + + + ## --> buttons for removing, adding lines + self.line_add_h_button = QtGui.QPushButton("Add Horizontal Line") + self.line_add_h_button.pressed.connect(self.line_set_add_h) + + self.line_add_v_button = QtGui.QPushButton("Add Vertical Line") + self.line_add_v_button.pressed.connect(self.line_set_add_v) + + self.line_del_h_button = QtGui.QPushButton("Remove Horizontal Line") + self.line_del_h_button.pressed.connect(self.line_set_del_h) + + self.line_del_v_button = QtGui.QPushButton("Remove Vertical Line") + self.line_del_v_button.pressed.connect(self.line_set_del_v) + # set the layout for the plot + line_layout = QtGui.QHBoxLayout() + line_layout.addWidget(self.line_add_h_button) + line_layout.addWidget(self.line_add_v_button) + line_layout.addWidget(self.line_del_h_button) + line_layout.addWidget(self.line_del_v_button) + mpl_vbox = QtGui.QVBoxLayout() mpl_vbox.addWidget(self.mpl_toolbar) mpl_vbox.addWidget(self.mpl_widget) + mpl_vbox.addLayout(line_layout) self.setLayout(mpl_vbox) self.mpl_widget.updateGeometry() + + def line_set_add_h(self): + self.line_mode = 'add_h' + self.line_add_h_button.setStyleSheet("background-color: red") + self.line_add_v_button.setStyleSheet("background-color: None") + self.line_del_h_button.setStyleSheet("background-color: None") + self.line_del_v_button.setStyleSheet("background-color: None") + + def line_set_add_v(self): + self.line_mode = 'add_v' + self.line_add_h_button.setStyleSheet("background-color: None") + self.line_add_v_button.setStyleSheet("background-color: red") + self.line_del_h_button.setStyleSheet("background-color: None") + self.line_del_v_button.setStyleSheet("background-color: None") + + def line_set_del_h(self): + self.line_mode = 'del_h' + self.line_add_h_button.setStyleSheet("background-color: None") + self.line_add_v_button.setStyleSheet("background-color: None") + self.line_del_h_button.setStyleSheet("background-color: red") + self.line_del_v_button.setStyleSheet("background-color: None") + + def line_set_del_v(self): + self.line_mode = 'del_v' + self.line_add_h_button.setStyleSheet("background-color: None") + self.line_add_v_button.setStyleSheet("background-color: None") + self.line_del_h_button.setStyleSheet("background-color: None") + self.line_del_v_button.setStyleSheet("background-color: red") + def plot_mesh(self, model_obj, east_limits=None, north_limits=None, z_limits=None): + self.model_obj = model_obj + try: - model_obj.make_mesh() + self.model_obj.make_mesh() except AttributeError: QtGui.QMessageBox.warning(self, 'Cannot Make Mesh -- Need EDI Files', "Please press the 'Get EDI Files' button to get files", - QtGui.QMessageBox.Cancel, - ) + QtGui.QMessageBox.Cancel) return @@ -473,127 +681,238 @@ def plot_mesh(self, model_obj, east_limits=None, north_limits=None, gs = gridspec.GridSpec(1, 2, width_ratios=[10, 1]) #--->plot map view - ax1 = self.figure.add_subplot(gs[0], aspect='equal') + self.ax_map = self.figure.add_subplot(gs[0], aspect='equal') #plot station locations - plot_east = model_obj.station_locations['rel_east']/1000. - plot_north = model_obj.station_locations['rel_north']/1000. - - plot_grid_east = model_obj.grid_east.copy()/1000. - plot_grid_north = model_obj.grid_north.copy()/1000. - plot_grid_z = model_obj.grid_z.copy()/1000. - - ax1.scatter(plot_east, - plot_north, - marker=self.station_marker, - c=self.marker_color, - s=self.marker_size) + station_plot_east = self.model_obj.station_locations['rel_east']/1000. + station_plot_north = self.model_obj.station_locations['rel_north']/1000. + + self.plot_grid_east = self.model_obj.grid_east.copy()/1000. + self.plot_grid_north = self.model_obj.grid_north.copy()/1000. + self.plot_grid_z = self.model_obj.grid_z.copy()/1000. + + self.ax_map.scatter(station_plot_east, + station_plot_north, + marker=self.station_marker, + c=self.marker_color, + s=self.marker_size, + picker=3) + # plot vertical lines east_line_xlist = [] east_line_ylist = [] - north_min = plot_grid_north.min() - north_max = plot_grid_north.max() - for xx in plot_grid_east: + north_min = self.plot_grid_north.min() + north_max = self.plot_grid_north.max() + for xx in self.plot_grid_east: east_line_xlist.extend([xx*cos_ang+north_min*sin_ang, xx*cos_ang+north_max*sin_ang]) east_line_xlist.append(None) east_line_ylist.extend([-xx*sin_ang+north_min*cos_ang, -xx*sin_ang+north_max*cos_ang]) east_line_ylist.append(None) - ax1.plot(east_line_xlist, - east_line_ylist, - lw=self.line_width, - color=self.line_color) + self.ax_map.plot(east_line_xlist, + east_line_ylist, + lw=self.line_width, + color=self.line_color, + picker=3) north_line_xlist = [] north_line_ylist = [] - east_max = plot_grid_east.max() - east_min = plot_grid_east.min() - for yy in plot_grid_north: + east_max = self.plot_grid_east.max() + east_min = self.plot_grid_east.min() + for yy in self.plot_grid_north: north_line_xlist.extend([east_min*cos_ang+yy*sin_ang, east_max*cos_ang+yy*sin_ang]) north_line_xlist.append(None) north_line_ylist.extend([-east_min*sin_ang+yy*cos_ang, -east_max*sin_ang+yy*cos_ang]) north_line_ylist.append(None) - ax1.plot(north_line_xlist, - north_line_ylist, - lw=self.line_width, - color=self.line_color) + self.ax_map.plot(north_line_xlist, + north_line_ylist, + lw=self.line_width, + color=self.line_color, + picker=3) if east_limits == None: - ax1.set_xlim(plot_grid_east.min(), - plot_grid_east.max()) + self.ax_map.set_xlim(self.plot_grid_east.min(), + self.plot_grid_east.max()) pass else: - ax1.set_xlim(east_limits) + self.ax_map.set_xlim(east_limits) if north_limits == None: - ax1.set_ylim(plot_grid_north.min(), - plot_grid_north.max()) + self.ax_map.set_ylim(self.plot_grid_north.min(), + self.plot_grid_north.max()) pass else: - ax1.set_ylim(north_limits) + self.ax_map.set_ylim(north_limits) - ax1.set_ylabel('Northing (km)', fontdict={'size':12, 'weight':'bold'}) - ax1.set_xlabel('Easting (km)', fontdict={'size':12, 'weight':'bold'}) + self.ax_map.set_ylabel('Northing (km)', + fontdict={'size':12, 'weight':'bold'}) + self.ax_map.set_xlabel('Easting (km)', + fontdict={'size':12, 'weight':'bold'}) ##----plot depth view - ax2 = self.figure.add_subplot(gs[1], aspect='auto') + self.ax_depth = self.figure.add_subplot(gs[1], aspect='auto') #plot the grid east_line_xlist = [] east_line_ylist = [] - for xx in plot_grid_east: + for xx in self.plot_grid_east: east_line_xlist.extend([xx, xx]) east_line_xlist.append(None) east_line_ylist.extend([0, - plot_grid_z.max()]) + self.plot_grid_z.max()]) east_line_ylist.append(None) - ax2.plot(east_line_xlist, - east_line_ylist, - lw=self.line_width, - color=self.line_color) + + self.ax_depth.plot(east_line_xlist, + east_line_ylist, + lw=self.line_width, + color=self.line_color, + picker=5) z_line_xlist = [] z_line_ylist = [] - for zz in plot_grid_z: - z_line_xlist.extend([plot_grid_east.min(), - plot_grid_east.max()]) + for zz in self.plot_grid_z: + z_line_xlist.extend([self.plot_grid_east.min(), + self.plot_grid_east.max()]) z_line_xlist.append(None) z_line_ylist.extend([zz, zz]) z_line_ylist.append(None) - ax2.plot(z_line_xlist, - z_line_ylist, - lw=self.line_width, - color=self.line_color) + + self.ax_depth.plot(z_line_xlist, + z_line_ylist, + lw=self.line_width, + color=self.line_color, + picker=3) #--> plot stations - ax2.scatter(plot_east, - [0]*model_obj.station_locations.shape[0], - marker=self.station_marker, - c=self.marker_color, - s=self.marker_size) + self.ax_depth.scatter(station_plot_east, + [0]*model_obj.station_locations.shape[0], + marker=self.station_marker, + c=self.marker_color, + s=self.marker_size, + picker=3) if z_limits == None: - ax2.set_ylim(model_obj.z_target_depth/1000., -1) + self.ax_depth.set_ylim(model_obj.z_target_depth/1000., -1) else: - ax2.set_ylim(z_limits) + self.ax_depth.set_ylim(z_limits) - ax2.set_xlim(-model_obj.cell_size_east/6000., - model_obj.cell_size_east/6000.) - plt.setp(ax2.xaxis.get_ticklabels(), visible=False) + self.ax_depth.set_xlim(-model_obj.cell_size_east/1000*.75, + model_obj.cell_size_east/1000*.75) + plt.setp(self.ax_depth.xaxis.get_ticklabels(), visible=False) - ax2.set_ylabel('Depth (km)', fontdict={'size':9, 'weight':'bold'}) -# ax2.set_xlabel('Easting (m)', fontdict={'size':9, 'weight':'bold'}) + self.ax_depth.set_ylabel('Depth (km)', fontdict={'size':9, 'weight':'bold'}) +# self.ax_depth.set_xlabel('Easting (m)', fontdict={'size':9, 'weight':'bold'}) self.mpl_widget.draw() + def on_pick(self, event): + """ + mask a data point when it is clicked on. + """ + + +# for ii in dir(event.mouseevent): +# print ii + if event.mouseevent.button == 1: + if self.line_mode == 'add_h' and self._ax == self.ax_map: + data_point = event.mouseevent + + north = np.round(float(data_point.ydata)*1000., -2) + + self.model_obj.grid_north = np.append(self.model_obj.grid_north, + north) + self.model_obj.grid_north.sort() + self.ax_map.plot([self.plot_grid_east.min(), + self.plot_grid_east.max()], + [north/1000., north/1000.], + lw=self.line_width, + color='r', + picker=3) + + elif self.line_mode == 'add_h' and self._ax == self.ax_depth: + data_point = event.mouseevent + + depth = np.round(float(data_point.ydata)*1000., -2) + + self.model_obj.grid_z = np.append(self.model_obj.grid_z, + depth) + self.model_obj.grid_z.sort() + self.ax_depth.plot([self.plot_grid_east.min(), + self.plot_grid_east.max()], + [depth/1000., depth/1000.], + lw=self.line_width, + color='r', + picker=3) + + elif self.line_mode == 'add_v' and self._ax == self.ax_map: + data_point = event.mouseevent + + east = np.round(float(data_point.xdata)*1000, -2) + + self.model_obj.grid_east = np.append(self.model_obj.grid_east, + east) + self.model_obj.grid_east.sort() + self.ax_map.plot([east/1000., east/1000.], + [self.plot_grid_north.min(), + self.plot_grid_north.max()], + lw=self.line_width, + color='r', + picker=3) + + elif self.line_mode == 'del_h' and self._ax == self.ax_map: + data_point = event.artist + east = data_point.get_xdata()[event.ind]*1000. + north = data_point.get_ydata()[event.ind]*1000. + + new_ii = np.where(self.model_obj.grid_east != east) + self.model_obj.grid_east = self.model_obj.grid_east[new_ii] + self.ax_map.plot([self.plot_grid_east.min(), + self.plot_grid_east.max()], + [north/1000., north/1000.], + lw=self.line_width, + color='w', + picker=3) + + elif self.line_mode == 'del_v' and self._ax == self.ax_depth: + data_point = event.artist + east = data_point.get_xdata()[event.ind]*1000. + depth = data_point.get_ydata()[event.ind]*1000. + + new_ii = np.where(self.model_obj.grid_z != depth) + self.model_obj.grid_z = self.model_obj.grid_z[new_ii] + self.ax_map.plot([self.plot_grid_east.min(), + self.plot_grid_east.max()], + [depth/1000., depth/1000.], + lw=self.line_width, + color='w', + picker=3) + + elif self.line_mode == 'del_v' and self._ax == self.ax_map: + data_point = event.artist + east = data_point.get_xdata()[event.ind]*1000. + north = data_point.get_ydata()[event.ind]*1000. + + new_ii = np.where(self.model_obj.grid_north != north) + self.model_obj.grid_north = self.model_obj.grid_north[new_ii] + self.ax_map.plot([east/1000., east/1000.], + [self.plot_grid_north.min(), + self.plot_grid_north.max()], + lw=self.line_width, + color='w', + picker=3) + + self._ax.figure.canvas.draw() + + def in_axes(self, event): + self._ax = event.inaxes #============================================================================== # DEFINE MAIN #============================================================================== @@ -601,7 +920,6 @@ def main(): import sys app = QtGui.QApplication(sys.argv) ui = ModEM_Mesh_Window() - ui.ui_setup() ui.show() sys.exit(app.exec_()) diff --git a/mtpy/gui/modem_plot_response.py b/mtpy/gui/modem_plot_response.py index d26b9bd3..71e4dd63 100644 --- a/mtpy/gui/modem_plot_response.py +++ b/mtpy/gui/modem_plot_response.py @@ -66,6 +66,7 @@ def __init__(self): self.phase_xy_limits = None self.phase_yx_limits = None self.phase_yy_limits = None + self.tipper_limits = None self.subplot_wspace = .25 @@ -82,6 +83,9 @@ def __init__(self): self.legend_label_spacing = 0.07 self.legend_handle_text_pad = .2 self.legend_border_pad = .15 + + self.z_err_increase = .05 + self.t_err_increase = .05 self.fs = 11 @@ -97,7 +101,7 @@ def __init__(self): def setupUi(self, MainWindow): MainWindow.setWindowTitle("Plot ModEM MT Response") - MainWindow.resize(1920, 1080) + MainWindow.setWindowState(QtCore.Qt.WindowMaximized) #make a central widget that everything is tied to. self.central_widget = QtGui.QWidget(MainWindow) @@ -315,7 +319,8 @@ def save_edits(self): self.modem_data.write_data_file(save_path=os.path.dirname(save_fn), fn_basename=os.path.basename(save_fn), - compute_error=False) + compute_error=False, + fill=False) def get_station(self, widget_item): """ @@ -426,7 +431,7 @@ def plot(self): self.figure.suptitle(str(self.station), fontdict=fontdict) #set the grid of subplots - if t_obj.tipper.all() == 0.0: + if np.all(t_obj.tipper == 0.0) == True: self.plot_tipper = False else: self.plot_tipper = True @@ -531,67 +536,67 @@ def plot(self): erxx = mtplottools.plot_errorbar(axrxx, period[nzxx], z_obj.z[nzxx,0,0].real, - z_obj.zerr[nzxx,0,0].real, + z_obj.z_err[nzxx,0,0].real, **kw_xx) erxy = mtplottools.plot_errorbar(axrxy, period[nzxy], z_obj.z[nzxy,0,1].real, - z_obj.zerr[nzxy,0,1].real, + z_obj.z_err[nzxy,0,1].real, **kw_xx) eryx = mtplottools.plot_errorbar(axryx, period[nzyx], z_obj.z[nzyx,1,0].real, - z_obj.zerr[nzyx,1,0].real, + z_obj.z_err[nzyx,1,0].real, **kw_yy) eryy = mtplottools.plot_errorbar(axryy, period[nzyy], z_obj.z[nzyy,1,1].real, - z_obj.zerr[nzyy,1,1].real, + z_obj.z_err[nzyy,1,1].real, **kw_yy) #plot phase epxx = mtplottools.plot_errorbar(axpxx, period[nzxx], z_obj.z[nzxx,0,0].imag, - z_obj.zerr[nzxx,0,0].imag, + z_obj.z_err[nzxx,0,0].imag, **kw_xx) epxy = mtplottools.plot_errorbar(axpxy, period[nzxy], z_obj.z[nzxy,0,1].imag, - z_obj.zerr[nzxy,0,1].imag, + z_obj.z_err[nzxy,0,1].imag, **kw_xx) epyx = mtplottools.plot_errorbar(axpyx, period[nzyx], z_obj.z[nzyx,1,0].imag, - z_obj.zerr[nzyx,1,0].imag, + z_obj.z_err[nzyx,1,0].imag, **kw_yy) epyy = mtplottools.plot_errorbar(axpyy, period[nzyy], z_obj.z[nzyy,1,1].imag, - z_obj.zerr[nzyy,1,1].imag, + z_obj.z_err[nzyy,1,1].imag, **kw_yy) #plot tipper if self.plot_tipper == True: ertx = mtplottools.plot_errorbar(axtxr, - period, + period[ntx], t_obj.tipper[ntx, 0, 0].real, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axtyr, - period, + period[nty], t_obj.tipper[nty, 0, 1].real, - t_obj.tippererr[nty, 0, 0], + t_obj.tipper_err[nty, 0, 0], **kw_yy) eptx = mtplottools.plot_errorbar(axtxi, - period, + period[ntx], t_obj.tipper[ntx, 0, 0].imag, - t_obj.tippererr[ntx, 0, 1], + t_obj.tipper_err[ntx, 0, 1], **kw_xx) epty = mtplottools.plot_errorbar(axtyi, - period, + period[nty], t_obj.tipper[nty, 0, 1].imag, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) if self.plot_tipper == False: line_list = [[erxx[0]], [erxy[0]], [eryx[0]], [eryy[0]]] @@ -702,7 +707,10 @@ def plot(self): ax.set_ylabel('Im[Z (mV/km nT)]', fontdict=fontdict) if aa > 7: - ax.set_ylim(-1.1, 1.1) + if self.tipper_limits is not None: + ax.set_ylim(self.tipper_limits) + else: + ax.set_ylim(-1.1, 1.1) ax.set_xscale('log') ax.set_xlim(xmin=10**(np.floor(np.log10(period[0])))*1.01, @@ -712,7 +720,7 @@ def plot(self): #plot model response if self.modem_resp is not None: resp_z_obj = self.modem_resp.mt_dict[self.station].Z - resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.zerr) + resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.z_err) resp_t_obj = self.modem_resp.mt_dict[self.station].Tipper @@ -811,20 +819,20 @@ def plot(self): **kw_yy) if self.plot_tipper == True: rertx = mtplottools.plot_errorbar(axtxr, - period, + period[ntx], resp_t_obj.tipper[ntx, 0, 0].real, **kw_xx) rerty = mtplottools.plot_errorbar(axtyr, - period, + period[nty], resp_t_obj.tipper[nty, 0, 1].real, **kw_yy) rertx = mtplottools.plot_errorbar(axtxi, - period, + period[ntx], resp_t_obj.tipper[ntx, 0, 0].imag, **kw_xx) rerty = mtplottools.plot_errorbar(axtyi, - period, + period[nty], resp_t_obj.tipper[nty, 0, 1].imag, **kw_yy) @@ -886,18 +894,25 @@ def on_pick(self, event): data_period = data_point.get_xdata()[event.ind] data_value = data_point.get_ydata()[event.ind] p_index = np.where(self.modem_data.period_list==data_period)[0][0] - + s_index = np.where(self.modem_data.data_array['station']==self.station)[0][0] + if event.mouseevent.button == 1: # mask the point in the data mt_dict if len(self.ax_list) == 8: + self.modem_data.data_array[s_index]['z'][p_index, + self._comp_index_x, self._comp_index_y] = 0+0j self.modem_data.mt_dict[self.station].Z.z[p_index, self._comp_index_x, self._comp_index_y] = 0+0j elif len(self.ax_list) == 12: if self._ax_index == 4 or self._ax_index == 5 or \ self._ax_index == 10 or self._ax_index == 11: + self.modem_data.data_array[s_index]['tip'][p_index, + self._comp_index_x, self._comp_index_y] = 0+0j self.modem_data.mt_dict[self.station].Tipper.tipper[p_index, self._comp_index_x, self._comp_index_y] = 0+0j else: + self.modem_data.data_array[s_index]['z'][p_index, + self._comp_index_x, self._comp_index_y] = 0+0j self.modem_data.mt_dict[self.station].Z.z[p_index, self._comp_index_x, self._comp_index_y] = 0+0j # plot the point as masked @@ -911,24 +926,29 @@ def on_pick(self, event): #put the new error into the error array if len(self.ax_list) == 8: - err = self.modem_data.mt_dict[self.station].Z.zerr[p_index, + err = self.modem_data.mt_dict[self.station].Z.z_err[p_index, self._comp_index_x, self._comp_index_y] - err = err+abs(err)*.05 - print err - self.modem_data.mt_dict[self.station].Z.zerr[p_index, + err = err+abs(err)*self.z_err_increase + self.modem_data.data_array[s_index]['z_err'][p_index, + self._comp_index_x, self._comp_index_y] = err + self.modem_data.mt_dict[self.station].Z.z_err[p_index, self._comp_index_x, self._comp_index_y] = err elif len(self.ax_list) == 12: if self._ax_index == 4 or self._ax_index == 5 or \ self._ax_index == 10 or self._ax_index == 11: - err = self.modem_data.mt_dict[self.station].Tipper.tippererr[p_index, + err = self.modem_data.mt_dict[self.station].Tipper.tipper_err[p_index, self._comp_index_x, self._comp_index_y] - self.modem_data.mt_dict[self.station].Tipper.tippererr[p_index, - self._comp_index_x, self._comp_index_y] += abs(err)*.05 + self.modem_data.data_array[s_index]['tip_err'][p_index, + self._comp_index_x, self._comp_index_y] += abs(err)*self.t_err_increase + self.modem_data.mt_dict[self.station].Tipper.tipper_err[p_index, + self._comp_index_x, self._comp_index_y] += abs(err)*self.t_err_increase else: - err = self.modem_data.mt_dict[self.station].Z.zerr[p_index, + err = self.modem_data.mt_dict[self.station].Z.z_err[p_index, self._comp_index_x, self._comp_index_y] - self.modem_data.mt_dict[self.station].Z.zerr[p_index, - self._comp_index_x, self._comp_index_y] += abs(err)*.05 + self.modem_data.data_array[s_index]['z_err'][p_index, + self._comp_index_x, self._comp_index_y] += abs(err)*self.z_err_increase + self.modem_data.mt_dict[self.station].Z.z_err[p_index, + self._comp_index_x, self._comp_index_y] += abs(err)*self.z_err_increase # make error bar array eb = self._err_list[ax_index][2].get_paths()[p_index].vertices @@ -1031,7 +1051,9 @@ def __init__(self, parent, **kwargs): self.phase_xx_limits = kwargs.pop('phase_xx_limits', None) self.phase_xy_limits = kwargs.pop('phase_xy_limits', None) self.phase_yx_limits = kwargs.pop('phase_yx_limits', None) - self.phase_yy_limits = kwargs.pop('phase_yy_limits', None) + self.phase_yy_limits = kwargs.pop('phase_yy_limits', None) + + self.tipper_limits = kwargs.pop('tipper_limits', None) self.subplot_wspace = kwargs.pop('subplot_wspace', .2) self.subplot_hspace = kwargs.pop('subplot_hspace', .0) @@ -1040,6 +1062,9 @@ def __init__(self, parent, **kwargs): self.subplot_top = kwargs.pop('subplot_top', .93) self.subplot_bottom = kwargs.pop('subplot_bottom', .08) + self.z_err_increase = kwargs.pop('z_err_increase', 0.05) + self.t_err_increase = kwargs.pop('t_err_increase', 0.05) + self.legend_loc = kwargs.pop('legend_loc', 'upper center') self.legend_pos = kwargs.pop('legend_pos', (.5, 1.11)) self.legend_marker_scale = kwargs.pop('legend_marker_scale', 1) @@ -1052,337 +1077,381 @@ def __init__(self, parent, **kwargs): def initUI(self): #--> line properties - fs_label = QtGui.QLabel('Font Size') - fs_edit = QtGui.QLineEdit() - fs_edit.setText('{0:.1f}'.format(self.fs)) - fs_edit.textChanged[str].connect(self.set_text_fs) - - lw_label = QtGui.QLabel('Line Width') - lw_edit = QtGui.QLineEdit() - lw_edit.setText('{0:.1f}'.format(self.lw)) - lw_edit.textChanged[str].connect(self.set_text_lw) - - e_capthick_label = QtGui.QLabel('Error cap thickness') - e_capthick_edit = QtGui.QLineEdit() - e_capthick_edit.setText('{0:.1f}'.format(self.e_capthick)) - e_capthick_edit.textChanged[str].connect(self.set_text_e_capthick) - - e_capsize_label = QtGui.QLabel('Error cap size') - e_capsize_edit = QtGui.QLineEdit() - e_capsize_edit.setText('{0:.1f}'.format(self.e_capsize)) - e_capsize_edit.textChanged[str].connect(self.set_text_e_capsize) + self.fs_label = QtGui.QLabel('Font Size') + self.fs_edit = QtGui.QLineEdit('{0:.1f}'.format(self.fs)) + self.fs_edit.editingFinished.connect(self.set_text_fs) + + self.lw_label = QtGui.QLabel('Line Width') + self.lw_edit = QtGui.QLineEdit('{0:.1f}'.format(self.lw)) + self.lw_edit.editingFinished.connect(self.set_text_lw) + + self.e_capthick_label = QtGui.QLabel('Error cap thickness') + self.e_capthick_edit = QtGui.QLineEdit('{0:.1f}'.format(self.e_capthick)) + self.e_capthick_edit.editingFinished.connect(self.set_text_e_capthick) + + self.e_capsize_label = QtGui.QLabel('Error cap size') + self.e_capsize_edit = QtGui.QLineEdit('{0:.1f}'.format(self.e_capsize)) + self.e_capsize_edit.editingFinished.connect(self.set_text_e_capsize) grid_line = QtGui.QGridLayout() - grid_line.setSpacing(10) - grid_line.addWidget(fs_label, 1, 0) - grid_line.addWidget(fs_edit, 1, 1) + grid_line.addWidget(self.fs_label, 1, 0) + grid_line.addWidget(self.fs_edit, 1, 1) - grid_line.addWidget(lw_label, 1, 2) - grid_line.addWidget(lw_edit, 1, 3) + grid_line.addWidget(self.lw_label, 1, 2) + grid_line.addWidget(self.lw_edit, 1, 3) - grid_line.addWidget(e_capthick_label, 1, 4) - grid_line.addWidget(e_capthick_edit, 1, 5) + grid_line.addWidget(self.e_capthick_label, 1, 4) + grid_line.addWidget(self.e_capthick_edit, 1, 5) - grid_line.addWidget(e_capsize_label, 1, 6) - grid_line.addWidget(e_capsize_edit, 1, 7) + grid_line.addWidget(self.e_capsize_label, 1, 6) + grid_line.addWidget(self.e_capsize_edit, 1, 7) #--> marker properties - ms_label = QtGui.QLabel('Marker Size') - ms_edit = QtGui.QLineEdit() - ms_edit.setText('{0:.1f}'.format(self.ms)) - ms_edit.textChanged[str].connect(self.set_text_ms) - - dcxy_label = QtGui.QLabel('Data Color xy') - dcxy_edit = QtGui.QLineEdit() - dcxy_edit.setText('{0}'.format(self.cted)) - dcxy_edit.textChanged[str].connect(self.set_text_cted) - - dcyx_label = QtGui.QLabel('Data Color yx') - dcyx_edit = QtGui.QLineEdit() - dcyx_edit.setText('{0}'.format(self.ctmd)) - dcyx_edit.textChanged[str].connect(self.set_text_ctmd) - - dmxy_label = QtGui.QLabel('Data Marker xy') - dmxy_edit = QtGui.QLineEdit() - dmxy_edit.setText('{0}'.format(self.mted)) - dmxy_edit.textChanged[str].connect(self.set_text_mted) - - dmyx_label = QtGui.QLabel('Data Marker yx') - dmyx_edit = QtGui.QLineEdit() - dmyx_edit.setText('{0}'.format(self.mtmd)) - dmyx_edit.textChanged[str].connect(self.set_text_mtmd) - - mcxy_label = QtGui.QLabel('Model Color xy') - mcxy_edit = QtGui.QLineEdit() - mcxy_edit.setText('{0}'.format(self.ctem)) - mcxy_edit.textChanged[str].connect(self.set_text_ctem) - - mcyx_label = QtGui.QLabel('Model Color yx') - mcyx_edit = QtGui.QLineEdit() - mcyx_edit.setText('{0}'.format(self.ctmm)) - mcyx_edit.textChanged[str].connect(self.set_text_ctmm) - - mmxy_label = QtGui.QLabel('Model Marker xy') - mmxy_edit = QtGui.QLineEdit() - mmxy_edit.setText('{0}'.format(self.mtem)) - mmxy_edit.textChanged[str].connect(self.set_text_mtem) - - mmyx_label = QtGui.QLabel('Model Marker yx') - mmyx_edit = QtGui.QLineEdit() - mmyx_edit.setText('{0}'.format(self.mtmm)) - mmyx_edit.textChanged[str].connect(self.set_text_mtmm) - - marker_label = QtGui.QLabel('Maker Properties:') + self.ms_label = QtGui.QLabel('Marker Size') + self.ms_edit = QtGui.QLineEdit() + self.ms_edit.setText('{0:.1f}'.format(self.ms)) + self.ms_edit.editingFinished.connect(self.set_text_ms) + + self.mted_label = QtGui.QLabel("Marker x components (data)") + self.mted_combo = QtGui.QComboBox() + self.mted_combo.addItem(self.mted) + self.mted_combo.addItem('.') + self.mted_combo.addItem(',') + self.mted_combo.addItem('o') + self.mted_combo.addItem('v') + self.mted_combo.addItem('^') + self.mted_combo.addItem('<') + self.mted_combo.addItem('>') + self.mted_combo.addItem('s') + self.mted_combo.addItem('p') + self.mted_combo.addItem('*') + self.mted_combo.addItem('h') + self.mted_combo.addItem('H') + self.mted_combo.addItem('+') + self.mted_combo.addItem('x') + self.mted_combo.addItem('D') + self.mted_combo.addItem('d') + self.mted_combo.addItem('|') + self.mted_combo.addItem('_') + self.mted_combo.activated[str].connect(self.set_mted) + + self.mtmd_label = QtGui.QLabel("Marker y components (data)") + self.mtmd_combo = QtGui.QComboBox() + self.mtmd_combo.addItem(self.mtmd) + self.mtmd_combo.addItem('.') + self.mtmd_combo.addItem(',') + self.mtmd_combo.addItem('o') + self.mtmd_combo.addItem('v') + self.mtmd_combo.addItem('^') + self.mtmd_combo.addItem('<') + self.mtmd_combo.addItem('>') + self.mtmd_combo.addItem('s') + self.mtmd_combo.addItem('p') + self.mtmd_combo.addItem('*') + self.mtmd_combo.addItem('h') + self.mtmd_combo.addItem('H') + self.mtmd_combo.addItem('+') + self.mtmd_combo.addItem('x') + self.mtmd_combo.addItem('D') + self.mtmd_combo.addItem('d') + self.mtmd_combo.addItem('|') + self.mtmd_combo.addItem('_') + self.mtmd_combo.activated[str].connect(self.set_mtmd) + + self.mtem_label = QtGui.QLabel("Marker x components (model)") + self.mtem_combo = QtGui.QComboBox() + self.mtem_combo.addItem(self.mtem) + self.mtem_combo.addItem('.') + self.mtem_combo.addItem(',') + self.mtem_combo.addItem('o') + self.mtem_combo.addItem('v') + self.mtem_combo.addItem('^') + self.mtem_combo.addItem('<') + self.mtem_combo.addItem('>') + self.mtem_combo.addItem('s') + self.mtem_combo.addItem('p') + self.mtem_combo.addItem('*') + self.mtem_combo.addItem('h') + self.mtem_combo.addItem('H') + self.mtem_combo.addItem('+') + self.mtem_combo.addItem('x') + self.mtem_combo.addItem('D') + self.mtem_combo.addItem('d') + self.mtem_combo.addItem('|') + self.mtem_combo.addItem('_') + self.mtem_combo.activated[str].connect(self.set_mtem) + + self.mtmm_label = QtGui.QLabel("Marker y components (model)") + self.mtmm_combo = QtGui.QComboBox() + self.mtmm_combo.addItem(self.mtmm) + self.mtmm_combo.addItem('.') + self.mtmm_combo.addItem(',') + self.mtmm_combo.addItem('o') + self.mtmm_combo.addItem('v') + self.mtmm_combo.addItem('^') + self.mtmm_combo.addItem('<') + self.mtmm_combo.addItem('>') + self.mtmm_combo.addItem('s') + self.mtmm_combo.addItem('p') + self.mtmm_combo.addItem('*') + self.mtmm_combo.addItem('h') + self.mtmm_combo.addItem('H') + self.mtmm_combo.addItem('+') + self.mtmm_combo.addItem('x') + self.mtmm_combo.addItem('D') + self.mtmm_combo.addItem('d') + self.mtmm_combo.addItem('|') + self.mtmm_combo.addItem('_') + self.mtmm_combo.activated[str].connect(self.set_mtmm) + + self.cted_button = QtGui.QPushButton("Set Z_xi Color (data)") + self.cted_button.pressed.connect(self.set_cted) + + self.ctmd_button = QtGui.QPushButton("Set Z_yi Color (data)") + self.ctmd_button.pressed.connect(self.set_ctmd) + + + self.ctem_button = QtGui.QPushButton("Set Z_xi Color (model)") + self.ctem_button.pressed.connect(self.set_ctem) + + self.ctmm_button = QtGui.QPushButton("Set Z_yi Color (model)") + self.ctmm_button.pressed.connect(self.set_ctmm) + + + marker_size_grid = QtGui.QGridLayout() + marker_size_grid.addWidget(self.ms_label, 0, 0) + marker_size_grid.addWidget(self.ms_edit, 0, 1) marker_grid = QtGui.QGridLayout() - marker_grid.setSpacing(10) - - marker_grid.addWidget(marker_label, 1, 0) - marker_grid.addWidget(ms_label, 1, 2) - marker_grid.addWidget(ms_edit, 1, 3) - marker_grid.addWidget(dcxy_label, 2, 0) - marker_grid.addWidget(dcxy_edit, 2, 1) + marker_grid.addWidget(self.mted_label, 0, 0) + marker_grid.addWidget(self.mted_combo, 0, 1) + + marker_grid.addWidget(self.mtmd_label, 0, 2) + marker_grid.addWidget(self.mtmd_combo, 0, 3) - marker_grid.addWidget(dcyx_label, 2, 2) - marker_grid.addWidget(dcyx_edit, 2, 3) + marker_grid.addWidget(self.mtem_label, 0, 4) + marker_grid.addWidget(self.mtem_combo, 0, 5) - marker_grid.addWidget(dmxy_label, 2, 4) - marker_grid.addWidget(dmxy_edit, 2, 5) + marker_grid.addWidget(self.mtmm_label, 0, 6) + marker_grid.addWidget(self.mtmm_combo, 0, 7) - marker_grid.addWidget(dmyx_label, 2, 6) - marker_grid.addWidget(dmyx_edit, 2, 7) + marker_grid.addWidget(self.cted_button, 1, 0, 2, 2) + marker_grid.addWidget(self.ctmd_button, 1, 2, 2, 2) + marker_grid.addWidget(self.ctem_button, 1, 4, 2, 2) + marker_grid.addWidget(self.ctmm_button, 1, 6, 2, 2) - marker_grid.addWidget(mcxy_label, 3, 0) - marker_grid.addWidget(mcxy_edit, 3, 1) + marker_layout = QtGui.QVBoxLayout() + marker_layout.addLayout(marker_size_grid) + marker_layout.addLayout(marker_grid) - marker_grid.addWidget(mcyx_label, 3, 2) - marker_grid.addWidget(mcyx_edit, 3, 3) - marker_grid.addWidget(mmxy_label, 3, 4) - marker_grid.addWidget(mmxy_edit, 3, 5) + #-> increase error by this percent + self.z_err_inc_label = QtGui.QLabel('Z error increase (%)') + self.z_err_inc_edit = QtGui.QLineEdit('{0:.2f}'.format(self.z_err_increase*100)) + self.z_err_inc_edit.editingFinished.connect(self.set_z_err_inc) - marker_grid.addWidget(mmyx_label, 3, 6) - marker_grid.addWidget(mmyx_edit, 3, 7) + self.t_err_inc_label = QtGui.QLabel('Tipper error increase (%)') + self.t_err_inc_edit = QtGui.QLineEdit('{0:.2f}'.format(self.z_err_increase*100)) + self.t_err_inc_edit.editingFinished.connect(self.set_z_err_inc) + + err_grid = QtGui.QGridLayout() + err_grid.addWidget(self.z_err_inc_label, 0, 0) + err_grid.addWidget(self.z_err_inc_edit, 0, 1) + err_grid.addWidget(self.t_err_inc_label, 0, 2) + err_grid.addWidget(self.t_err_inc_edit, 0, 3) #--> plot limits - ylimr_xx_label = QtGui.QLabel('Res_xx') - ylimr_xx_edit = QtGui.QLineEdit() - ylimr_xx_edit.setText('{0}'.format(self.res_xx_limits)) - ylimr_xx_edit.textChanged[str].connect(self.set_text_res_xx) - - ylimr_xy_label = QtGui.QLabel('Res_xy') - ylimr_xy_edit = QtGui.QLineEdit() - ylimr_xy_edit.setText('{0}'.format(self.res_xy_limits)) - ylimr_xy_edit.textChanged[str].connect(self.set_text_res_xy) - - ylimr_yx_label = QtGui.QLabel('Res_yx') - ylimr_yx_edit = QtGui.QLineEdit() - ylimr_yx_edit.setText('{0}'.format(self.res_yx_limits)) - ylimr_yx_edit.textChanged[str].connect(self.set_text_res_yx) - - ylimr_yy_label = QtGui.QLabel('Res_yy') - ylimr_yy_edit = QtGui.QLineEdit() - ylimr_yy_edit.setText('{0}'.format(self.res_yy_limits)) - ylimr_yy_edit.textChanged[str].connect(self.set_text_res_yy) - - ylimp_xx_label = QtGui.QLabel('phase_xx') - ylimp_xx_edit = QtGui.QLineEdit() - ylimp_xx_edit.setText('{0}'.format(self.phase_xx_limits)) - ylimp_xx_edit.textChanged[str].connect(self.set_text_phase_xx) - - ylimp_xy_label = QtGui.QLabel('phase_xy') - ylimp_xy_edit = QtGui.QLineEdit() - ylimp_xy_edit.setText('{0}'.format(self.phase_xy_limits)) - ylimp_xy_edit.textChanged[str].connect(self.set_text_phase_xy) - - ylimp_yx_label = QtGui.QLabel('phase_yx') - ylimp_yx_edit = QtGui.QLineEdit() - ylimp_yx_edit.setText('{0}'.format(self.phase_yx_limits)) - ylimp_yx_edit.textChanged[str].connect(self.set_text_phase_yx) - - ylimp_yy_label = QtGui.QLabel('phase_yy') - ylimp_yy_edit = QtGui.QLineEdit() - ylimp_yy_edit.setText('{0}'.format(self.phase_yy_limits)) - ylimp_yy_edit.textChanged[str].connect(self.set_text_phase_yy) + self.ylimr_xx_label = QtGui.QLabel('Res_xx') + self.ylimr_xx_edit = QtGui.QLineEdit() + self.ylimr_xx_edit.setText('{0}'.format(self.res_xx_limits)) + self.ylimr_xx_edit.editingFinished.connect(self.set_text_res_xx) + + self.ylimr_xy_label = QtGui.QLabel('Res_xy') + self.ylimr_xy_edit = QtGui.QLineEdit() + self.ylimr_xy_edit.setText('{0}'.format(self.res_xy_limits)) + self.ylimr_xy_edit.editingFinished.connect(self.set_text_res_xy) + + self.ylimr_yx_label = QtGui.QLabel('Res_yx') + self.ylimr_yx_edit = QtGui.QLineEdit() + self.ylimr_yx_edit.setText('{0}'.format(self.res_yx_limits)) + self.ylimr_yx_edit.editingFinished.connect(self.set_text_res_yx) + + self.ylimr_yy_label = QtGui.QLabel('Res_yy') + self.ylimr_yy_edit = QtGui.QLineEdit() + self.ylimr_yy_edit.setText('{0}'.format(self.res_yy_limits)) + self.ylimr_yy_edit.editingFinished.connect(self.set_text_res_yy) + + self.ylimp_xx_label = QtGui.QLabel('phase_xx') + self.ylimp_xx_edit = QtGui.QLineEdit() + self.ylimp_xx_edit.setText('{0}'.format(self.phase_xx_limits)) + self.ylimp_xx_edit.editingFinished.connect(self.set_text_phase_xx) + + self.ylimp_xy_label = QtGui.QLabel('phase_xy') + self.ylimp_xy_edit = QtGui.QLineEdit() + self.ylimp_xy_edit.setText('{0}'.format(self.phase_xy_limits)) + self.ylimp_xy_edit.editingFinished.connect(self.set_text_phase_xy) + + self.ylimp_yx_label = QtGui.QLabel('phase_yx') + self.ylimp_yx_edit = QtGui.QLineEdit() + self.ylimp_yx_edit.setText('{0}'.format(self.phase_yx_limits)) + self.ylimp_yx_edit.editingFinished.connect(self.set_text_phase_yx) + + self.ylimp_yy_label = QtGui.QLabel('phase_yy') + self.ylimp_yy_edit = QtGui.QLineEdit() + self.ylimp_yy_edit.setText('{0}'.format(self.phase_yy_limits)) + self.ylimp_yy_edit.editingFinished.connect(self.set_text_phase_yy) + + self.ytlim_label = QtGui.QLabel('tipper') + self.ytlim_edit = QtGui.QLineEdit() + self.ytlim_edit.setText('{0}'.format(self.tipper_limits)) + self.ytlim_edit.editingFinished.connect(self.set_text_tipper_lim) limits_grid = QtGui.QGridLayout() - limits_grid.setSpacing(10) limits_label = QtGui.QLabel('Plot Limits: (Res=Real, Phase=Imaginary)' ' --> input on a linear scale') - limits_grid.addWidget(limits_label, 1, 0, 1, 7) - - limits_grid.addWidget(ylimr_xx_label, 2, 0) - limits_grid.addWidget(ylimr_xx_edit, 2, 1) - limits_grid.addWidget(ylimr_xy_label, 2, 2) - limits_grid.addWidget(ylimr_xy_edit, 2, 3) - limits_grid.addWidget(ylimr_yx_label, 2, 4) - limits_grid.addWidget(ylimr_yx_edit, 2, 5) - limits_grid.addWidget(ylimr_yy_label, 2, 6) - limits_grid.addWidget(ylimr_yy_edit, 2, 7) - - limits_grid.addWidget(ylimp_xx_label, 3, 0) - limits_grid.addWidget(ylimp_xx_edit, 3, 1) - limits_grid.addWidget(ylimp_xy_label, 3, 2) - limits_grid.addWidget(ylimp_xy_edit, 3, 3) - limits_grid.addWidget(ylimp_yx_label, 3, 4) - limits_grid.addWidget(ylimp_yx_edit, 3, 5) - limits_grid.addWidget(ylimp_yy_label, 3, 6) - limits_grid.addWidget(ylimp_yy_edit, 3, 7) + limits_grid.addWidget(limits_label, 0, 0, 7, 1) + + limits_grid.addWidget(self.ylimr_xx_label, 2, 0) + limits_grid.addWidget(self.ylimr_xx_edit, 2, 1) + limits_grid.addWidget(self.ylimr_xy_label, 2, 2) + limits_grid.addWidget(self.ylimr_xy_edit, 2, 3) + limits_grid.addWidget(self.ylimr_yx_label, 2, 4) + limits_grid.addWidget(self.ylimr_yx_edit, 2, 5) + limits_grid.addWidget(self.ylimr_yy_label, 2, 6) + limits_grid.addWidget(self.ylimr_yy_edit, 2, 7) + + limits_grid.addWidget(self.ylimp_xx_label, 3, 0) + limits_grid.addWidget(self.ylimp_xx_edit, 3, 1) + limits_grid.addWidget(self.ylimp_xy_label, 3, 2) + limits_grid.addWidget(self.ylimp_xy_edit, 3, 3) + limits_grid.addWidget(self.ylimp_yx_label, 3, 4) + limits_grid.addWidget(self.ylimp_yx_edit, 3, 5) + limits_grid.addWidget(self.ylimp_yy_label, 3, 6) + limits_grid.addWidget(self.ylimp_yy_edit, 3, 7) + + limits_grid.addWidget(self.ytlim_label, 4, 0) + limits_grid.addWidget(self.ytlim_edit, 4, 1) #--> legend properties - legend_pos_label = QtGui.QLabel('Legend Position') - legend_pos_edit = QtGui.QLineEdit() - legend_pos_edit.setText('{0}'.format(self.legend_pos)) - legend_pos_edit.textChanged[str].connect(self.set_text_legend_pos) + self.legend_pos_label = QtGui.QLabel('Legend Position') + self.legend_pos_edit = QtGui.QLineEdit() + self.legend_pos_edit.setText('{0}'.format(self.legend_pos)) + self.legend_pos_edit.editingFinished.connect(self.set_text_legend_pos) legend_grid = QtGui.QGridLayout() legend_grid.setSpacing(10) legend_grid.addWidget(QtGui.QLabel('Legend Properties:'), 1, 0) - legend_grid.addWidget(legend_pos_label, 1, 2,) - legend_grid.addWidget(legend_pos_edit, 1, 3) + legend_grid.addWidget(self.legend_pos_label, 1, 2,) + legend_grid.addWidget(self.legend_pos_edit, 1, 3) update_button = QtGui.QPushButton('Update') update_button.clicked.connect(self.update_settings) vbox = QtGui.QVBoxLayout() vbox.addLayout(grid_line) - vbox.addLayout(marker_grid) + vbox.addLayout(marker_layout) + vbox.addLayout(err_grid) vbox.addLayout(limits_grid) vbox.addLayout(legend_grid) vbox.addWidget(update_button) self.setLayout(vbox) - self.setGeometry(300, 300, 350, 300) - self.resize(1350, 500) + #self.setGeometry(300, 300, 350, 300) + #self.resize(1350, 500) self.setWindowTitle('Plot Settings') self.show() - - def set_text_fs(self, text): - try: - self.fs = float(text) - except ValueError: - print "Enter a float point number" - - def set_text_e_capthick(self, text): + + def _test_float(self, text): try: - self.e_capthick = float(text) + return_float = float(str(text)) except ValueError: - print "Enter a float point number" + print 'Enter a floating point number' + return_float = 1.0 - def set_text_e_capsize(self, text): - try: - self.e_capsize = float(text) - except ValueError: - print "Enter a float point number" + return return_float - - def set_text_lw(self, text): - try: - self.lw = float(text) - except ValueError: - print "Enter a float point number" - - def set_text_ms(self, text): - try: - self.ms = float(text) - except ValueError: - print "Enter a float point number" - - def set_text_cted(self, text): - if text =='None': - return - text = text.replace('(', '').replace(')', '') - t_list = text.split(',') - if len(t_list) != 3: - print 'enter as (r, g, b)' - l_list = [] - for txt in t_list: - try: - l_list.append(float(txt)) - except ValueError: - pass - if len(l_list) == 3: - self.cted = tuple(l_list) - - def set_text_ctmd(self, text): - if text =='None': - return - text = text.replace('(', '').replace(')', '') - t_list = text.split(',') - if len(t_list) != 3: - print 'enter as (r, g, b)' - l_list = [] - for txt in t_list: - try: - l_list.append(float(txt)) - except ValueError: - pass - if len(l_list) == 3: - self.ctmd = tuple(l_list) - - def set_text_mted(self, text): - try: - self.mted = str(text) - except ValueError: - print "Enter a string" - - def set_text_mtmd(self, text): - try: - self.mtmd = str(text) - except ValueError: - print "Enter a string" + def set_text_fs(self): + self.fs = self._test_float(self.fs_edit.text()) + self.fs_edit.setText('{0:.1f}'.format(self.fs)) + + def set_text_e_capthick(self): + self.e_capthick_edit = self._test_float(self.e_capthick_edit.text()) + self.e_capthick_edit.setText('{0:.1f}'.format(self.e_capthick)) - def set_text_ctem(self, text): - if text =='None': - return - text = text.replace('(', '').replace(')', '') - t_list = text.split(',') - if len(t_list) != 3: - print 'enter as (r, g, b)' - l_list = [] - for txt in t_list: - try: - l_list.append(float(txt)) - except ValueError: - pass - if len(l_list) == 3: - self.ctem = tuple(l_list) + def set_text_e_capsize(self): + self.e_capsize_edit = self._test_float(self.e_capsize_edit.text()) + self.e_capsize_edit.setText('{0:.1f}'.format(self.e_capsize)) - def set_text_ctmm(self, text): - if text =='None': - return - text = text.replace('(', '').replace(')', '') - t_list = text.split(',') - if len(t_list) != 3: - print 'enter as (r, g, b)' - l_list = [] - for txt in t_list: - try: - l_list.append(float(txt)) - except ValueError: - pass - if len(l_list) == 3: - self.ctmm = tuple(l_list) - - def set_text_mtem(self, text): - try: - self.mtem = str(text) - except ValueError: - print "Enter a string" + def set_text_lw(self): + self.lw = self._test_float(self.lw_edit.text()) + self.lw_edit.setText('{0:.2f}'.format(self.lw)) - def set_text_mtmm(self, text): - try: - self.mtmm = str(text) - except ValueError: - print "Enter a string" + def set_text_ms(self, text): + self.ms = self._test_float(self.ms_edit.text()) + self.ms_edit.setText('{0:.1f}'.format(self.ms)) + + def set_mted(self, text): + self.mted = text + + def set_mtmd(self, text): + self.mtmd = text + + def set_mtem(self, text): + self.mtem = text + + def set_mtmm(self, text): + self.mtmm = text + + def convert_color_to_qt(self, color): + """ + convert decimal tuple to QColor object + """ + r = int(color[0]*255) + g = int(color[1]*255) + b = int(color[2]*255) + + return QtGui.QColor(r, g, b) + + def set_cted(self): + initial_color = self.convert_color_to_qt(self.cted) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.cted = (r, g, b) + + def set_ctmd(self): + initial_color = self.convert_color_to_qt(self.ctmd) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.ctmd = (r, g, b) + + def set_ctem(self): + initial_color = self.convert_color_to_qt(self.ctem) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.ctem = (r, g, b) + + def set_ctmm(self): + initial_color = self.convert_color_to_qt(self.ctmm) + new_color = QtGui.QColorDialog.getColor(initial_color) + + r,g,b,a = new_color.getRgbF() + + self.ctmm = (r, g, b) - def set_text_res_xx(self, text): + def set_text_res_xx(self): + text = self.ylimr_xx_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1399,6 +1468,7 @@ def set_text_res_xx(self, text): self.res_xx_limits = tuple(l_list) def set_text_res_xy(self, text): + text = self.ylimr_xy_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1415,6 +1485,7 @@ def set_text_res_xy(self, text): self.res_xy_limits = tuple(l_list) def set_text_res_yx(self, text): + text = self.ylimr_yx_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1431,6 +1502,7 @@ def set_text_res_yx(self, text): self.res_yx_limits = tuple(l_list) def set_text_res_yy(self, text): + text = self.ylimr_yy_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1447,6 +1519,7 @@ def set_text_res_yy(self, text): self.res_yy_limits = tuple(l_list) def set_text_phase_xx(self, text): + text = self.ylimp_xx_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1463,6 +1536,7 @@ def set_text_phase_xx(self, text): self.phase_xx_limits = tuple(l_list) def set_text_phase_xy(self, text): + text = self.ylimp_xy_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1479,6 +1553,7 @@ def set_text_phase_xy(self, text): self.phase_xy_limits = tuple(l_list) def set_text_phase_yx(self, text): + text = self.ylimp_yx_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1495,6 +1570,7 @@ def set_text_phase_yx(self, text): self.phase_yx_limits = tuple(l_list) def set_text_phase_yy(self, text): + text = self.ylimp_yy_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1510,7 +1586,25 @@ def set_text_phase_yy(self, text): if len(l_list) == 2: self.phase_yy_limits = tuple(l_list) - def set_text_legend_pos(self, text): + def set_text_tipper_lim(self, text): + text = self.ytlim_yy_edit.text() + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.tipper_limits = tuple(l_list) + + def set_text_legend_pos(self): + text = self.legend_pos_edit.text() if text =='None': return text = text.replace('(', '').replace(')', '') @@ -1526,6 +1620,17 @@ def set_text_legend_pos(self, text): if len(l_list) == 2: self.legend_pos = tuple(l_list) + def set_z_err_inc(self): + err = float(str(self.z_err_inc_edit.text()))/100. + self.z_err_increase = err + self.z_err_inc_edit.setText('{0:.2f}'.format(err*100.)) + + def set_t_err_inc(self): + err = float(str(self.t_err_inc_edit.text()))/100. + self.t_err_increase = err + self.t_err_inc_edit.setText('{0:.2f}'.format(err*100.)) + + def update_settings(self): self.settings_updated.emit() diff --git a/mtpy/gui/modem_plot_response_fast.py b/mtpy/gui/modem_plot_response_fast.py index a090b098..31a29049 100644 --- a/mtpy/gui/modem_plot_response_fast.py +++ b/mtpy/gui/modem_plot_response_fast.py @@ -768,43 +768,43 @@ def plot(self): # erxx = mtplottools.plot_errorbar(axrxx, # period[nzxx], # z_obj.z[nzxx,0,0].real, -# z_obj.zerr[nzxx,0,0].real, +# z_obj.z_err[nzxx,0,0].real, # **kw_xx) # erxy = mtplottools.plot_errorbar(axrxy, # period[nzxy], # z_obj.z[nzxy,0,1].real, -# z_obj.zerr[nzxy,0,1].real, +# z_obj.z_err[nzxy,0,1].real, # **kw_xx) # eryx = mtplottools.plot_errorbar(axryx, # period[nzyx], # z_obj.z[nzyx,1,0].real, -# z_obj.zerr[nzyx,1,0].real, +# z_obj.z_err[nzyx,1,0].real, # **kw_yy) # eryy = mtplottools.plot_errorbar(axryy, # period[nzyy], # z_obj.z[nzyy,1,1].real, -# z_obj.zerr[nzyy,1,1].real, +# z_obj.z_err[nzyy,1,1].real, # **kw_yy) # #plot phase # erxx = mtplottools.plot_errorbar(axpxx, # period[nzxx], # z_obj.z[nzxx,0,0].imag, -# z_obj.zerr[nzxx,0,0].imag, +# z_obj.z_err[nzxx,0,0].imag, # **kw_xx) # erxy = mtplottools.plot_errorbar(axpxy, # period[nzxy], # z_obj.z[nzxy,0,1].imag, -# z_obj.zerr[nzxy,0,1].imag, +# z_obj.z_err[nzxy,0,1].imag, # **kw_xx) # eryx = mtplottools.plot_errorbar(axpyx, # period[nzyx], # z_obj.z[nzyx,1,0].imag, -# z_obj.zerr[nzyx,1,0].imag, +# z_obj.z_err[nzyx,1,0].imag, # **kw_yy) # eryy = mtplottools.plot_errorbar(axpyy, # period[nzyy], # z_obj.z[nzyy,1,1].imag, -# z_obj.zerr[nzyy,1,1].imag, +# z_obj.z_err[nzyy,1,1].imag, # **kw_yy) # # #plot tipper @@ -812,23 +812,23 @@ def plot(self): # ertx = mtplottools.plot_errorbar(axtxr, # period, # t_obj.tipper[ntx, 0, 0].real, -# t_obj.tippererr[ntx, 0, 0], +# t_obj.tipper_err[ntx, 0, 0], # **kw_xx) # erty = mtplottools.plot_errorbar(axtyr, # period, # t_obj.tipper[nty, 0, 1].real, -# t_obj.tippererr[nty, 0, 0], +# t_obj.tipper_err[nty, 0, 0], # **kw_yy) # # ertx = mtplottools.plot_errorbar(axtxi, # period, # t_obj.tipper[ntx, 0, 0].imag, -# t_obj.tippererr[ntx, 0, 1], +# t_obj.tipper_err[ntx, 0, 1], # **kw_xx) # erty = mtplottools.plot_errorbar(axtyi, # period, # t_obj.tipper[nty, 0, 1].imag, -# t_obj.tippererr[nty, 0, 1], +# t_obj.tipper_err[nty, 0, 1], # **kw_yy) # if self.plot_tipper == False: # ax_list = [axrxx, axrxy, axryx, axryy, @@ -945,7 +945,7 @@ def plot(self): # cxy = (0, .7, 0) # cyx = (.7, .4, 0) # resp_z_obj = self.modem_resp.mt_dict[self.station].Z -# resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.zerr) +# resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.z_err) # # resp_t_obj = self.modem_resp.mt_dict[self.station].Tipper # diff --git a/mtpy/gui/modem_plot_response_faster.py b/mtpy/gui/modem_plot_response_faster.py new file mode 100644 index 00000000..47e90a71 --- /dev/null +++ b/mtpy/gui/modem_plot_response_faster.py @@ -0,0 +1,1347 @@ +# -*- coding: utf-8 -*- +""" +ModEM data and response visualization with a gui. + +The user will be able to choose from stations within the data to look at +in either impedance or apparent resistivity and phase. + +The functionality is quite simple at the moment + +JP 2014 +""" +# + +from PyQt4 import QtCore, QtGui +import mtpy.modeling.modem_new as modem +from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar +from matplotlib.figure import Figure +import mtpy.imaging.mtplottools as mtplottools +import matplotlib.gridspec as gridspec +import numpy as np +import matplotlib.pyplot as plt +import os + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + + +class Ui_MainWindow(object): + def __init__(self): + + self.ms = 5 + self.lw = 1.1 + self.e_capthick = 1 + self.e_capsize = 5 + + #color mode + self.cted = (0, 0, 1) + self.ctmd = (1, 0, 0) + self.ctrd = (.5, .5, 0) + self.ctid = (0, .5, .5) + self.mted = 's' + self.mtmd = 'o' + + #color for occam2d model + self.ctem = (0, .6, .3) + self.ctmm = (.9, 0, .8) + self.ctrm = (.9, .4, .2) + self.ctim = (.2, .4, .9) + + self.mtem = self.mted + self.mtmm = self.mtmd + + self.res_xx_limits = None + self.res_xy_limits = None + self.res_yx_limits = None + self.res_yy_limits = None + + self.phase_xx_limits = None + self.phase_xy_limits = None + self.phase_yx_limits = None + self.phase_yy_limits = None + + + self.subplot_wspace = .25 + self.subplot_hspace = .0 + self.subplot_right = .98 + self.subplot_left = .08 + self.subplot_top = .90 + self.subplot_bottom = .08 + + self.legend_loc = 'upper center' + self.legend_pos = (.5, 1.22) + self.legend_marker_scale = 1 + self.legend_border_axes_pad = .01 + self.legend_label_spacing = 0.07 + self.legend_handle_text_pad = .2 + self.legend_border_pad = .15 + + self.fs = 11 + + self.plot_component = 4 + self.plot_tipper = True + self.plot_z = True + self.ylabel_pad = 1.25 + self.station = None + + self.modem_data = None + self.modem_resp = None + self.dirpath = os.getcwd() + + def setupUi(self, MainWindow): + MainWindow.setWindowTitle("Plot ModEM MT Response") + MainWindow.resize(1920, 1080) + + #make a central widget that everything is tied to. + self.central_widget = QtGui.QWidget(MainWindow) + self.central_widget.setWindowTitle("Plot MT Response") + + #make a widget that will be the station list + self.list_widget = QtGui.QListWidget() + self.list_widget.itemClicked.connect(self.get_station) + self.list_widget.setMaximumWidth(150) + + # this is the Canvas Widget that displays the `figure` + # it takes the `figure` instance as a parameter to __init__ + self.figure = Figure(dpi=150) + self.mpl_widget = FigureCanvas(self.figure) + + #make sure the figure takes up the entire plottable space + self.mpl_widget.setSizePolicy(QtGui.QSizePolicy.Expanding, + QtGui.QSizePolicy.Expanding) + + # this is the Navigation widget + # it takes the Canvas widget and a parent + self.mpl_toolbar = NavigationToolbar(self.mpl_widget, MainWindow) + + # set the layout for the plot + mpl_vbox = QtGui.QVBoxLayout() + mpl_vbox.addWidget(self.mpl_toolbar) + mpl_vbox.addWidget(self.mpl_widget) + + # set the layout the main window + layout = QtGui.QHBoxLayout() + layout.addWidget(self.list_widget) + layout.addLayout(mpl_vbox) + self.central_widget.setLayout(layout) + + #set the geometry of each widget + self.list_widget.setObjectName(_fromUtf8("listWidget")) + self.mpl_widget.setObjectName(_fromUtf8("mpl_widget")) + self.mpl_widget.updateGeometry() + + #set the central widget + MainWindow.setCentralWidget(self.central_widget) + + #create a menu bar on the window + self.menubar = QtGui.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 1920, 38)) + self.menubar.setObjectName(_fromUtf8("menubar")) + + # add a tab for File --> open, close, save + self.menuFile = QtGui.QMenu(self.menubar) + self.menuFile.setTitle("Data File") + + self.menuModelFile = QtGui.QMenu(self.menubar) + self.menuModelFile.setTitle("Response File") + + # add a tab for chaning the display + self.menuDisplay = QtGui.QMenu(self.menubar) + self.menuDisplay.setTitle("Display") + + MainWindow.setMenuBar(self.menubar) + + # add a status bar on the bottom of the main window + self.statusbar = QtGui.QStatusBar(MainWindow) + self.statusbar.setObjectName(_fromUtf8("statusbar")) + + MainWindow.setStatusBar(self.statusbar) + + # set an open option that on click opens a modem file + self.actionOpen = QtGui.QAction(MainWindow) + self.actionOpen.setText("Open") + self.actionOpen.triggered.connect(self.get_filename) + + # set a close that closes the main window + self.actionClose = QtGui.QAction(MainWindow) + self.actionClose.setText("Close") + self.actionClose.triggered.connect(MainWindow.close) + + # set a save option that will eventually save the masked data + self.actionSave = QtGui.QAction(MainWindow) + self.actionSave.setText("Save") + + # add the action on the menu tab + self.menuFile.addAction(self.actionOpen) + self.menuFile.addAction(self.actionClose) + self.menuFile.addAction(self.actionSave) + self.menubar.addAction(self.menuFile.menuAction()) + + self.actionModelOpen = QtGui.QAction(MainWindow) + self.actionModelOpen.setText("Open") + self.actionModelOpen.triggered.connect(self.get_resp_fn) + self.menuModelFile.addAction(self.actionModelOpen) + self.menubar.addAction(self.menuModelFile.menuAction()) +# + #adding options for display plot type + self.menu_plot_type = QtGui.QMenu(MainWindow) + self.menu_plot_type.setTitle("Plot Type") + self.menuDisplay.addMenu(self.menu_plot_type) + self.menubar.addAction(self.menuDisplay.menuAction()) + + #set plot impedance or resistivity and phase + self.action_plot_z = QtGui.QAction(MainWindow) + self.action_plot_z.setText('Impedance') + self.action_plot_z.setCheckable(True) + self.menu_plot_type.addAction(self.action_plot_z) + self.action_plot_z.toggled.connect(self.status_checked_ptz) + + self.action_plot_rp = QtGui.QAction(MainWindow) + self.action_plot_rp.setText('Resistivity-Phase') + self.action_plot_rp.setCheckable(True) + self.menu_plot_type.addAction(self.action_plot_rp) + self.action_plot_rp.toggled.connect(self.status_checked_ptrp) + + self.action_plot_settings = QtGui.QAction(MainWindow) + self.action_plot_settings.setText('Settings') + self.action_plot_settings.triggered.connect(self.show_settings) + self.menuDisplay.addAction(self.action_plot_settings) + self.menubar.addAction(self.menuDisplay.menuAction()) + +# self.menuDisplay.addAction(self.menu_plot_style.menuAction()) + self.menuDisplay.addAction(self.menu_plot_type.menuAction()) + + #self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def status_checked_ptz(self, toggled): + """ + be sure that only one plot style is checked + """ + + self.plot_z = toggled + if toggled == True: + untoggled = False + elif toggled == False: + untoggled = True + + self.action_plot_z.setChecked(toggled) + self.action_plot_rp.setChecked(untoggled) + + self.plot() + + def status_checked_ptrp(self, toggled): + """ + be sure that only one plot style is checked + """ + + if toggled == True: + untoggled = False + self.plot_z = False + elif toggled == False: + untoggled = True + self.plot_z = True + + self.action_plot_z.setChecked(untoggled) + self.action_plot_rp.setChecked(toggled) + + self.plot() + + + def get_filename(self): + """ + get the filename from a file dialogue + + """ + + fn_dialog = QtGui.QFileDialog() + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM data file', + filter='(*.dat);; (*.data)')) + + self.modem_data = modem.Data() + self.modem_data.read_data_file(fn) + + self.dirpath = os.path.dirname(fn) + + print self.dirpath + + station_list = sorted(self.modem_data.mt_dict.keys()) + + self.list_widget.clear() + + #this will add the station name for each station to the qwidget list + for station in station_list: + self.list_widget.addItem(station) + + self.station = str(station_list[0]) + self.plot() + + + def get_station(self, widget_item): + """ + get the station name from the clicked station + """ + self.station = str(widget_item.text()) + self.plot() + + def get_resp_fn(self): + """ + get response file name + """ + print self.dirpath + fn_dialog = QtGui.QFileDialog(directory=self.dirpath) + fn = str(fn_dialog.getOpenFileName(caption='Choose ModEM response file', + filter='*.dat')) + + if fn is None: + return + + self.modem_resp = modem.Data() + self.modem_resp.read_data_file(fn) + self.plot() + + def show_settings(self): + + self.settings_window = PlotSettings(None, **self.__dict__) + self.settings_window.show() + self.settings_window.settings_updated.connect(self.update_settings) + + def update_settings(self): + + for attr in sorted(self.settings_window.__dict__.keys()): + setattr(self, attr, self.settings_window.__dict__[attr]) + + self.plot() + + def plot(self): + """ + plot the data + """ + + if self.station is None: + return + + z_obj = self.modem_data.mt_dict[self.station].Z + t_obj = self.modem_data.mt_dict[self.station].Tipper + period = self.modem_data.period_list + + plt.rcParams['font.size'] = self.fs + + fontdict = {'size':self.fs+2, 'weight':'bold'} + + #--> make key word dictionaries for plotting + kw_xx = {'color':self.cted, + 'marker':self.mted, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + kw_yy = {'color':self.ctmd, + 'marker':self.mtmd, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + kw_tr = {'color':self.ctrd, + 'marker':self.mtmd, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + kw_ti = {'color':self.ctid, + 'marker':self.mtmd, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + + + #convert to apparent resistivity and phase + rp = mtplottools.ResPhase(z_object=z_obj) + + #find locations where points have been masked + nzxx = np.nonzero(z_obj.z[:, 0, 0])[0] + nzxy = np.nonzero(z_obj.z[:, 0, 1])[0] + nzyx = np.nonzero(z_obj.z[:, 1, 0])[0] + nzyy = np.nonzero(z_obj.z[:, 1, 1])[0] + ntx = np.nonzero(t_obj.tipper[:, 0, 0])[0] + nty = np.nonzero(t_obj.tipper[:, 0, 1])[0] + + + self.figure.clf() + self.figure.suptitle(str(self.station), fontdict=fontdict) + + #set the grid of subplots + gs = gridspec.GridSpec(3, 2, + wspace=self.subplot_wspace, + left=self.subplot_left, + top=self.subplot_top, + bottom=self.subplot_bottom, + right=self.subplot_right, + hspace=self.subplot_hspace, + height_ratios=[1, 1, .4]) + + # od for off diagonal components, d for diagonal + axrod = self.figure.add_subplot(gs[0, 0]) + axrd = self.figure.add_subplot(gs[0, 1], sharex=axrod) + + axpod = self.figure.add_subplot(gs[1, 0]) + axpd = self.figure.add_subplot(gs[1, 1], sharex=axrod) + + axtx = self.figure.add_subplot(gs[2, 0], sharex=axrod) + axty = self.figure.add_subplot(gs[2, 1], sharex=axrod) + + if self.plot_z == False: + #plot resistivity + erxx= mtplottools.plot_errorbar(axrd, + period[nzxx], + rp.resxx[nzxx], + rp.resxx_err[nzxx], + **kw_xx) + erxy = mtplottools.plot_errorbar(axrod, + period[nzxy], + rp.resxy[nzxy], + rp.resxy_err[nzxy], + **kw_xx) + eryx = mtplottools.plot_errorbar(axrod, + period[nzyx], + rp.resyx[nzyx], + rp.resyx_err[nzyx], + **kw_yy) + eryy = mtplottools.plot_errorbar(axrd, + period[nzyy], + rp.resyy[nzyy], + rp.resyy_err[nzyy], + **kw_yy) + #plot phase + erxx= mtplottools.plot_errorbar(axpd, + period[nzxx], + rp.phasexx[nzxx], + rp.phasexx_err[nzxx], + **kw_xx) + erxy = mtplottools.plot_errorbar(axpod, + period[nzxy], + rp.phasexy[nzxy], + rp.phasexy_err[nzxy], + **kw_xx) + eryx = mtplottools.plot_errorbar(axpod, + period[nzyx], + rp.phaseyx[nzyx], + rp.phaseyx_err[nzyx], + **kw_yy) + eryy = mtplottools.plot_errorbar(axpd, + period[nzyy], + rp.phaseyy[nzyy], + rp.phaseyy_err[nzyy], + **kw_yy) + elif self.plot_z == True: + #plot real + erxx = mtplottools.plot_errorbar(axrd, + period[nzxx], + z_obj.z[nzxx,0,0].real, + z_obj.z_err[nzxx,0,0].real, + **kw_xx) + erxy = mtplottools.plot_errorbar(axrod, + period[nzxy], + z_obj.z[nzxy,0,1].real, + z_obj.z_err[nzxy,0,1].real, + **kw_xx) + eryx = mtplottools.plot_errorbar(axrod, + period[nzyx], + z_obj.z[nzyx,1,0].real, + z_obj.z_err[nzyx,1,0].real, + **kw_yy) + eryy = mtplottools.plot_errorbar(axrd, + period[nzyy], + z_obj.z[nzyy,1,1].real, + z_obj.z_err[nzyy,1,1].real, + **kw_yy) + #plot phase + erxx = mtplottools.plot_errorbar(axpd, + period[nzxx], + z_obj.z[nzxx,0,0].imag, + z_obj.z_err[nzxx,0,0].real, + **kw_xx) + erxy = mtplottools.plot_errorbar(axpod, + period[nzxy], + z_obj.z[nzxy,0,1].imag, + z_obj.z_err[nzxy,0,1].real, + **kw_xx) + eryx = mtplottools.plot_errorbar(axpod, + period[nzyx], + z_obj.z[nzyx,1,0].imag, + z_obj.z_err[nzyx,1,0].real, + **kw_yy) + eryy = mtplottools.plot_errorbar(axpd, + period[nzyy], + z_obj.z[nzyy,1,1].imag, + z_obj.z_err[nzyy,1,1].real, + **kw_yy) + + #plot tipper + ertxr = mtplottools.plot_errorbar(axtx, + period[ntx], + t_obj.tipper[ntx, 0, 0].real, + t_obj.tipper_err[ntx, 0, 0], + **kw_tr) + ertxi = mtplottools.plot_errorbar(axtx, + period[ntx], + t_obj.tipper[ntx, 0, 0].imag, + t_obj.tipper_err[ntx, 0, 1], + **kw_ti) + ertyr = mtplottools.plot_errorbar(axty, + period[nty], + t_obj.tipper[nty, 0, 1].real, + t_obj.tipper_err[nty, 0, 0], + **kw_tr) + + + ertyi = mtplottools.plot_errorbar(axty, + period[nty], + t_obj.tipper[nty, 0, 1].imag, + t_obj.tipper_err[nty, 0, 1], + **kw_ti) + ax_list = [axrod, axrd, + axpod, axpd, + axtx, axty] + + od_line_list = [erxy[0], eryx[0], ertxr[0], ertxi[0]] + d_line_list = [erxx[0], eryy[0], ertyr[0], ertyi[0]] + + od_label_list = ['$Z_{xy}$', '$Z_{yx}$', 'Re{$T_{x}$}', 'Im{$T_{x}$}'] + d_label_list = ['$Z_{xx}$', '$Z_{yy}$', 'Re{$T_{y}$}', 'Im{$T_{y}$}'] + + #--> set limits if input + if self.res_xx_limits is not None: + axrd.set_ylim(self.res_xx_limits) + if self.res_xy_limits is not None: + axrod.set_ylim(self.res_xy_limits) + + if self.phase_xx_limits is not None: + axpd.set_ylim(self.phase_xx_limits) + if self.phase_xy_limits is not None: + axpod.set_ylim(self.phase_xy_limits) + +# axtx.set_ylim((-1.1, 1.1)) +# axty.set_ylim((-1.1, 1.1)) + + #set axis properties + for aa, ax in enumerate(ax_list): + ax.tick_params(axis='y', pad=self.ylabel_pad) + ylabels = ax.get_yticks().tolist() + if aa == 2 or aa == 3 or aa == 4 or aa == 5: + ylabels[-1] = '' + ylabels[0] = '' + ax.set_yticklabels(ylabels) + + if aa < 2: + if self.plot_z == False: + ax.set_yscale('log') + + if aa < 4: + plt.setp(ax.get_xticklabels(), visible=False) + + else: + ax.set_xlabel('Period (s)', fontdict=fontdict) + + #set axes labels + if aa == 0: + if self.plot_z == False: + ax.set_ylabel('App. Res. ($\mathbf{\Omega \cdot m}$)', + fontdict=fontdict) + elif self.plot_z == True: + ax.set_ylabel('Re[Z (mV/km nT)]', + fontdict=fontdict) + + ax.legend(od_line_list, od_label_list, + loc=self.legend_loc, + ncol=2, + bbox_to_anchor=self.legend_pos, + markerscale=self.legend_marker_scale, + borderaxespad=self.legend_border_axes_pad, + labelspacing=self.legend_label_spacing, + handletextpad=self.legend_handle_text_pad, + borderpad=self.legend_border_pad, + prop={'size':max([self.fs-1, 5])}) + + elif aa == 1: + ax.legend(d_line_list, d_label_list, + loc=self.legend_loc, + ncol=2, + bbox_to_anchor=self.legend_pos, + markerscale=self.legend_marker_scale, + borderaxespad=self.legend_border_axes_pad, + labelspacing=self.legend_label_spacing, + handletextpad=self.legend_handle_text_pad, + borderpad=self.legend_border_pad, + prop={'size':max([self.fs-1, 5])}) + elif aa == 2: + if self.plot_z == False: + ax.set_ylabel('Phase (deg)', + fontdict=fontdict) + elif self.plot_z == True: + ax.set_ylabel('Im[Z (mV/km nT)]', + fontdict=fontdict) + + + elif aa == 4: + ax.set_ylabel(r'W$_x$', fontdict=fontdict) + + elif aa == 5: + ax.set_ylabel(r'W$_y$', fontdict=fontdict) + + + ax.set_xscale('log') + ax.set_xlim(xmin=10**(np.floor(np.log10(period[0])))*1.01, + xmax=10**(np.ceil(np.log10(period[-1])))*.99) + ax.grid(True, alpha=.25) + + #plot model response + if self.modem_resp is not None: + resp_z_obj = self.modem_resp.mt_dict[self.station].Z + resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.z_err) + + resp_t_obj = self.modem_resp.mt_dict[self.station].Tipper + + rrp = mtplottools.ResPhase(resp_z_obj) + + rms = resp_z_err.std() + rms_xx = resp_z_err[:, 0, 0].std() + rms_xy = resp_z_err[:, 0, 1].std() + rms_yx = resp_z_err[:, 1, 0].std() + rms_yy = resp_z_err[:, 1, 1].std() + + #--> make key word dictionaries for plotting + kw_xx = {'color':self.ctem, + 'marker':self.mtem, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + kw_yy = {'color':self.ctmm, + 'marker':self.mtmm, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + + kw_tr = {'color':self.ctrm, + 'marker':self.mtmd, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + kw_ti = {'color':self.ctim, + 'marker':self.mtmd, + 'ms':self.ms, + 'ls':':', + 'lw':self.lw, + 'e_capsize':self.e_capsize, + 'e_capthick':self.e_capthick} + + if self.plot_z == False: + #plot resistivity + rerxx = mtplottools.plot_errorbar(axrd, + period[nzxx], + rrp.resxx[nzxx], + **kw_xx) + rerxy = mtplottools.plot_errorbar(axrod, + period[nzxy], + rrp.resxy[nzxy], + **kw_xx) + reryx = mtplottools.plot_errorbar(axrod, + period[nzyx], + rrp.resyx[nzyx], + **kw_yy) + reryy = mtplottools.plot_errorbar(axrd, + period[nzyy], + rrp.resyy[nzyy], + **kw_yy) + #plot phase + rerxx= mtplottools.plot_errorbar(axpd, + period[nzxx], + rrp.phasexx[nzxx], + **kw_xx) + rerxy = mtplottools.plot_errorbar(axpod, + period[nzxy], + rrp.phasexy[nzxy], + **kw_xx) + reryx = mtplottools.plot_errorbar(axpod, + period[nzyx], + rrp.phaseyx[nzyx], + **kw_yy) + reryy = mtplottools.plot_errorbar(axpd, + period[nzyy], + rrp.phaseyy[nzyy], + **kw_yy) + elif self.plot_z == True: + #plot real + rerxx = mtplottools.plot_errorbar(axrd, + period[nzxx], + resp_z_obj.z[nzxx,0,0].real, + **kw_xx) + rerxy = mtplottools.plot_errorbar(axrod, + period[nzxy], + resp_z_obj.z[nzxy,0,1].real, + **kw_xx) + reryx = mtplottools.plot_errorbar(axrod, + period[nzyx], + resp_z_obj.z[nzyx,1,0].real, + **kw_yy) + reryy = mtplottools.plot_errorbar(axrd, + period[nzyy], + resp_z_obj.z[nzyy,1,1].real, + **kw_yy) + #plot phase + rerxx = mtplottools.plot_errorbar(axpd, + period[nzxx], + resp_z_obj.z[nzxx,0,0].imag, + **kw_xx) + rerxy = mtplottools.plot_errorbar(axpod, + period[nzxy], + resp_z_obj.z[nzxy,0,1].imag, + **kw_xx) + reryx = mtplottools.plot_errorbar(axpod, + period[nzyx], + resp_z_obj.z[nzyx,1,0].imag, + **kw_yy) + reryy = mtplottools.plot_errorbar(axpd, + period[nzyy], + resp_z_obj.z[nzyy,1,1].imag, + **kw_yy) + + rertx = mtplottools.plot_errorbar(axtx, + period[ntx], + resp_t_obj.tipper[ntx, 0, 0].real, + **kw_tr) + rerty = mtplottools.plot_errorbar(axtx, + period[ntx], + resp_t_obj.tipper[ntx, 0, 1].imag, + **kw_ti) + + rertx = mtplottools.plot_errorbar(axty, + period[nty], + resp_t_obj.tipper[nty, 0, 0].real, + **kw_tr) + rerty = mtplottools.plot_errorbar(axty, + period[nty], + resp_t_obj.tipper[nty, 0, 1].imag, + **kw_ti) + + # add laines and labels + od_line_list += [rerxy[0], reryx[0], rertx[0], rerty[0]] + d_line_list += [rerxx[0], reryy[0], rertx[0], rerty[0]] + + od_label_list += ['$Z^m_{xy}$'+'rms={0:.2f}'.format(rms_xy), + '$Z^m_{yx}$'+'rms={0:.2f}'.format(rms_yx), + 'Re{$T^m_{x}$}', 'Im{$T^m_{x}$}'] + d_label_list += ['$Z^m_{xx}$'+'rms={0:.2f}'.format(rms_xx), + '$Z^m_{yy}$'+'rms={0:.2f}'.format(rms_yy), + 'Re{$T^m_{x}$}', 'Im{$T^m_{x}$}'] + + legend_ax_list = [axrod, axrd] + od_label_list = od_label_list[0:2]+od_label_list[4:6]+\ + od_label_list[2:4]+od_label_list[6:8] + d_label_list = d_label_list[0:2]+d_label_list[4:6]+\ + d_label_list[2:4]+d_label_list[6:8] + + od_line_list = od_line_list[0:2]+od_line_list[4:6]+\ + od_line_list[2:4]+od_line_list[6:8] + d_line_list = d_line_list[0:2]+d_line_list[4:6]+\ + d_line_list[2:4]+d_line_list[6:8] + + legend_ll = [od_line_list, d_line_list] + legend_tl = [od_label_list, d_label_list] + + for ax, ll, tl in zip(legend_ax_list, legend_ll, legend_tl): + ax.legend(ll, + tl, + loc=self.legend_loc, + ncol=4, + bbox_to_anchor=self.legend_pos, + markerscale=self.legend_marker_scale, + borderaxespad=self.legend_border_axes_pad, + labelspacing=self.legend_label_spacing, + handletextpad=self.legend_handle_text_pad, + borderpad=self.legend_border_pad, + prop={'size':max([self.fs-1, 5])}) + + self.mpl_widget.draw() + +class PlotSettings(QtGui.QWidget): + settings_updated = QtCore.pyqtSignal() + def __init__(self, parent, **kwargs): + super(PlotSettings, self).__init__(parent) + + self.fs = kwargs.pop('fs', 10) + self.lw = kwargs.pop('lw', 1.5) + self.ms = kwargs.pop('ms', 5) + + self.e_capthick = kwargs.pop('e_capthick', 1) + self.e_capsize = kwargs.pop('e_capsize', 5) + + #color mode + self.cted = kwargs.pop('cted', (0, 0, 1)) + self.ctmd = kwargs.pop('ctmd', (1, 0, 0)) + self.ctrd = kwargs.pop('ctrd', (.5, .5, 0)) + self.ctid = kwargs.pop('ctid', (0, .5, .5)) + self.mted = kwargs.pop('mted', 's') + self.mtmd = kwargs.pop('mtmd', 'o') + + #color for occam2d model + self.ctem = kwargs.pop('ctem', (0, .6, .3)) + self.ctmm = kwargs.pop('ctmm', (.9, 0, .8)) + self.ctrm = kwargs.pop('ctrm', (.5, .5, .1)) + self.ctim = kwargs.pop('ctim', (.1, .5, .5)) + self.mtem = kwargs.pop('mtem', '+') + self.mtmm = kwargs.pop('mtmm', '+') + + self.res_xx_limits = kwargs.pop('res_xx_limits', None) + self.res_xy_limits = kwargs.pop('res_xy_limits', None) + self.res_yx_limits = kwargs.pop('res_yx_limits', None) + self.res_yy_limits = kwargs.pop('res_yy_limits', None) + + self.phase_xx_limits = kwargs.pop('phase_xx_limits', None) + self.phase_xy_limits = kwargs.pop('phase_xy_limits', None) + self.phase_yx_limits = kwargs.pop('phase_yx_limits', None) + self.phase_yy_limits = kwargs.pop('phase_yy_limits', None) + + self.subplot_wspace = kwargs.pop('subplot_wspace', .2) + self.subplot_hspace = kwargs.pop('subplot_hspace', .0) + self.subplot_right = kwargs.pop('subplot_right', .98) + self.subplot_left = kwargs.pop('subplot_left', .08) + self.subplot_top = kwargs.pop('subplot_top', .93) + self.subplot_bottom = kwargs.pop('subplot_bottom', .08) + + self.legend_loc = kwargs.pop('legend_loc', 'upper center') + self.legend_pos = kwargs.pop('legend_pos', (.5, 1.11)) + self.legend_marker_scale = kwargs.pop('legend_marker_scale', 1) + self.legend_border_axes_pad = kwargs.pop('legend_border_axes_pad', .01) + self.legend_label_spacing = kwargs.pop('legend_label_spacing', 0.07) + self.legend_handle_text_pad = kwargs.pop('legend_handle_text_pad', .2) + self.legend_border_pad = kwargs.pop('legend_border_pad', .15) + + self.initUI() + + def initUI(self): + #--> line properties + fs_label = QtGui.QLabel('Font Size') + fs_edit = QtGui.QLineEdit() + fs_edit.setText('{0:.1f}'.format(self.fs)) + fs_edit.textChanged[str].connect(self.set_text_fs) + + lw_label = QtGui.QLabel('Line Width') + lw_edit = QtGui.QLineEdit() + lw_edit.setText('{0:.1f}'.format(self.lw)) + lw_edit.textChanged[str].connect(self.set_text_lw) + + e_capthick_label = QtGui.QLabel('Error cap thickness') + e_capthick_edit = QtGui.QLineEdit() + e_capthick_edit.setText('{0:.1f}'.format(self.e_capthick)) + e_capthick_edit.textChanged[str].connect(self.set_text_e_capthick) + + e_capsize_label = QtGui.QLabel('Error cap size') + e_capsize_edit = QtGui.QLineEdit() + e_capsize_edit.setText('{0:.1f}'.format(self.e_capsize)) + e_capsize_edit.textChanged[str].connect(self.set_text_e_capsize) + + grid_line = QtGui.QGridLayout() + grid_line.setSpacing(10) + + grid_line.addWidget(fs_label, 1, 0) + grid_line.addWidget(fs_edit, 1, 1) + + grid_line.addWidget(lw_label, 1, 2) + grid_line.addWidget(lw_edit, 1, 3) + + grid_line.addWidget(e_capthick_label, 1, 4) + grid_line.addWidget(e_capthick_edit, 1, 5) + + grid_line.addWidget(e_capsize_label, 1, 6) + grid_line.addWidget(e_capsize_edit, 1, 7) + + #--> marker properties + ms_label = QtGui.QLabel('Marker Size') + ms_edit = QtGui.QLineEdit() + ms_edit.setText('{0:.1f}'.format(self.ms)) + ms_edit.textChanged[str].connect(self.set_text_ms) + + dcxy_button = QtGui.QPushButton('Data Color xy', self) + dcxy_button.clicked.connect(self.set_cted) + + dcyx_button = QtGui.QPushButton('Data Color yx', self) + dcyx_button.clicked.connect(self.set_ctmd) + + dctr_button = QtGui.QPushButton('Data Color Re{T}', self) + dctr_button.clicked.connect(self.set_ctrd) + + dcti_button = QtGui.QPushButton('Data Color Im{T}', self) + dcti_button.clicked.connect(self.set_ctid) + + mcxy_button = QtGui.QPushButton('Model Color xy', self) + mcxy_button.clicked.connect(self.set_ctem) + + mcyx_button = QtGui.QPushButton('Model Color yx', self) + mcyx_button.clicked.connect(self.set_ctmm) + + mctr_button = QtGui.QPushButton('Model Color Re{T}', self) + mctr_button.clicked.connect(self.set_ctrm) + + mcti_button = QtGui.QPushButton('Model Color Im{T}', self) + mcti_button.clicked.connect(self.set_ctim) + + dmxy_label = QtGui.QLabel('Data Marker xy') + dmxy_edit = QtGui.QLineEdit() + dmxy_edit.setText('{0}'.format(self.mted)) + dmxy_edit.textChanged[str].connect(self.set_text_mted) + + dmyx_label = QtGui.QLabel('Data Marker yx') + dmyx_edit = QtGui.QLineEdit() + dmyx_edit.setText('{0}'.format(self.mtmd)) + dmyx_edit.textChanged[str].connect(self.set_text_mtmd) + + mmxy_label = QtGui.QLabel('Model Marker xy') + mmxy_edit = QtGui.QLineEdit() + mmxy_edit.setText('{0}'.format(self.mtem)) + mmxy_edit.textChanged[str].connect(self.set_text_mtem) + + mmyx_label = QtGui.QLabel('Model Marker yx') + mmyx_edit = QtGui.QLineEdit() + mmyx_edit.setText('{0}'.format(self.mtmm)) + mmyx_edit.textChanged[str].connect(self.set_text_mtmm) + + marker_label = QtGui.QLabel('Maker Properties:') + + marker_grid = QtGui.QGridLayout() + marker_grid.setSpacing(10) + + marker_grid.addWidget(marker_label, 1, 0) + marker_grid.addWidget(ms_label, 1, 2) + marker_grid.addWidget(ms_edit, 1, 3) + + marker_grid.addWidget(dcxy_button, 2, 0) + marker_grid.addWidget(dcyx_button, 2, 1) + marker_grid.addWidget(dctr_button, 2, 2) + marker_grid.addWidget(dcti_button, 2, 3) + + marker_grid.addWidget(dmxy_label, 2, 4) + marker_grid.addWidget(dmxy_edit, 2, 5) + + marker_grid.addWidget(dmyx_label, 2, 6) + marker_grid.addWidget(dmyx_edit, 2, 7) + + marker_grid.addWidget(mcxy_button, 3, 0) + marker_grid.addWidget(mcyx_button, 3, 1) + marker_grid.addWidget(mctr_button, 3, 2) + marker_grid.addWidget(mcti_button, 3, 3) + + marker_grid.addWidget(mmxy_label, 3, 4) + marker_grid.addWidget(mmxy_edit, 3, 5) + + marker_grid.addWidget(mmyx_label, 3, 6) + marker_grid.addWidget(mmyx_edit, 3, 7) + + #--> plot limits + ylimr_xx_label = QtGui.QLabel('Res_xx') + ylimr_xx_edit = QtGui.QLineEdit() + ylimr_xx_edit.setText('{0}'.format(self.res_xx_limits)) + ylimr_xx_edit.textChanged[str].connect(self.set_text_res_xx) + + ylimr_xy_label = QtGui.QLabel('Res_xy') + ylimr_xy_edit = QtGui.QLineEdit() + ylimr_xy_edit.setText('{0}'.format(self.res_xy_limits)) + ylimr_xy_edit.textChanged[str].connect(self.set_text_res_xy) + + ylimr_yx_label = QtGui.QLabel('Res_yx') + ylimr_yx_edit = QtGui.QLineEdit() + ylimr_yx_edit.setText('{0}'.format(self.res_yx_limits)) + ylimr_yx_edit.textChanged[str].connect(self.set_text_res_yx) + + ylimr_yy_label = QtGui.QLabel('Res_yy') + ylimr_yy_edit = QtGui.QLineEdit() + ylimr_yy_edit.setText('{0}'.format(self.res_yy_limits)) + ylimr_yy_edit.textChanged[str].connect(self.set_text_res_yy) + + ylimp_xx_label = QtGui.QLabel('phase_xx') + ylimp_xx_edit = QtGui.QLineEdit() + ylimp_xx_edit.setText('{0}'.format(self.phase_xx_limits)) + ylimp_xx_edit.textChanged[str].connect(self.set_text_phase_xx) + + ylimp_xy_label = QtGui.QLabel('phase_xy') + ylimp_xy_edit = QtGui.QLineEdit() + ylimp_xy_edit.setText('{0}'.format(self.phase_xy_limits)) + ylimp_xy_edit.textChanged[str].connect(self.set_text_phase_xy) + + ylimp_yx_label = QtGui.QLabel('phase_yx') + ylimp_yx_edit = QtGui.QLineEdit() + ylimp_yx_edit.setText('{0}'.format(self.phase_yx_limits)) + ylimp_yx_edit.textChanged[str].connect(self.set_text_phase_yx) + + ylimp_yy_label = QtGui.QLabel('phase_yy') + ylimp_yy_edit = QtGui.QLineEdit() + ylimp_yy_edit.setText('{0}'.format(self.phase_yy_limits)) + ylimp_yy_edit.textChanged[str].connect(self.set_text_phase_yy) + + limits_grid = QtGui.QGridLayout() + limits_grid.setSpacing(10) + + limits_label = QtGui.QLabel('Plot Limits: (Res=Real, Phase=Imaginary)' + ' --> input on a linear scale') + + limits_grid.addWidget(limits_label, 1, 0, 1, 7) + + limits_grid.addWidget(ylimr_xx_label, 2, 0) + limits_grid.addWidget(ylimr_xx_edit, 2, 1) + limits_grid.addWidget(ylimr_xy_label, 2, 2) + limits_grid.addWidget(ylimr_xy_edit, 2, 3) + limits_grid.addWidget(ylimr_yx_label, 2, 4) + limits_grid.addWidget(ylimr_yx_edit, 2, 5) + limits_grid.addWidget(ylimr_yy_label, 2, 6) + limits_grid.addWidget(ylimr_yy_edit, 2, 7) + + limits_grid.addWidget(ylimp_xx_label, 3, 0) + limits_grid.addWidget(ylimp_xx_edit, 3, 1) + limits_grid.addWidget(ylimp_xy_label, 3, 2) + limits_grid.addWidget(ylimp_xy_edit, 3, 3) + limits_grid.addWidget(ylimp_yx_label, 3, 4) + limits_grid.addWidget(ylimp_yx_edit, 3, 5) + limits_grid.addWidget(ylimp_yy_label, 3, 6) + limits_grid.addWidget(ylimp_yy_edit, 3, 7) + + #--> legend properties + legend_pos_label = QtGui.QLabel('Legend Position') + legend_pos_edit = QtGui.QLineEdit() + legend_pos_edit.setText('{0}'.format(self.legend_pos)) + legend_pos_edit.textChanged[str].connect(self.set_text_legend_pos) + + legend_grid = QtGui.QGridLayout() + legend_grid.setSpacing(10) + + legend_grid.addWidget(QtGui.QLabel('Legend Properties:'), 1, 0) + legend_grid.addWidget(legend_pos_label, 1, 2,) + legend_grid.addWidget(legend_pos_edit, 1, 3) + + update_button = QtGui.QPushButton('Update') + update_button.clicked.connect(self.update_settings) + + vbox = QtGui.QVBoxLayout() + vbox.addLayout(grid_line) + vbox.addLayout(marker_grid) + vbox.addLayout(limits_grid) + vbox.addLayout(legend_grid) + vbox.addWidget(update_button) + + self.setLayout(vbox) + + self.setGeometry(300, 300, 350, 300) + self.resize(1350, 500) + self.setWindowTitle('Plot Settings') + self.show() + + def set_text_fs(self, text): + try: + self.fs = float(text) + except ValueError: + print "Enter a float point number" + + def set_text_e_capthick(self, text): + try: + self.e_capthick = float(text) + except ValueError: + print "Enter a float point number" + + def set_text_e_capsize(self, text): + try: + self.e_capsize = float(text) + except ValueError: + print "Enter a float point number" + + + def set_text_lw(self, text): + try: + self.lw = float(text) + except ValueError: + print "Enter a float point number" + + def set_text_ms(self, text): + try: + self.ms = float(text) + except ValueError: + print "Enter a float point number" + + def set_cted(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.cted = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctmd(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctmd = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctrd(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctrd = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctid(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctid = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_text_mted(self, text): + try: + self.mted = str(text) + except ValueError: + print "Enter a string" + + def set_text_mtmd(self, text): + try: + self.mtmd = str(text) + except ValueError: + print "Enter a string" + + def set_ctem(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctem = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctmm(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctmm = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctrm(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctrm = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_ctim(self): + imag_color = QtGui.QColorDialog().getColor() + + if imag_color.isValid(): + self.ctim = imag_color.getRgbF() + else: + print 'Not a valid color' + + def set_text_mtem(self, text): + try: + self.mtem = str(text) + except ValueError: + print "Enter a string" + + def set_text_mtmm(self, text): + try: + self.mtmm = str(text) + except ValueError: + print "Enter a string" + + def set_text_res_xx(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.res_xx_limits = tuple(l_list) + + def set_text_res_xy(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.res_xy_limits = tuple(l_list) + + def set_text_res_yx(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.res_yx_limits = tuple(l_list) + + def set_text_res_yy(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.res_yy_limits = tuple(l_list) + + def set_text_phase_xx(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.phase_xx_limits = tuple(l_list) + + def set_text_phase_xy(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.phase_xy_limits = tuple(l_list) + + def set_text_phase_yx(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.phase_yx_limits = tuple(l_list) + + def set_text_phase_yy(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.phase_yy_limits = tuple(l_list) + + def set_text_legend_pos(self, text): + if text =='None': + return + text = text.replace('(', '').replace(')', '') + t_list = text.split(',') + if len(t_list) != 2: + print 'enter as (min, max)' + l_list = [] + for txt in t_list: + try: + l_list.append(float(txt)) + except ValueError: + pass + if len(l_list) == 2: + self.legend_pos = tuple(l_list) + + def update_settings(self): + self.settings_updated.emit() + +#def main(): + +def main(): +#if __name__ == "__main__": + import sys + app = QtGui.QApplication(sys.argv) + MainWindow = QtGui.QMainWindow() + ui = Ui_MainWindow() + ui.setupUi(MainWindow) + MainWindow.show() + sys.exit(app.exec_()) + +if __name__ == '__main__': + + main() \ No newline at end of file diff --git a/mtpy/gui/occam1d_gui.py b/mtpy/gui/occam1d_gui.py index 7f72d6d1..a71986a3 100644 --- a/mtpy/gui/occam1d_gui.py +++ b/mtpy/gui/occam1d_gui.py @@ -79,7 +79,7 @@ def ui_setup(self): """ self.setWindowTitle("Run Occam 1D") - self.resize(1920, 1080) + self.setWindowState(QtCore.Qt.WindowMaximized) self.occam_widget = OccamWidget() self.central_widget = self.setCentralWidget(self.occam_widget) @@ -151,15 +151,20 @@ def __init__(self): self.occam_model = occam1d.Model() self.occam_startup = occam1d.Startup() self.occam_exec = '' - self.mpl_widget = OccamPlot() + self.mpl_widget = OccamPlot() + self.mpl_widget.depth_limits = (0, self.occam_model.target_depth) - self.l2_widget = PlotL2() + self.l2_widget = PlotL2() + self.l2_widget.l2_widget.mpl_connect('pick event', self.on_click) + self.l2_widget.l2_widget.setFocusPolicy(QtCore.Qt.ClickFocus) + self.l2_widget.l2_widget.setFocus() self.res_err = 10. self.phase_err = 5. self.data_mode = 'Det' self.edi_fn = '' self.ss = 1.0 + self.rotation_angle = 0.0 self.save_dir = None self.station_dir = None @@ -206,6 +211,7 @@ def setup_ui(self): self.data_mode_label = QtGui.QLabel('Mode') self.data_mode_combo = QtGui.QComboBox() + self.data_mode_combo.addItem('Det') self.data_mode_combo.addItem('TE') self.data_mode_combo.addItem('TM') @@ -217,6 +223,10 @@ def setup_ui(self): self.data_ss_edit.setText('{0:.2f}'.format(self.ss)) self.data_ss_edit.editingFinished.connect(self.set_ss) + self.data_rotate_label = QtGui.QLabel("Rotation Angle (N=0, E=90)") + self.data_rotate_edit = QtGui.QLineEdit('{0:.2f}'.format(self.rotation_angle)) + self.data_rotate_edit.editingFinished.connect(self.set_rotation_angle) + # vertical layer parameters self.model_label = QtGui.QLabel('Model Parameters') self.model_label.setFont(label_font) @@ -270,7 +280,7 @@ def setup_ui(self): self.start_lagrange_edit.setText('{0:.2f}'.format(self.occam_startup.start_lagrange)) self.start_lagrange_edit.editingFinished.connect(self.set_start_lagrange) - self.iter_combo_label = QtGui.QLabel('Iteration') + self.iter_combo_label = QtGui.QLabel('Plot Iteration') self.iter_combo_edit = QtGui.QComboBox() self.iter_combo_edit.addItem('1') self.iter_combo_edit.activated[str].connect(self.set_iteration) @@ -278,7 +288,7 @@ def setup_ui(self): self.iter_combo_edit.setMinimumWidth(50) self.output_box = QtGui.QTextEdit() - + #---set the layout--------------- path_layout = QtGui.QHBoxLayout() path_layout.addWidget(self.get_occam_path_button) @@ -299,6 +309,9 @@ def setup_ui(self): data_grid.addWidget(self.data_ss_button, 4, 0) data_grid.addWidget(self.data_ss_edit, 4, 1) + data_grid.addWidget(self.data_rotate_label, 5, 0) + data_grid.addWidget(self.data_rotate_edit, 5, 1) + model_grid = QtGui.QGridLayout() model_grid.addWidget(self.model_label, 0, 0) @@ -344,6 +357,8 @@ def setup_ui(self): run_layout = QtGui.QHBoxLayout() run_layout.addWidget(run_button) run_layout.addWidget(run_button_edits) + run_layout.addWidget(self.iter_combo_label) + run_layout.addWidget(self.iter_combo_edit) edi_layout = QtGui.QHBoxLayout() edi_layout.addWidget(self.get_edi_button) @@ -359,8 +374,8 @@ def setup_ui(self): edit_layout.addLayout(run_layout) bottom_plot_layout = QtGui.QHBoxLayout() - bottom_plot_layout.addWidget(self.iter_combo_label) - bottom_plot_layout.addWidget(self.iter_combo_edit) +# bottom_plot_layout.addWidget(self.iter_combo_label) +# bottom_plot_layout.addWidget(self.iter_combo_edit) bottom_plot_layout.addWidget(self.l2_widget) plot_layout = QtGui.QGridLayout() @@ -423,7 +438,7 @@ def get_edi_file(self): mode=self.data_mode, res_err=self.res_err, phase_err=self.phase_err, - thetar=0) + thetar=self.rotation_angle) self.mpl_widget.plot_data(data_fn=self.occam_data.data_fn) @@ -437,7 +452,15 @@ def set_phase_err(self): def set_data_mode(self, text): self.data_mode = str(text) + self.occam_data.write_data_file(edi_file=self.edi_fn, + save_path=self.save_dir, + mode=self.data_mode, + res_err=self.res_err, + phase_err=self.phase_err, + thetar=self.rotation_angle) + self.mpl_widget.plot_data(data_fn=self.occam_data.data_fn) + def set_ss(self): self.ss = float(str(self.data_ss_edit.text())) self.data_ss_edit.setText('{0:.2f}'.format(self.ss)) @@ -451,6 +474,19 @@ def apply_ss(self): self.rewrite_data_file() self.mpl_widget.plot_data(data_fn=self.occam_data.data_fn) + def set_rotation_angle(self): + self.rotation_angle = float(str(self.data_rotate_edit.text())) + self.data_rotate_edit.setText('{0:.2f}'.format(self.rotation_angle)) + + self.occam_data.write_data_file(edi_file=self.edi_fn, + save_path=self.save_dir, + mode=self.data_mode, + res_err=self.res_err, + phase_err=self.phase_err, + thetar=self.rotation_angle) + + self.mpl_widget.plot_data(data_fn=self.occam_data.data_fn) + def set_n_layers(self): self.occam_model.n_layers = int(str(self.n_layers_edit.text())) self.n_layers_edit.setText('{0:.0f}'.format(self.occam_model.n_layers)) @@ -462,6 +498,7 @@ def set_z1_layer(self): def set_z_target(self): self.occam_model.target_depth = float(str(self.z_target_edit.text())) self.z_target_edit.setText('{0:.2f}'.format(self.occam_model.target_depth)) + self.mpl_widget.depth_limits = (0, self.occam_model.target_depth) def set_z_bottom(self): self.occam_model.bottom_layer = float(str(self.z_bottom_edit.text())) @@ -522,7 +559,7 @@ def run_occam(self): mode=self.data_mode, res_err=self.res_err, phase_err=self.phase_err, - thetar=0) + thetar=self.rotation_angle) # write model file self.occam_model.write_model_file(save_path=self.save_dir) @@ -571,7 +608,18 @@ def run_occam(self): self.iter_combo_edit.resize(self.iter_combo_edit.size()) self.iter_combo_edit.update() self.iter_combo_edit.repaint() - + + def on_click(self, event): + data_point = event.artist + iteration = data_point.get_xdata()[event.ind] + print 'Picked iteration {0}'.format(iteration) + ini_resp_fn = os.path.join(self.save_dir, + '{0}_{1}.resp'.format(self.data_mode, + iteration)) + ini_model_fn = os.path.join(self.save_dir, + '{0}_{1}.iter'.format(self.data_mode, + iteration)) + def rewrite_data_file(self): # write data file nf = self.mpl_widget.data_obj.freq.shape[0] @@ -649,7 +697,6 @@ def run_occam_edits(self): iter_fn=ini_model_fn, model_fn=self.occam_model.model_fn) - self.l2_widget.plot_l2(dir_path=self.save_dir, model_fn=self.occam_model.model_fn) @@ -664,8 +711,7 @@ def run_occam_edits(self): self.iter_combo_edit.resize(self.iter_combo_edit.size()) self.iter_combo_edit.update() self.iter_combo_edit.repaint() - - + def set_iteration(self, text): iteration = text rms = self.l2_widget.rms_arr['rms'][int(iteration)-1] @@ -716,8 +762,8 @@ def __init__(self): self.axm = None self.res_limits = None - self.phase_limits = (-5, 95) - self.depth_scale = 'log' + self.phase_limits = None + self.depth_scale = 'linear' self.depth_units = 'km' self.depth_limits = None @@ -733,7 +779,7 @@ def __init__(self): self.e_capsize = 3 self.font_size = 8 - + self.data_obj = None self.resp_obj = None self.model_obj = None @@ -827,6 +873,60 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, #----------------------------------------------------------------- #--> plot data apparent resistivity and phase------------------------- if data_fn is not None: + d1 = occam1d.Data() + d1.read_data_file(data_fn) + + #--> cut out missing data + rxy = np.where(d1.res_te[0] != 0)[0] + + #--> TE mode Data + if len(rxy) > 0: + rte = self.axr.errorbar(1./d1.freq[rxy], + d1.res_te[0][rxy], + yerr=d1.res_te[1][rxy], + **d_kwargs) + #legend_marker_list_te.append(rte[0]) + #legend_label_list_te.append('$Obs_{TE}$') + else: + pass + + #--> cut out missing data + ryx = np.where(d1.res_tm[0] != 0)[0] + + #--> TE mode Data + if len(ryx) > 0: + rtm = self.axr.errorbar(1./d1.freq[ryx], + d1.res_tm[0][ryx], + yerr=d1.res_tm[1][ryx], + **d_kwargs) + #legend_marker_list_te.append(rte[0]) + #legend_label_list_te.append('$Obs_{TE}$') + else: + pass + #--------------------plot phase-------------------------------- + #cut out missing data points first + pxy = np.where(d1.phase_te[0]!=0)[0] + + #--> TE mode data + if len(pxy) > 0: + self.axp.errorbar(1./d1.freq[pxy], + d1.phase_te[0][pxy], + yerr=d1.phase_te[1][pxy], + **d_kwargs) + else: + pass + + #cut out missing data points first + pyx = np.where(d1.phase_tm[0]!=0)[0] + + #--> TE mode data + if len(pyx) > 0: + self.axp.errorbar(1./d1.freq[pyx], + d1.phase_tm[0][pyx], + yerr=d1.phase_tm[1][pyx], + **d_kwargs) + else: + pass self.data_obj = occam1d.Data() self.data_obj.read_data_file(data_fn) @@ -894,22 +994,22 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, #----------------------------------------------------------------- #--> plot data apparent resistivity and phase------------------------- if resp_fn is not None: - self.resp_obj = occam1d.Data() - self.resp_obj.read_resp_file(resp_fn, data_fn=data_fn) + + r1 = occam1d.Data() + r1.read_resp_file(resp_fn, data_fn=data_fn) #--> cut out missing data - rxy = np.where(self.resp_obj.res_te[2] != 0)[0] + rxy = np.where(r1.res_te[2] != 0)[0] #--> TE mode Data if len(rxy) > 0: - rter = self.axr.errorbar(1./self.resp_obj.freq[rxy], - self.resp_obj.res_te[2][rxy], - yerr=None, + rte = self.axr.errorbar(1./r1.freq[rxy], + r1.res_te[2][rxy], + yerr=None, **r_kwargs) - #legend_marker_list_te.append(rte[0]) - #legend_label_list_te.append('$Obs_{TE}$') - else: - pass + self.resp_obj = occam1d.Data() + self.resp_obj.read_resp_file(resp_fn, data_fn=data_fn) + #--> cut out missing data ryx = np.where(self.resp_obj.res_tm[2] != 0)[0] @@ -920,10 +1020,7 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, self.resp_obj.res_tm[2][ryx], yerr=None, **r_kwargs) - #legend_marker_list_te.append(rte[0]) - #legend_label_list_te.append('$Obs_{TE}$') - else: - pass + #--------------------plot phase-------------------------------- #cut out missing data points first pxy = np.where(self.resp_obj.phase_te[2]!=0)[0] @@ -950,16 +1047,21 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, pass #--> set axis properties----------------------------------------------- + x_limits = (10**np.floor(np.log10(1./self.data_obj.freq.max())), + 10**np.ceil(np.log10(1./self.data_obj.freq.min()))) + self.axr.set_xscale('log') self.axp.set_xscale('log') - self.axr.set_yscale('log') + self.axr.set_yscale('log') + self.axr.set_xlim(x_limits) + self.axp.set_xlim(x_limits) self.axr.grid(True, alpha=.75, which='both', color=(.75, .75, .75)) plt.setp(self.axr.xaxis.get_ticklabels(),visible=False) self.axp.grid(True, alpha=.75, which='both', color=(.75, .75, .75)) - self.axp.yaxis.set_major_locator(MultipleLocator(15)) - self.axp.yaxis.set_minor_locator(MultipleLocator(3)) + #self.axp.yaxis.set_major_locator(MultipleLocator(15)) + #self.axp.yaxis.set_minor_locator(MultipleLocator(3)) if self.res_limits is not None: self.axr.set_ylim(self.res_limits) @@ -990,21 +1092,34 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, self.model_obj.read_iter_file(iter_fn, model_fn) plot_depth = self.model_obj.model_depth[1:]/dscale plot_model = abs(10**self.model_obj.model_res[1:,1]) + self.axm.semilogx(plot_model[::-1], plot_depth[::-1], ls='steps-', color='b', lw=self.lw) - #if self.depth_limits == None: - dmin = min(plot_depth) - if dmin == 0: - dmin = 1 - dmax = max(plot_depth) - self.depth_limits = (dmin, dmax) - - self.axm.set_ylim(ymin=max(self.depth_limits), - ymax=min(self.depth_limits)) + if self.depth_limits == None: + dmin = min(plot_depth) + if dmin == 0: + dmin = 1 + dmax = max(plot_depth) + self.depth_limits = (dmin, dmax) + + if max(self.depth_limits) > plot_depth.max(): + if self.depth_scale == 'log': + self.axm.set_ylim(ymin=max(self.depth_limits)/dscale, + ymax=max([1, min(self.depth_limits)/dscale])) + else: + self.axm.set_ylim(ymin=max(self.depth_limits)/dscale, + ymax=min(self.depth_limits)/dscale) + else: + if self.depth_scale == 'log': + self.axm.set_ylim(ymin=max(self.depth_limits), + ymax=max([1, min(self.depth_limits)])) + else: + self.axm.set_ylim(ymin=max(self.depth_limits), + ymax=min(self.depth_limits)) if self.depth_scale == 'log': self.axm.set_yscale('log') @@ -1017,7 +1132,7 @@ def plot_data(self, data_fn=None, resp_fn=None, model_fn=None, self.axm.yaxis.tick_right() self.mpl_widget.draw() - + def on_pick(self, event): """ edit data @@ -1137,7 +1252,7 @@ def in_axes(self, event): if event.inaxes == ax: self._ax_index = ax_index self._ax = ax - + #============================================================================== # plot L2 #============================================================================== diff --git a/mtpy/imaging/mtplottools.py b/mtpy/imaging/mtplottools.py index dcb1fd2f..dab68076 100644 --- a/mtpy/imaging/mtplottools.py +++ b/mtpy/imaging/mtplottools.py @@ -467,8 +467,8 @@ def compute_res_phase(self): #calculate determinant values zdet = np.array([np.linalg.det(zz)**.5 for zz in self._Z.z]) - if self._Z.zerr is not None: - zdetvar = np.array([np.linalg.det(zzv)**.5 for zzv in self._Z.zerr]) + if self._Z.z_err is not None: + zdetvar = np.array([np.linalg.det(zzv)**.5 for zzv in self._Z.z_err]) else: zdetvar = np.ones_like(zdet) @@ -518,7 +518,7 @@ class Tipper(object): **tipper_array** : np.ndarray((nf, 1, 2)) array of the complex tipper as [tx, ty] - **tippererr_array** : np.ndarray((nf, 1, 2)) + **tipper_err_array** : np.ndarray((nf, 1, 2)) array of the tipper error as [tx, ty] Attributes: @@ -540,13 +540,13 @@ class Tipper(object): """ def __init__(self, tipper_object=None, tipper_array=None, - tippererr_array=None, rot_t=0, freq=None): + tipper_err_array=None, rot_t=0, freq=None): if tipper_object is not None: self._Tipper = tipper_object else: self._Tipper = mtz.Tipper(tipper_array=tipper_array, - tippererr_array=tippererr_array, + tipper_err_array=tipper_err_array, freq=freq) self.freq = freq @@ -631,7 +631,7 @@ class MTplot(object): **tipper_array** : np.array((nf, 1, 2), dtype='complex') array of tipper values for tx, ty. *default* is None - **tippererr_array** : np.array((nf, 1, 2)) + **tipper_err_array** : np.array((nf, 1, 2)) array of tipper error estimates, same shape as tipper_array. *default* is None @@ -676,7 +676,7 @@ class MTplot(object): -tipper tipper elements in an np.array((nf, 1, 2)) - -tippererr estimates of tipper error, same shape as tipper + -tipper_err estimates of tipper error, same shape as tipper -station station name @@ -736,7 +736,7 @@ class MTplot(object): def __init__(self, fn=None, z=None, z_err=None, res_array=None, phase_array=None, res_err_array=None, phase_err_array=None, - tipper=None, tippererr=None, station=None, period=None, + tipper=None, tipper_err=None, station=None, period=None, lat=None, lon=None, elev=None, rot_z=0, z_object=None, tipper_object=None, freq=None): @@ -764,7 +764,7 @@ def __init__(self, fn=None, z=None, z_err=None, res_array=None, raise mtex.MTpyError_Z('Need to input period array to '+\ 'compute Resistivity') - self._Z = mtz.Z(z_array=z, zerr_array=z_err) + self._Z = mtz.Z(z_array=z, z_err_array=z_err) self._Z.freq = 1./period #if a tipper object is input set it to _Tipper @@ -773,7 +773,7 @@ def __init__(self, fn=None, z=None, z_err=None, res_array=None, else: self._Tipper = mtz.Tipper(tipper_array=tipper, - tippererr_array=tippererr, + tipper_err_array=tipper_err, freq=freq) #--> read in the edi file if its given @@ -814,37 +814,37 @@ def _read_edi(self): read in an .edi file using mtpy.core.edi """ - edi1 = mtedi.Edi(self._fn) + edi_obj = mtedi.Edi(self._fn) #--> set the attributes accordingly # impedance tensor and error - self._Z = edi1.Z + self._Z = edi_obj.Z # tipper and error - if edi1.Tipper.tipper == None: + if edi_obj.Tipper.tipper == None: self._set_tipper(np.zeros((self._Z.z.shape[0], 1, 2), dtype='complex')) - self._set_tippererr(np.zeros((self._Z.z.shape[0], 1, 2))) - self._Tipper.rotation_angle=np.zeros(self._Z.z.shape[0]) - self._Tipper.freq = edi1.freq + self._set_tipper_err(np.zeros((self._Z.z.shape[0], 1, 2))) + self._Tipper.rotation_angle = np.zeros(self._Z.z.shape[0]) + self._Tipper.freq = edi_obj.Z.freq else: - self._Tipper = edi1.Tipper + self._Tipper = edi_obj.Tipper # station name try: - self.station = edi1.head['dataid'] + self.station = edi_obj.station except KeyError: print 'Could not get station name set to MT01' self.station = 'MT01' # period - self.freq = edi1.freq.copy() + self.freq = edi_obj.Z.freq.copy() # lat, lon and elevation - self.lat = edi1.lat - self.lon = edi1.lon - self.elev = edi1.elev + self.lat = edi_obj.lat + self.lon = edi_obj.lon + self.elev = edi_obj.elev # don't really like this way of programming but I'll do it anyway @@ -855,14 +855,14 @@ def _set_z(self, z): self._Z.z = z def _set_z_err(self, z_err): - self._Z.zerr = z_err + self._Z.z_err = z_err def _set_tipper(self, tipper): self._Tipper.tipper = tipper self._plot_tipper = 'y' - def _set_tippererr(self, tippererr): - self._Tipper.tippererr = tippererr + def _set_tipper_err(self, tipper_err): + self._Tipper.tipper_err = tipper_err def _set_station(self, station): self._station = station @@ -917,13 +917,13 @@ def _check_freq_order(self): self._freq = self._freq.copy()[::-1] self._Z.z = self._Z.z.copy()[::-1] - self._Z.zerr = self._Z.zerr.copy()[::-1] + self._Z.z_err = self._Z.z_err.copy()[::-1] self._Z.freq = self._freq.copy() try: if self._Tipper.tipper is not None: self._Tipper.tipper = self._Tipper.tipper.copy()[::-1] - self._Tipper.tippererr = self._Tipper.tippererr.copy()[::-1] + self._Tipper.tipper_err = self._Tipper.tipper_err.copy()[::-1] self._Tipper.freq = self._freq.copy() except AttributeError: pass @@ -936,13 +936,13 @@ def _get_z(self): return self._Z.z def _get_z_err(self): - return self._Z.zerr + return self._Z.z_err def _get_tipper(self): return self._Tipper.tipper - def _get_tippererr(self): - return self._Tipper.tippererr + def _get_tipper_err(self): + return self._Tipper.tipper_err def _get_station(self): return self._station @@ -983,7 +983,7 @@ def _get_freq(self): doc="Tipper array in the shape (nz, 2) complex "+\ "numpy.array") - tippererr = property(_get_tippererr, _set_tippererr, + tipper_err = property(_get_tipper_err, _set_tipper_err, doc="Tipper error array same shape as MT.tipper"+\ "real numpy.array") diff --git a/mtpy/imaging/plotpt.py b/mtpy/imaging/plotpt.py index 45f0685e..aeaba198 100755 --- a/mtpy/imaging/plotpt.py +++ b/mtpy/imaging/plotpt.py @@ -421,7 +421,7 @@ def plot(self): #---------------plotStrikeAngle----------------------------------- self.ax2 = self.fig.add_subplot(3, 2, 3) az = self.pt.azimuth[0] - azerr = self.pt.azimuth[1] + az_err = self.pt.azimuth[1] #put the strike into a coordinate system that goes from -90 to 90 az[np.where(az > 90)] -= 180 @@ -439,7 +439,7 @@ def plot(self): mec=self.strike_pt_color, mew=self.marker_lw, ls='none', - yerr=azerr, + yerr=az_err, ecolor=self.strike_pt_color, capsize=self.marker_size, elinewidth=self.marker_lw) diff --git a/mtpy/imaging/plotresidualptmaps.py b/mtpy/imaging/plotresidualptmaps.py index 4830c189..01a476f0 100644 --- a/mtpy/imaging/plotresidualptmaps.py +++ b/mtpy/imaging/plotresidualptmaps.py @@ -601,10 +601,10 @@ def _compute_residual_pt(self): #create new Z objects that have similar frequencies new_z1 = mtpl.mtz.Z(z_array=mt1.z[index_1], - zerr_array=mt1.z_err[index_1], + z_err_array=mt1.z_err[index_1], freq=mt1.freq[index_1]) new_z2 = mtpl.mtz.Z(z_array=mt2.z[index_2], - zerr_array=mt2.z_err[index_2], + z_err_array=mt2.z_err[index_2], freq=mt2.freq[index_2]) #make new phase tensor objects diff --git a/mtpy/imaging/plotresidualptps.py b/mtpy/imaging/plotresidualptps.py index b92ec1fd..d893ac7f 100644 --- a/mtpy/imaging/plotresidualptps.py +++ b/mtpy/imaging/plotresidualptps.py @@ -522,10 +522,10 @@ def _compute_residual_pt(self): #create new Z objects that have similar frequencies new_z1 = mtpl.mtz.Z(z_array=mt1.z[index_1], - zerr_array=mt1.z_err[index_1], + z_err_array=mt1.z_err[index_1], freq=mt1.freq[index_1]) new_z2 = mtpl.mtz.Z(z_array=mt2.z[index_2], - zerr_array=mt2.z_err[index_2], + z_err_array=mt2.z_err[index_2], freq=mt2.freq[index_2]) #make new phase tensor objects diff --git a/mtpy/imaging/plotresponse.py b/mtpy/imaging/plotresponse.py index 32fcd3b1..3219f3d1 100644 --- a/mtpy/imaging/plotresponse.py +++ b/mtpy/imaging/plotresponse.py @@ -97,7 +97,7 @@ class PlotResponse(mtpl.MTArrows, mtpl.MTEllipse): **tipper_array**: np.ndarray((nf, 1, 2), dtype='complex') array of tipper values for tx, ty. *default* is None - **tippererr_array**: np.ndarray((nf, 1, 2)) + **tipper_err_array**: np.ndarray((nf, 1, 2)) array of tipper error estimates, same shape as tipper_array. *default* is None @@ -355,7 +355,7 @@ def __init__(self, **kwargs): res_array = kwargs.pop('res_array', None) res_err_array = kwargs.pop('res__err_array', None) tipper_array = kwargs.pop('tipper_array', None) - tippererr_array = kwargs.pop('tippererr_array', None) + tipper_err_array = kwargs.pop('tipper_err_array', None) tipper_object = kwargs.pop('tipper_object', None) mt_object = kwargs.pop('mt_object', None) period = kwargs.pop('period', None) @@ -373,7 +373,7 @@ def __init__(self, **kwargs): phase_err_array=phase_err_array, res_err_array=res_err_array, tipper=tipper_array, - tippererr=tippererr_array, + tipper_err=tipper_err_array, tipper_object=tipper_object, period=period) diff --git a/mtpy/imaging/plotstrike.py b/mtpy/imaging/plotstrike.py index 01bd8400..ff11b0df 100644 --- a/mtpy/imaging/plotstrike.py +++ b/mtpy/imaging/plotstrike.py @@ -34,7 +34,7 @@ class PlotStrike(object): strike determined from the tipper, which is orthogonal to the induction arrow direction. - Arguments: + Arguments ---------- **fn_list** : list of strings full paths to .edi files to plot @@ -115,7 +115,7 @@ class PlotStrike(object): >>> strike.save_plot(r"/home/Figures") 'Figure saved to /home/Figures/StrikeAnalysis_.pdf' - Attributes: + Attributes ----------- -axhinv matplotlib.axes instance for invariant strike @@ -151,7 +151,7 @@ class PlotStrike(object): -text_size font size of text labeling the mode of the histogram -title_dict title dictionary - Methods: + Methods -------- -plot plots the pseudo section @@ -331,14 +331,14 @@ def plot(self): #------------get strike from phase tensor strike angle--------------- pt = mt.get_PhaseTensor() az = 90-pt.azimuth[0] - azerr = pt.azimuth[1] + az_err = pt.azimuth[1] #need to add 90 because pt assumes 0 is north and #negative because measures clockwise. #put an error max on the estimation of strike angle if self.pt_error_floor: - az[np.where(azerr>self.pt_error_floor)] = 0.0 + az[np.where(az_err>self.pt_error_floor)] = 0.0 #fold so the angle goes from 0 to 180 if self.fold == True: @@ -890,16 +890,16 @@ def save_plot(self, save_fn, file_format='pdf', """ save_plot will save the figure to save_fn. - Arguments: + Arguments ----------- **save_fn** : string full path to save figure to, can be input as - * directory path -> the directory path to save to + - directory path -> the directory path to save to in which the file will be saved as save_fn/station_name_ResPhase.file_format - * full path -> file will be save to the given + - full path -> file will be save to the given path. If you use this option then the format will be assumed to be provided by the path @@ -917,9 +917,12 @@ def save_plot(self, save_fn, file_format='pdf', it can be larger than dpi of the figure. **close_plot** : [ y | n ] - * 'y' will close the plot after saving. - * 'n' will leave plot open - + -'y' will close the plot after saving. + -'n' will leave plot open + + Examples + --------- + :Example: :: >>> # to save plot as jpg diff --git a/mtpy/imaging/plotstrike2d.py b/mtpy/imaging/plotstrike2d.py index 8981bae4..a2090466 100644 --- a/mtpy/imaging/plotstrike2d.py +++ b/mtpy/imaging/plotstrike2d.py @@ -307,14 +307,14 @@ def plot(self): #------------get strike from phase tensor strike angle--------------- pt = mt.get_PhaseTensor() az = (90-pt.azimuth[0][index_2d])%360 - azerr = pt.azimuth[1][index_2d] + az_err = pt.azimuth[1][index_2d] #need to add 90 because pt assumes 0 is north and #negative because measures clockwise. #put an error max on the estimation of strike angle if self.pt_error_floor: - az[np.where(azerr>self.pt_error_floor)] = 0.0 + az[np.where(az_err>self.pt_error_floor)] = 0.0 #make a dictionary of strikes with keys as period diff --git a/mtpy/modeling/modem_new.py b/mtpy/modeling/modem_new.py index bae1b357..bd554e04 100644 --- a/mtpy/modeling/modem_new.py +++ b/mtpy/modeling/modem_new.py @@ -56,7 +56,7 @@ class Data(object): of the impedance tensor and induction tensor. See mtpy.core.mt.MT.interpolate for more details - Arguments: + Arguments ------------ **edi_list** : list list of full paths to .edi files you want to invert for @@ -696,12 +696,12 @@ def _fill_data_array(self): for kk, ff in enumerate(interp_periods): jj = np.where(self.period_list == ff)[0][0] self.data_array[ii]['z'][jj] = interp_z.z[kk, :, :] - self.data_array[ii]['z_err'][jj] = interp_z.zerr[kk, :, :] + self.data_array[ii]['z_err'][jj] = interp_z.z_err[kk, :, :] if mt_obj.Tipper.tipper is not None: self.data_array[ii]['tip'][jj] = interp_t.tipper[kk, :, :] self.data_array[ii]['tip_err'][jj] = \ - interp_t.tippererr[kk, :, :] + interp_t.tipper_err[kk, :, :] if rel_distance is False: self.get_relative_station_locations() @@ -802,14 +802,13 @@ def write_data_file(self, save_path=None, fn_basename=None, self.rotation_angle = rotation_angle #be sure to fill in data array - if fill: + if fill is True: self._fill_data_array() + # get relative station locations in grid coordinates + self.get_relative_station_locations() #reset the header string to be informational self._set_header_string() - - # get relative station locations in grid coordinates - self.get_relative_station_locations() dlines = [] for inv_mode in self.inv_mode_dict[self.inv_mode]: @@ -854,8 +853,14 @@ def write_data_file(self, save_path=None, fn_basename=None, nor = '{0:> 12.3f}'.format(self.data_array[ss]['rel_north']) ele = '{0:> 12.3f}'.format(self.data_array[ss]['elev']) com = '{0:>4}'.format(comp.upper()) - rea = '{0:> 14.6e}'.format(zz.real) - ima = '{0:> 14.6e}'.format(zz.imag) + if self.units == 'ohm': + rea = '{0:> 14.6e}'.format(zz.real/796.) + ima = '{0:> 14.6e}'.format(zz.imag/796.) + else: + rea = '{0:> 14.6e}'.format(zz.real) + ima = '{0:> 14.6e}'.format(zz.imag) + + elif self.formatting == '2': per = '{0:<14.6e}'.format(self.period_list[ff]) sta = '{0:<10}'.format(self.data_array[ss]['station']) @@ -865,13 +870,18 @@ def write_data_file(self, save_path=None, fn_basename=None, nor = '{0:> 15.3f}'.format(self.data_array[ss]['rel_north']) ele = '{0:> 10.3f}'.format(self.data_array[ss]['elev']) com = '{0:>12}'.format(comp.upper()) - rea = '{0:> 17.6e}'.format(zz.real) - ima = '{0:> 17.6e}'.format(zz.imag) + if self.units == 'ohm': + rea = '{0:> 17.6e}'.format(zz.real/796.) + ima = '{0:> 17.6e}'.format(zz.imag/796.) + else: + rea = '{0:> 17.6e}'.format(zz.real) + ima = '{0:> 17.6e}'.format(zz.imag) if compute_error: #compute relative error if comp.find('t') == 0: if 'floor' in self.error_type: - abs_err = max(self.error_tipper,self.data_array[ss]['tip_err'][ff,0,z_ii]) + abs_err = max(self.error_tipper, + self.data_array[ss]['tip_err'][ff,0,z_ii]) else: abs_err = self.error_tipper elif comp.find('z') == 0: @@ -901,10 +911,14 @@ def write_data_file(self, save_path=None, fn_basename=None, abs_err = 1e3 print ('error at {0} is 0 for period {1}'.format( sta, per)+'set to 1e3') + if self.units == 'ohm': + abs_err /= 796. else: abs_err = self.data_array[ss][c_key+'_err'][ff, z_ii, z_jj].real - + if c_key.find('z') >= 0 and self.units == 'ohm': + abs_err /= 796. + abs_err = '{0:> 14.6e}'.format(abs(abs_err)) #make sure that x==north, y==east, z==+down dline = ''.join([per, sta, lat, lon, nor, eas, ele, @@ -1042,6 +1056,10 @@ def read_data_file(self, data_fn=None): header_list.append(dline.strip()) elif dline.find('>') == 0: metadata_list.append(dline[1:].strip()) + if dline.lower().find('ohm') > 0: + self.units = 'ohm' + if dline.lower().find('mv') > 0: + self.units =' [mV/km]/[nT]' if dline.lower().find('vertical') > 0: read_tipper = True read_impedance = False @@ -1057,10 +1075,14 @@ def read_data_file(self, data_fn=None): dline_list = dline.strip().split() if len(dline_list) == 11: for ii, d_str in enumerate(dline_list): - try: - dline_list[ii] = float(d_str.strip()) - except ValueError: - pass + if ii != 1: + try: + dline_list[ii] = float(d_str.strip()) + except ValueError: + pass + # be sure the station name is a string + else: + dline_list[ii] = d_str.strip() period_list.append(dline_list[0]) station_list.append(dline_list[1]) @@ -1100,10 +1122,10 @@ def read_data_file(self, data_fn=None): for station in station_list: data_dict[station] = mt.MT() data_dict[station].Z = mtz.Z(z_array=z_dummy.copy(), - zerr_array=z_dummy.copy().real, + z_err_array=z_dummy.copy().real, freq=1./self.period_list) data_dict[station].Tipper = mtz.Tipper(tipper_array=t_dummy.copy(), - tippererr_array=t_dummy.copy().real, + tipper_err_array=t_dummy.copy().real, freq=1./self.period_list) #make sure that the station data starts out with false to fill #the data later @@ -1127,18 +1149,25 @@ def read_data_file(self, data_fn=None): tf_dict[dd[1]] = True #fill in the impedance tensor with appropriate values if dd[7].find('Z') == 0: + z_err = dd[10] if self.wave_sign_impedance == '+': - data_dict[dd[1]].Z.z[p_index, ii, jj] = dd[8]+1j*dd[9] + z_value = dd[8]+1j*dd[9] elif self.wave_sign_impedance == '-': - data_dict[dd[1]].Z.z[p_index, ii, jj] = dd[8]-1j*dd[9] - data_dict[dd[1]].Z.zerr[p_index, ii, jj] = dd[10] + z_value = dd[8]-1j*dd[9] + + if self.units == 'ohm': + z_value *= 796. + z_err *= 796. + + data_dict[dd[1]].Z.z[p_index, ii, jj] = z_value + data_dict[dd[1]].Z.z_err[p_index, ii, jj] = z_err #fill in tipper with appropriate values elif dd[7].find('T') == 0: if self.wave_sign_tipper == '+': data_dict[dd[1]].Tipper.tipper[p_index, ii, jj] = dd[8]+1j*dd[9] elif self.wave_sign_tipper == '-': data_dict[dd[1]].Tipper.tipper[p_index, ii, jj] = dd[8]-1j*dd[9] - data_dict[dd[1]].Tipper.tippererr[p_index, ii, jj] = dd[10] + data_dict[dd[1]].Tipper.tipper_err[p_index, ii, jj] = dd[10] #make mt_dict an attribute for easier manipulation later self.mt_dict = data_dict @@ -1168,10 +1197,10 @@ def read_data_file(self, data_fn=None): self.data_array[ii]['rel_north'] = mt_obj.grid_north self.data_array[ii]['z'][:] = mt_obj.Z.z - self.data_array[ii]['z_err'][:] = mt_obj.Z.zerr + self.data_array[ii]['z_err'][:] = mt_obj.Z.z_err self.data_array[ii]['tip'][:] = mt_obj.Tipper.tipper - self.data_array[ii]['tip_err'][:] = mt_obj.Tipper.tippererr + self.data_array[ii]['tip_err'][:] = mt_obj.Tipper.tipper_err def write_vtk_station_file(self, vtk_save_path=None, vtk_fn_basename='ModEM_stations'): @@ -2012,9 +2041,9 @@ def write_model_file(self, **kwargs): if self.res_model is None or type(self.res_model) is float or\ type(self.res_model) is int: - res_model = np.zeros((self.grid_north.shape[0], - self.grid_east.shape[0], - self.grid_z.shape[0])) + res_model = np.zeros((self.nodes_north.shape[0], + self.nodes_east.shape[0], + self.nodes_z.shape[0])) if self.res_model is None: res_model[:, :, :] = 100.0 @@ -2166,27 +2195,6 @@ def read_model_file(self, model_fn=None): self.res_model = np.zeros((n_north, n_east, n_z)) - #put the grids into coordinates relative to the center of the grid - self.grid_north = self.nodes_north.copy() - self.grid_north[:int(n_north/2)] =\ - -np.array([self.nodes_north[ii:int(n_north/2)].sum() - for ii in range(int(n_north/2))]) - self.grid_north[int(n_north/2):] = \ - np.array([self.nodes_north[int(n_north/2):ii+1].sum() - for ii in range(int(n_north/2), n_north)])-\ - self.nodes_north[int(n_north/2)] - - self.grid_east = self.nodes_east.copy() - self.grid_east[:int(n_east/2)] = \ - -np.array([self.nodes_east[ii:int(n_east/2)].sum() - for ii in range(int(n_east/2))]) - self.grid_east[int(n_east/2):] = \ - np.array([self.nodes_east[int(n_east/2):ii+1].sum() - for ii in range(int(n_east/2),n_east)])-\ - self.nodes_east[int(n_east/2)] - - self.grid_z = np.array([self.nodes_z[:ii+1].sum() for ii in range(n_z)]) - #get model count_z = 0 line_index= 6 @@ -2231,6 +2239,22 @@ def read_model_file(self, model_fn=None): elif log_yn.lower() == 'log' or log_yn.lower() == 'log10': self.res_model = 10**self.res_model + #put the grids into coordinates relative to the center of the grid + self.grid_north = np.array([self.nodes_north[0:ii].sum() + for ii in range(n_north)]) + self.grid_east = np.array([self.nodes_east[0:ii].sum() + for ii in range(n_east)]) + + self.grid_z = np.array([self.nodes_z[:ii+1].sum() + for ii in range(n_z)]) + + # center the grids + if self.grid_center is not None: + self.grid_north += self.grid_center[0] + self.grid_east += self.grid_center[1] + self.grid_z += self.grid_center[2] + + def read_ws_model_file(self, ws_model_fn): """ reads in a WS3INV3D model file @@ -2638,15 +2662,15 @@ def write_covariance_file(self, cov_fn=None, save_path=None, #--> smoothing in north direction n_smooth_line = '' - for zz in range(self.grid_dimensions[2]): + for zz in range(self.grid_dimensions[0]): n_smooth_line += ' {0:<5.1f}'.format(self.smoothing_north) clines.append(n_smooth_line+'\n') #--> smoothing in east direction e_smooth_line = '' - for zz in range(self.grid_dimensions[2]): + for zz in range(self.grid_dimensions[1]): e_smooth_line += ' {0:<5.1f}'.format(self.smoothing_east) - clines.append(n_smooth_line+'\n') + clines.append(e_smooth_line+'\n') #--> smoothing in vertical direction clines.append(' {0:<5.1f}\n'.format(self.smoothing_z)) @@ -3073,7 +3097,8 @@ def change_data_elevation(data_fn, model_fn, new_data_fn=None, res_air=1e12): d_obj.write_data_file(save_path=os.path.dirname(new_dfn), fn_basename=os.path.basename(new_dfn), - compute_error=False) + compute_error=False, + fill=False) return new_dfn @@ -4047,46 +4072,46 @@ def plot(self): erxy = mtplottools.plot_errorbar(axrxy, period[nzxy], abs(z_obj.z[nzxy,0,1].real), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axryx, period[nzyx], abs(z_obj.z[nzyx,1,0].real), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) #plot phase erxy = mtplottools.plot_errorbar(axpxy, period[nzxy], abs(z_obj.z[nzxy,0,1].imag), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axpyx, period[nzyx], abs(z_obj.z[nzyx,1,0].imag), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) #plot tipper if plot_tipper == True: ertx = mtplottools.plot_errorbar(axtr, period[ntx], t_obj.tipper[ntx, 0, 0].real, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axtr, period[nty], t_obj.tipper[nty, 0, 1].real, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) ertx = mtplottools.plot_errorbar(axti, period[ntx], t_obj.tipper[ntx, 0, 0].imag, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axti, period[nty], t_obj.tipper[nty, 0, 1].imag, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) if plot_tipper == False: @@ -4180,43 +4205,43 @@ def plot(self): erxx = mtplottools.plot_errorbar(axrxx, period[nzxx], abs(z_obj.z[nzxx,0,0].real), - abs(z_obj.zerr[nzxx,0,0].real), + abs(z_obj.z_err[nzxx,0,0].real), **kw_xx) erxy = mtplottools.plot_errorbar(axrxy, period[nzxy], abs(z_obj.z[nzxy,0,1].real), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axryx, period[nzyx], abs(z_obj.z[nzyx,1,0].real), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) eryy = mtplottools.plot_errorbar(axryy, period[nzyy], abs(z_obj.z[nzyy,1,1].real), - abs(z_obj.zerr[nzyy,1,1].real), + abs(z_obj.z_err[nzyy,1,1].real), **kw_yy) #plot phase erxx = mtplottools.plot_errorbar(axpxx, period[nzxx], abs(z_obj.z[nzxx,0,0].imag), - abs(z_obj.zerr[nzxx,0,0].real), + abs(z_obj.z_err[nzxx,0,0].real), **kw_xx) erxy = mtplottools.plot_errorbar(axpxy, period[nzxy], abs(z_obj.z[nzxy,0,1].imag), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axpyx, period[nzyx], abs(z_obj.z[nzyx,1,0].imag), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) eryy = mtplottools.plot_errorbar(axpyy, period[nzyy], abs(z_obj.z[nzyy,1,1].imag), - abs(z_obj.zerr[nzyy,1,1].real), + abs(z_obj.z_err[nzyy,1,1].real), **kw_yy) #plot tipper @@ -4224,23 +4249,23 @@ def plot(self): ertx = mtplottools.plot_errorbar(axtxr, period[ntx], t_obj.tipper[ntx, 0, 0].real, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axtyr, period[nty], t_obj.tipper[nty, 0, 1].real, - t_obj.tippererr[nty, 0, 0], + t_obj.tipper_err[nty, 0, 0], **kw_yy) ertx = mtplottools.plot_errorbar(axtxi, period[ntx], t_obj.tipper[ntx, 0, 0].imag, - t_obj.tippererr[ntx, 0, 1], + t_obj.tipper_err[ntx, 0, 1], **kw_xx) erty = mtplottools.plot_errorbar(axtyi, period[nty], t_obj.tipper[nty, 0, 1].imag, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) if plot_tipper == False: ax_list = [axrxx, axrxy, axryx, axryy, @@ -4447,46 +4472,46 @@ def plot(self): erxy = mtplottools.plot_errorbar(axrxy, period[nzxy], abs(z_obj.z[nzxy,0,1].real), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axrxy, period[nzxy], abs(z_obj.z[nzxy,1,0].real), - abs(z_obj.zerr[nzxy,1,0].real), + abs(z_obj.z_err[nzxy,1,0].real), **kw_yy) #plot phase erxy = mtplottools.plot_errorbar(axpxy, period[nzxy], abs(z_obj.z[nzxy,0,1].imag), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axpxy, period[nzyx], abs(z_obj.z[nzyx,1,0].imag), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) #plot tipper if plot_tipper == True: ertx = mtplottools.plot_errorbar(axtr, period, t_obj.tipper[ntx, 0, 0].real, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axtr, period, t_obj.tipper[nty, 0, 1].real, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) ertx = mtplottools.plot_errorbar(axti, period, t_obj.tipper[ntx, 0, 0].imag, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axti, period, t_obj.tipper[nty, 0, 1].imag, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) if plot_tipper == False: @@ -4565,66 +4590,66 @@ def plot(self): erxx = mtplottools.plot_errorbar(axrxx, period[nzxx], abs(z_obj.z[nzxx,0,0].real), - abs(z_obj.zerr[nzxx,0,0].real), + abs(z_obj.z_err[nzxx,0,0].real), **kw_xx) erxy = mtplottools.plot_errorbar(axrxy, period[nzxy], abs(z_obj.z[nzxy,0,1].real), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axrxy, period[nzyx], abs(z_obj.z[nzyx,1,0].real), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) eryy = mtplottools.plot_errorbar(axrxx, period[nzyy], abs(z_obj.z[nzyy,1,1].real), - abs(z_obj.zerr[nzyy,1,1].real), + abs(z_obj.z_err[nzyy,1,1].real), **kw_yy) #plot phase erxx = mtplottools.plot_errorbar(axpxx, period[nzxx], abs(z_obj.z[nzxx,0,0].imag), - abs(z_obj.zerr[nzxx,0,0].real), + abs(z_obj.z_err[nzxx,0,0].real), **kw_xx) erxy = mtplottools.plot_errorbar(axpxy, period[nzxy], abs(z_obj.z[nzxy,0,1].imag), - abs(z_obj.zerr[nzxy,0,1].real), + abs(z_obj.z_err[nzxy,0,1].real), **kw_xx) eryx = mtplottools.plot_errorbar(axpxy, period[nzyx], abs(z_obj.z[nzyx,1,0].imag), - abs(z_obj.zerr[nzyx,1,0].real), + abs(z_obj.z_err[nzyx,1,0].real), **kw_yy) eryy = mtplottools.plot_errorbar(axpxx, period[nzyy], abs(z_obj.z[nzyy,1,1].imag), - abs(z_obj.zerr[nzyy,1,1].real), + abs(z_obj.z_err[nzyy,1,1].real), **kw_yy) #plot tipper if plot_tipper == True: ertx = mtplottools.plot_errorbar(axtr, period[ntx], t_obj.tipper[ntx, 0, 0].real, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axtr, period[nty], t_obj.tipper[nty, 0, 1].real, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) ertx = mtplottools.plot_errorbar(axti, period[ntx], t_obj.tipper[ntx, 0, 0].imag, - t_obj.tippererr[ntx, 0, 0], + t_obj.tipper_err[ntx, 0, 0], **kw_xx) erty = mtplottools.plot_errorbar(axti, period[nty], t_obj.tipper[nty, 0, 1].imag, - t_obj.tippererr[nty, 0, 1], + t_obj.tipper_err[nty, 0, 1], **kw_yy) if plot_tipper == False: @@ -4754,11 +4779,11 @@ def plot(self): cyx = tuple(3*[1-.5/(rr+1)]) resp_z_obj = self.resp_object[rr].mt_dict[station].Z - resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.zerr) + resp_z_err = np.nan_to_num((z_obj.z-resp_z_obj.z)/z_obj.z_err) resp_t_obj = self.resp_object[rr].mt_dict[station].Tipper resp_t_err = np.nan_to_num((t_obj.tipper-resp_t_obj.tipper)/ - t_obj.tippererr) + t_obj.tipper_err) rrp = mtplottools.ResPhase(resp_z_obj) @@ -7350,15 +7375,16 @@ def plot(self): self.residual.data_array['lat'].min())/5, 2) if x_locator > y_locator: - tick_locator = x_locator + self.tick_locator = x_locator elif x_locator < y_locator: - tick_locator = y_locator + self.tick_locator = y_locator + if self.pad_x is None: - self.pad_x = tick_locator/2 + self.pad_x = self.tick_locator/2 if self.pad_y is None: - self.pad_y = tick_locator/2 + self.pad_y = self.tick_locator/2 plt.rcParams['font.size'] = self.font_size @@ -7454,8 +7480,8 @@ def plot(self): ax.set_ylim(self.residual.data_array['lat'].min()-self.pad_y, self.residual.data_array['lat'].max()+self.pad_y) - ax.xaxis.set_major_locator(MultipleLocator(tick_locator)) - ax.yaxis.set_major_locator(MultipleLocator(tick_locator)) + ax.xaxis.set_major_locator(MultipleLocator(self.tick_locator)) + ax.yaxis.set_major_locator(MultipleLocator(self.tick_locator)) ax.xaxis.set_major_formatter(FormatStrFormatter('%2.2f')) ax.yaxis.set_major_formatter(FormatStrFormatter('%2.2f')) diff --git a/mtpy/modeling/occam1d.py b/mtpy/modeling/occam1d.py index 901896ec..666de87f 100644 --- a/mtpy/modeling/occam1d.py +++ b/mtpy/modeling/occam1d.py @@ -68,10 +68,9 @@ import time from matplotlib.ticker import MultipleLocator import matplotlib.gridspec as gridspec -import mtpy.core.edi as mtedi +import mtpy.core.mt as mt import mtpy.utils.calculator as mtcc import mtpy.analysis.geometry as mtg -import mtpy.analysis.pt as mtpt import matplotlib.pyplot as plt import subprocess import string @@ -91,7 +90,7 @@ class Data(object): data array of data data_fn full path to data file freq frequency array of data - mode mode to invert for [ 'TE' | 'TM' ] + mode mode to invert for [ 'TE' | 'TM' | 'det' ] phase_te array of TE phase phase_tm array of TM phase res_te array of TE apparent resistivity @@ -133,7 +132,7 @@ def __init__(self, data_fn=None, **kwargs): self._header_line = '!{0}\n'.format(' '.join(['Type','Freq#', 'TX#', 'Rx#','Data', 'Std_Error'])) - self.mode = 'TE' + self.mode = 'det' self.data = None self.freq = None @@ -143,8 +142,11 @@ def __init__(self, data_fn=None, **kwargs): self.phase_tm = None self.resp_fn = None + for key in kwargs.keys(): + setattr(self, key, kwargs[key]) + def write_data_file(self, rp_tuple=None, edi_file=None, save_path=None, - mode='TE', res_err='data', phase_err='data', thetar=0, + mode='det', res_err='data', phase_err='data', thetar=0, res_errorfloor = 0., phase_errorfloor = 0., z_errorfloor=0., remove_outofquadrant=False): """ @@ -208,105 +210,166 @@ def write_data_file(self, rp_tuple=None, edi_file=None, save_path=None, >>> ... phase_err=2.5, mode='TE', >>> ... save_path=r"/home/occam1d/mt01/TE") """ - self.mode = mode - + # be sure that the input mode is not case sensitive + self.mode = mode.lower() + + if self.mode == 'te': + d1_str = 'RhoZxy' + d2_str = 'PhsZxy' + elif self.mode == 'tm': + d1_str = 'RhoZyx' + d2_str = 'PhsZyx' + elif self.mode == 'det': + d1_str = 'RhoZxy' + d2_str = 'PhsZxy' + elif self.mode == 'zdet': + d1_str = 'RealZxy' + d2_str = 'ImagZxy' + elif self.mode == 'tez': + d1_str = 'RealZxy' + d2_str = 'ImagZxy' + elif self.mode == 'tmz': + d1_str = 'RealZyx' + d2_str = 'ImagZyx' + + # read in data as a tuple or .edi file if edi_file is None and rp_tuple is None: raise IOError('Need to input either an edi file or rp_array') if edi_file is not None: - #raise an error if can't find the edifile - if os.path.isfile(edi_file) == False: - raise IOError('No edi file {0} exists, check path'.format(edi_file)) #read in edifile - e1 = mtedi.Edi(edi_file) - impz = e1.Z + mt_obj = mt.MT(edi_file) + z_obj = mt_obj.Z + z_obj._compute_res_phase() + + # get frequencies to invert + freq = z_obj.freq + nf = len(freq) #rotate if necessary if thetar != 0: - impz.rotate(thetar) + z_obj.rotate(thetar) - #get resistivity and phase - rho = impz.resistivity - rho_err = impz.resistivity_err - phi = impz.phase - phi_err = impz.phase_err - - freq = impz.freq - nf = len(freq) + # be sure to compute resistivity and phase + z_obj._compute_res_phase() + + # get the data requested by the given mode + if self.mode == 'te': + data_1 = z_obj.resistivity[:, 0, 1] + data_1_err = z_obj.resistivity_err[:, 0, 1] + + data_2 = z_obj.phase[:, 0, 1] + data_2_err = z_obj.phase_err[:, 0, 1] + + elif self.mode == 'tm': + data_1 = z_obj.resistivity[:, 1, 0] + data_1_err = z_obj.resistivity_err[:, 1, 0] + + # need to put the angle in the right quadrant + data_2 = z_obj.phase[:, 1, 0]%180 + data_2_err = z_obj.phase_err[:, 1, 0] - #get determinant resistivity and phase - if 'det' in mode.lower(): - zdet, zdet_err = np.abs(impz.det) + elif self.mode == 'det': + zdet, zdet_err = z_obj.det zdet_err = np.abs(zdet_err) - rho = .2/freq*abs(zdet) - phi = np.rad2deg(np.arctan2((zdet**0.5).imag, (zdet**0.5).real)) - - + data_1 = .2/freq*abs(zdet) + data_2 = np.rad2deg(np.arctan2((zdet**0.5).imag, + (zdet**0.5).real)) + + data_1_err = np.zeros_like(data_1, dtype=np.float) + data_2_err = np.zeros_like(data_2, dtype=np.float) + for zd, ze, ii in zip(zdet, zdet_err, range(len(zdet))): + de1, de2 = mtcc.z_error2r_phi_error(zd.real, + ze, + zd.imag, + ze) + data_1_err[ii] = de1 + data_2_err[ii] = de2 + + elif self.mode == 'zdet': + data_1 = (zdet**0.5).real*np.pi*4e-4 + data_1_err = zdet_err**0.5*np.pi*4e-4 + + data_2 = (zdet**0.5).imag*np.pi*4e-4 + data_2_err = zdet_err**0.5*np.pi*4e-4 + + elif self.mode == 'tez': + data_1 = z_obj.z[:, 0, 1].real*np.pi*4e-4 + data_1_err = z_obj.z_err[:, 0, 1]*np.pi*4e-4 + + data_2 = z_obj.z[:, 0, 1].imag*np.pi*4e-4 + data_2_err = z_obj.z_err[:, 0, 1]*np.pi*4e-4 + + elif self.mode == 'tmz': + data_1 = z_obj.z[:, 1, 0].real*np.pi*4e-4 + data_1_err = z_obj.z_err[:, 1, 0]*np.pi*4e-4 + + data_2 = z_obj.z[:, 1, 0].imag*np.pi*4e-4 + data_2_err = z_obj.z_err[:, 1, 0]*np.pi*4e-4 + else: + raise IOError('Mode {0} is not supported.'.format(self.mode)) + if rp_tuple is not None: if len(rp_tuple) != 5: raise IOError('Be sure rp_array is correctly formated\n' 'should be freq, res, res_err, phase, phase_err') freq, rho, rho_err, phi, phi_err = rp_tuple - - if 'det' in mode.lower(): - rho = rho[:, 0, 1] - phi = phi[:, 0, 1] - rho_err = rho_err[:, 0, 1] - phi_err = phi_err[:, 0, 1] nf = len(freq) - - - if 'z' in mode.lower(): + + if self.mode in 'te': + data_1 = rho[:, 0, 1] + data_1_err = rho_err[:, 0, 1] + + data_2 = phi[:, 0, 1] + data_2_err = phi_err[:, 0, 1] + + elif self.mode in 'tm': + data_1 = rho[:, 1, 0] + data_1_err = rho_err[:, 1, 0] + + data_2 = phi[:, 1, 0]%180 + data_2_err = phi_err[:, 1, 0] + if 'det' in mode.lower(): - data1, data1_err = (zdet**0.5).real*np.pi*4e-4, zdet_err**0.5*np.pi*4e-4 - data2, data2_err = (zdet**0.5).imag*np.pi*4e-4, zdet_err**0.5*np.pi*4e-4 - else: - data1, data1_err = impz.z.real*np.pi*4e-4, impz.zerr*np.pi*4e-4 - data2, data2_err = impz.z.imag*np.pi*4e-4, impz.zerr*np.pi*4e-4 - dstring1,dstring2 = 'Real','Imag' - else: - data1, data1_err = rho, rho_err - data2, data2_err = phi, phi_err - dstring1,dstring2 = 'Rho','Phs' + data_1 = rho[:, 0, 1] + data_1_err = rho_err[:, 0, 1] + + data_2 = phi[:, 0, 1] + data_2_err = phi_err[:, 0, 1] + if remove_outofquadrant == True: + freq, data_1, data_1_err, data_2, data_2_err = self._remove_outofquadrant_phase( + freq, + data_1, + data_1_err, + data_2, + data_2_err) + nf = len(freq) - # remove data points with phase out of quadrant - if remove_outofquadrant: - if 'det' in mode.lower(): - if 'z' in mode.lower(): - include = (data1/data2 > 0) & (data1/data2 > 0) - else: - include = (phi%180 <= 90) & (phi%180 >= 0) & (phi%180 <= 90) & (phi%180 >= 0) - else: - if 'z' in mode.lower(): - include = (data1[:,0,1]/data2[:,0,1] > 0) & (data1[:,1,0]/data2[:,1,0] > 0) - else: - include = (phi[:,0,1]%180 <= 90) & (phi[:,0,1]%180 >= 0) & (phi[:,1,0]%180 <= 90) & (phi[:,1,0]%180 >= 0) - - freq,data1,data1_err,data2,data2_err = [arr[include] for arr in [freq, data1, data1_err, data2, data2_err]] - nf = len(freq) - # fix any zero errors to 100% of the res value or 90 degrees for phase - data1_err[data1_err==0] = data1[data1_err==0] - if 'z' in mode.lower(): - data2_err[data2_err==0] = data2[data2_err==0] - else: - data2_err[data2_err==0] = 90 - + # ---> get errors-------------------------------------- # set error floors - if 'z' in mode.lower(): + if 'z' in self.mode: if z_errorfloor > 0: - data1_err = np.abs(data1_err) - data1_err[data1_err/np.abs(data1+1j*data2) < z_errorfloor/100.] = np.abs(data1+1j*data2)[data1_err/np.abs(data1+1j*data2) < z_errorfloor/100.]*z_errorfloor/100. - data2_err = data1_err.copy() + data_1_err = np.abs(data_1_err) + test = data_1_err/np.abs(data_1+1j*data_2) < z_errorfloor/100. + data_1_err[test] = np.abs(data_1+1j*data_2)[test]*z_errorfloor/100. + data_2_err = data_1_err.copy() else: if res_errorfloor > 0: - data1_err[data1_err/data1 < res_errorfloor/100.] = data1[data1_err/data1 < res_errorfloor/100.]*res_errorfloor/100. + test = data_1_err/data_1 < res_errorfloor/100. + data_1_err[test] = data_1[test]*res_errorfloor/100. if phase_errorfloor > 0: - data2_err[data2_err < phase_errorfloor] = phase_errorfloor + data_2_err[data_2_err < phase_errorfloor] = phase_errorfloor + + if res_err != 'data': + data_1_err = data_1*res_err/100. + if phase_err != 'data': + data_2_err = np.repeat(phase_err/100.*(180/np.pi), nf) + # --> write file #make sure the savepath exists, if not create it if save_path is not None: self.save_path = save_path @@ -325,6 +388,7 @@ def write_data_file(self, rp_tuple=None, edi_file=None, save_path=None, self.data_fn = os.path.join(self.save_path, '{0}_{1}.dat'.format(self._data_fn, mode.upper())) + #--> write file as a list of lines dlines = [] dlines.append('Format: EMData_1.1 \n') @@ -339,10 +403,10 @@ def write_data_file(self, rp_tuple=None, edi_file=None, save_path=None, dlines.append('# Frequencies: {0}\n'.format(nf)) if freq[0] < freq[1]: freq = freq[::-1] - rho = rho[::-1] - phi = phi[::-1] - rho_err = rho_err[::-1] - phi_err = phi_err[::-1] + data_1 = data_1[::-1] + data_2 = data_2[::-1] + data_1_err = data_1_err[::-1] + data_2_err = data_2_err[::-1] for ff in freq: dlines.append(' {0:{1}}\n'.format(ff, self._string_fmt)) @@ -361,132 +425,64 @@ def write_data_file(self, rp_tuple=None, edi_file=None, save_path=None, # data2 = np.abs(data2) for ii in range(nf): - if 'te' in mode.lower(): - pol = 'xy' - i1,i2 = 0,1 - tetm = True - elif 'tm' in mode.lower(): - pol = 'yx' - i1,i2 = 1,0 - tetm = True -# data1 *= -1 -# data2 *= -1 - else: - tetm = False - - if tetm: - if 'z' in mode.lower(): - d1err,d2err = data1_err[ii, i1, i2],data2_err[ii, i1, i2] - else: - - if res_err == 'data': - d1err = data1_err[ii, i1, i2] - else: - d1err = data1[ii, i1, i2]*res_err/100. - - if phase_err == 'data': - d2err = data2_err[ii, i1, i2] - else: - d2err = phase_err/100*(180/np.pi) - - - - # write lines - if data1[ii, i1, i2] != 0.0: - dlines.append(self._ss.join([dstring1+'Z'+pol, str(ii+1), '0', '1', - '{0:{1}}'.format(data1[ii, i1, i2], self._string_fmt), - '{0:{1}}\n'.format(d1err, self._string_fmt)])) - data_count += 1 - if data2[ii, i1, i2] != 0.0: - dlines.append(self._ss.join([dstring2+'Z'+pol, str(ii+1), '0', '1', - '{0:{1}}'.format(data2[ii, i1, i2],self._string_fmt), - '{0:{1}}\n'.format(d2err, self._string_fmt)])) - data_count += 1 - -# elif mode.lower() == 'tm': -# pol = 'yx' -# if res_err == 'data': -# rerr = rho_err[ii, 1, 0] -# else: -# rerr = rho[ii, 1, 0]*res_err/100. -# -# if phase_err == 'data': -# perr = phi_err[ii, 1, 0] -# else: -# perr = phase_err/100*(180/np.pi) -# -# # write lines -# if rho[ii, 1, 0] != 0.0: -# dlines.append(self._ss.join(['RhoZ'+pol, str(ii+1), '0', '1', -# '{0:{1}}'.format(rho[ii, 1, 0],self._string_fmt), -# '{0:{1}}\n'.format(rerr, self._string_fmt)])) -# data_count += 1 -# if phi[ii, 1, 0] != 0.0: -# dlines.append(self._ss.join(['PhsZ'+pol, str(ii+1), '0', '1', -# '{0:{1}}'.format(phi[ii, 1, 0]%90,self._string_fmt), -# '{0:{1}}\n'.format(perr, self._string_fmt)])) -# data_count += 1 - else: - if 'det' in mode.lower(): - pol = 'xy' - if 'z' in mode.lower(): - d1err,d2err = data1_err[ii], data2_err[ii] - else: - if res_err == 'data': - if edi_file is not None: - d1err, d2err = mtedi.MTcc.zerror2r_phi_error(zdet[ii].real, - zdet_err[ii], - zdet[ii].imag, - zdet_err[ii]) - else: - d1err = rho_err[ii] - else: - d1err = rho[ii]*res_err/100. - - if phase_err == 'data': - if edi_file is not None: - d1err, d2err = mtedi.MTcc.zerror2r_phi_error(zdet[ii].real, - zdet_err[ii], - zdet[ii].imag, - zdet_err[ii]) - else: - d2err = phi_err[ii] - else: - d2err = phase_err/100*(180/np.pi) + # write lines + if data_1[ii] != 0.0: + dlines.append(self._ss.join([d1_str, str(ii+1), '0', '1', + '{0:{1}}'.format(data_1[ii], self._string_fmt), + '{0:{1}}\n'.format(data_1_err[ii], self._string_fmt)])) + data_count += 1 + if data_2[ii] != 0.0: + dlines.append(self._ss.join([d2_str, str(ii+1), '0', '1', + '{0:{1}}'.format(data_2[ii],self._string_fmt), + '{0:{1}}\n'.format(data_2_err[ii], self._string_fmt)])) + data_count += 1 - - # write lines - if rho[ii] != 0.0: - dlines.append(self._ss.join([dstring1+'Z'+pol, str(ii+1), '0', '1', - '{0:{1}}'.format(data1[ii],self._string_fmt), - '{0:{1}}\n'.format(d1err, self._string_fmt)])) - data_count += 1 - if phi[ii] != 0.0: - dlines.append(self._ss.join([dstring2+'Z'+pol, str(ii+1), '0', '1', - '{0:{1}}'.format(data2[ii]%180,self._string_fmt), - '{0:{1}}\n'.format(d2err, self._string_fmt)])) - data_count += 1 + #--> write file + dlines[num_data_line-1] = '# Data:{0}{1}\n'.format(self._ss, data_count) + + with open(self.data_fn, 'w') as dfid: + dfid.writelines(dlines) + print 'Wrote Data File to : {0}'.format(self.data_fn) + + #--> set attributes + if 'z' in mode.lower(): - self.z, self.z_err = data1 + 1j*data2, data1_err + self.z = data_1 + 1j*data_2 + self.z_err = data_1_err else: if 'det' in mode.lower(): - self.res_det = rho - self.phase_det = phi - else: - self.res_te = rho[:,0,1] - self.phase_te = phi[:,0,1] - self.res_tm = rho[:,1,0] - self.phase_tm = phi[:,1,0]%180 + self.res_det = data_1 + self.phase_det = data_2 + elif self.mode == 'te': + self.res_te = data_1 + self.phase_te = data_2 + elif self.mode == 'tm': + self.res_tm = data_1 + self.phase_tm = data_2 self.freq = freq - - #--> write file - dlines[num_data_line-1] = '# Data:{0}{1}\n'.format(self._ss, data_count) - dfid = open(self.data_fn, 'w') - dfid.writelines(dlines) - dfid.close() - print 'Wrote Data File to : {0}'.format(self.data_fn) + + def _remove_outofquadrant_phase(self, freq, d1, d1_err, d2, d2_err): + """ + remove out of quadrant phase from data + """ + # remove data points with phase out of quadrant + if 'z' in self.mode: + include = (d1/d2 > 0) & (d1/d2 > 0) + elif self.mode in ['det', 'te', 'tm']: + include = (d2%180 <= 90) & (d2%180 >= 0) & (d2%180 <= 90) & (d2%180 >= 0) + + newfreq, nd1, nd1_err, nd2, nd2_err = [arr[include] for arr in [freq, + d1, d1_err, d2, d2_err]] + # fix any zero errors to 100% of the res value or 90 degrees for phase + nd1_err[nd1_err == 0] = nd1[nd1_err == 0] + if 'z' in self.mode: + nd2_err[nd2_err == 0] = nd2[nd2_err == 0] + else: + nd2_err[nd2_err == 0] = 90 + + return newfreq, nd1, nd1_err, nd2, nd2_err def read_data_file(self, data_fn=None): """ @@ -618,7 +614,7 @@ def read_data_file(self, data_fn=None): self.data['phase'+pol][0] = np.rad2deg(np.arctan(self.data['res'+pol][0].imag/self.data['res'+pol][0].real)) for jjj in range(len(freq)): self.data['res'+pol][1,jjj],self.data['phase'+pol][1,jjj] =\ - mtcc.zerror2r_phi_error(self.data['z'+pol][0,jjj].real,self.data['z'+pol][1,jjj], + mtcc.z_error2r_phi_error(self.data['z'+pol][0,jjj].real,self.data['z'+pol][1,jjj], self.data['z'+pol][0,jjj].imag,self.data['z'+pol][1,jjj]) @@ -763,7 +759,7 @@ def read_resp_file(self, resp_fn=None, data_fn=None): for jjj in range(len(self.freq)): self.data['phase'+pol][1+ii,jjj] =\ - mtcc.zerror2r_phi_error(self.data['z'+pol][0+ii,jjj].real,self.data['z'+pol][1+ii,jjj].real, + mtcc.z_error2r_phi_error(self.data['z'+pol][0+ii,jjj].real,self.data['z'+pol][1+ii,jjj].real, self.data['z'+pol][0+ii,jjj].imag,self.data['z'+pol][1+ii,jjj].real)[1] if pol == 'xy': self.res_te = self.data['resxy'] @@ -2455,7 +2451,7 @@ def update_inputs(): return cline_inputs -def get_strike(edi_object,fmin,fmax,strike_approx = 0): +def get_strike(mt_object, fmin, fmax, strike_approx=0): """ get the strike from the z array, choosing the strike angle that is closest to the azimuth of the PT ellipse (PT strike). @@ -2463,10 +2459,10 @@ def get_strike(edi_object,fmin,fmax,strike_approx = 0): if there is not strike available from the z array use the PT strike. """ - fselect = (edi_object.freq > fmin) & (edi_object.freq < fmax) + fselect = (mt_object.Z.freq > fmin) & (mt_object.Z.freq < fmax) # get median strike angles for frequencies needed (two strike angles due to 90 degree ambiguity) - zstrike = mtg.strike_angle(z_object=edi_object.Z)[fselect] + zstrike = mtg.strike_angle(z_object=mt_object.Z)[fselect] # put both strikes in the same quadrant for averaging zstrike = zstrike % 90 zstrike = np.median(zstrike[np.isfinite(zstrike[:,0])],axis=0) @@ -2505,17 +2501,17 @@ def generate_inputfiles(**input_parameters): for edifile in edilist: # read the edi file to get the station name - eo = mtedi.Edi(op.join(edipath,edifile)) + eo = mt.MT(op.join(edipath,edifile)) print input_parameters['rotation_angle'],input_parameters['working_directory'],input_parameters['rotation_angle_file'] if input_parameters['rotation_angle'] == 'strike': spr = input_parameters['strike_period_range'] - fmax,fmin = [1./np.amin(spr),1./np.amax(spr)] + fmax,fmin = [1./np.amin(spr), 1./np.amax(spr)] rotangle = (get_strike(eo,fmin,fmax, - strike_approx = input_parameters['strike_approx']) - 90.) % 180 + strike_approx=input_parameters['strike_approx'])-90.)%180 elif input_parameters['rotation_angle'] == 'file': - with open(op.join(input_parameters['working_directory'],input_parameters['rotation_angle_file'])) as f: + with open(op.join(input_parameters['working_directory'], input_parameters['rotation_angle_file'])) as f: line = f.readline().strip().split() - print line,eo.station + print line, eo.station while string.upper(line[0]) != string.upper(eo.station): line = f.readline().strip().split() if len(line) == 0: diff --git a/mtpy/modeling/occam2d.py b/mtpy/modeling/occam2d.py index 4c7e34d1..903fbf1e 100644 --- a/mtpy/modeling/occam2d.py +++ b/mtpy/modeling/occam2d.py @@ -1913,7 +1913,7 @@ def build_data(self): rho_err = Z.resistivity_err phi_err = Z.phase_err z_array = Z.z - zerr_array = Z.zerr + z_err_array = Z.z_err for freq_num,freq in enumerate(self.frequencies): @@ -2038,10 +2038,10 @@ def build_data(self): tipper = T.tipper[idx_f] try: - tippererr = T.tippererr[idx_f] + tipper_err = T.tipper_err[idx_f] except: #print 'no Tipper error for station {0}/frequency {1}'.format(station_number,frequency_number) - tippererr = None + tipper_err = None if mode == 3 : @@ -2051,12 +2051,12 @@ def build_data(self): value = np.imag(tipper[0,1]) # get tipper error if it exists - if tippererr is None: + if tipper_err is None: raw_error = 0 if self.tipper_errorfloor is not None: raw_error = np.abs((self.tipper_errorfloor/100.)*value) else: - raw_error = tippererr[0,1] + raw_error = tipper_err[0,1] error = raw_error diff --git a/mtpy/modeling/occam2d_rewrite.py b/mtpy/modeling/occam2d_rewrite.py index 12b6b665..68023459 100644 --- a/mtpy/modeling/occam2d_rewrite.py +++ b/mtpy/modeling/occam2d_rewrite.py @@ -33,14 +33,8 @@ import numpy as np import scipy as sp from scipy.stats import mode -import sys import os import os.path as op -import subprocess -import shutil -import fnmatch -import datetime -from operator import itemgetter import time import matplotlib.colorbar as mcb from matplotlib.colors import Normalize @@ -48,24 +42,11 @@ import matplotlib.gridspec as gridspec import matplotlib.pyplot as plt import scipy.interpolate as spi - -import mtpy.core.edi as MTedi import mtpy.core.mt as mt import mtpy.modeling.winglinktools as MTwl -import mtpy.utils.conversions as MTcv -import mtpy.utils.filehandling as MTfh -import mtpy.utils.configfile as MTcf import mtpy.analysis.geometry as MTgy -import mtpy.utils.exceptions as MTex -import scipy.interpolate as si from mtpy.imaging.mtplottools import plot_errorbar - -reload(MTcv) -reload(MTcf) -reload(MTedi) -reload(MTex) - #============================================================================== class Mesh(): @@ -1133,7 +1114,7 @@ def generate_profile(self): print '='*72 print ('Rotated Z and Tipper to be perpendicular with ' '{0:+.2f} profile angle'.format((self.profile_angle-90)%180)) - print ('Profile angle is' + print ('Profile angle is ' '{0:+.2f} degrees E of N'.format(self.profile_angle)) print '='*72 @@ -2105,6 +2086,7 @@ def __init__(self, edi_path=None, **kwargs): self.freq_min = kwargs.pop('freq_min', None) self.freq_max = kwargs.pop('freq_max', None) self.freq_num = kwargs.pop('freq_num', None) + self.freq_tol = kwargs.pop('freq_tol', None) self.occam_format = 'OCCAM2MTDATA_1.0' self.title = 'MTpy-OccamDatafile' @@ -2299,6 +2281,9 @@ def _get_frequencies(self): *default* is None and will use the data to find num """ + if self.freq is not None: + return + #get all frequencies from all edi files lo_all_freqs = [] for edi in self.edi_list: @@ -2384,24 +2369,53 @@ def _fill_data(self): #loop over mt object in edi_list and use a counter starting at 1 #because that is what occam starts at. for s_index, edi in enumerate(self.edi_list): - rho = edi.Z.resistivity - phi = edi.Z.phase - rho_err = edi.Z.resistivity_err - station_freqs = edi.Z.freq - tipper = edi.Tipper.tipper - tipper_err = edi.Tipper.tippererr + + if self.freq_tol is None: + station_freq = edi.Z.freq + interp_freq = self.freq[np.where((self.freq >= station_freq.min()) & + (self.freq <= station_freq.max()))] + # interpolate data onto given frequency list + z_interp, t_interp = edi.interpolate(interp_freq) + z_interp._compute_res_phase() + + rho = z_interp.resistivity + phi = z_interp.phase + rho_err = z_interp.resistivity_err + if t_interp is not None: + tipper = t_interp.tipper + tipper_err = t_interp.tipper_err + else: + tipper = None + tipper_err = None + else: + station_freq = edi.Z.freq + rho = edi.Z.resistivity + phi = edi.Z.phase + tipper = edi.Tipper.tipper + tipper_err = edi.Tipper.tipper_err self.data[s_index]['station'] = edi.station self.data[s_index]['offset'] = edi.offset for freq_num, frequency in enumerate(self.freq): - #skip, if the listed frequency is not available for the station - if not (frequency in station_freqs): - continue - - #find the respective frequency index for the station - f_index = np.abs(station_freqs-frequency).argmin() + if self.freq_tol is not None: + try: + f_index = np.where((station_freq >= frequency*(1-self.freq_tol)) & + (station_freq <= frequency*(1+self.freq_tol)))[0][0] + + except IndexError: + f_index = None + else: + #skip, if the listed frequency is not available for the station + if (frequency in interp_freq): + #find the respective frequency index for the station + f_index = np.abs(interp_freq-frequency).argmin() + else: + f_index = None + if f_index == None: + continue + #--> get te resistivity self.data[s_index]['te_res'][0, freq_num] = rho[f_index, 0, 1] #compute error @@ -2650,7 +2664,7 @@ def write_data_file(self, data_fn=None): data_lines.append('{0:<18}{1}\n'.format('FREQUENCIES:', self.freq.shape[0])) for ff in self.freq: - data_lines.append(' {0:.6f}\n'.format(ff)) + data_lines.append(' {0:<10.6e}\n'.format(ff)) #--> data data_lines.append('{0:<18}{1}\n'.format('DATA BLOCKS:', diff --git a/mtpy/modeling/occamtools.py b/mtpy/modeling/occamtools.py index 6ed3a5e5..9ae6cca5 100644 --- a/mtpy/modeling/occamtools.py +++ b/mtpy/modeling/occamtools.py @@ -2575,7 +2575,7 @@ def make2DdataFile(self,edipath, mmode='both', savepath=None, stationlst=None, title=None, thetar=0, resxyerr=10, resyxerr=10, phasexyerr=5, phaseyxerr=5, ss=3*' ', string_fmt='%+2.6f', freqstep=1, plotyn='y', - lineori='ew', proj_strike='yes', tippererr=None, + lineori='ew', proj_strike='yes', tipper_err=None, ftol=.05): """ Make a data file that Occam can read. At the moment the inversion line @@ -2670,7 +2670,7 @@ def make2DdataFile(self,edipath, mmode='both', savepath=None, 'no' to project the line on the best fitting line through the stations. - **tippererr** : error for tipper in percent. If this value is + **tipper_err** : error for tipper in percent. If this value is entered than the tipper will be included in the inversion, if the value is None than the tipper will not be included. @@ -2747,7 +2747,7 @@ def make2DdataFile(self,edipath, mmode='both', savepath=None, if freq[0]