Esempio n. 1
0
def time_serie_sea_ice_ext(path, var, lat_min, basin, path_salinity, deg):
    yr, xr, time = loading.extracting_coord_2D(path)
    if deg == 'grid':
        ice = loading.extracting_var(path, 'ileadfra')
    else:
        ice = loading.extracting_var(path, var)
    #S = loading.extracting_var(path_salinity,'sal')

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)

    if deg == 'grid':
        path_grid = '/media/fig010/LACIE SHARE/EC_data/CERFACS_cell_area.nc'
        area = loading.reading_grid(path_grid) * 1E-6
    else:
        area = size_each_bins(xr, yr, deg)
    print(np.shape(area), np.shape(ice))
    ice[np.where(ice < 0.15)] = 0.
    ice[np.where(ice > 0.15)] = 1.
    print(np.nanmean(area))
    '''nt = np.size(ice[0,0,:])
  ice_extent=np.zeros_like((ice[mask]))
  for i in range(0,nt):
    ice_extent[:,i] = ice[mask,i]*area[mask]
  '''# same as #
    ice_extent = area[mask] * ice[mask].transpose(1, 0)

    mean_ice_ext = np.nansum(ice_extent, axis=1)
    return time, mean_ice_ext
def time_serie(path, var, lat_min, basin):
    yr, xr, time = loading.extracting_coord_2D(path)
    melted_ice = loading.extracting_var(path, var)
    S = loading.extracting_var(path, 'sal')

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)
    area = size_each_bins(xr, yr)

    FWF = area[mask] * melted_ice[mask].transpose(1, 0) * 1E6
    mean_FWF = np.nansum(FWF, axis=1)
    return time, mean_FWF
Esempio n. 3
0
def time_serie_Arctic_2D(path, var, lat_min, basin):
    yr, xr, time = loading.extracting_coord_2D(path)
    ice = loading.extracting_var(path, var)
    S = loading.extracting_var(path, 'sal')
    ice[np.where(S[:, :, 0, :] == 0.)] = np.nan

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)
        #make_plot.points_on_map(xr[mask],yr[mask],var,basin)

    arctic = ice[mask, :]
    mean_Arctic = np.nanmean(arctic, axis=0)
    return time, mean_Arctic
def time_serie_sea_ice_ext(path, var, lat_min, basin):
    yr, xr, time = loading.extracting_coord_2D(path)
    ice = loading.extracting_var(path, var)
    S = loading.extracting_var(path, 'sal')

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)
    area = size_each_bins(xr, yr)
    ice[np.where(ice < 0.15)] = 0.
    ice[np.where(ice > 0.15)] = 1.

    ice_extent = area[mask] * ice[mask].transpose(1, 0)
    mean_ice_ext = np.nansum(ice_extent, axis=1)
    return time, mean_ice_ext
def time_serie_Arctic(path, var, lat_min, basin):

    yr, xr, time, depth = loading.extracting_coord(path)
    TorS = loading.extracting_var(path, var)
    print(np.shape(TorS))
    S = loading.extracting_var(path, 'sal')
    TorS[np.where(S == 0.)] = np.nan

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)
        make_plot.points_on_map(xr[mask], yr[mask], var, basin)

    arctic = TorS[mask, :, :]
    print(np.nanmax(arctic))
    mean_Arctic = np.nanmean(arctic, axis=0)

    return time, depth, mean_Arctic
def time_serie_Arctic_2D(path, var_name, lat_min, basin):
    yr, xr, time = loading.extracting_coord_2D(path)
    VAR = loading.extracting_var(path, var_name)
    S = loading.extracting_var(path, 'sal')
    VAR[np.where(S[:, :, 0, :] == 0.)] = 0  #np.nan
    print(np.max(VAR), np.min(VAR))
    VAR[np.where(VAR > 1E10)] = 0  #np.nan
    print(np.max(VAR), np.min(VAR))

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)
        make_plot.points_on_map(xr[mask], yr[mask], var_name, basin)

    VAR[np.where(VAR == 0)] = np.nan
    arctic = VAR[mask, :]
    mean_Arctic = np.nansum(arctic, axis=0)
    return time, mean_Arctic
def time_serie_Arctic_2D(path, var_name, lat_min, basin):
    yr, xr, time = loading.extracting_coord_2D(path)
    VAR = loading.extracting_var(path, var_name)
    S = loading.extracting_var(path, 'sal')
    VAR[np.where(S[:, :, 0, :] == 0.)] = 0  #np.nan
    VAR[np.where(VAR > 1E10)] = 0  #np.nan

    if basin == 'undefined':
        mask = loading.latitudinal_band_mask(yr, lat_min, 90)
    else:
        mask = loading.Ocean_mask(xr, yr, basin)

    VAR[np.where(VAR == 0)] = np.nan

    area = size_each_bins(xr, yr)

    FWF = area[mask] * VAR[mask, :].transpose(1, 0) * 1E6
    mean_FWF = np.nansum(FWF, axis=1)

    return time, mean_FWF
Esempio n. 8
0
simu = yearly_LongPeriod(option, var, y1, y2, basin, lat_min, month)

yr, xr, time, depth = loading.extracting_coord(simu.path)

VarArray_simuRho = loading.extracting_var(simu.path,
                                          'rho')  # Practical Salinity
index_y1 = np.min(
    np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1))
index_y2 = np.min(
    np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > y2))

if basin == 'undefined':
    mask = loading.latitudinal_band_mask(yr, lat_min, 90)
else:
    mask = loading.Ocean_mask(xr, yr, basin)
    make_plot.points_on_map(xr[mask], yr[mask], var, basin)

VarArray_simuRho[np.where(VarArray_simuRho == 0)] = np.nan
region = VarArray_simuRho[mask, :, :]
mean_region = np.nanmean(region, axis=0)

#make_plot.vertical_profile(mean_region[:,index_y1],mean_region[:,index_y2],y1,y2,var,simu.vmin,simu.vmax,depth,simu.max_depth,basin,lat_min,simu.output_file)
mean_region_pro = mean_region[:, index_y1:index_y2 + 1]

MEAN = np.zeros_like((mean_region_pro[:, 0]))
MEAN2 = np.zeros_like((mean_region_pro[:, 0]))
sig = np.zeros_like(mean_region_pro[:, 0])

MEAN = np.nanmean(mean_region_pro, axis=1)
MEAN2 = np.nanmean(mean_region_pro**2, axis=1)
Esempio n. 9
0
    np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1h))
index_y2 = np.min(
    np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1f))

b1 = 'arctic_ocean'
b2 = 'Siberian_seas'
b3 = 'BS_and_KS'
'''
if basin =='undefined':
   mask = loading.latitudinal_band_mask(yr,lat_min,90)
else:
   mask = loading.Ocean_mask(xr,yr,basin)
   make_plot.points_on_map(xr[mask],yr[mask],var,basin)
'''

mask1 = loading.Ocean_mask(xr, yr, b1)
mask2 = loading.Ocean_mask(xr, yr, b2)
mask3 = loading.Ocean_mask(xr, yr, b3)

r1 = VarArray_simuRho[mask1, :, :]
r2 = VarArray_simuRho[mask2, :, :]
r3 = VarArray_simuRho[mask3, :, :]
mean_region1 = np.nanmean(r1, axis=0)
mean_region2 = np.nanmean(r2, axis=0)
mean_region3 = np.nanmean(r3, axis=0)


vertical_profile(np.nanmean(mean_region1[:,index_y1:index_y1+10],axis=1),\
          np.nanmean(mean_region2[:,index_y1:index_y1+10],axis=1),\
          np.nanmean(mean_region3[:,index_y1:index_y1+10],axis=1),simu.y1h,b1,b2,b3,var,simu.vmin, \
          simu.vmax,depth,simu.max_depth,basin,lat_min,simu.output_fileH)
Esempio n. 10
0
                self.vmin = 0  #//
                self.vmax = 10  #//
        return  #//


#//////////////////////////////////////////////////////////////////////////////////////////

m1 = 'arctic_mediterranean'
m2 = 'greenland_sea'
m3 = 'BS_and_KS'
m4 = 'around_greenland'
m5 = 'arctic_ocean'

simu = From1950to2100(option, var, y1, y2, comparison, lat_min, basin)
yr, xr, time = loading.extracting_coord_2D(simu.path)

mask1 = loading.latitudinal_band_mask(yr, lat_min, 90)
mask2 = loading.Ocean_mask(xr, yr, m2)
mask3 = loading.Ocean_mask(xr, yr, m3)
mask4 = loading.Ocean_mask(xr, yr, m4)
mask5 = loading.Ocean_mask(xr, yr, m5)

make_plot.masks_on_map(var,xr[mask1],yr[mask1],m1, \
                        xr[mask2],yr[mask2],m2, \
                        xr[mask3],yr[mask3],m3, \
                        xr[mask4],yr[mask4],m4, \
                        xr[mask5],yr[mask5],m5 )

make_plot.masks2_on_map(var,xr[mask5],yr[mask5],m5, \
                        xr[mask3],yr[mask3],m3)