示例#1
0
def remove_ocean(data, data_obs, lat_bounds, lon_bounds):
    """
    Masks out the ocean for land_only == True
    """

    ### Import modules
    import numpy as np
    from netCDF4 import Dataset
    import calc_dataFunctions as df

    ### Read in land mask
    directorydata = '/Users/zlabe/Data/masks/'
    filename = 'lsmask_19x25.nc'
    datafile = Dataset(directorydata + filename)
    maskq = datafile.variables['nmask'][:]
    lats = datafile.variables['latitude'][:]
    lons = datafile.variables['longitude'][:]
    datafile.close()

    mask, lats, lons = df.getRegion(maskq, lats, lons, lat_bounds, lon_bounds)

    ### Mask out model and observations
    datamask = data * mask
    data_obsmask = data_obs * mask

    return datamask, data_obsmask
示例#2
0
 def read_primary_dataset(variq,
                          dataset,
                          lat_bounds=lat_bounds,
                          lon_bounds=lon_bounds):
     data, lats, lons = df.readFiles(variq, dataset, monthlychoice)
     datar, lats, lons = df.getRegion(data, lats, lons, lat_bounds,
                                      lon_bounds)
     print('\nOur dataset: ', dataset, ' is shaped', data.shape)
     return datar, lats, lons
 def read_obs_dataset(variq,dataset_obs,lat_bounds=lat_bounds,lon_bounds=lon_bounds):
     data_obs,lats_obs,lons_obs = df.readFiles(variq,dataset_obs,monthlychoice)
     data_obs,lats_obs,lons_obs = df.getRegion(data_obs,lats_obs,lons_obs,
                                             lat_bounds,lon_bounds)
     if dataset_obs == '20CRv3':
         if monthlychoice == 'DJF':
             year20cr = np.arange(1837,2015+1)
         else:
              year20cr = np.arange(1836,2015+1)
         year_obsall = np.arange(yearsall[sis].min(),yearsall[sis].max()+1,1)
         yearqq = np.where((year20cr >= year_obsall.min()) & (year20cr <= year_obsall.max()))[0]
         data_obs = data_obs[yearqq,:,:]
     
     print('our OBS dataset: ',dataset_obs,' is shaped',data_obs.shape)
     return data_obs,lats_obs,lons_obs