The issue of installing version 2.17 using Podman
Dear Julian
Sir, I have attempted to run the lanuch-container.sh script you mentioned in Podman’s rootless mode. Following your guidance, I updated the name in the podman run command with ghcr.io/julesghub/underworld2:2.17 and then executed the script. The image was successfully pulled, as shown in the screenshot below. Then, Jupyter did open a browser tab, but it rendered as shown below. I tried import underworld, but it did not work. What should I do next? I wonder if i can still run .py script in parallel with Podman the same way I do with Docker like docker run -v /Users/haibinyang/Xiong_test:/home/jovyan underworldcode/underworld2:2.16 mpirun -np 2 python 10Mid_55Hash.py
Sir, and I also wonder why do we need set <strata>parameter of XML in new version, instead of just commenting it out like we used to?
@julesghub
@julesghub Sir, I have resolved this issue. There were two reasons why I failed to run underworld2.17. First, I needed to change the permissions of my local directory, I changed my local directory from 700 to 755. Second , I used a code to make Podman ignore unfixed platform. There is my code```
podman run --rm -it --userns=keep-id --platform linux/amd64
-e OMP_NUM_THREADS=4
-e KMP_AFFINITY=disabled
-v /Users/haibinyang/Xiong_test:/home/mambauser
-w /home/mambauser
ghcr.io/julesghub/underworld2:2.17
mpirun -np 4 python 10Mid_55Hash_100kmDecay.py
@julesghub @NengLu Sir, I’ve successfully gotten version 2.17 up and running. Then I ran into a timing issue that looks identical to what you were discussing in “strata error in coupling #1.” Namely, when I set the Underworld dt and the Badlands strata interval to 10 000 or 5 000 years, the model sometimes crashes with the error:FileNotFoundError: [Errno 2] Unable to synchronously create file (unable to open file: name = 'outbdls_5e-5_5540_WeakLM_1/h5/sed.time7.hdf5', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 242)。Should I reduce dt and strata times? By the way, I also had to reduce the checkpoint interval from 0.1 Myr to 0.01 Myr; otherwise the run would fail. With dt = strata = 5 000 yr and checkpoints = 0.01 Myr, Badlands now writes far more output steps than Underworld. As show below snapshot.
Then, I also tested enhancing Badlands endtime, laytime, check_point; all set to values greater than UW’s — yet Badlands still retains more intermediate results. But when I set Badlands laytime> UW dt, program will broke.
-
FileNotFound Error: the outputDir in Model.surfaceProcesses (or in the input XML file for Badlands) is the output path for Badlands (flow and tin files), better keep it to the default one "outbdls".
-
Some tips on the input parameters for Badlands regarding the coupling:
- check point better smaller or equal to the checkpoint_interval in Model.run_for (maybe half of it),
- laytime better to set as dt in Model.run_for,
- endtime is better to put greater than UW's.
You may try the models here: https://github.com/underworld-community/uwg-coupling-test
In general, the models' set above is: checkpoint for badlands is much smaller than the checkpoint in UW2 (same as the dt in UW2)
@julesghub Sir, I tried to restart UW_2.17 after @NengLu advised me to change Badlands output folder to "outbdls", but I met this issues blow picture. @NengLu suggested that I should add some codes to the file src/underworld/UWGeodynamics/_model.py . The codes are
aspectRatio2d = badlands_model.aspectRatio2d
surfElevation = badlands_model.surfElevation
Model.surfaceProcesses = surfaceProcesses.Badlands(
airIndex, sedimentIndex,
XML, resolution,
checkpoint_interval,
surfElevation=surfElevation,aspectRatio2d=aspectRatio2d,
restartFolder=restartFolder,
restartStep=restartStep)
I did it and committed new images in Docker, but it did not work.
I then tried to install UW_2.17 locally on my MacBook. Although the installation completed successfully, I am unable to import the module — it returns a segmentation fault. I have submitted the log files for your review.