Exemplo n.º 1
0
def omfbyo(data=None,return_deps=False):
    deps = ['omf','obs']

    omf = data[ncd.var_to_var('omf')]
    obs = data[ncd.var_to_var('obs')]

    val = omf/obs
    return(val)
Exemplo n.º 2
0
def spd_fcst(data=None,return_deps=False):
    deps = ['u_obs','v_obs','u_omf','v_omf']
    u_bkg = data[ncd.var_to_var('u_obs')] - data[ncd.var_to_var('u_omf')]
    v_bkg = data[ncd.var_to_var('v_obs')] - data[ncd.var_to_var('v_omf')]
    spd_b = (u_bkg**2 + v_bkg**2) ** (0.5)

    val = spd_b
    return(val)
Exemplo n.º 3
0
def dist(data=None,return_deps=False):
    from scipy.spatial.distance import cdist

    deps = ['lon','lat']
    if (data['centroid_lat'] is None or data['centroid_lon'] is None):
       raise Exception('Distance calculations require a focal lon/lat to be set by ncd.set_centroid(lon,lat)')
    d = ( (data[ncd.var_to_var('lat')] - data['centroid_lat']) ** 2 + (data[ncd.var_to_var('lon')] - data['centroid_lon']) ** 2 ) ** (0.5) 
#    d = cdist(np.transpose( [data[ncd.var_to_var('lat'), data[ncd.var_to_var('lon')] ), [data['centroid_lat', data['centroid_lon'], 'euclidean')
    return(d)
Exemplo n.º 4
0
def dir_obs(data=None,return_deps=False):
    deps = ['u_obs','v_obs']
    u_obs = data[ncd.var_to_var('u_obs')]
    v_obs = data[ncd.var_to_var('v_obs')]

    spd_o = (u_obs**2 + v_obs**2) ** (0.5)
    dir_o = spd_o * 0.0 + 999.
    msk = (spd_o > 0.0)
    dir_o[msk] = np.arctan2(u_obs[msk],v_obs[msk]) * 180.0 / np.pi
    val = dir_o
    return(val)
Exemplo n.º 5
0
def dir_fcst(data=None,return_deps=False):
    deps = ['u_obs','v_obs','u_omf','v_omf']
    u_bkg = data[ncd.var_to_var('u_obs')] - data[ncd.var_to_var('u_omf')]
    v_bkg = data[ncd.var_to_var('v_obs')] - data[ncd.var_to_var('v_omf')]

    spd_b = (u_bkg**2 + v_bkg**2) ** (0.5)
    dir_b = spd_b*0.0 + 999.
    msk = (spd_b > 0.0)
    dir_b[msk] = np.arctan2(u_bkg[msk],v_bkg[msk]) * 180.0 / np.pi

    val = dir_b
    return(val)
Exemplo n.º 6
0
def rand(data=None,return_deps=False):
    import numpy.random as rnd 
    deps = ['lon']

    nv = data[ncd.var_to_var('lon')].size
    val = rnd.rand(nv)
    return(val)
Exemplo n.º 7
0
def amb(data=None, return_deps=False):
    deps = ['omf', 'oma']

    val = data[ncd.var_to_var('omf')] - data[ncd.var_to_var('oma')]
    return (val)
Exemplo n.º 8
0
def sigobyf(data=None,return_deps=False):
    deps = ['omf','obs','sigo']

    val = data[ncd.var_to_var('sigo')] / (data[ncd.var_to_var('obs')] - data[ncd.var_to_var('omf')])
    return(val)
Exemplo n.º 9
0
def angord(data=None,return_deps=False):
    deps = ['BC_angord']

    val = np.sum(data[ncd.var_to_var('BC_angord')],axis=1)
    return(val)
Exemplo n.º 10
0
def spd_obs(data=None,return_deps=False):
    deps = ['u_obs','v_obs']
    spd_o = (data[ncd.var_to_var('u_obs')]**2 + data[ncd.var_to_var('v_obs')]**2) ** (0.5)

    val = spd_o
    return(val)
Exemplo n.º 11
0
def anl(data=None,return_deps=False):
    deps = ['oma','obs']

    val = data[ncd.var_to_var('obs')]-data[ncd.var_to_var('oma')]
    return(val)
Exemplo n.º 12
0
def fcst(data=None,return_deps=False):
    deps = ['omf','obs']

    val = data[ncd.var_to_var('obs')]-data[ncd.var_to_var('omf')]
    return(val)
Exemplo n.º 13
0
def bc(data=None,return_deps=False):
    deps = ['omfbc','omfnbc']

    val = data[ncd.var_to_var('omfbc')]-data[ncd.var_to_var('omfnbc')]
    return(val)