h9 = f.createVariable('Ty_l', 'float', ('T', 'Y', 'X')) h9[:] = Ty_l h9.standard_name = 'Ty remamped to T space' f.close() #Clear vars dv['Ty_l'] = 0 dv['Tz_l'] = 0 dv['V_l'] = 0 dv['W_l'] = 0 dv['WT_l'] = 0 dv['VT_l'] = 0 # Eddy components VT = (c.mnc('Tav_VT.nc', 'VVELTH')) WT = (c.mnc('Tav_VT.nc', 'WVELTH')) Tv = utils.cgrid_to_vgrid(c.mnc('Tav.nc', 'THETA')) Tw = utils.cgrid_to_wgrid(c.mnc('Tav.nc', 'THETA')) V = (c.mnc('Tav.nc', 'VVEL')) W = (c.mnc('Tav.nc', 'WVEL')) npad = ((1, 0), (0, 0), (0, 0)) W = np.pad(W, pad_width=npad, mode='constant', constant_values=0) WT = np.pad(WT, pad_width=npad, mode='constant', constant_values=0) dv['VTbar'] = V * Tv dv['WTbar'] = W * Tw dv['VpTp'] = c.vgrid_to_cgrid(VT - V * Tv) dv['WpTp'] = c.wgrid_to_cgrid(WT - W * Tw) dv.execute('A_local=g.interp_to_g(VpTp,T)', block=True) VpTp_l = dv.gather('A_local').get()[0] dv.execute('A_local=g.interp_to_g(WpTp,T)', block=True) WpTp_l = dv.gather('A_local').get()[0] f = netCDF4.Dataset(str(fname) + '/layer_int2/Eddy_L.nc', 'w')
def compute_vflux(self): """Does the zonal layers calculation at a particular iteration""" v = self.c.mnc('Tav.nc', 'VVEL') g = utils.cgrid_to_vgrid(self._load_g_field()) return self._compute_flux(v, g)