Skip to content

Commit f16e6ef

Browse files
committed
Finish 40 ensemble member generation?
1 parent ebbe51b commit f16e6ef

6 files changed

+105
-44
lines changed

scripts/archive_unarchived_CMIP6_ACCESS_GM_files.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ model=ACCESS-ESM1-5
2828
# model=ACCESS-CM2
2929

3030
# experiment=historical
31-
# members=("HI-06","HI-33","HI-34","HI-35","HI-36")
31+
# members=("HI-43","HI-44")
3232
# decade_start=1850
3333
# decade_end=2020
3434
experiment=ssp370
35-
members=("SSP-370-31","SSP-370-32","SSP-370-33","SSP-370-34","SSP-370-35","SSP-370-36","SSP-370-37","SSP-370-38","SSP-370-39","SSP-370-40","SSP-370-41","SSP-370-42","SSP-370-43","SSP-370-44")
35+
members=("SSP-370-43","SSP-370-44")
3636
decade_start=2010
3737
decade_end=2100
3838

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# This script test the "completion rate" of archived data
2+
using Format
3+
using Test
4+
5+
datadir = "/g/data/xv83/TMIP/data"
6+
modeldir = joinpath(datadir, "ACCESS-ESM1-5")
7+
experiments = ["historical", "ssp370"]
8+
exp_prefix = ["HI", "SSP-370"]
9+
vars = ["$(str1)_trans_$(str2)" for str1 in ("tx", "ty") for str2 in ("gm", "submeso")]
10+
11+
@testset "archived data" begin
12+
@testset "$(member)" for member in 1:40
13+
@testset "$(experiment)" for (experiment, exp_prefix) in zip(experiments, exp_prefix)
14+
expdir = joinpath(modeldir, experiment)
15+
CSIRO_member = "$exp_prefix-$(format(member + 4, width=2, zeropadding=true))"
16+
memberdir = joinpath(expdir, CSIRO_member)
17+
decades = (experiment == "historical") ? (1850:10:2010) : (2010:10:2090)
18+
@test all(isfile(joinpath(memberdir, "month_$(var)_$(decade)s.nc")) for var in vars for decade in decades)
19+
end
20+
end
21+
end
Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,22 @@
1-
# This script just prints a tiny table that shows the "completion rate" of making variables
1+
# This script test the "completion rate" of making averaged variables
22
using Format
3-
using DataFrames
4-
using DataFramesMeta
3+
54
datadir = "/scratch/xv83/TMIP/data"
65
modeldir = joinpath(datadir, "ACCESS-ESM1-5")
7-
decades = [1850, 1990, 2020, 2030, 2090]
6+
decades = [1850, 1990, 2030, 2090]
87
# decades = [1990]
98
experiments = [t < 2010 ? "historical" : "ssp370" for t in decades]
109
vars = ("umo", "vmo", "mlotst", "tx_trans_gm", "ty_trans_gm", "tx_trans_submeso", "ty_trans_submeso")
1110
members = map(m -> "r$(m)i1p1f1", 1:40)
12-
df = DataFrame(experiment = String[], decade = Int64[], member = String[], variable = 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 variable in vars
18-
fname = joinpath(dir, "$variable.nc")
19-
row = (; experiment, decade, member, variable, isfile = isfile(fname))
20-
push!(df, row)
11+
12+
using Test
13+
files = ["$var.nc" for var in vars]
14+
@testset "saved data" begin
15+
@testset "$(decade) $(experiment)" for (decade, experiment) in zip(decades, experiments)
16+
experimentdir = joinpath(modeldir, experiment)
17+
@testset "$(member)" for member in members
18+
dir = joinpath(experimentdir, member, "Jan$(decade)-Dec$(decade + 9)", "cyclomonth")
19+
@test all(isfile(joinpath(dir, file)) for file in files)
2120
end
2221
end
23-
end
24-
df
25-
Nmembers = length(members)
26-
Nvars = length(vars)
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, :variable], :done = 100 * sum(:isfile) / Nmembers)
32-
end
33-
# df2 = @chain df begin
34-
# # @subset(:isfile)
35-
# # @rtransform(:filesize = round(:filesize, sigdigits=2))
36-
# # @select(:variable, :filesize)
37-
# @groupby(:decade)
38-
# @combine(:count => sum(:isfile))
39-
# # @transform(:maxsize = maximum(:filesize))
40-
# # @rsubset(!isapprox(:filesize, :maxsize, atol = 0.1 * :maxsize), :decade ≠ 2010)
41-
# # @rselect(:CSIRO_member, :decade, :variable, :potentially_missing_data = round(Int, pc, 1 - :filesize / :maxsize |> pc))
42-
# # @orderby(:CSIRO_member, :decade, :variable)
43-
# end
44-
show(df2, allrows = true)
22+
end

scripts/check_cyclo_matrices.jl

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# This script just prints a tiny table that shows the "completion rate" of making variables
2+
using Format
3+
using DataFrames
4+
using DataFramesMeta
5+
datadir = "/scratch/xv83/TMIP/data"
6+
modeldir = joinpath(datadir, "ACCESS-ESM1-5")
7+
decades = [1850, 1990, 2030, 2090]
8+
# decades = [1990]
9+
experiments = [t < 2010 ? "historical" : "ssp370" for t in decades]
10+
files = ("cyclo_matrix_$i.jld2" for i in 1:12)
11+
members = 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)
35+
36+
using Test
37+
@testset "Matrices" begin
38+
@testset "$experiment $decade" for (decade, experiment) in zip(decades, experiments)
39+
experimentdir = joinpath(modeldir, experiment)
40+
@testset "$member" for member in members
41+
dir = joinpath(experimentdir, member, "Jan$(decade)-Dec$(decade + 9)", "cyclomonth")
42+
@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
47+
end
48+
end
49+
end
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")

scripts/cyclo_average_CMIP6_ACCESS_variables.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
#PBS -P xv83
44
#PBS -N CMIP6_ACCESS_preprocessing
55
#PBS -l ncpus=28
6-
#PBS -q normal
7-
#PBS -l mem=180GB
6+
#PBS -q hugemem
7+
#PBS -l mem=200GB
88
#PBS -l jobfs=4GB
99
#PBS -l walltime=24:00:00
1010
#PBS -l storage=gdata/xv83+gdata/oi10+gdata/dk92+gdata/hh5+gdata/rr3+gdata/al33+gdata/fs38+gdata/xp65+gdata/p73
@@ -27,12 +27,12 @@ module load python3/3.12.1
2727
# CHANGE HERE the model, experiment, ensemble, etc.
2828
model=ACCESS-ESM1-5
2929
# model=ACCESS-CM2
30-
# experiment=historical
31-
# year_start=1850
30+
experiment=historical
31+
year_start=1850
3232
# year_start=1990
33-
experiment=ssp370
33+
# experiment=ssp370
3434
# year_start=2030
35-
year_start=2090
35+
# year_start=2090
3636
num_years=10
3737
lumpby=month
3838
# lumpby=season

scripts/cyclo_average_unarchived_CMIP6_ACCESS_GM_variables.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,13 @@ def climatology(ds, lumpby):
146146
decades = range(decade_start, year_start + num_years, 10)
147147

148148
# Members to loop through
149-
members = range(1, 41)
149+
# members = range(1, 41)
150150
# members = range(1, 9)
151151
# members = range(9, 41)
152152
# members = [1, 3, 4, 5, 6, 7, 8]
153153
# members = [1, 3, 4]
154154
# members = [5, 6, 7, 8]
155+
members = [39, 40]
155156

156157

157158
print("Starting client")

0 commit comments

Comments
 (0)