Open Esteban82 opened 9 months ago
I suspect until we actually update oceania your main.sh may need to set the GMT_DATA_SERVER to candidate etc. This problem will go away once we release so not willing to spend time finding a workaround for a few days.
This problem will go away once we release so not willing to spend time finding a workaround for a few days.
Ok.
I try this again (after the 6.5 release) and I got the same error:
http://candidate.generic-mapping-tools.org
http://static.generic-mapping-tools.org
grdimage [INFORMATION]: -> Download cache file: @earth_relief_15s_g
grdimage [INFORMATION]: Downloading file http://static.generic-mapping-tools.org/cache/earth_relief_15s_g ...
grdimage [ERROR]: Libcurl Error: HTTP response code said error
grdimage [ERROR]: Probably means @earth_relief_15s_g does not exist on the remote server
grdimage [ERROR]: Unable to obtain remote file @earth_relief_15s_g
federico@loki:~/Github/GenericMappingTools/__Pruebas$ gmt
GMT - The Generic Mapping Tools, Version 6.6.0_eb107b4_2024.01.08 [64-bit] [MP] [8 cores]
(c) 1991-2024 The GMT Team (https://www.generic-mapping-tools.org/team.html).
Most likely your cmake setting or environment. In cmake I can grep on GMT_DATA_SERVER and get this
grep GMT_DATA_SERVER *
ConfigDefault.cmake:if (NOT DEFINED GMT_DATA_SERVER)
ConfigDefault.cmake: set (GMT_DATA_SERVER "oceania")
ConfigDefault.cmake:endif (NOT DEFINED GMT_DATA_SERVER)
ConfigUserAdvanced.cmake:#set (GMT_DATA_SERVER "data_server_url")
ConfigUserAdvanced.cmake:# set (GMT_DATA_SERVER "static")
ConfigUserAdvancedTemplate.cmake:#set (GMT_DATA_SERVER "data_server_url")
ConfigUserAdvancedTemplate.cmake:# set (GMT_DATA_SERVER "static")
static is commented out for possible guru use, but default is oceania. In terms of where GMT_DATA_SERVER appears in the code (.c,.h) I got this:
grep GMT_DATA_SERVER *.[c?]
gmt.c: /* Problem is that GMT_DATA_SERVER can be set via environmental variable or
gmt.c: * via --GMT_DATA_SERVER=server, which is processed after the session has bee
gmt.c: * created. This function checks if --GMT_DATA_SERVER=server was set and updates
gmt.c: if (strstr (argv[k], "--GMT_DATA_SERVER="))
gmt.c: if (server) { /* Fund --GMT_DATA_SERVER, now must recreate DATASERVER and wipe CACHEDIR */
gmt.c: /* Check if data server has been set via --GMT_DATA_SERVER */
gmt_init.c: { 0, "GMT_DATA_SERVER"},
gmt_init.c: { 0, "GMT_DATA_SERVER_LIMIT"},
gmt_init.c: if ((this_c = getenv ("GMT_DATA_SERVER")) != NULL) /* GMT_DATA_SERVER was set */
gmt_init.c: GMT->session.DATASERVER = strdup (GMT_DATA_SERVER);
gmt_init.c: /* GMTCASE_GMT_DATA_SERVER_LIMIT */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER_LIMIT: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER_LIMIT:
gmt_remote.c: * They live in a cache subdirectory under the GMT_DATA_SERVER
gmt_remote.c: static char *ghost_server[5] = {"candidate", "static", "test", "server", GMT_DATA_SERVER};
gmt_remote.c: /* If GMT_DATA_SERVER is static|test|candidate then we need to update internal paths */
gmt_remote.c: GMT_Report (API, GMT_MSG_DEBUG, "GMT_DATA_SERVER is %s\n", (GMT->session.DATASERVER == NULL) ? "NOT set" : GMT->session.DATASERVER);
gmt_remote.c: if (!strcmp (srv_dir, "server") || !strcmp ("oceania", GMT_DATA_SERVER)) return;
gmt_remote.c: GMT_Report (API, GMT_MSG_WARNING, "File %s skipped as size [%s] exceeds limit set by GMT_DATA_SERVER_LIMIT [%s]\n", name, S, gmt_memory_use (GMT->current.setting.url_size_limit, 0));
and piping that through a grep on static only gives
grep GMT_DATA_SERVER .[c?] | grep static gmt_remote.c: static char ghost_server[5] = {"candidate", "static", "test", "server", GMT_DATA_SERVER}; gmt_remote.c: / If GMT_DATA_SERVER is static|test|candidate then we need to update internal paths /
so nothing. Suggest you try
echo $GMT_DATA_SERVER
and look in your .bashrc and similar files for left-over settings from our testing. Finally, I sometime have to wipe the build directory, reboot, an rebuild to get GMT to "remember" the previous shared library which might have some bad memory. Let me know if anything helps.
Most likely your cmake setting or environment. In cmake I can grep on GMT_DATA_SERVER and get this
grep GMT_DATA_SERVER *
ConfigDefault.cmake:if (NOT DEFINED GMT_DATA_SERVER)
ConfigDefault.cmake: set (GMT_DATA_SERVER "oceania")
ConfigDefault.cmake:endif (NOT DEFINED GMT_DATA_SERVER)
ConfigUserAdvanced.cmake:#set (GMT_DATA_SERVER "data_server_url")
ConfigUserAdvanced.cmake:# set (GMT_DATA_SERVER "static")
ConfigUserAdvancedTemplate.cmake:#set (GMT_DATA_SERVER "data_server_url")
ConfigUserAdvancedTemplate.cmake:# set (GMT_DATA_SERVER "static")
static is commented out for possible guru use, but default is oceania. In terms of where GMT_DATA_SERVER appears in the code (.c,.h) I got this:
grep GMT_DATA_SERVER *.[c?]
gmt.c: /* Problem is that GMT_DATA_SERVER can be set via environmental variable or
gmt.c: * via --GMT_DATA_SERVER=server, which is processed after the session has bee
gmt.c: * created. This function checks if --GMT_DATA_SERVER=server was set and updates
gmt.c: if (strstr (argv[k], "--GMT_DATA_SERVER="))
gmt.c: if (server) { /* Fund --GMT_DATA_SERVER, now must recreate DATASERVER and wipe CACHEDIR */
gmt.c: /* Check if data server has been set via --GMT_DATA_SERVER */
gmt_init.c: { 0, "GMT_DATA_SERVER"},
gmt_init.c: { 0, "GMT_DATA_SERVER_LIMIT"},
gmt_init.c: if ((this_c = getenv ("GMT_DATA_SERVER")) != NULL) /* GMT_DATA_SERVER was set */
gmt_init.c: GMT->session.DATASERVER = strdup (GMT_DATA_SERVER);
gmt_init.c: /* GMTCASE_GMT_DATA_SERVER_LIMIT */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER_LIMIT: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER: /* The default is set by cmake, see ConfigDefault.cmake */
gmt_init.c: case GMTCASE_GMT_DATA_SERVER_LIMIT:
gmt_remote.c: * They live in a cache subdirectory under the GMT_DATA_SERVER
gmt_remote.c: static char *ghost_server[5] = {"candidate", "static", "test", "server", GMT_DATA_SERVER};
gmt_remote.c: /* If GMT_DATA_SERVER is static|test|candidate then we need to update internal paths */
gmt_remote.c: GMT_Report (API, GMT_MSG_DEBUG, "GMT_DATA_SERVER is %s\n", (GMT->session.DATASERVER == NULL) ? "NOT set" : GMT->session.DATASERVER);
gmt_remote.c: if (!strcmp (srv_dir, "server") || !strcmp ("oceania", GMT_DATA_SERVER)) return;
gmt_remote.c: GMT_Report (API, GMT_MSG_WARNING, "File %s skipped as size [%s] exceeds limit set by GMT_DATA_SERVER_LIMIT [%s]\n", name, S, gmt_memory_use (GMT->current.setting.url_size_limit, 0));
and piping that through a grep on static only gives
grep GMT_DATA_SERVER *.[c?] | grep static
gmt_remote.c: static char *ghost_server[5] = {"candidate", "static", "test", "server", GMT_DATA_SERVER};
gmt_remote.c: /* If GMT_DATA_SERVER is static|test|candidate then we need to update internal paths */
so nothing. Suggest you try
echo $GMT_DATA_SERVER
and look in your .bashrc and similar files for left-over settings from our testing. Finally, I sometime have to wipe the build directory, reboot, an rebuild to get GMT to "remember" the previous shared library which might have some bad memory. Let me know if anything helps.
Thanks Paul.
I was able to fix it by commenting the line 208 in ConfigUserAdvanced.cmake
(#set (GMT_DATA_SERVER "static")
) and building GMT again.
But now GMT changes to the Oceania server. I got this in the terminal with the above script:
http://candidate.generic-mapping-tools.org
http://oceania.generic-mapping-tools.org
If I do echo $GMT_DATA_SERVER
I got an empty line.
BTW, there was an error in the script (the _g
version doesn't exist for 15s).
It is strange to me that changes servers when I run gmt movie but now it is possible to make the animation.
Yes, does not make any sense to me either.
Here is a simplified version of the movie_master.sh
script, which hopefully can help us understand the behavior:
gmt set GMT_DATA_SERVER static
mkdir master
cd master
gmt begin
cp -r ../gmt.conf .
gmt --show-dataserver -Vd
gmt grdinfo @earth_relief_01d_g -C -Vd
gmt end
cd ..
Running the bash script in a clean directory, you'll see messages like:
$ bash test.sh
gmt [DEBUG]: GMT_Create_Session: Terminal width = 95
gmt [DEBUG]: Obtained the ppid from parent: 800593
gmt [DEBUG]: Enter: gmtinit_new_GMT_ctrl
gmt [DEBUG]: GMT->session.SHAREDIR = /home/seisman/opt/miniconda/envs/pygmt/share/gmt
gmt [DEBUG]: GMT->session.HOMEDIR = /home/seisman
gmt [DEBUG]: GMT->session.USERDIR = /home/seisman/.gmt [created]
gmt [DEBUG]: GMT->session.CACHEDIR = /home/seisman/.gmt/cache [created]
gmt [DEBUG]: GMT: 0. Will try to find subdir=postscriptlight stem = PSL_custom_fonts suffix=.txt
gmt [DEBUG]: GMT: 1. gmt_getsharepath trying current dir
gmt [DEBUG]: GMT: 2. gmt_getsharepath trying USERDIR /home/seisman/.gmt
gmt [DEBUG]: Map distance calculation will be Cartesian
gmt [DEBUG]: Exit: gmtinit_new_GMT_ctrl
gmt [DEBUG]: Enter: New_PSL_Ctrl
gmt [DEBUG]: Exit: New_PSL_Ctrl
gmt [DEBUG]: Enter: gmt_manage_workflow
gmt [DEBUG]: GMT now running in modern mode [Session ID = 800593]
gmt [DEBUG]: Exit : gmt_manage_workflow
gmt [DEBUG]: Enter: PSL_beginsession
gmt [DEBUG]: Exit : PSL_beginsession
gmt [DEBUG]: Enter: PSL_setdefaults
gmt [DEBUG]: Exit : PSL_setdefaults
gmt [DEBUG]: Enter: gmtlib_io_init
gmt [DEBUG]: Exit : gmtlib_io_init
gmt [DEBUG]: Enter: gmt_hash_init
gmt [DEBUG]: Exit: gmt_hash_init
gmt [DEBUG]: Enter: gmt_hash_init
gmt [DEBUG]: Exit: gmt_hash_init
gmt [DEBUG]: Enter: gmt_reload_settings
gmt [DEBUG]: The PROJ_GEODESIC set to Vincenty
gmt [DEBUG]: gmtlib_get_graphics_item: Fig: 0 Subplot: 2 Panel: () Inset: 0
gmt [DEBUG]: Reading GMT Default parameters from file: /home/seisman/.gmt/sessions/gmt_session.800593/gmt.conf
gmt [DEBUG]: Exit: gmt_reload_settings
gmt [DEBUG]: Enter: gmtlib_plot_C_format
gmt [DEBUG]: Exit: gmtlib_plot_C_format
gmt [DEBUG]: Enter: gmtinit_get_history
gmt [DEBUG]: gmtlib_get_graphics_item: Fig: 0 Subplot: 2 Panel: () Inset: 0
gmt [DEBUG]: Initialize FFTW with 80 threads.
gmt [DEBUG]: GMT_Create_Session initialized GMT structure
gmt [DEBUG]: Loading core GMT shared library: libgmt.so
gmt [DEBUG]: Shared Library # 0 (core). Path = libgmt.so
gmt [DEBUG]: Loading GMT plugins from: /home/seisman/opt/miniconda/envs/pygmt/lib/gmt/plugins
gmt [DEBUG]: Shared Library # 1 (supplements). Path = /home/seisman/opt/miniconda/envs/pygmt/lib/gmt/plugins/supplements.so
http://oceania.generic-mapping-tools.org
gmt [DEBUG]: Entering GMT_Destroy_Session
gmt [DEBUG]: GMT_Create_Session: Terminal width = 95
gmt [DEBUG]: Obtained the ppid from parent: 800593
gmt [DEBUG]: Enter: gmtinit_new_GMT_ctrl
gmt [DEBUG]: GMT->session.SHAREDIR = /home/seisman/opt/miniconda/envs/pygmt/share/gmt
gmt [DEBUG]: GMT->session.HOMEDIR = /home/seisman
gmt [DEBUG]: GMT->session.USERDIR = /home/seisman/.gmt [created]
gmt [DEBUG]: GMT->session.CACHEDIR = /home/seisman/.gmt/cache [created]
gmt [DEBUG]: GMT: 0. Will try to find subdir=postscriptlight stem = PSL_custom_fonts suffix=.txt
gmt [DEBUG]: GMT: 1. gmt_getsharepath trying current dir
gmt [DEBUG]: GMT: 2. gmt_getsharepath trying USERDIR /home/seisman/.gmt
gmt [DEBUG]: Map distance calculation will be Cartesian
gmt [DEBUG]: Exit: gmtinit_new_GMT_ctrl
gmt [DEBUG]: Enter: New_PSL_Ctrl
gmt [DEBUG]: Exit: New_PSL_Ctrl
gmt [DEBUG]: Enter: gmt_manage_workflow
gmt [DEBUG]: GMT now running in modern mode [Session ID = 800593]
gmt [DEBUG]: Exit : gmt_manage_workflow
gmt [DEBUG]: Enter: PSL_beginsession
gmt [DEBUG]: Exit : PSL_beginsession
gmt [DEBUG]: Enter: PSL_setdefaults
gmt [DEBUG]: Exit : PSL_setdefaults
gmt [DEBUG]: Enter: gmtlib_io_init
gmt [DEBUG]: Exit : gmtlib_io_init
gmt [DEBUG]: Enter: gmt_hash_init
gmt [DEBUG]: Exit: gmt_hash_init
gmt [DEBUG]: Enter: gmt_hash_init
gmt [DEBUG]: Exit: gmt_hash_init
gmt [DEBUG]: Enter: gmt_reload_settings
gmt [DEBUG]: The PROJ_GEODESIC set to Vincenty
gmt [DEBUG]: gmtlib_get_graphics_item: Fig: 0 Subplot: 2 Panel: () Inset: 0
gmt [DEBUG]: Reading GMT Default parameters from file: /home/seisman/.gmt/sessions/gmt_session.800593/gmt.conf
gmt [DEBUG]: Exit: gmt_reload_settings
gmt [DEBUG]: Enter: gmtlib_plot_C_format
gmt [DEBUG]: Exit: gmtlib_plot_C_format
gmt [DEBUG]: Enter: gmtinit_get_history
gmt [DEBUG]: gmtlib_get_graphics_item: Fig: 0 Subplot: 2 Panel: () Inset: 0
gmt [DEBUG]: Initialize FFTW with 80 threads.
gmt [DEBUG]: GMT_Create_Session initialized GMT structure
gmt [DEBUG]: Loading core GMT shared library: libgmt.so
gmt [DEBUG]: Shared Library # 0 (core). Path = libgmt.so
gmt [DEBUG]: Loading GMT plugins from: /home/seisman/opt/miniconda/envs/pygmt/lib/gmt/plugins
gmt [DEBUG]: Shared Library # 1 (supplements). Path = /home/seisman/opt/miniconda/envs/pygmt/lib/gmt/plugins/supplements.so
gmt [DEBUG]: GMT now running in modern mode [Session ID = 800593]
gmt [DEBUG]: GMT_DATA_SERVER is oceania
gmt [DEBUG]: Local file /home/seisman/.gmt/gmt_data_server.txt found
gmt [DEBUG]: File /home/seisman/.gmt/gmt_data_server.txt less than 24 hours old, refresh is premature.
gmt [DEBUG]: Load contents from /home/seisman/.gmt/gmt_data_server.txt
gmt [DEBUG]: GMT_DATA_SERVER is oceania
gmt [DEBUG]: Local file /home/seisman/.gmt/gmt_hash_server.txt found
gmt [DEBUG]: File /home/seisman/.gmt/gmt_hash_server.txt less than 24 hours old, refresh is premature.
gmt [DEBUG]: Map distance calculation will be using great circle approximation with authalic auxiliary latitudes and authalic (R_2) radius = 6371007.1809 m, in meter.
gmt [DEBUG]: Revised options: @earth_relief_01d_g -C -Vd
grdinfo [DEBUG]: Calling nc_open on @earth_relief_01d_g.grd, ncid = -16, err = 2
grdinfo [DEBUG]: Get remote file http://oceania.generic-mapping-tools.org/server/earth/earth_relief/earth_relief_01d_g.grd and write to /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Download http://oceania.generic-mapping-tools.org/server/earth/earth_relief/earth_relief_01d_g.grd to /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [NOTICE]: Remote data courtesy of GMT data server oceania [http://oceania.generic-mapping-tools.org]
grdinfo [NOTICE]: SRTM15 Earth Relief v2.5.5 at 1x1 arc degrees reduced by Gaussian Cartesian filtering (314.5 km fullwidth) [Tozer et al., 2019].
grdinfo [NOTICE]: -> Download grid file [111K]: earth_relief_01d_g.grd
grdinfo [INFORMATION]: Downloading file http://oceania.generic-mapping-tools.org/server/earth/earth_relief/earth_relief_01d_g.grd ...
grdinfo [DEBUG]: Delete /tmp/earth_relief_01d_g.grd.download
grdinfo [DEBUG]: Replace file @earth_relief_01d_g.grd with /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Will write output record(s) with 0 leading numerical columns and with trailing text
grdinfo [DEBUG]: Number of numerical output columns has been set to 0
grdinfo [DEBUG]: gmtapi_init_export: Passed family = Data Table and geometry = Non-Geographical
grdinfo [DEBUG]: Object ID 0 : Registered Data Table Stream 7f65851f75c0 as an Output resource with geometry Non-Geographical [n_objects = 1]
grdinfo [DEBUG]: gmtapi_init_export: Added stdout to registered destinations
grdinfo [DEBUG]: GMT_Init_IO: Returned first Output object ID = 0
grdinfo [DEBUG]: GMT_Begin_IO: Initialize record-by-record access for Output
grdinfo [DEBUG]: gmtapi_next_io_source: Selected object 0
grdinfo [INFORMATION]: Writing Data Table to Standard Output stream
grdinfo [DEBUG]: GMT_Begin_IO: Output resource access is now enabled [record-by-record]
grdinfo [DEBUG]: Map distance calculation will be using great circle approximation with authalic auxiliary latitudes and authalic (R_2) radius = 6371007.1809 m, in meter.
grdinfo [DEBUG]: Given full path to file /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Given full path to file /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Found readable file /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Object ID 1 : Registered Grid File /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd as an Input resource with geometry Surface [n_objects = 2]
grdinfo [DEBUG]: gmtapi_begin_io: Input resource access is now enabled [container]
grdinfo [DEBUG]: gmtapi_import_grid: Passed ID = 1 and mode = 1
grdinfo [DEBUG]: Found readable file /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
grdinfo [DEBUG]: Calling nc_open on /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd, ncid = 65536, err = 0
grdinfo [DEBUG]: Calling nc_close on ncid 65536, err = 0
grdinfo [DEBUG]: Calling nc_open on /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd, ncid = 65536, err = 0
grdinfo [INFORMATION]: netCDF grid /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd has no default CPT.
grdinfo [DEBUG]: Calling nc_close on ncid 65536, err = 0
grdinfo [DEBUG]: Call gmtgrdio_doctor_geo_increments on a geographic grid
grdinfo [DEBUG]: Geographic input grid, longitudes span exactly 360
grdinfo [DEBUG]: GMT_End_IO: Input resource access is now disabled
grdinfo [INFORMATION]: Processing grid /home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd
/home/seisman/.gmt/server/earth/earth_relief/earth_relief_01d_g.grd -180 180 -90 90 -7174 5350 1 1 361 181 0 1
grdinfo [DEBUG]: GMT_Destroy_Data: freed memory for a Grid for object 1
grdinfo [DEBUG]: gmtlib_unregister_io: Unregistering object no 1 [n_objects = 1]
grdinfo [DEBUG]: gmtlib_unregister_io: Object no 1 has non-NULL resource pointer
grdinfo [DEBUG]: GMT_End_IO: Output resource access is now disabled
grdinfo [DEBUG]: gmtlib_unregister_io: Unregistering object no 0 [n_objects = 0]
gmt [DEBUG]: Entering GMT_Destroy_Session
As you can see, GMT reads the session-level gmt.conf
file from /home/seisman/.gmt/sessions/gmt_session.800593/gmt.conf
, which is created when running gmt begin
. However, at that time, the local gmt.conf
is not copied to the current directory yet.
Moving the cp
command outside of the gmt begin
command should work, i.e.,
gmt set GMT_DATA_SERVER static
mkdir master
cd master
cp -r ../gmt.conf .
gmt begin
gmt --show-dataserver -Vd
gmt grdinfo @earth_relief_01d_g -C -Vd
gmt end
cd ..
I think we should make the same fix to the movie_main.sh
/movie_preflight.sh
scripts.
I dont see why we want to use static when making movies? As long as no such thing is specified anywhere we go for the default (oceania) no? You area not making movie tests for the CI, are you?
It's not only about using th estatic server or not. The real issue is that, in movies, the local gmt.conf
file is not correctly recognized.
Here is another example showing how the bug can affect movies:
#!/usr/bin/env bash
gmt set MAP_FRAME_TYPE inside
gmt begin test png
gmt basemap -R-114/-103/35/40 -JM10c -Baf
gmt end
cat << 'EOF' > pre.sh
gmt begin
gmt math -T0/360/1 T -o0 = angles.txt
gmt end
EOF
# 2. Set up the main frame script
cat << 'EOF' > main.sh
gmt begin
gmt basemap -R-114/-103/35/40 -JM10c -Baf
gmt end
EOF
# 3. Run the movie
gmt movie main.sh -Chd -Nanim02 -Tangles.txt -Sbpre.sh -Zs -Ml,png # -Fmp4
It seems that in the middle GMT changes the server. I run the script below. The first figure is generated ok. The figure within gmt movie is not because those grids don't exist in the
static server
Probably related to #7879 .
Output: