JuliaGeodynamics / GeophysicalModelGenerator.jl

Import, process and interpret geophysical data sets to be used in numerical models.
MIT License
60 stars 29 forks source link

Visualising PECUBE Output #12

Open peizenhofer opened 2 years ago

peizenhofer commented 2 years ago

Hi Boris & Marcel,

It would be helpful to visualise PECUBE thermal output incl. age prediction on the surface. I could provide our Tübingen specific output files if needed but as you suggested it's probably better to look at the output from J. Braun's original code.

Alternatively, we formatted our output as Tecplot files. So maybe a general Tecplot file wrapper would be helpful?

Otherwise, really cool work!

Cheers, Paul

boriskaus commented 2 years ago

Seems like a good idea. Could you give us a link to the PECUBE code, and in particular, it's output format? Do you do simulations in cartesian coordinates, or are they in UTM or Lon/Lat?

peizenhofer commented 2 years ago

Link to original PECUBE source code by Jean Braun: https://github.com/jeanbraun/Pecube

There you'll find documentation of output formats as well as examples. As mentioned, we've heavily modified J. Braun's version and work with different, Tübingen specific input and output files.

mthielma commented 2 years ago

It seems if PECUBE also writes out CSV files. If that is the case, we can handle that relatively easily once we know how it is organized. Handling the VTK files that are apparently also generated should also not be such a big issue. For the binary output files, the PECUBE manual states:

The binary files exist mostly for legacy reasons. They should not be used by the user. If a user needs access to the complete temperature structure, for example, the author should be contacted for further information on how to access these binary files.

boriskaus commented 2 years ago

yes, it would indeed be helpful if you can explain us better how you actually use it, and what would be the ideal requirements. Write topography of a certain location as input for PECUBE?

peizenhofer commented 2 years ago

One problem with us (Tübingen in particular, and probably many other thermochronology groups) using PECUBE is that input/output files are not standardised, somewhat based on J. Braun's original code. Perhaps a better solution would be if you provide a general output format that is best suitable for you and that we in the thermochronology community will follow when using the GeophysicalModelGenerator, say a CSV file with [x,y,z,age1,age2,etc]. I then could provide you with a suitably formatted output of one of my recent Alps 2D sections for testing.

Here in Tübingen we primarily apply PECUBE to 2D sections at the moment (can theoretically extend that to 3D). We produce two primary PECUBE output types: temperature [x, y, z, temperature] and surface age prediction [x,y,surface_elevation,age1,age2,etc]. This general format should be common across the community.

Regarding topography: we usually provide a [x,y,z] user topography file as input sometimes tied to an UTM coordinate. This is not necessarily the present-day surface topography because our topography is often based on external topography modelling.

boriskaus commented 2 years ago

Could you perhaps write a small Julia scripts that reads in your CSV file? Have a look at the first example. We could take it from there.

peizenhofer commented 2 years ago

Attaching a simple Julia script that reads in our Tübingen-specific PECUBE temperature ([x,y,z,T]) and age ([x,y,z,AHe,AFT,ZHe,ZFT,MAr]) output files into Julia. I'm also attaching the original output files (tecplot *.dat files). Note, cartesian coordinates still need to be translated into longitude/latitude coordinates for Paraview Output in the GeophysicalModelGenerator.

The data were modelled along the TRANSALP transect, WGS coordinates: Latitude = [48.347372 46.201322 45.691667]; Longitude = [11.948172 11.862854 12.171283];

TuebPecube2Julia.zip

mthielma commented 2 years ago

Great thanks, I will have a look! Do you want to make a tutorial out of it that we can put in the documentation? I can also help you with that.

peizenhofer commented 2 years ago

As you will see, it's an extremely simple script (and only works for Tübingen specific PECUBE output). I'm not sure if it warrants a dedicated tutorial page. Perhaps by adding longitude/latitude coordinate conversion and creation of a Paraview file (similar to the example page that Boris linked) could work as an individual tutorial page though. Let me know.