11# This script just prints a tiny table that shows the "completion rate" of making variables
22using Format
3- using DataFrames
4- using DataFramesMeta
3+ using Test
54datadir = " /scratch/xv83/TMIP/data"
65modeldir = joinpath (datadir, " ACCESS-ESM1-5" )
76decades = [1850 , 1990 , 2030 , 2090 ]
8- # decades = [1990]
97experiments = [t < 2010 ? " historical" : " ssp370" for t in decades]
108files = (" cyclo_matrix_$i .jld2" for i in 1 : 12 )
119members = map (m -> " r$(m) i1p1f1" , 1 : 40 )
12- df = DataFrame (experiment = String[], decade = Int64[], member = String[], file = String[], isfile = Bool[])
13- for (decade, experiment) in zip (decades, experiments)
14- experimentdir = joinpath (modeldir, experiment)
15- for member in members
16- dir = joinpath (experimentdir, member, " Jan$(decade) -Dec$(decade + 9 ) " , " cyclomonth" )
17- for file in files
18- filepath = joinpath (dir, file)
19- row = (; experiment, decade, member, file, isfile = isfile (filepath))
20- push! (df, row)
21- end
22- end
23- end
24- df
25- Nmembers = length (members)
26- Nfiles = length (files)
27- df2 = @chain df begin
28- # @groupby(:decade)
29- # @combine(:count => sum(:isfile))
30- # @by(:decade, :done = 100 * sum(:isfile) / (Nmembers * Nvars))
31- # @by([:decade], :count = "$(sum(:isfile)/Nfiles)/40", :done = (sum(:isfile) == Nmembers * Nfiles) ? "✓" : "")
32- @by ([:decade , :member ], :done = (sum (:isfile ) == Nfiles) ? " ✓" : " " )
33- end
34- show (df2, allrows = true )
3510
36- using Test
3711@testset " Matrices" begin
3812 @testset " $experiment $decade " for (decade, experiment) in zip (decades, experiments)
3913 experimentdir = joinpath (modeldir, experiment)
4014 @testset " $member " for member in members
4115 dir = joinpath (experimentdir, member, " Jan$(decade) -Dec$(decade + 9 ) " , " cyclomonth" )
4216 @test all (isfile (joinpath (dir, file)) for file in files)
43- # @testset "$member" for file in files
44- # filepath = joinpath(dir, file)
45- # @test isfile(filepath)
46- # end
4717 end
4818 end
4919end
50- # df2 = @chain df begin
51- # # @subset(:isfile)
52- # # @rtransform(:filesize = round(:filesize, sigdigits=2))
53- # # @select(:variable, :filesize)
54- # @groupby(:decade)
55- # @combine(:count => sum(:isfile))
56- # # @transform(:maxsize = maximum(:filesize))
57- # # @rsubset(!isapprox(:filesize, :maxsize, atol = 0.1 * :maxsize), :decade ≠ 2010)
58- # # @rselect(:CSIRO_member, :decade, :variable, :potentially_missing_data = round(Int, pc, 1 - :filesize / :maxsize |> pc))
59- # # @orderby(:CSIRO_member, :decade, :variable)
60- # end
61- println (" done" )
20+
21+ nothing
0 commit comments