[ncl-talk] [ncl-install] Issue with ploting shapefile

Dave Allured - NOAA Affiliate dave.allured at noaa.gov
Thu Jan 2 09:19:18 MST 2025


Ehsan, you can get the original 2019 version of *gsn_code.ncl* from inside
the original NCL 6.6.2 2019 source code release.  This is identical to the
2019 Conda default version of *gsn_code.ncl*.  NCL provides two different
ways to download this source code.  Please see the section "Download the
source code for NCL" on this page:

https://www.ncl.ucar.edu/Download/build_from_src.shtml#GetNCLSourceCode


On Thu, Jan 2, 2025 at 1:22 AM Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com>
wrote:

> Dear Dave,
>
> I've posted the outputs to GitHub issue #176. Please let me know if you
> need more information.
>
> As you mentioned, I would like to have the default gsn_code.ncl in Conda.
> However, as I explained, I can't access it. Could anyone send me the
> default gsn_code.ncl in Conda, which I believe was the 2019 version?
>
> Any help would be appreciated.
>
>
> *-----------------------------------------------------------------------------*
> *Best regards,*
> *Ehsan Taghizade*
>
>
> On Wednesday, January 1, 2025 at 11:18:31 AM PST, Dave Allured - NOAA
> Affiliate <dave.allured at noaa.gov> wrote:
>
>
> Ehsan,
>
> 1.  You do not need to upload that large shapefile.  Instead, just go to
> the shapefile directory, and post the output from this command into github
> #176 <https://github.com/NCAR/ncl/issues/176>.  Be sure to show the exact
> shape file name that you are using.  (I do not need to see the full
> directory path.)  Use the *cut* command to suppress the unnecessary huge
> list of individual numerical coordinates.  Reminder, you might need to have
> an active conda environment to have access to the *ogrinfo* command.
>
>       *ogrinfo -al FILENAME.shp | cut -c 1-80*
>
> 2.  I do not have much experience with conda.  However, I recommend that
> you stick with the current stable NCL environment, and do not try to go
> back to a historical version.  It would seem that rewinding can be
> problematical.  The current stable version is well managed by the conda
> team, and includes significant fixes and updates.  If you have new problems
> with the current stable version, there is on line advice about how to clean
> or uninstall and reload a conda environment.
>
> 3.  You can make copies of the original and experimental versions of
> *gsn_code.ncl* in separate private directories.  Then you can quickly
> swap them in and out of any NCL installation without going through any
> conda procedures.
>
>
> On Wed, Jan 1, 2025 at 5:18 AM Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com>
> wrote:
>
> Dear Dave,
>
> Thank you again for your follow-up.
>
> I tried to upload shapefiles to GitHub, but I encountered the 25 MB file
> size limitation. My shapefiles are 37 MB. Could you advise me on how to
> attach these files in one message?
>
> Additionally, after replacing the gsn_code 2024 version with the previous
> one, every time I remove the ncl_stable environment and try to reinstall
> NCL via conda, I encounter the following errors, and the gsn_code 2024
> version is replaced:
>
> *Downloading and Extracting Packages:*
>
> *Preparing transaction: done*
> *Verifying transaction: \*
> *SafetyError: The package for ncl located at
> /home/taghizade/miniconda3/pkgs/ncl-6.6.2-h7cb714c_54*
> *appears to be corrupted. The path 'lib/ncarg/nclscripts/csm/gsn_code.ncl'*
> *has an incorrect size.*
> *reported size: 504377 bytes*
> *actual size: 509857 bytes*
>
> *ClobberError: This transaction has incompatible packages due to a shared
> path.*
> *packages: conda-forge/linux-64::hdfeos2-2.20-h3e53b52_1004,
> conda-forge/linux-64::hdfeos5-5.1.16-h51d0b48_17*
> *path: 'include/cfortHdf.h'*
>
> *ClobberError: This transaction has incompatible packages due to a shared
> path.*
> *packages: conda-forge/linux-64::hdfeos2-2.20-h3e53b52_1004,
> conda-forge/linux-64::hdfeos5-5.1.16-h51d0b48_17*
> *path: 'include/ease.h'*
>
> *ClobberError: This transaction has incompatible packages due to a shared
> path.*
> *packages: conda-forge/linux-64::hdfeos2-2.20-h3e53b52_1004,
> conda-forge/linux-64::hdfeos5-5.1.16-h51d0b48_17*
> *path: 'include/isin.h'*
>
> *ClobberError: This transaction has incompatible packages due to a shared
> path.*
> *packages: conda-forge/linux-64::hdfeos2-2.20-h3e53b52_1004,
> conda-forge/linux-64::proj-9.4.1-h54d7996_1*
> *path: 'include/proj.h'*
>
> *ClobberError: This transaction has incompatible packages due to a shared
> path.*
> *packages: conda-forge/linux-64::hdfeos2-2.20-h3e53b52_1004,
> conda-forge/linux-64::hdfeos5-5.1.16-h51d0b48_17*
> *path: 'lib/libGctp.a'*
>
> *done*
> *Executing transaction: /*
> *To enable CUDA support, UCX requires the CUDA Runtime library
> (libcudart).*
> *The library can be installed with the appropriate command below:*
>
> ** For CUDA 11, run:    conda install cudatoolkit cuda-version=11*
> ** For CUDA 12, run:    conda install cuda-cudart cuda-version=12*
>
> Does anyone have any suggestions on how to install NCL via conda with the
> default gsn_code version (2019)?
>
>
> *-----------------------------------------------------------------------------*
> *Best regards,*
> *Ehsan*
>
>
> On Tuesday, December 31, 2024 at 06:45:46 AM PST, Dave Allured - NOAA
> Affiliate <dave.allured at noaa.gov> wrote:
>
>
> Ehsan, thank you for testing.  It looks like my changes for "gsn_code.ncl"
> need further debugging.  It is a good sign that "englandshp" worked with
> the new code, because that demonstrated mostly working infrastructure for
> X/Y swapping.
>
> Let us move the debugging conversation off of the mailing lists.  Please
> reply on Github issue #176 <https://github.com/NCAR/ncl/issues/176>.  I
> need the following details:
>
> 1.  Full printed output of those diagnostic messages when trying to plot
> "gadm41_CAN_shp" with the new gsn_code.ncl.
>
> 2.  Attach a zip file with the complete file set for the shapefile
> "gadm41_CAN_shp".
>
>
> On Tue, Dec 31, 2024 at 7:13 AM Ehsan Taghizadeh <
> ehsantaghizadeh at yahoo.com> wrote:
>
> Dear Dave,
> Thank you for your helpful reply.
>
> First, I should mention the GDAL version on our server:
>
> *$ ogrinfo –version*
> *GDAL 3.9.2, released 2024/08/13*
>
> Additionally, the NCL version installed by Conda on our server appears to
> be "h7cb714c_54". I tried to find the versions h8482486_9, h9ce15c7_1, or
> h7290063_6 mentioned as working well in issue *#56*
> <https://github.com/cedadev/ceda-jaspy-envs/issues/56>, but I couldn't
> locate them in the *build details from conda-forge*
> <https://anaconda.org/conda-forge/ncl/files>.
>
> It seems some shapefiles work well with the default NCL version from
> Conda. For instance, gadm41_CAN_shp
> <https://geodata.ucdavis.edu/gadm/gadm4.1/shp/gadm41_CAN_shp.zip> falls
> into this category. However, some shapefiles do not work with the default
> NCL in Conda. For example, "englandshp" (attached file) does not work well
> with the default NCL in Conda.
>
> When I replaced $NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl with the
> one mentioned in issue #176 <https://github.com/NCAR/ncl/issues/176>, the
> situation changed. The "englandshp" worked well with the new gsn_code, but
> for gadm41_CAN_shp
> <https://geodata.ucdavis.edu/gadm/gadm4.1/shp/gadm41_CAN_shp.zip>, the
> following error was displayed:
>
> *(0)     shapefile_order_lat_lon: Error: Cannot parse.*
> *(0)       Unexpected output from 'ogrinfo -al $shapefile'.*
> *...*
> *(0)       Assume order of coordinates = lon/lat.*
> *(0)*
> *(0)     Diagnostics 1 for 'ogrinfo':*
> *GDAL 3.9.2, released 2024/08/13*
> *(0)*
> *(0)     Diagnostics 2 for 'ogrinfo':*
> *...*
> *(0)     Diagnostics 3 for 'ogrinfo':*
> *(0)     Parse results = False missing False False False False*
> *(0)     Number of lines in result = 1*
> *(0)     missing*
> *(0)     ----------------------------*
> *(0)       Assume order of coordinates = lon/lat.*
> *(0)     --- Working on time 2019020106 ---*
> *(0)     shapefile_order_lat_lon: Error: Cannot parse.*
> *(0)       Unexpected output from 'ogrinfo -al $shapefile'.*
>
> However, when I tried to run the simple NCL script from the NCL website to
> plot them, nothing was displayed for both shapefiles with the new gsn_code.
>
> load "./shapefile_utils.ncl"
> sname = "your_shapefile.shp"
> print_shapefile_info(sname)
> plot_shapefile(sname)
>
> For the "englandshp", nothing was displayed. For the CAN shapefile,
> nothing was displayed, and the following error occurred:
>
> *(0)     Diagnostics 3 for 'ogrinfo':*
> *(0)     Parse results = False missing False False False False*
> *(0)     Number of lines in result = 1*
> *(0)     missing*
> *(0)     ----------------------------*
> *(0)       Assume order of coordinates = lon/lat.*
>
> In summary, it seems that for some shape files, we should use the default
> gsn_code.ncl, while for others, we should use your gsn_code.ncl. This is my
> understanding. I would appreciate your thoughts on this.
>
> *-----------------------------------------------------------------------------*
> *Best regards,*
> *Ehsan Taghizade*
>
>
> On Sunday, December 29, 2024 at 02:17:40 PM PST, Dave Allured - NOAA
> Affiliate <dave.allured at noaa.gov> wrote:
>
>
> Ehsan, this is a known issue with recent NCL versions.  The lat and lon
> coordinates are swapped in some shape files, causing missing images, or
> mirror images along a 45 degree fold line.  That is what I see in your
> plots.
>
> This is discussed in Github issues #151
> <https://github.com/NCAR/ncl/issues/151> and #176.  In #176 I show a
> diagnostic method to determine swapped coordinates.  I also provide a
> modified NCL library file that should render plots correctly for any shape
> file.  Please give these suggestions a try, and let us know the results.
>
>
> On Wed, Dec 25, 2024 at 7:23 AM Ehsan Taghizadeh via ncl-install <
> ncl-install at mailman.ucar.edu> wrote:
>
> Hello everyone,
>
> I am trying to add a shapefile to my plot, but the location of the
> shapefile is incorrect as it appears to be rotated 90 degrees clockwise.
> Previously, I had an issue with NCL installed via Conda. I attempted to
> install NCL using a precompiled version, but encountered the following
> error: “ncl: error while loading shared libraries: libssl.so.10: cannot
> open shared object file: No such file or directory.” Since I do not have
> root access, I cannot install libssl.so.10.
>
> Attached are the incorrect and correct output maps. The desired shapefile
> is shown in tan. The correct version is the output from running NCL on
> another Linux version (Rocky), which I do not have access to. The code I
> used to plot these maps is quite long and may not be helpful for this
> issue, but I can provide a shorter version if necessary.
>
> As I am unsure if this issue is directly related to the NCL installation,
> I am sending this to both emails. Apologies for any inconvenience caused.
>
> The output of the command "conda list -n ncl_stable" is attached (
> condalist.txt). Some additional information is provided below:
> $ conda --version
>    *conda 24.11.2*
> $ which ncl
>    *~/miniconda3/envs/ncl_stable/bin/ncl*
> $ ncl -V
>    *6.6.2*
> $ env  | grep NCARG
>    *NCARG_ROOT=/home/taghizade/miniconda3/envs/ncl_stable*
>
> Any help would be appreciated. Happy holidays!
>
> *-----------------------------------------------------------------------------*
> *Best regards,*
> *Ehsan Taghizade*
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20250102/e2f9061e/attachment.htm>


More information about the ncl-talk mailing list