@@ -344,13 +344,22 @@ def drakePassage(nc, keys, **kwargs):
344344
345345 if nc .variables ['nav_lat' ].shape == (332 , 362 ):
346346 print ('Classic grid' )
347+ elif nc .variables ['nav_lat' ].shape == (331 , 360 ):
348+ # No border here, so
349+ # (331, 360)
350+ # nc.variables[e3u_keys[0]][0, :, LAT0:LAT1, LON]
351+ # Lat is the same as there's no soouthern border, but longitude is one less, as there;s not border.
352+ LAT0 = 79
353+ LAT1 = 109
354+ LON = 219 - 1
347355 else :
348356 assert 0
349357
350358 elif grid == 'eORCA025' :
351- LON = eORCA025_drake_LON
352359 LAT0 = eORCA025_drake_LAT0
353360 LAT1 = eORCA025_drake_LAT1
361+ LON = eORCA025_drake_LON
362+
354363 latslice26Nnm = eORCA025_latslice26Nnm
355364 else :
356365 assert 0
@@ -400,6 +409,8 @@ def davisstraightflux(nc, keys, straight='Davis', **kwargs):
400409
401410 if nc .variables ['nav_lat' ].shape == (332 , 362 ):
402411 print ('Classic grid' )
412+ elif nc .variables ['nav_lat' ].shape == (331 , 360 ):
413+ LON = LON - 1
403414 else :
404415 assert 0
405416
@@ -740,14 +751,16 @@ def gulfstream_depth(nc, keys, **kwargs):
740751 loadDataMask (areafile , maskname , grid )
741752
742753 if grid == 'eORCA1' :
743- latslice26Nnm = eORCA1_latslice26Nnm
744754 #data=[-80.5011659 , -79.50119298, -78.50121829, -77.50124181,
745755 # -76.50126349, -75.50128329, -74.50130118, -73.50131712,
746756 # -72.50133107, -71.50134301, -70.50135293, -69.50136079,
747757 # -68.50136658],
748758 if nc .variables [keys [0 ]].shape == (332 , 362 ):
749759 print ('Classic grid' )
750760 lonslice_70W = slice (211 , 217 )
761+ latslice26Nnm = eORCA1_latslice26Nnm
762+ elif nc .variables ['nav_lat' ].shape == (331 , 360 ):
763+ lonslice_70W = slice (210 , 216 )
751764 else :
752765 assert 0
753766 # elif nc.variables[keys[0]].shape == (332, 362):
@@ -843,14 +856,20 @@ def gulfstream(nc, keys, **kwargs):
843856 # -76.50126349, -75.50128329, -74.50130118, -73.50131712,
844857 # -72.50133107, -71.50134301, -70.50135293, -69.50136079,
845858 # -68.50136658],
846- lonslice_70W = slice (207 , 220 )
847859
848860 altmaskfile = get_kwarg_file (kwargs , 'altmaskfile' , default = 'bgcval2/data/basinlandmask_eORCA1.nc' )
849861 if not loadedAltMask :
850862 loadAtlanticMask (altmaskfile , maskname = 'tmaskatl' , grid = grid )
851863
852864 if nc .variables [keys [0 ]].shape == (332 , 362 ):
865+ lonslice_70W = slice (207 , 220 )
866+ gs_e1v = e1v_AMOC26N
853867 print ('Classic grid' )
868+ elif nc .variables ['nav_lat' ].shape == (331 , 360 ):
869+
870+ lonslice_70W = slice (206 , 219 )
871+ gs_e1v = e1v_AMOC26N
872+
854873 else :
855874 assert 0
856875 elif grid == 'eORCA025' :
@@ -878,15 +897,15 @@ def gulfstream(nc, keys, **kwargs):
878897 thickness = nc .variables ['thkcellvo' ][0 ,:,latslice26Nnm , lonslice_70W ]
879898
880899 depth = np .abs (np .cumsum (thickness , axis = 0 ))# depth array
881- #print(vo.shape, thickness.shape, e1v_AMOC26N .shape)
900+ #print(vo.shape, thickness.shape, gs_e1v .shape)
882901 gs = 0.
883902 for (z , la , lo ), v in np .ndenumerate (vo ):
884903 if depth [z , la ,lo ] > maxdepth :
885904 continue
886905 if v <= 0 :
887906 continue
888- #print((z, la, lo),'depth:', depth[z, la,lo], (lats[la, lo],'N', lons[la, lo], 'E'), 'v:', v, 'thickness:', thickness[z, la, lo], 'width:', e1v_AMOC26N [la, lo])
889- gs += v * thickness [z , la , lo ] * e1v_AMOC26N [la , lo ] / 1.E06
907+ #print((z, la, lo),'depth:', depth[z, la,lo], (lats[la, lo],'N', lons[la, lo], 'E'), 'v:', v, 'thickness:', thickness[z, la, lo], 'width:', gs_e1v [la, lo])
908+ gs += v * thickness [z , la , lo ] * gs_e1v [la , lo ] / 1.E06
890909
891910 print ('Gulf Stream:' , gs ) # expecting a value of 32Sv ish.
892911 # https://www.sciencedirect.com/science/article/pii/S0079661114001694
0 commit comments