Skip to content
This repository has been archived by the owner on Jul 12, 2023. It is now read-only.

Highest Level Organization #43

Open
dccowan opened this issue Jun 29, 2020 · 0 comments
Open

Highest Level Organization #43

dccowan opened this issue Jun 29, 2020 · 0 comments

Comments

@dccowan
Copy link
Member

dccowan commented Jun 29, 2020

Right now, a lot of subroutines are defined in the highest level of the package. Generally, these would be called from utilities or a different supporting file. Here, we propose a home for highest and lower level functionality as part of this package.

Comments on current organization

  • survey, sources and receivers: On the update_to_simulation branch, we have created .py files for defining surveys, sources and receivers, respectively. Since receivers in FEM and TEM measure the fields differently, and since TEM sources require waveforms, we defined separate survey, source and receiver objects for FEM and TEM.

  • simulation: Right now, the local and stitched simulations are defined in separate .py files. This is similar to how we treated dcip problems in 1d, 2d and 3d. However, we could decide to create a single simulation.py file.

  • simulation: We could still made this file cleaner at the highest level. There are some if/else statements for different source types that should be moved to a lower level. We should just have a "compute" method that gets imported from supporting functions.
    image

Biggest Issues

  • Should we create a waveform class? Or defined waveform properties as properties of the source? See Issue Waveform Classes/Properties - Where should waveforms live? #42

  • Moving supporting functions out of highest level.

  • Parsing out supporting functions: Things to compute optimum layer thicknesses based on skin depth and auto defining certain waveforms are not necessarily in the best place. It would be good to outline and fill supporting functions in an organized way.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant