Skip to content

Commit 456df84

Browse files
authored
Merge pull request #212 from gaelforget/v0p5p3_a
V0p5p3_a
2 parents cb254ac + 7fe9106 commit 456df84

File tree

9 files changed

+443
-141
lines changed

9 files changed

+443
-141
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "MeshArrays"
22
uuid = "cb8c808f-1acf-59a3-9d2b-6e38d009f683"
3-
version = "0.5.2"
3+
version = "0.5.3"
44
authors = ["gaelforget <gforget@mit.edu>"]
55

66
[deps]

examples/dev/NEMO_MeridionalTransports.jl

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ md"""## Read and Compute"""
1818

1919
# ╔═╡ cf5420aa-95b7-4484-9f09-86571691df68
2020
begin
21-
γ=MeshArrays.GridSpec_NEMO(joinpath("data","mesh_mask_ORCA025.nc"))
22-
Γ=MeshArrays.GridLoad_NEMO(Dataset.path))
23-
"""Done with Grid"""
21+
ds_grid=Dataset("data/mesh_mask_ORCA025.nc")
22+
path_vo="data/MER-EP-SW/Test"
23+
ds_e3=Dataset("data/mesh_e3_fields_ORCA025.nc")
24+
Γ=MeshArrays.GridLoad_NEMO((ds_grid,ds_e3))
25+
γ=Γ.XC.grid
26+
27+
"""Done with Grid"""
2428
end
2529

2630
# ╔═╡ 326d378c-abde-4f5e-b90d-dc1a3e4b044d
@@ -35,6 +39,13 @@ begin
3539
"Done with interpolation, zonal lines"
3640
end
3741

42+
# ╔═╡ 4542e819-f76b-4188-a365-d978c9b9d038
43+
begin
44+
# uvt=read_vel_3d_nemoarray(1:1,Γ);
45+
# TatU,TatV=MeshArrays.to_UV(uvt_mean.T);
46+
# [heatmap(TatU[:,1]);heatmap(TatV[:,71])]
47+
end
48+
3849
# ╔═╡ 689989e4-5865-4034-8c56-731caff35334
3950
md"""## Meridional Transport
4051
@@ -59,30 +70,28 @@ md"""## Overturning"""
5970
md"""## Methods"""
6071

6172
# ╔═╡ 5c314ad6-5e5c-40c1-b501-54d0917dad6e
62-
function read_vel_3d_array(month=1)
73+
function read_vel_3d_array(month=1=[])
6374
m=string(month)
64-
fil="data/MER-EP-SW/Test/ORAS5_uo_2000-"*m*".nc"
65-
ds=Dataset(fil)["vozocrtx"][2:end-1,1:1020,:]
66-
ds[ismissing.(ds)].=NaN
67-
U=ds
68-
fil="data/MER-EP-SW/Test/ORAS5_vo_2000-"*m*".nc"
69-
ds=Dataset(fil)["vomecrty"][2:end-1,1:1020,:]
70-
ds[ismissing.(ds)].=NaN
71-
V=ds
72-
fil="data/MER-EP-SW/Test/ORAS5_thetao_2000-"*m*".nc"
73-
ds=Dataset(fil)["votemper"][2:end-1,1:1020,:]
74-
ds[ismissing.(ds)].=NaN
75-
T=ds
75+
fil=joinpath(path_vo,"ORAS5_uo_2000-"*m*".nc")
76+
U=MeshArrays.NEMO_GRID.read_one(Dataset(fil)["vozocrtx"],:U,true)
77+
fil=joinpath(path_vo,"ORAS5_vo_2000-"*m*".nc")
78+
V=MeshArrays.NEMO_GRID.read_one(Dataset(fil)["vomecrty"],:V,true)
79+
fil=joinpath(path_vo,"ORAS5_thetao_2000-"*m*".nc")
80+
T=MeshArrays.NEMO_GRID.read_one(Dataset(fil)["votemper"],:T,true)
7681
(U=U,V=V,T=T)
7782
end
7883

7984
# ╔═╡ 15d6085d-e2af-4285-9a30-b036c730ad83
80-
function read_vel_3d_nemoarray(month=1:12)
85+
function read_vel_3d_nemoarray(month=1:12=[])
8186
U,V,T=(zeros(1440,1020,75),zeros(1440,1020,75),zeros(1440,1020,75))
8287
uT,vT=(zeros(1440,1020,75),zeros(1440,1020,75))
8388

8489
for m in month
85-
tmp=read_vel_3d_array(m)
90+
tmp=read_vel_3d_array(m,Γ)
91+
#
92+
tmp.U.=tmp.U.*write.hFacW)
93+
tmp.V.=tmp.V.*write.hFacS)
94+
#
8695
U.+=tmp.U./length(month)
8796
V.+=tmp.V./length(month)
8897
T.+=tmp.T./length(month)
@@ -94,19 +103,12 @@ function read_vel_3d_nemoarray(month=1:12)
94103
(U=read(U,γ),V=read(V,γ),T=read(T,γ),uT=read(uT,γ),vT=read(vT,γ))
95104
end
96105

97-
# ╔═╡ 4542e819-f76b-4188-a365-d978c9b9d038
106+
# ╔═╡ dd1f651a-f665-4bb2-a0cc-0cc047227d8c
98107
begin
99-
uvt=read_vel_3d_nemoarray(1);
100-
TatU,TatV=MeshArrays.to_UV(uvt.T);
101-
[heatmap(TatU[:,1]);heatmap(TatV[:,71])]
108+
uvt_mean=read_vel_3d_nemoarray(1:12,Γ)
109+
(Utr,Vtr)=UVtoTransport(uvt_mean.U,uvt_mean.V,Γ)
102110
end
103111

104-
# ╔═╡ dd1f651a-f665-4bb2-a0cc-0cc047227d8c
105-
uvt_mean=read_vel_3d_nemoarray(1:12)
106-
107-
# ╔═╡ 19d782de-ae2d-4180-8312-dd4b9409bb20
108-
(Utr,Vtr)=UVtoTransport(uvt_mean.U,uvt_mean.V,Γ)
109-
110112
# ╔═╡ f0723ff8-477e-4aec-b756-001d0669ffb6
111113
begin
112114
mask=ones.XC.grid)
@@ -130,6 +132,9 @@ begin
130132
fil_MHT=joinpath(tempdir(),"NEMO_MT_heat.png"); println(fil_MHT); save(fil_MHT,fig_MHT)
131133
end
132134

135+
# ╔═╡ 8266013a-b6aa-4820-801f-7edc290aab9e
136+
fig_MHT
137+
133138
# ╔═╡ 43331d0d-ffdb-4cfe-9376-1f4c8cafb642
134139
begin
135140
fig_MVT=Figure(); Axis(fig_MVT[1,1],title="meridional volume transport in Sv")
@@ -153,10 +158,10 @@ function read_uTvT(path,Γ,month=1)
153158
f=MeshArrays.NEMO_GRID.gcmarray_to_nemorarray
154159
grid=Γ.XC.grid
155160
m=string(month)
156-
uT=Dataset(joinpath(path,"ORAS5_uT_1993-"*m*".nc"))["uT"][2:end-1,1:1020,1]
157-
uT=f(read(uT,grid))
158-
vT=Dataset(joinpath(path,"ORAS5_vT_1993-"*m*".nc"))["vT"][2:end-1,1:1020,1]
159-
vT=f(read(vT,grid))
161+
fil=joinpath(path,"ORAS5_uT_1993-"*m*".nc")
162+
uT=MeshArrays.NEMO_GRID.read_one(Dataset(fil)["uT"],:U,false)
163+
fil=joinpath(path,"ORAS5_vT_1993-"*m*".nc")
164+
vT=MeshArrays.NEMO_GRID.read_one(Dataset(fil)["vT"],:V,false)
160165
(uT,vT)
161166
end
162167

@@ -178,7 +183,7 @@ begin
178183
vT_m=zeros.XC)
179184
for m in 1:12
180185
_uT,_vT=read_uTvT("data/NEMO_sample/monthly/",Γ,m)
181-
uT_m+=_uT/12; vT_m+=_vT/12;
186+
uT_m.+=read(_uT/12,γ); vT_m.+=read(_vT/12,γ);
182187
end
183188
UV=Dict("U"=>Γ.DYG*uT_m,"V"=>Γ.DXG*vT_m,"dimensions"=>["x","y"])
184189
MOHT_GF=1e-15*4e6*[ThroughFlow(UV,lc,Γ) for lc in LC]
@@ -216,8 +221,9 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
216221
[compat]
217222
CairoMakie = "~0.15.8"
218223
JLD2 = "~0.6.3"
224+
MeshArrays = "~0.5.2"
219225
NCDatasets = "~0.14.10"
220-
PlutoUI = "~0.7.75"
226+
PlutoUI = "~0.7.76"
221227
"""
222228

223229
# ╔═╡ 00000000-0000-0000-0000-000000000002
@@ -226,7 +232,7 @@ PLUTO_MANIFEST_TOML_CONTENTS = """
226232
227233
julia_version = "1.12.1"
228234
manifest_format = "2.0"
229-
project_hash = "f79e429962cf1e19dd512ba6adad64f324a38281"
235+
project_hash = "4b05666cfb6f16041f788f7c9ec0a19977ce402c"
230236
231237
[[deps.AbstractFFTs]]
232238
deps = ["LinearAlgebra"]
@@ -1226,7 +1232,7 @@ version = "0.6.7"
12261232
12271233
[[deps.MeshArrays]]
12281234
deps = ["CatViews", "Dates", "Distributed", "GeoInterface", "Glob", "LazyArtifacts", "NearestNeighbors", "Pkg", "Printf", "SharedArrays", "SparseArrays", "Statistics", "Unitful"]
1229-
git-tree-sha1 = "d333bc6aa00ba7be0636af73698d85b306ff49f4"
1235+
path = "/Users/gaelforget/work/code/julia_pkg/MeshArrays.jl/"
12301236
uuid = "cb8c808f-1acf-59a3-9d2b-6e38d009f683"
12311237
version = "0.5.2"
12321238
@@ -1481,9 +1487,9 @@ version = "1.3.3"
14811487
14821488
[[deps.Preferences]]
14831489
deps = ["TOML"]
1484-
git-tree-sha1 = "0f27480397253da18fe2c12a4ba4eb9eb208bf3d"
1490+
git-tree-sha1 = "522f093a29b31a93e34eaea17ba055d850edea28"
14851491
uuid = "21216c6a-2e73-6563-6e65-726566657250"
1486-
version = "1.5.0"
1492+
version = "1.5.1"
14871493
14881494
[[deps.Printf]]
14891495
deps = ["Unicode"]
@@ -2056,23 +2062,23 @@ version = "4.1.0+0"
20562062
# ╟─a62f4e07-4877-48ec-8ecc-4b5bd4c4b3c0
20572063
# ╟─887cdf28-25fd-4aa9-873c-14d15a0e2c28
20582064
# ╟─d0bcb388-503e-4729-a1e5-3c033a71b60e
2059-
# ╟─4542e819-f76b-4188-a365-d978c9b9d038
2060-
# ╟─dd1f651a-f665-4bb2-a0cc-0cc047227d8c
2065+
# ╠═4542e819-f76b-4188-a365-d978c9b9d038
2066+
# ╠═dd1f651a-f665-4bb2-a0cc-0cc047227d8c
20612067
# ╟─689989e4-5865-4034-8c56-731caff35334
20622068
# ╟─cb328ede-795e-43d6-8a73-ca7b61ea652b
20632069
# ╟─aebc7ac0-b7b9-4a73-a015-44bc64530d9e
20642070
# ╟─06a1e780-9d69-4fc5-8b67-c105813999e0
20652071
# ╟─b53e4149-cb41-4bac-bb55-b8b2e8c202b6
20662072
# ╠═b329f537-50ca-4f1c-8986-4216af5719af
20672073
# ╟─ef9f4b4f-7fd8-4710-af72-87b2a455fd13
2068-
# ╟─19d782de-ae2d-4180-8312-dd4b9409bb20
2069-
# ╟─f0723ff8-477e-4aec-b756-001d0669ffb6
2070-
# ╟─43331d0d-ffdb-4cfe-9376-1f4c8cafb642
2074+
# ╠═f0723ff8-477e-4aec-b756-001d0669ffb6
2075+
# ╠═43331d0d-ffdb-4cfe-9376-1f4c8cafb642
2076+
# ╠═8266013a-b6aa-4820-801f-7edc290aab9e
20712077
# ╟─5969de7f-cbfb-4281-a435-5e74f5f23a1e
20722078
# ╟─d22af756-89cb-48e2-a835-88ee2feb7635
20732079
# ╟─91535321-0943-4441-b687-86a23cc9bdd9
20742080
# ╟─e4d1091d-9ae2-489b-b2fc-809e8e373079
2075-
# ╟─15d6085d-e2af-4285-9a30-b036c730ad83
2081+
# ╠═15d6085d-e2af-4285-9a30-b036c730ad83
20762082
# ╟─5c314ad6-5e5c-40c1-b501-54d0917dad6e
20772083
# ╟─4382098d-b822-4a84-9bfc-0971eeb399e2
20782084
# ╟─00000000-0000-0000-0000-000000000001

0 commit comments

Comments
 (0)