Esempio n. 1
0
Qr = Qr - tendH

#Qr = Cbar*tendsst -(-thf + Q_net_surf)
Qr = Qr.transpose('time', 'lat', 'lon')

Qr_mean = Qr.mean(dim='time')

Q_s = -thf + Q_net_surf + Q_ek

#Q_s = -thf + Q_net_surf

Qr_var = Qr.var(dim='time')
Q_s_var = Q_s.var(dim='time')

covQsQo = st2.cov(Qr, Q_s)

nlat = len(lats)
nlon = len(lons)

# Compute covariance betwen SST tendency and fields
cov_Qr = st2.cov(tendsst, Qr)
cov_Qs = st2.cov(tendsst, Q_s)
cov_Qek = st2.cov(tendsst, Q_ek)
cov_tendH = st2.cov(tendsst, tendH)
#cov_Qek_f = st2.cov(tendsst,Q_ek_f)

#cov_Rnet = st2.cov(tendsst,Q_net_surf)
#cov_thf = st2.cov(tendsst,-thf)
#
#cov_RnetRnet = st2.cov(Q_net_surf,Q_net_surf)
Esempio n. 2
0
nt = sst.shape[0]
#timeslice = slice(0,nt)
timeslice = slice(int(Tn),nt-int(Tn))

Q_s = Q_s.isel(time=timeslice)
Qr = Qr.isel(time=timeslice)
tendsst = tendsst.isel(time=timeslice)
sst = sst.isel(time=timeslice)

sst_var = sst.var(dim='time')

Qr_var = Qr.var(dim='time')
Q_s_var = Q_s.var(dim='time')

covQsQo = st2.cov(Qr,Q_s)

nlat = len(lats)
nlon = len(lons)

var_Qo = st2.cov(Qr,Qr)
var_Qs = st2.cov(Q_s,Q_s)
#cov_QsQo = st2.cov(Qr,Q_s)

covQsQo_test = 0.5*((Qr + Q_s).var(dim='time') - var_Qo - var_Qs)




# Compute covariance betwen SST tendency and fields
cov_Qr = st2.cov(tendsst, Qr)
Esempio n. 3
0
Qr_mean = Qr.mean(dim='time')

#Q_s = -thf + Q_net_surf + Q_ek

Q_s = -thf + Q_net_surf

T_Qs = (Q_s / Cbar).cumsum(dim='time') * dt
T_Qo = (Qr / Cbar).cumsum(dim='time') * dt

T_sum = T_Qs + T_Qo

var_T_Qs = T_Qs.var(dim='time')
var_T_Qo = T_Qo.var(dim='time')

cov_T_Qs_T_Qo = st2.cov(T_Qs, T_Qo)

nlat = len(lats)
nlon = len(lons)

reflon = 320
reflat = 50

plt.figure(figsize=(16, 10))
plt.plot(T_Qs.time,
         T_Qs.sel(lon=reflon, lat=reflat),
         label=r'$T_{Q_s}$',
         color='C0')
plt.plot(T_Qo.time,
         T_Qo.sel(lon=reflon, lat=reflat),
         label=r'$T_{Q_o}$',
Esempio n. 4
0
    timeslice = slice(int(Tn), nt - int(Tn))

    Q_s = Q_s.isel(time=timeslice)
    Qr = Qr.isel(time=timeslice)
    #tendsst = tendsst.isel(time=timeslice)
    tendT_mxl = tendT_mxl.isel(time=timeslice)
    sst = sst.isel(time=timeslice)

    # var_Qo = st2.cov(Qr,Qr)
    # var_Qs = st2.cov(Q_s,Q_s)
    # cov_QsQo = st2.cov(Qr,Q_s)

    Q_tot = Q_s + Qr

    # Compute covariance betwen SST tendency and fields
    cov_Qr = st2.cov(tendT_mxl, Qr)
    cov_Qs = st2.cov(tendT_mxl, Q_s)
    #cov_Qek = st2.cov(tendsst,Q_ek)
    #cov_Rnet = st2.cov(tendsst, Q_net_surf)
    #cov_thf = st2.cov(tendsst, -thf)
    #cov_ssttend = st2.cov(tendsst,tendsst)

    # var_Qr = Qr.var(dim='time')
    # var_Qs = Q_s.var(dim='time')
    # var_Qtot = Q_tot.var(dim='time')

    # covQsQr = 0.5*(var_Qtot - var_Qr - var_Qs)

    # Compute lagged sst autocorrelations
    r1corrs = st2.cor(sst, sst, lagx=1)
    r2corrs = st2.cor(sst, sst, lagx=2)
Esempio n. 5
0
nt = sst.shape[0]
#timeslice = slice(0,nt)
timeslice = slice(int(Tn), nt - int(Tn))

Q_s = Q_s.isel(time=timeslice)
Qr = Qr.isel(time=timeslice)
tendsst = tendsst.isel(time=timeslice)
sst = sst.isel(time=timeslice)

sst_var = sst.var(dim='time')

Qr_var = Qr.var(dim='time')
Q_s_var = Q_s.var(dim='time')

covQsQo = st2.cov(Qr, Q_s)

nlat = len(lats)
nlon = len(lons)

# Compute covariance betwen SST tendency and fields
cov_Qr = st2.cov(tendsst, Qr)
cov_Qs = st2.cov(tendsst, Q_s)
#cov_Qek = st2.cov(tendsst, Q_ek)
#cov_Qek_f = st2.cov(tendsst,Q_ek_f)

#cov_Rnet = st2.cov(tendsst,Q_net_surf)
cov_thf = st2.cov(tendsst, -thf)
#
#cov_RnetRnet = st2.cov(Q_net_surf,Q_net_surf)
#cov_thfRnet = st2.cov(-thf,Q_net_surf)
    #timeslice = slice(0,nt)

    timeslice = slice(int(Tn), nt - int(Tn))

    Q_s = Q_s.isel(time=timeslice)
    Qr = Qr.isel(time=timeslice)
    tendsst = tendsst.isel(time=timeslice)
    sst = sst.isel(time=timeslice)

    # var_Qo = st2.cov(Qr,Qr)
    # var_Qs = st2.cov(Q_s,Q_s)
    # cov_QsQo = st2.cov(Qr,Q_s)

    # Compute covariance betwen SST tendency and fields
    cov_Qr = st2.cov(tendsst, Qr)
    cov_Qs = st2.cov(tendsst, Q_s)
    #cov_Qek = st2.cov(tendsst,Q_ek)
    cov_Rnet = st2.cov(tendsst, Q_net_surf)
    cov_thf = st2.cov(tendsst, -thf)
    #cov_ssttend = st2.cov(tendsst,tendsst)

    # Compute lagged sst autocorrelations
    r1corrs = st2.cor(sst, sst, lagx=1)
    r2corrs = st2.cor(sst, sst, lagx=2)

    # Scaling factor (to convert from units of W*K/(s*m^2) to K^2)
    fac = (2 * dt**2 / (Cbar * (1 - r2corrs)))

    #MERRA-2 sometimes blows up fac...
    fac = fac.where(~(xr.ufuncs.isinf(fac)))
Esempio n. 7
0
Q_s = Q_s.isel(time=timeslice)
Qr = Qr.isel(time=timeslice)
#tendsst = tendsst.isel(time=timeslice)
sst = sst.isel(time=timeslice)
tendT_mxl = tendT_mxl.isel(time=timeslice)

tendT_mxl_squarebar = (tendT_mxl**2).mean(dim='time')
sst_var = sst.var(dim='time')

k = sst_var / tendT_mxl_squarebar
alpha = k / Cbar

Qr_var = Qr.var(dim='time')
Q_s_var = Q_s.var(dim='time')

covQsQo = st2.cov(Qr, Q_s)

nlat = len(lats)
nlon = len(lons)

var_Qo = st2.cov(Qr, Qr)
var_Qs = st2.cov(Q_s, Q_s)
#cov_QsQo = st2.cov(Qr,Q_s)

covQsQo_test = 0.5 * ((Qr + Q_s).var(dim='time') - var_Qo - var_Qs)

# Compute covariance betwen SST tendency and fields
cov_Qr = st2.cov(tendT_mxl, Qr)
cov_Qs = st2.cov(tendT_mxl, Q_s)
#cov_Qek = st2.cov(tendsst, Q_ek)
#cov_Qek_f = st2.cov(tendsst,Q_ek_f)
Esempio n. 8
0
    # Make sure sst tendency times match up with other fields
    tendsst.time.values = thf.time.values

    Qr = Cbar * tendsst - (-thf + Q_net_surf) - Q_ek
    #Qr = Cbar*tendsst -(-thf + Q_net_surf)
    Qr = Qr.transpose('time', 'lat', 'lon')

    Q_s = -thf + Q_net_surf

    #Q_s = -thf + Q_net_surf + Q_ek

    nlat = len(lats)
    nlon = len(lons)

    # Compute covariance betwen SST tendency and fields
    cov_Qr = st2.cov(tendsst, Qr)
    cov_Qs = st2.cov(tendsst, Q_s)
    cov_Qek = st2.cov(tendsst, Q_ek)
    #cov_ssttend = st2.cov(tendsst,tendsst)

    # Compute lagged sst autocorrelations
    r1corrs = st2.cor(sst, sst, lagx=1)
    r2corrs = st2.cor(sst, sst, lagx=2)

    # Scaling factor (to convert from units of W*K/(s*m^2) to K^2)
    fac = (2 * dt**2 / (Cbar * (1 - r2corrs)))

    #MERRA-2 sometimes blows up fac...
    fac = fac.where(~(xr.ufuncs.isinf(fac)))

    # Compute observed SST variance
Esempio n. 9
0
    Q_s = -thf + Q_net_surf

    timeslice = slice(int(Tn), nt - int(Tn))

    Q_s = Q_s.isel(time=timeslice)
    Qr = Qr.isel(time=timeslice)
    tendsst = tendsst.isel(time=timeslice)
    sst = sst.isel(time=timeslice)

    #Q_s = -thf + Q_net_surf + Q_ek

    nlat = len(lats)
    nlon = len(lons)

    # Compute covariance betwen SST tendency and fields
    cov_Qr = st2.cov(tendsst, Qr)
    cov_Qs = st2.cov(tendsst, Q_s)
    #cov_Qek = st2.cov(tendsst,Q_ek)
    #cov_ssttend = st2.cov(tendsst,tendsst)

    # Compute lagged sst autocorrelations
    r1corrs = st2.cor(sst, sst, lagx=1)
    r2corrs = st2.cor(sst, sst, lagx=2)

    # Scaling factor (to convert from units of W*K/(s*m^2) to K^2)
    fac = (2 * dt**2 / (Cbar * (1 - r2corrs)))

    #MERRA-2 sometimes blows up fac...
    fac = fac.where(~(xr.ufuncs.isinf(fac)))

    # Compute observed SST variance
Esempio n. 10
0
    Q_s = Q_s.isel(time=timeslice)
    Qr = Qr.isel(time=timeslice)
    tendsst = tendsst.isel(time=timeslice)
    sst = sst.isel(time=timeslice)
    err_Qs = err_Qs.isel(time=timeslice)
    err_tendsst = err_tendsst.isel(time=timeslice)

    # var_Qo = st2.cov(Qr,Qr)
    # var_Qs = st2.cov(Q_s,Q_s)
    # cov_QsQo = st2.cov(Qr,Q_s)

    Q_tot = Q_s + Qr

    # Compute covariance betwen SST tendency and fields
    cov_Qr = st2.cov(tendsst, Qr)
    cov_Qs = st2.cov(tendsst, Q_s)
    #cov_Qek = st2.cov(tendsst,Q_ek)
    cov_Rnet = st2.cov(tendsst, Q_net_surf)
    cov_thf = st2.cov(tendsst, -thf)
    #cov_ssttend = st2.cov(tendsst,tendsst)

    cov_Qr_err = st2.cov(tendsst, err_Qr) + st2.cov(err_tendsst, Qr)
    cov_Qs_err = st2.cov(tendsst, err_Qs) + st2.cov(err_tendsst, Q_s)

    # var_Qr = Qr.var(dim='time')
    # var_Qs = Q_s.var(dim='time')
    # var_Qtot = Q_tot.var(dim='time')

    # covQsQr = 0.5*(var_Qtot - var_Qr - var_Qs)