@@ -240,7 +240,6 @@ def TwentySixNorth(nc,keys,**kwargs):
240
240
# Atlantic Mask not loaded
241
241
assert 0
242
242
243
-
244
243
zv = np .ma .array (nc .variables [keys [0 ]][..., latslice26Nnm , :]) # m/s
245
244
atlmoc = np .array (np .zeros_like (zv [0 , :, :, 0 ]))
246
245
print ('TwentySixNorth:' , e3v_AMOC26N .shape , atlmoc .shape , zv .shape )
@@ -286,11 +285,35 @@ def twentysixnorth025(nc,keys,**kwargs):
286
285
depths = np .ma .masked_where (thkcello .mask + np .abs (depths )< 500. , depths ) # masked above 500m depth.
287
286
288
287
e1v = e1v_AMOC26N [:,None , :, :]
289
- flux = vo * depths * e1v_AMOC26N [:,None , :, :]/ 1.E06
290
-
291
- moc = np .ma .zeros_like (flux )
292
- np .ma .cumsum (flux [:,::- 1 ], axis = 1 , out = moc ) # sum floor to surface
293
- return moc .max ()
288
+ # flux = vo * thkcello * e1v_AMOC26N[:,None, :, :]/1.E06
289
+ # moc=np.ma.zeros_like(flux)
290
+ # np.ma.cumsum(flux[:,::-1], axis=1, out=moc ) # sum floor to surface
291
+ # return moc.max()
292
+ atlmoc = np .array (np .zeros_like (vo .squeeze ()))
293
+ #print(atlmoc.shape, thkcello.shape, depths.shape, vo.shape, e1v_AMOC26N.shape, e3v_AMOC26N.shape)
294
+ # (75, 264) (1, 75, 1, 264) (1, 75, 1, 264) (1, 75, 1, 264) (1, 1, 264) (75, 264)
295
+
296
+ #assert 0
297
+
298
+ for (t , z , la , lo ), vox in np .ndenumerate (vo ):
299
+ if not vox :
300
+ continue
301
+ if not depths [t , z , la , lo ] or np .ma .is_masked (depths [t , z , la , lo ]):
302
+ continue
303
+ # if not alttmask_AMOC26N[la, lo]:
304
+ # continue
305
+ # if not tmask_AMOC26N[z, la, lo]:
306
+ # continue
307
+ # if np.ma.is_masked(zv[0, z, la, lo]):
308
+ # continue
309
+ atlmoc [z , la ] = atlmoc [z , la ] - e1v [t , 0 , la , lo ] * thkcello [t , z , la , lo ] * vo [t , z , la , lo ] / 1.E06
310
+
311
+ for z in range (thkcello .shape [1 ] - 2 , 1 , - 1 ): # add from the bottom up
312
+ atlmoc [z , :] = atlmoc [z + 1 , :] + atlmoc [z , :]
313
+ print ('AMOC:' , atlmoc .max ())
314
+ #assert 0
315
+ return atlmoc .max ()
316
+
294
317
295
318
296
319
def AMOC26N (nc , keys , ** kwargs ):
0 commit comments