@@ -7,7 +7,7 @@ Reads the netcdf file for the variable `var` and reduction `red` from the direct
7
7
"""
8
8
get_nc_data_all = (var, red, DATA_DIR) -> begin
9
9
ds = NCDataset (" $DATA_DIR /$(var) _$red .nc" )
10
- var = ds[" $var " ][:,:,:, :]
10
+ var = ds[" $var " ][:, :, :, :]
11
11
lat = ds[" lat" ][:]
12
12
lon = ds[" lon" ][:]
13
13
z = ds[" z" ][:]
21
21
22
22
Postprocesses the climate data for the variable `var` and reduction `red` from the directory `DATA_DIR`. Returns the zonal mean and horizontal surface slice mean of the variable.
23
23
"""
24
- mean_climate_data = (varname, reduction, DATA_DIR; lev_i = 2 , spinup= 160 ) -> begin
24
+ mean_climate_data =
25
+ (varname, reduction, DATA_DIR; lev_i = 2 , spinup = 160 ) -> begin
25
26
26
- var, lat, lon, z, time = get_nc_data_all (varname, reduction, DATA_DIR)
27
- @assert spinup < size (var, 1 )
27
+ var, lat, lon, z, time = get_nc_data_all (varname, reduction, DATA_DIR)
28
+ @assert spinup < size (var, 1 )
28
29
29
- var_time_zonal_mean = mean (var[spinup: end ,:,:, :], dims= (1 ,2 ))[1 , 1 , :, :]
30
- var_time_mean_sfc = mean (var[spinup: end ,:,:, :], dims= (1 ))[1 , :, :, lev_i]
30
+ var_time_zonal_mean = mean (var[spinup: end , :, :, :], dims = (1 , 2 ))[1 , 1 , :, :]
31
+ var_time_mean_sfc = mean (var[spinup: end , :, :, :], dims = (1 ))[1 , :, :, lev_i]
31
32
32
- return var_time_zonal_mean, var_time_mean_sfc, lat, lon, z
33
- end
33
+ return var_time_zonal_mean, var_time_mean_sfc, lat, lon, z
34
+ end
34
35
35
36
"""
36
37
point_timeseries_data(variable, lon_i, lat_i, lev_i)
37
38
38
39
Returns the time series data for the variable `variable` at the indices `lon_i`, `lat_i`, and `lev_i`.
39
40
"""
40
- point_timeseries_data = (variable, lon_i, lat_i, lev_i) -> begin
41
+ point_timeseries_data =
42
+ (variable, lon_i, lat_i, lev_i) -> begin
41
43
42
- variable_time_mean = mean (variable[:, lon_i[1 ]: lon_i[2 ], lat_i[1 ]: lat_i[2 ], lev_i], dims= (2 ,3 ))[:,1 , 1 ]
44
+ variable_time_mean = mean (variable[:, lon_i[1 ]: lon_i[2 ], lat_i[1 ]: lat_i[2 ], lev_i], dims = (2 , 3 ))[:, 1 , 1 ]
43
45
44
- return variable_time_mean
45
- end
46
+ return variable_time_mean
47
+ end
46
48
47
49
"""
48
50
plot_climate(var, DATA_DIR, PLOT_DIR; reduction = "inst")
@@ -55,22 +57,43 @@ function plot_climate(var, DATA_DIR, PLOT_DIR, job_id; reduction = "inst", inter
55
57
56
58
# vertical-lat plot of zonal and time mean
57
59
if interpolate_to_pressure
58
- pa_zm, ~ ,~ , ~ , ~ = mean_climate_data (" pfull" , reduction, DATA_DIR)
60
+ pa_zm, ~ , ~ , ~ , ~ = mean_climate_data (" pfull" , reduction, DATA_DIR)
59
61
pa_zm = pa_zm ./ 100 # convert to hPa
60
62
pa_grid = [950 , 800 , 700 , 600 , 500 , 400 , 300 , 200 , 50 ]
61
63
strf_zm = interpolate_to_pressure_coord_2d (strf_zm, pa_zm, pa_grid)
62
- Plots. contourf (lat, - pa_grid, strf_zm' , xlabel= " Latitude (deg N)" , ylabel= " Pressure (hPa)" , title= " $var " , color= :viridis , ylims = (- pa_grid[1 ], - pa_grid[end ]), yticks = (- pa_grid, pa_grid))# , clims=(-1e10, 1e10))
64
+ Plots. contourf (
65
+ lat,
66
+ - pa_grid,
67
+ strf_zm' ,
68
+ xlabel = " Latitude (deg N)" ,
69
+ ylabel = " Pressure (hPa)" ,
70
+ title = " $var " ,
71
+ color = :viridis ,
72
+ ylims = (- pa_grid[1 ], - pa_grid[end ]),
73
+ yticks = (- pa_grid, pa_grid),
74
+ )# , clims=(-1e10, 1e10))
63
75
png (joinpath (PLOT_DIR, " $(job_id) _$(var) _pa.png" ))
64
76
else
65
- Plots. contourf (lat, z, strf_zm' , xlabel= " Latitude" , ylabel= " Height (km)" , title= " $var " , color= :viridis , ylims = (0 , 3e4 ), yscale= :log10 , yticks = ([1e3 ,5e3 ,10e3 ,20e3 ,30e3 ], [" 1" , " 5" , " 10" , " 20" , " 30" ]))# , clims=(-1e10, 1e10)
77
+ Plots. contourf (
78
+ lat,
79
+ z,
80
+ strf_zm' ,
81
+ xlabel = " Latitude" ,
82
+ ylabel = " Height (km)" ,
83
+ title = " $var " ,
84
+ color = :viridis ,
85
+ ylims = (0 , 3e4 ),
86
+ yscale = :log10 ,
87
+ yticks = ([1e3 , 5e3 , 10e3 , 20e3 , 30e3 ], [" 1" , " 5" , " 10" , " 20" , " 30" ]),
88
+ )# , clims=(-1e10, 1e10)
66
89
png (joinpath (PLOT_DIR, " $(job_id) _$var .png" ))
67
90
end
68
91
69
92
# horizontal slices
70
- Plots. contourf (lon, lat, strf_sfc' , xlabel= " Longitude" , ylabel= " Latitude" , title= " $var " , color= :viridis )# , clims=(-1e10, 1e10))
93
+ Plots. contourf (lon, lat, strf_sfc' , xlabel = " Longitude" , ylabel = " Latitude" , title = " $var " , color = :viridis )# , clims=(-1e10, 1e10))
71
94
png (joinpath (PLOT_DIR, " $(job_id) _$(var) _sfc.png" ))
72
95
73
- Plots. contourf (lon, lat, strf_upper' , xlabel= " Longitude" , ylabel= " Latitude" , title= " $var " , color= :viridis )# , clims=(-1e10, 1e10))
96
+ Plots. contourf (lon, lat, strf_upper' , xlabel = " Longitude" , ylabel = " Latitude" , title = " $var " , color = :viridis )# , clims=(-1e10, 1e10))
74
97
png (joinpath (PLOT_DIR, " $(job_id) _$(var) _10km.png" ))
75
98
end
76
99
@@ -93,4 +116,4 @@ function interpolate_to_pressure_coord_2d(var_zm, pa, pa_grid)
93
116
end
94
117
end
95
118
return var_on_pa
96
- end
119
+ end
0 commit comments