danigeos / tisc

TISC is a code to model isostasy, erosion/sediment transport/sedimentation, and tectonic kinematics, mostly for the study of sedimentary basins and source to sink systems.
https://sites.google.com/site/daniggcc/software/tisc
16 stars 2 forks source link

Erosion and surface transport not working #4

Closed jennawest closed 8 years ago

jennawest commented 8 years ago

I recently downloaded the newest version of TISC and when I go to do the demo examples, I get different results. I am unsure whether the demo files are incomplete or whether it is a problem with my download. Attached is an example of the ps I got from running the demo/6_deformation file. Instead of the basins being filled with sediment, they are filled with water. Similar problems happened with every demo.

ps file: demo

danigeos commented 8 years ago

hi Jenna, assuming you did not edit the demo.PRM file, the only explanation i see is that you changed the tisc/config.mk file and changed the following line DEFS = -DSURFACE_TRANSPORT

In that case, surf. procs would not be calculated. Otherwise, send me the first ~100 lines of your screen output with options -V2 and -V3.

jennawest commented 8 years ago

The makefile has DEFS = -DSURFACE_TRANSPORT so I have attached the screen output


From: Daniel Garcia-Castellanos notifications@github.com Sent: Wednesday, May 18, 2016 12:33:54 AM To: danigeos/tisc Cc: West, Jenna M; Author Subject: Re: [danigeos/tisc] Lakes (#4)

hi Jenna, assuming you did not edit the demo.PRM file, the only explanation i see is that you changed the tisc/config.mk file and changed the following line DEFS = -DSURFACE_TRANSPORT

In that case, surf. procs would not be calculated. Otherwise, send me the first ~100 lines of your screen output with options -V2 and -V3.

You are receiving this because you authored the thread. Reply to this email directly or view it on GitHubhttps://github.com/danigeos/tisc/issues/4#issuecomment-219929446

mberry28 commented 8 years ago

This happened with me too.

If you have a sea level set to 0, and your Z initial set to 0 (meaning your mean elevation), and your basin extends to outside of your model domain, then the "sea" will come in if a basin is below 0.

Also, if your eros_model = 0 then no sediments will accumulate. Daniel can correct me if I am wrong.

danigeos commented 8 years ago

What you say is all correct, Michael, thanks for contributing. But Jenna's problem it's rather about demo 6 not eroding at all, i understand. Jenna, you forgot the screen output in your message. Maybe you can send me just a zip of the entire project folder after your failed run? i can test that easily

jennawest commented 8 years ago

I'm sorry, the screen output attached to the email but not the github conversation. I've attached a zip of the project folder and included in it is the screen output text file named "deformation_output" 6_deformationcopy2.zip

danigeos commented 8 years ago

@jennawest your prj works just normal here, so the only explanation i see is some compilation problem.

I attach my screen output obtained with tisc demo | tee demo.screen

My guess is that you must have edited the code (?). OR, wait: I just saw that you are running a 20122 version: Version: TISC_2012-08-29

The easiest way to solve this is: download or clone TISC from github again and substitute your version; make sure the executable bin/tisc is deleted; compile the new download; run demo #6 again.

Changes are minor, but there must be some parameter conflict. That solution should work.

dkowis commented 8 years ago

I'm helping @jennawest get this running, and I've set up a fresh install of ubuntu 14.04.1.

Here's what we did:

Installed software: build-essential gmt gfortran finger ksh csh tofrodos

git clone https://github.com/danigeos/tisc.git

Disable the mailing commands in tisc.c so it doesn't send emails. Just commented out the system line calls, so it didn't send email as part of the execution.

cd tisc && make

Path setups: Add /usr/lib/gmt/bin to the user's path (for the gmt tools) add ~/tisc/bin and ~/tisc/script to the user's path

We ran demo6, and did not meet with success: cd demo/6_deformation; tisc demo

Here's the output: demo6.txt

I think the tisc execution worked, but not GMT.

Tisc version:

tisc@ubuntuTisc:~/tisc/demo/6_deformation$ tisc --version

* TISC: TECTONICS, ISOSTASY, SURFACE PROCESSES, AND CLIMATE PLANFORM MODELING *
Version: TISC_2014-05-24

GMT Version:

tisc@ubuntuTisc:~/tisc/demo/6_deformation$ dpkg -l gmt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                Version                Architecture           Description
+++-===================================-======================-======================-=============================
ii  gmt                                 4.5.11-1build1         amd64                  Generic Mapping Tools
danigeos commented 8 years ago

@dkowis TISC version is ok. And it apparently works fine. You must be right, the GMT scripts are failing. All GMT scripts for TISC are written for GMT4, and this is the one you are using. So i am lost.

can you run this: generate_topo_cpt.job you should get:


-5000 130 60 170 -3000 130 60 170 -3000 90 90 180 -1500 90 90 180 -1500 90 150 190 -800 90 150 190 -800 150 215 225 -200 150 215 225 -200 210 240 240 0 210 240 240 0 100 200 100 200 100 200 100 200 160 255 100 600 160 255 100 600 255 255 120 1000 255 255 120 1000 255 220 60 1500 255 220 60 1500 210 180 110 2000 210 180 110 2000 210 150 80 3000 210 150 80 3000 190 120 50 5000 190 120 50 5000 205 205 205 7000 205 205 205 B 50 50 50

F 220 220 220

something similar should be contained in tmp.tisc.gmt.demo.topocpt.tmp (if you remove the rm at the end of the tisc.gmt.job script in the demo/6* directory.

for the record, the first warning about "xyz2grd: Warning: No valid values in grid [tmp.tisc.gmt.demo.chi.grd.tmp]" should be no problem. Neither should the complain about the *.bas missing file.

dkowis commented 8 years ago
tisc@ubuntuTisc:~/tisc/demo/6_deformation$ generate_topo_cpt.job 
        -5000   130   60  170   -3000   130   60  170
        -3000   90    90  180   -1500   90    90  180
        -1500   90   150  190   -800    90   150  190
        -800    150  215  225   -200    150  215  225
        -200    210  240  240   0       210  240  240
        0       100  200  100   200     100  200  100
        200     160  255  100   600     160  255  100
        600     255  255  120   1000    255  255  120
        1000    255  220   60   1500    255  220   60
        1500    210  180  110   2000    210  180  110
        2000    210  150   80   3000    210  150   80
        3000    190  120   50   5000    190  120   50
        5000    205  205  205   7000    205  205  205
B       50  50  50 
F       220 220 220 

The output from the generate_topo_cpt.job appears to be the same, but the tmp.tisc.gmt.demo.topo_cpt.tmp file you mentioned is empty. I used a sed command to remove the rm at the end of all the job scripts, so I have all the tmp files laying around :)

danigeos commented 8 years ago

that file should be created in an awk in line 331 at tisc.common.gmt.job, called from tisc.gmt.job. Can you check what's going wrong there? TISC is calling 'tisc.gmt.job demo' near the end of the 'tisc demo' run.

On Wed, May 25, 2016 at 4:32 AM, David Kowis notifications@github.com wrote:

tisc@ubuntuTisc:~/tisc/demo/6_deformation$ generate_topo_cpt.job -5000 130 60 170 -3000 130 60 170 -3000 90 90 180 -1500 90 90 180 -1500 90 150 190 -800 90 150 190 -800 150 215 225 -200 150 215 225 -200 210 240 240 0 210 240 240 0 100 200 100 200 100 200 100 200 160 255 100 600 160 255 100 600 255 255 120 1000 255 255 120 1000 255 220 60 1500 255 220 60 1500 210 180 110 2000 210 180 110 2000 210 150 80 3000 210 150 80 3000 190 120 50 5000 190 120 50 5000 205 205 205 7000 205 205 205 B 50 50 50 F 220 220 220

The output from the generate_topo_cpt.job appears to be the same, but the tmp.tisc.gmt.demo.topo_cpt.tmp file you mentioned is empty. I used a sed command to remove the rm at the end of all the job scripts, so I have all the tmp files laying around :)

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/danigeos/tisc/issues/4#issuecomment-221457811

dkowis commented 8 years ago

I put some echos in the tisc.common.gmt.job right before line 331 to see what it's doing:

set topomin = `grdinfo $tmp.top.grd.tmp | awk '{if ($2=="z_min:") print $3}'`
set topomax = `grdinfo $tmp.top.grd.tmp | awk '{if ($2=="z_min:") print $5}'`
echo "TOPOMIN: $topomin"
echo "TOPOMAX: $topomax"
echo "COMMAND: awk -v zmin=$topomin -v zmax=$topomax '{if ($5>zmin && $1 <zmax) print $0}' $tmp.topo_palet.tmp > $tmp.topo_cpt.tmp"
awk -v zmin=$topomin -v zmax=$topomax '{if ($5>zmin && $1 <zmax) print $0}' $tmp.topo_palet.tmp > $tmp.topo_cpt.tmp
TOPOMIN: 0
TOPOMAX: 867
COMMAND: awk -v zmin=0 -v zmax=867 '{if (>zmin && demo <zmax) print /home/tisc/tisc/script/tisc.gmt.job}' tmp.tisc.gmt.demo.topo_palet.tmp > tmp.tisc.gmt.demo.topo_cpt.tmp

contents of tmp.tisc.gmt.demo.topo_palet.tmp is empty.

dkowis commented 8 years ago

I think I fixed it, at least, I got more output in the PS file.

176 #PALETTES:
177 echo "SEA LEVEL: $sea_level"
178 source $tisc_dir/script/generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp
179 $tisc_dir/script/generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp
180 #makecpt -Cglobe  > $tmp.topo_palet.tmp
181 echo "AFTER THE GEN..."

Around line 176, I added a bit of debug output, and then I noticed that the output was getting to the console, and not to the output file. So I just called the file again, because it doesn't have any mutable logic in it, and then that file was populated and I ended up with a (maybe) accurate demo.ps file.

demo.zip

danigeos commented 8 years ago

ok. you should reproduce the ps file downloaded from github. In that case, it works. But was there something wrong in the original script version then?

danigeos commented 8 years ago

The results are good, but it seems like you are getting some unexpected lines from the grdcontour gmt command. No idea what can it be.

dkowis commented 8 years ago

I had to duplicate the line 177 in tisc.common.gmt.job so that the source happened, which loads up all the variables, and then add another line doing the same thing, without the source keyword, so the output of that script goes into the required topo_palet.tmp file.

Perhaps it's due to a difference in cshell versions?

tisc@ubuntuTisc:~/tisc/script$ dpkg -l csh
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                      Version                   Architecture              Description
+++-=========================================-=========================-=========================-==========
ii  csh                                       20110502-2ubuntu2         amd64                     Shell with C-like syntax
dkowis commented 8 years ago

The results are good, but it seems like you are getting some unexpected lines from the grdcontour gmt command. No idea what can it be.

Does that mean I'm still not getting accurate renders? I'll double check things tomorrow.

Perhaps there's a difference between the minor versions of your GMT and mine?

danigeos commented 8 years ago

I see. you have to remove

source $tisc_dir/script/generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp

and change if for

generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp

(generate... is in your path)

But i have no idea why the 'source' command works in my mac and not in your Ubuntu.

I have changed this in my core version. Next upload will contain this correction.

On Fri, May 27, 2016 at 2:35 AM, David Kowis notifications@github.com wrote:

I had to duplicate the line 177 in tisc.common.gmt.job so that the source happened, which loads up all the variables, and then add another line doing the same thing, without the source keyword, so the output of that script goes into the required topo_palet.tmp file.

Perhaps it's due to a difference in cshell versions?

tisc@ubuntuTisc:~/tisc/script$ dpkg -l csh Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=========================================-=========================-=========================-========== ii csh 20110502-2ubuntu2 amd64 Shell with C-like syntax

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/danigeos/tisc/issues/4#issuecomment-222032145, or mute the thread https://github.com/notifications/unsubscribe/ALBQivgKxH0gMQ8MgZG6MVB-lx6-kB_9ks5qFjxvgaJpZM4IgxSh .

danigeos commented 8 years ago

You have extra black lines in your output demo.ps postscript , i bet they are generated at some grdcontour in the gmt script. Bust be some GMT version change. i'm using 4.5.14

On Fri, May 27, 2016 at 5:59 AM, David Kowis notifications@github.com wrote:

The results are good, but it seems like you are getting some unexpected lines from the grdcontour gmt command. No idea what can it be.

Does that mean I'm still not getting accurate renders? I'll double check things tomorrow.

Perhaps there's a difference between the minor versions of your GMT and mine?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/danigeos/tisc/issues/4#issuecomment-222054798, or mute the thread https://github.com/notifications/unsubscribe/ALBQipUW1jJJfYxR6Z0bOxp-KsLOIFwYks5qFmwHgaJpZM4IgxSh .

dkowis commented 8 years ago

What linux distro are you set up on? I'm using ubuntu 14.04.1, and the latest GMT (on ubuntu) is 4.5.11.

Are the extra black lines a deal-breaker for correct output?

danigeos commented 8 years ago

if i type uname -mrs then i get Darwin 15.4.0 x86_64 Is this what you want?

No, as i say the black lines' problem should be a conflict within GMT, command grdcontour, to be precise, but your TISC file output seems to be ok.

dkowis commented 8 years ago
tisc@ubuntuTisc:~/tisc/script$ uname -mrs
Linux 4.2.0-36-generic x86_64

Yeah, that helps some, because @jennawest and I don't have access to macbooks. Replicating the same environment you're building stuff on is key to getting the same results.

I guess my question is: Those extra black lines, will they invalidate the results of the data? or it's just gonna have a slightly different look to it? We're trying to get as close to possible to the same results you're getting so that we know we're getting the same output and the result of the research will be valid.

Thanks for all your help!

danigeos commented 8 years ago

YES, it's just a graphic GMT problem, not a TISC problem. Compare your zip file with the original demo.ps in the distribution, you'll see

dkowis commented 8 years ago

I just caught something:

I see. you have to remove source $tisc_dir/script/generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp and change if for generate_topo_cpt.job $sea_level > $tmp.topo_palet.tmp (>generate... is in your path)

I had to have both lines. If it is not sourced then the variables aren't available later in the file. But only sourcing it doesn't send the output into $tmp.topo_palet.tmp. Looking at the file it just builds some tables depending on what the input value is, so I decided it was fine to call a couple times.

danigeos commented 8 years ago

spectacularly mysterious, because here both give the same result separately

danigeos commented 8 years ago

This issue was well identified and solved, so i will close it.