@@ -18,9 +18,13 @@ md"""## Read and Compute"""
1818
1919# ╔═╡ cf5420aa-95b7-4484-9f09-86571691df68
2020begin
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"""
2428end
2529
2630# ╔═╡ 326d378c-abde-4f5e-b90d-dc1a3e4b044d
3539 " Done with interpolation, zonal lines"
3640end
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
3950md """ ## Meridional Transport
4051
@@ -59,30 +70,28 @@ md"""## Overturning"""
5970md """ ## 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,γ))
95104end
96105
97- # ╔═╡ 4542e819-f76b-4188-a365-d978c9b9d038
106+ # ╔═╡ dd1f651a-f665-4bb2-a0cc-0cc047227d8c
98107begin
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,Γ)
102110end
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
111113begin
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)
131133end
132134
135+ # ╔═╡ 8266013a-b6aa-4820-801f-7edc290aab9e
136+ fig_MHT
137+
133138# ╔═╡ 43331d0d-ffdb-4cfe-9376-1f4c8cafb642
134139begin
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)
161166end
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]
217222CairoMakie = "~0.15.8"
218223JLD2 = "~0.6.3"
224+ MeshArrays = "~0.5.2"
219225NCDatasets = "~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
227233julia_version = "1.12.1"
228234manifest_format = "2.0"
229- project_hash = "f79e429962cf1e19dd512ba6adad64f324a38281 "
235+ project_hash = "4b05666cfb6f16041f788f7c9ec0a19977ce402c "
230236
231237[[deps.AbstractFFTs]]
232238deps = ["LinearAlgebra"]
@@ -1226,7 +1232,7 @@ version = "0.6.7"
12261232
12271233[[deps.MeshArrays]]
12281234deps = ["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/ "
12301236uuid = "cb8c808f-1acf-59a3-9d2b-6e38d009f683"
12311237version = "0.5.2"
12321238
@@ -1481,9 +1487,9 @@ version = "1.3.3"
14811487
14821488[[deps.Preferences]]
14831489deps = ["TOML"]
1484- git-tree-sha1 = "0f27480397253da18fe2c12a4ba4eb9eb208bf3d "
1490+ git-tree-sha1 = "522f093a29b31a93e34eaea17ba055d850edea28 "
14851491uuid = "21216c6a-2e73-6563-6e65-726566657250"
1486- version = "1.5.0 "
1492+ version = "1.5.1 "
14871493
14881494[[deps.Printf]]
14891495deps = ["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