예제 #1
0
    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')
예제 #2
0
 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)