Hi, whenever I try to run a GMT command with colorbar, its giving me this out put. Here is my code:
#!/usr/bin/env bash
#export GMT_SESSION_NAME=$$
#set GMT_SESSION_NAME=2000
gmt makecpt -Cbathy -T-1000/0/100 -Z > def.cpt
gmt begin meshTry
gmt xyz2grd updated.txt -GupdatedN.nc -R-90/-50/5/40/ -I1m
gmt grdimage updatedN.nc -JX20c -B -Cdef.cpt -pdf testgmtbash
gmt colorbar -Cdef.cpt
gmt end showS
Here is the error:
gmt.exe [ERROR]: Shared GMT module not found: colorbar
ERROR: No module named colorbar was found. This could mean one of four cases:
- There actually is no such module; please check your spelling.
- You used a modern mode module name while running in GMT classic mode.
- Module exists in the GMT supplemental library, but the library could not be found.
- Module exists in a GMT custom library, but none was specified via GMT_CUSTOM_LIBS.
Shared libraries must be in standard system paths or set via environmental parameter %%PATH%%.
gmt.exe [ERROR]: Not available in classic mode
what do I do?
See error item number 2. colorbar is a modern mode name of a classic module called psscale. Hm, but you are running a modern mode script… Not sure why a core module is not found for you.
Hi @Roshlion,
you mixed modern mode one-liner options with regular modern mode:
Your grdimage
call ends with -pdf testgmtbash
which means you want the output of that command as a PDF file named testgmtbash
. But you enclosed it in gmt begin … gmt end
where you specify you want the output of all those commands combined in a single plot named meshTry
. This can’t really work.
Try removing -pdf testgmtbash
from your grdimage
call and you should be fine.
@pwessel, I made this mistake myself several times after troubleshooting my scripts. When combining several steps into a complete plot I occasionally left that one-liner sytanx in place leading to the same error. Maybe a fifth error case might be a useful addition to the error message?
Some code to play with (look out for -pdf somename
):
### FAILS - basemap … -pdf somename
gmt begin buffer_white png
gmt basemap -R-24.46/-23.99/16.45/16.72 -Jm1:300000 -B \
-B+t"S\303O NICOLAU" -pdf somename
gmt coast -W1.13p,black
gmt end show
### WORKS
gmt begin buffer_white png
gmt basemap -R-24.46/-23.99/16.45/16.72 -Jm1:300000 -B \
-B+t"S\303O NICOLAU"
gmt coast -W1.13p,black
gmt end show
A check for this error has now been implemented in master.
Thank you, @pwessel! Works nicely. More elegant than my suggestion.