I got the source projection using the wrf-python get_cartopy function. It does not look like any conversion/transformation is taking place in the following plotting example, so I am assuming that the source projection and dimension variables correspond to each other.
Unfortunately, I am have not been able to use Rasters.jl because it does not seem to be able to load WRF (netcdf) data that consists of 2D lat/lons. For example,
julia> Rasters("test.nc", key = :landmask)
julia> Raster(mu; key= :landmask)
typeof(index) = Matrix{Float32}
ERROR: StackOverflowError:
Stacktrace:
[1] isrev(x::Type) (repeats 17293 times)
@ DimensionalData.Dimensions.LookupArrays /data2/user/.julia/packages/DimensionalData/DkTAI/src/LookupArrays/lookup_traits.jl:70
[2] _ncdspan(index::Matrix{Float32}, order::DimensionalData.Dimensions.LookupArrays.Unordered)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:327
[3] _ncdlookup(ds::NCDataset{Nothing}, dimname::String, D::Type, index::Matrix{Float32}, metadata::DimensionalData.Dimensions.LookupArrays.Metadata{Rasters.NCDfile, Dict{Symbol, Any}}, crs::EPSG, mappedcrs::EPSG)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:290
[4] _ncdlookup(ds::NCDataset{Nothing}, dimname::String, D::Type, crs::EPSG, mappedcrs::EPSG)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:264
[5] _ncddim(ds::NCDataset{Nothing}, dimname::String, crs::EPSG, mappedcrs::EPSG)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:231
[6] #725
@ /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:147 [inlined]
[7] map
@ ./tuple.jl:222 [inlined]
[8] dims
@ /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:146 [inlined]
[9] Raster(ds::NCDatasets.CFVariable{Float32, 2, NCDatasets.Variable{Float32, 2, NCDataset{Nothing}}, NCDatasets.Attributes{NCDataset{Nothing}}, NamedTuple{(:fillvalue, :missing_values, :scale_factor, :add_offset, :calendar, :time_origin, :time_factor), Tuple{Nothing, Tuple{}, Nothing, Nothing, Nothing, Nothing, Nothing}}}, filename::String, key::Symbol; crs::Nothing, mappedcrs::Nothing, dims::Nothing, refdims::Tuple{}, name::Symbol, metadata::DimensionalData.Dimensions.LookupArrays.Metadata{Rasters.NCDfile, Dict{Symbol, Any}}, missingval::Missing, source::Type, write::Bool, lazy::Bool)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/array.jl:273
[10] Raster(ds::NCDatasets.CFVariable{Float32, 2, NCDatasets.Variable{Float32, 2, NCDataset{Nothing}}, NCDatasets.Attributes{NCDataset{Nothing}}, NamedTuple{(:fillvalue, :missing_values, :scale_factor, :add_offset, :calendar, :time_origin, :time_factor), Tuple{Nothing, Tuple{}, Nothing, Nothing, Nothing, Nothing, Nothing}}}, filename::String, key::Symbol)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/array.jl:264
[11] Raster(ds::NCDataset{Nothing}, filename::String, key::Symbol; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:34
[12] Raster(ds::NCDataset{Nothing}, filename::String, key::Symbol)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:32
[13] (::Rasters.var"#51#52"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, String})(ds::NCDataset{Nothing})
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/array.jl:261
[14] _open(f::Rasters.var"#51#52"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, String}, ::Type{Rasters.NCDfile}, ds::NCDataset{Nothing}; key::Nothing, kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:222
[15] _open
@ /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:221 [inlined]
[16] #745
@ /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:218 [inlined]
[17] NCDataset(::Rasters.var"#745#746"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Rasters.var"#51#52"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, String}}, ::String, ::Vararg{String}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ NCDatasets /data2/user/.julia/packages/NCDatasets/ipGBH/src/dataset.jl:241
[18] NCDataset(::Function, ::String, ::Vararg{String})
@ NCDatasets /data2/user/.julia/packages/NCDatasets/ipGBH/src/dataset.jl:238
[19] #_open#744
@ /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:217 [inlined]
[20] _open(f::Function, ::Type{Rasters.NCDfile}, filename::String)
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/sources/ncdatasets.jl:214
[21] _open(f::Function, filename::String; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Rasters /data2/user/.julia/packages/Rasters/fANS1/src/convenience.jl:20
[22] _open
@ /data2/user/.julia/packages/Rasters/fANS1/src/convenience.jl:19 [inlined]
[23] #Raster#50
@ /data2/user/.julia/packages/Rasters/fANS1/src/array.jl:259 [inlined]
[24] top-level scope
@ REPL[39]:1
For now, I will revert back to using my old workflow in order to plot the data. Thanks for the help.
On an unrelated matter: Thanks to you and everyone else that has worked on DimensionalData.jl. It has been very useful.