From 2641ecdf64660043a468385dc0c4d75f359808c1 Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Fri, 20 Sep 2024 12:00:16 +0200 Subject: [PATCH 1/2] add dispatch for chelsa future bioclim with symbol layer --- src/chelsa/future.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/chelsa/future.jl b/src/chelsa/future.jl index 200c730..9f561ba 100644 --- a/src/chelsa/future.jl +++ b/src/chelsa/future.jl @@ -139,6 +139,7 @@ end function _getraster(T::Type{<:CHELSA{<:Future}}, layers::Tuple; kw...) _map_layers(T, layers; kw...) end +_getraster(T::Type{<:CHELSA{<:Future{BioClim}}}, layer::Symbol; kw...) = _getraster(T, bioclim_int(layer); kw...) function _getraster(T::Type{<:CHELSA{<:Future}}, layer::Union{Symbol,Integer}; kw...) _check_layer(T, layer) path = rasterpath(T, layer; kw...) From 88706cde93cd0a66476a65c31d3e1f47b0bdb2d5 Mon Sep 17 00:00:00 2001 From: tiemvanderdeure Date: Fri, 20 Sep 2024 12:00:30 +0200 Subject: [PATCH 2/2] better tests for future bioclim(plus) --- test/chelsa-future.jl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/chelsa-future.jl b/test/chelsa-future.jl index 87a975e..932513c 100644 --- a/test/chelsa-future.jl +++ b/test/chelsa-future.jl @@ -20,7 +20,6 @@ end @testset "CHELSA Future BioClim CMIP6" begin bioclim_name = "CHELSA_bio5_2041-2070_mri-esm2-0_ssp126_V.2.1.tif" @test rastername(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}, 5; date=Date(2050)) == bioclim_name - bioclim_path = joinpath(ENV["RASTERDATASOURCES_PATH"], "CHELSA", "Future", "BioClim", "SSP126", "MRIESM2") @test rasterpath(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}) == bioclim_path @@ -31,7 +30,14 @@ end @test getraster(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}, [5]; date=Date(2050)) == (bio5=raster_path,) @test getraster(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}, (5,); date=[Date(2050)]) == [(bio5=raster_path,)] + @test getraster(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}, :bio5; date=Date(2050)) == raster_path + @test getraster(CHELSA{Future{BioClim,CMIP6,MRIESM2,SSP126}}, (:bio5,); date=Date(2050)) == (bio5=raster_path,) + @test getraster(CHELSA{Future{BioClimPlus,CMIP6,MRIESM2,SSP126}}, :bio5; date=Date(2050)) == raster_path + @test getraster(CHELSA{Future{BioClimPlus,CMIP6,MRIESM2,SSP126}}, (:bio5,); date=Date(2050)) == (bio5=raster_path,) @test isfile(raster_path) + + # bioclimplus requires symbol input + @test_throws ArgumentError getraster(CHELSA{Future{BioClimPlus,CMIP6,MRIESM2,SSP126}}, 5; date=Date(2050)) end @testset "CHELSA Future Climate CMIP5" begin