Skip to content

Conversation

@alarshi
Copy link
Contributor

@alarshi alarshi commented Jan 20, 2025

This PR adds a brief documentation of the code structure to address #532 . I am keeping the original comment of what this file should include for reference.

@github-actions
Copy link

Benchmark Main Feature Difference (99.9% CI)
Slab interpolation simple none 1.118 ± 0.009 (s=404) 1.117 ± 0.010 (s=404) -0.3% .. +0.1%
Slab interpolation curved simple none 1.120 ± 0.011 (s=392) 1.121 ± 0.017 (s=414) -0.3% .. +0.3%
Spherical slab interpolation simple none 1.099 ± 0.008 (s=413) 1.100 ± 0.009 (s=408) -0.1% .. +0.2%
Slab interpolation simple curved CMS 1.167 ± 0.010 (s=384) 1.167 ± 0.011 (s=390) -0.2% .. +0.2%
Spherical slab interpolation simple CMS 1.450 ± 0.015 (s=317) 1.449 ± 0.013 (s=306) -0.3% .. +0.2%
Spherical fault interpolation simple none 1.101 ± 0.008 (s=400) 1.101 ± 0.008 (s=420) -0.1% .. +0.2%
Cartesian min max surface 2.544 ± 0.016 (s=195) 2.546 ± 0.017 (s=161) -0.2% .. +0.3%
Spherical min max surface 7.170 ± 0.085 (s=67) 7.151 ± 0.074 (s=61) -0.9% .. +0.4%

Copy link
Member

@MFraters MFraters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this! A few suggestions for clarifications and a bit of rewording.

```
```

The main file that generates the GWB world is `source/world_builder/world.cc` using the specified parameterizations in a given worldbuilder (`*.wb`) file. The executable `gwb-dat` or `gwb-grid` is then used to query the World on a set of specified points or on a grid, respectively.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The main file that generates the GWB world is `source/world_builder/world.cc` using the specified parameterizations in a given worldbuilder (`*.wb`) file. The executable `gwb-dat` or `gwb-grid` is then used to query the World on a set of specified points or on a grid, respectively.
The main file that is reponsible for creating and accessing the GWB world is `source/world_builder/world.cc`. When creating a new GWB world it uses the parameterizations from the worldbuilder (`*.wb`) input file to create the world. External programs, such as `gwb-dat` or `gwb-grid` or other software such as ASPECT or SEPRAN, can then use the provided interfaces to ask about certain properties (e.g. temperature, composition) on any location.


The main file that generates the GWB world is `source/world_builder/world.cc` using the specified parameterizations in a given worldbuilder (`*.wb`) file. The executable `gwb-dat` or `gwb-grid` is then used to query the World on a set of specified points or on a grid, respectively.

GWB determines where a given point lies in the World amongst the specified tectonic features. The utility functions to compute the distance of point from a feature are defined in the `source/world_builder/utilities.cc`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GWB determines where a given point lies in the World amongst the specified tectonic features. The utility functions to compute the distance of point from a feature are defined in the `source/world_builder/utilities.cc`.
GWB determines where a given point lies in the World amongst the specified tectonic features. This happens mostly through utility functions, which to compute the distance of point from a feature. These and several other utility functions are defined in the `source/world_builder/utilities.cc`.

@alarshi
Copy link
Contributor Author

alarshi commented Jan 21, 2025

I am closing this since I accidentally push it to the upstream and not my fork repository.

@alarshi alarshi closed this Jan 21, 2025
@MFraters MFraters deleted the add-code-structure branch January 21, 2025 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants