Page tree

We support our users who study geosciences by maintaining Julia packages that are generally applicable across the geospatial and geosciences domains in this Gadi module.  

The juliaGeo 2022.03 release has 28 packages, including:

  •  ArchGDAL
  •  CFTime
  •  CoordinateTransformations
  •  GADM
  •  GDAL
  •  GMT
  •  GeoArrays
  •  GeoDataFrames
  •  GeoDatasets
  •  GeoInterface
  •  GeoJSON
  •  GeoStats
  •  Geodesy
  •  LasIO
  •  LazIO
  •  LibGEOS
  •  LibSpatialIndex
  •  NCDatasets
  •  NearestNeighbors
  •  NetCDF
  •  OpenStreetMapX
  •  Proj4
  •  RasterDataSources
  •  Rasters
  •  RegionTrees
  •  Shapefile
  •  SpatialIndexing
  •  Turf

 The module is installed as /g/data/up99/apps/juliaGeo/2022.03 with Julia/1.7.1 and tested with no errors.

Usage

To work with packages installed in the module juliaGeo/2022.03 on Gadi, try the following

module use /g/data/up99/modulefiles
module load juliaGeo/2022.03

julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.7.1 (2021-12-22)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |

julia> using GDAL
Julia> landsat = "https://dapds00.nci.org.au/thredds/fileServer/xu18/ga_ls8c_ard_3/092/073/2017/05/29/ga_ls8c_nbar_3-0-0_092073_2017-05-29_final_band06.tif"
julia> ds_landsat = GDAL.gdalopen(url,GDAL.GA_ReadOnly)
Julia> GDAL.gdalclose(ds_landsat)


We define our current list of packages maintained in the juliaGeo module following the list in juliaGeo. There are also relevant packages in the other ecosystems JuliaClimate[https://juliaclimate.org], JuliaGeometry[https://github.com/JuliaGeometry] and JuliaImages [https://juliaimages.org/stable/]. If you want to install more packages required by your workflow, try the following.

$ module use /g/data/up99/modulefiles
$ module load juliaGeo/2022.03
$ export JULIA_PROJECT=/scratch/$PROJECT/$USER/.julia
$ export JULIA_DEPOT_PATH=$JULIA_PROJECT:$JULIA_DEPOT_PATH
$ julia

julia> using Pkg
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.7.1 (2021-12-22)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |

julia> Pkg.add("GeoRegions")
   Resolving package versions...
   Installed Distances ─ v0.10.7
    Updating `/scratch/z00/yxs900/.julia/Project.toml`
  [b4f34e82] + Distances v0.10.7
    Updating `/scratch/z00/yxs900/.julia/Manifest.toml`
  [b4f34e82] + Distances v0.10.7
Precompiling project...
  1 dependency successfully precompiled in 1 seconds (49 already precompiled)


Tests

  •  ArchGDAL: 5 Fails due to accuracy. 0.7.4 failed, 0.8.2 pass
  •  RasterDataSources:  use "gunzip" instead of "uncompress" in the code src/awap/awap.jl

Examples

Here is an example of using packages in the module juliaGeo/2022.03 to load data from ERA5 dataset and plot it with the reference to the shorelines between land/Antarctica ice and ocean.

using NCDatasets
fn = "/g/data/rt52/era5/single-levels/monthly-averaged/tcwv/2010/tcwv_era5_moda_sfc_20101201-20101231.nc"
ds = NCDataset(fn);
lon = ds["longitude"][:];
lat = ds["latitude"][:];
pwv = ds["tcwv"][:,:,1]*1;
close(ds)

using GeoDatasets
borders = GeoDatasets.gshhg('c',[1,5]);

using Plots
ENV["GKSwstype"] = "100"
p1=contour(lon,reverse(lat),reverse(pwv',dims=1),fill=true,linewidth=0,levels=0:3:60,seriescolor=:viridis);
plot!(p1,borders,c=:black,leg=false,xlims=(-180,180),ylims=(-90,90));
savefig("pmap.png")



  • No labels