Problem loading initial topography

Hi all,

I am using ASPECT 2.1.0, for a 3D model. I am trying to load an initial topography, but I am unable to succeed.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Loading Ascii data boundary file ./MyIniTopo.txt.

Loading new data file did not succeed.
Assuming constant boundary conditions for rest of model run.

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

In my .prm file, my model definition and topo loading look like this:

subsection Geometry model
set Model name = box

subsection Box
set X extent = 4e5
set Y extent = 2e5
set Z extent = 2.5e5
end

subsection Initial topography model

set Model name = ascii data

subsection Ascii data model
   set Data directory = ./
   set Data file name = MyIniTopo.txt
end

end

end
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

And my topography file MyIniTopo.txt has the right format (after having passed the error), and describes a 501x51 horizontal grid, with a total of 25551 topography points.

POINTS: 501 51 25551

0.0 0.0 2000.000000
800.0 0.0 2000.000000
1600.0 0.0 2000.000000
2400.0 0.0 2000.000000
…

“MyIniTopo.txt” 25552L, 754949C

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

So I think the data (‘ nxi nyj zij ’) ascends first in x, has the right format…

I think the error may come from the fact that the topography grid is not the same as the model grid (which is decided/constructed later by ASPECT). But, as far as I understood from this forum, the initial topography loading should be done by ASPECT once the finest refinement level has been carried out, at time 0.

What should I do to successfully load my initial topography?

cheers,
Felipe

Hi Felipe,

Thanks for posting to the forum! A couple of thoughts below.

  1. The few values you posted do look to have the correct format, but I would double check additional values to see if they follow the format in the examples within data/geometry-model/initial-topography-model/ascii-data/test

  2. You use ./, but whenever I load ascii files into ASPECT I always provide the full path to the file. Perhaps give this a try if you have not done so already.

  3. During the first time step I believe the topography is resampled from the ascii file at every refinement.

  4. Just to be sure, is the model you ran giving no initial topography (i.e, the surface is flat)?

  5. Perhaps one way to debug the error would be to start from the existing 3D cartesian initial topography test (box_initial_topography_ascii_data.prm) and systematically start modifying it and the associated topography ascii file until you have your current setup?

Cheers,
John

Hi Felipe,

one more point: the line that has the keyword points also needs to be formatted correctly for the file to load. So as far as I know, assuming you have 501 points in x direction and 51 points in y direction, in your case that would be:

# POINTS: 501 51

(without the 25551. As John mentions, you can see an example file here.)

Best,
Juliane

Hi John and Julianne,

Thanks for replying. I hope you guys are doing well.

I haven’t been able to succeed in loading the topography.
  1. Julianne, thanks, I removed the number of points in z. That was definitely a mistake on my side, though not obvious from the manual (with a 2D example).

John:
2) I modified my file for it to have the exact format as the one of the example (I had to program strings to build a format like that). Btw, the example format seems a bit peculiar (variable spacing, no decimal digits…):

‘x. y. z.’ that is: ‘no space, x-value., space, y-value., space-space, z-value.

The numbers have floating point, but no decimal digits… odd !

Anyway, before all this problem, I expected Aspect, to eat different number formats, as Dealii is based on programs like ‘numdiff’, etc.

  1. I changed the directory from ./ to the full path (which had worked for me in previous projects, but in a different cluster though).

  2. I expect Aspect to read and assimilate this geometry model first, then construct the grid/mesh, then refine it, and then to approximate the topography I loaded.

  3. My current model topography is simple: a platform cosine-tapering-off to a basal plane. But I expect to load complex topographies in the near future.

  4. I have tested loading an intentionally wrong filename (to test location logic), it says file not found. Good. Then I have tested with the correct filename: its simply says ‘ Loading new data file did not succeed. Assuming constant boundary conditions for rest of model run.’ Which I interpret as that it actually finds the file, but does NOT like the file. My file ‘MyIniTopo.txt’ starts like this:

POINTS: 501 51

Columns: x z Topography[m]

…

I also tried loading the example topography file and modifying my model-box lengths to make them 660 km as in that example file. It does not work, it posts the same ‘Loading new data file did not succeed. Assuming constant boundary conditions for rest of model run’.

  1. I have all the files in the same directory…

I think that there may be something more basal that I am doing wrong.

I have a question: If my box height is DZ, does that length needs to include the maximum topography as added to the depth range? Somehow having the reference base ground-air interface level not at max(z), but at z = DZ -max(topo) ? That would be too much to ask for a model setting, I don’t think aspect was programmed that way…

cheers,
Felipe

I think the format of the numbers I pasted there is not the one I actually have… there must be a glitch with pasting from vi to this interface.

This is how I have it:

POINTS: 501 51

Columns: x z Topography[m]

…

Felipe

Sorry, there is definitely a problem with this interface. It does not paste the text correctly., even though they look good.

I cannot upload files here, cause the system says I am a new user…

whatever, my format is

x.SPACEy.SPACE-SPACEz.

char by char exactly as that of the example.

Felipe

Hi Felipe,

I confess I’m having some trouble sifting through the information above in the last few posts. However, one thing that stands out is that the data file structure you posted (see below) is not correct for a 3D model:

POINTS: 501 51

  1. 0.2000.
  2. 0.2000.

For a 3D model you need three columns (x, y, topography) and there is also an extra decimal at the end of the topography values (0.2000**.**).

Rather than have a script write out the ascii file, can you try modifying the example file Juliane linked, and manually edit the x, y, and topography values based on your model domain and a simple topography profile (ex: high point in the center)?

Given that formatting in that file is already correct, this will help point us toward where the issues are.

Cheers,
John

Felipe,
given that you can’t attach the file here, can you upload it to some shared site to which you can link?
Best
WB

Hi John,

Of course, that posting is not informative. Of course I understand the format for 3D (x y z). The problem is that when I paste, it looks perfect; but when it gets posted, the format is messed up.

I replicated the example format, char by char.

Following Wolfgang suggestion, I will upload the file using the ASPECT forum.

cheers many,
Felipe

Hi Julianne, John Wolfgang,

Of course, that posting was not informative, it seems the interface of these forums does not support variable spacing formats. Of course I understand the format for 3D (x y  z). The problem is that when I paste, it looks perfect; but when it gets posted, the format and sometimes the info are messed up.

I replicated the example format, char by char.

Following Wolfgang suggestion, I have uploaded my topo file in a repository in my GITHUB profile. UfrancoU, repository name Longtrain.

It’s the only repository, so you should be able to find it easily. I hope it works.

https://github.com/UfrancoU/longtrain

https://github.com/UfrancoU/longtrain/blob/master/MyIniTopo.txt

cheers many cheers

Felipe

Felipe,

I think that you’re looking at the wrong problem. In your first message, you show the following error message:

The problem is not in your initial topography, but the message concerns the fact that there are no further gplates input files.

Best
WB

Hi Wolfgang,

Yes, I may be looking at the wrong problem (as I think I have the file formats replicated).

What I am trying to do for now, is to simply load an initial topography (that I created at my will, for now simply being a 2 km flat platform cosine-tapering-off to a flat baseland), and to run the model with it. The boundary conditions over that surface would be: (i) open (undefined, free 3D), or (ii) traction boundary with some atmospheric pressure…

So, I am not aiming at Gplates at all. The deformation of this free surface would respond somehow to vertical forces balance, and forces or velocities on the model side walls.

Is there any ingredient missing?

I mean, Aspect can do this.

cheers,

Felipe

What I am trying to do for now, is to simply load an initial topography (that
I created at my will, for now simply being a 2 km flat platform
cosine-tapering-off to a flat baseland), and to run the model with it. The
boundary conditions over that surface would be: (i) open (undefined, free 3D),
or (ii) traction boundary with some atmospheric pressure…

That is, as far as I know, both possible.

So, I am not aiming at Gplates at all. The deformation of this free surface
would respond somehow to vertical forces balance, and forces or velocities on
the model side walls.

That’s the point of a free surface. But your program is trying to load gplates
files for some reason, and that’s what’s causing your error.

Best
W.

Hi Wolfgang, or to whom it may concern,

I am wondering on and reviewing some features of my model, in order to make it to successfully load an initial topo.
  1. The models I am running have two compositional fields that reach the surface, and worse yet they are separated by a vertical interface. The initial topography would load over the model upper boundary, essentially over two different compositional fields. Is this in principle a problem for Aspect?
    I tried making the two aforementioned compositional fields being a single one, say a finite-thickness compositional layer whose roof is the free surface. Over this I ask aspect to load the initial topo. It did not work either, the error is the same:

    Loading Ascii data boundary file /home/Felipe/MWork/MyIniTopo.txt.

    Loading new data file did not succeed.
    Assuming constant boundary conditions for rest of model run.

  2. I am imposing a minimum refinement function that is inhomogeneous both in x and z (not in y). The upper surface would be approximated (later I guess, after the initial mesh is ready) by a variable-size mesh at the surface. Is that a problem in principle? Should I prescribe a minimum refinement that at the surface is homogeneous?

  3. I understand that the error message somehow is interpreted as leading to an expected Gplates loading… But, I am totally not using that in this project. At this point I am not clear what is expected for an Aspect model to successfully eat an initial topography.
    For example, the alternative of loading a ‘Prm polygon’ sounds again like a file loading…
    The alternative of making the model a ‘box with lithosphere boundary indicators’, does not seem to modify the topography concepts.

cheers,
Felipe

Felipe,
your approach to this whole problem is wrong. You see an error message and instead of addressing this one error message, you are thinking about minimum refinement functions, compositional fields, and many other things. You are making your model more complicated rather than throwing everything that seems superfluous to find where exactly the problem is.

I don’t have your input file, but I’ve already pointed out that the error messages comes from the Gplates reader. If you don’t understand what the error means, then that is where your brainpower needs to go – not towards thinking about compositional fields, mesh sizes, etc.

Best
W.

Hi Felipe,

To follow-up on Wolfgang’s last message, given your error there must be a section of your parameter file trying to load gplates files and resolving this is step 1.

Do the following lines appear in your parameter file?:

subsection Boundary velocity model
  subsection GPlates model

John

Hi all,

To add my voice to the cacophony, I think the message we’re discussing is not actually an error message. It is just a warning that if the user intends time dependent input, there will be no more time dependence from that time step. For initial topography, there will not be any time dependence after time step 0, and so that message will always appear at the beginning of any run.

I got confused by the same warning last year at the Hackathon, and changed the wording in a pull request last year: https://github.com/geodynamics/aspect/pull/2998

With this in mind, can I repeat John’s question?

  • Just to be sure, is the model you ran giving no initial topography (i.e, the surface is flat)?

If there’s another error, it would be great to know what it is.

Best wishes,

Bob

1 Like

Hi all,

Thanks a lot for your support and advice. Many thanks.

  1. Wolfgang and John: Sure, I have followed your advice. My boundary conditions on this prm file are:

subsection Boundary velocity model

set Prescribed velocity boundary indicators = left:function , right: function

set Tangential velocity boundary indicators = back , front , bottom

subsection Function
set Variable names = x,y,z #,t
set Function constants = V=3.17e-10 , taperdz=0.5e5

set Function expression = if( x<=0 , if( z>1.5e5, V , if( z<1e5, 0 , V*(z-1e5)/taperdz )), if( z>0.5e5, -V , -V*z/taperdz ) ) ; 0 ; 0

end
end

###############

The thing is this: I have never used Gplates, and I am not intending to do so in this project either.

Using vi editor for my prm file, I have searched for the string gplates (possible typos I may have made, I made have added it by mistake), so I typed /gplates , /Gplates, /GPlates , / GPLATES , /plates , /gpla , /lates ….

All of them say: Pattern not found.

  1. I am inclined to follow the reasoning of BobmyHill. Certainly, there is NO error; in fact Aspect says “Loading new data file did not succeed. Assuming constant boundary conditions for rest of model run.” and this may signify that in a loop of expected file loads, there is no new incoming file to load, and that the next one is assumed flat.

This is very cumbersome and confusing for debugging and understanding. For that reason I was discouraged to continue with those model runs, so I canceled them.

I will see what happens if I leave them to run. When I get an output, I will see if there is topography, and lithostatic pressure.

Let’s hope it is just that. In that case, I could help improving this Aspect warning, to try to make it more explicit, which is something bobmyhill already improved in certain way.

cheers,
thanks to you all,

Felipe

Hi Felipe,

Fingers crossed, and I’m sorry if my message yesterday was a little brusque.

I think a few changes have been made to the ASPECT initial topography plugin since ASPECT 2.1 was released. Nothing major, but there have been several improvements by people better at coding than myself :). For this reason, you might want to check out the development version. I realise that using the dev version is probably not allowed on a cluster, but it might still be useful to have a copy. If I find a problem in any software, I often search the dev version to see if the offending code has been changed already.

Any improvements to the development code are always appreciated - one of the reasons I love working on ASPECT is how welcoming and helpful the whole team is to new developers. Their critical analysis of my pull requests has greatly improved my coding ability.

Best wishes,

Bob

Hi all,

Great !

  It was like bobmyhill had expected.

 There is initial topography. Thank you all.

 I left my model run, I plotted the state at time t=0. Then on Paraview, I effectively see a non-flat surface (2 km highland tapering-off to a base level, with tiny slopes, but they are visible).

 I plotted the pressure, investigated over a horizontal cutting surface at the height of the lowlands base level. There is a greater pressure under the highlands, low pressure over the base level. There is though a spike in pressure in the middle of the domain, which I almost understand as being due to dynamic pressure effects regarding my BCs and material heterogeneities. I uploaded a figure on my github repository if you wanna see.

The warning  “Loading new data file did not succeed. Assuming constant boundary conditions for rest of model run.” after an initial topo has been loaded, is definitely misleading.

So, I guess we need to slightly modify ASPECT warning for a case like this.

I run Aspect 2.1.0 release, using deal.II 9.1.1. The modification would something like a few lines having … if else end.

Is this problem still arising in the development version?

cheers,
thank you very much.
Felipe