Beispiel #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
Beispiel #2
0
def time_serie_Arctic(path, var):

    yr, xr, time, depth = loading.extracting_coord(path)
    TorS = loading.extracting_var(path, var)
    make_plot.points_on_map(xr, yr, var, basin)

    S = loading.extracting_var(path, 'sal')
    TorS[np.where(S == 0.)] = np.nan
    i_zmax = np.max(np.where(depth < simu.zmax))
    print(np.shape(TorS))

    mean_Arctic = np.mean(np.nanmean(TorS[:, 0:i_zmax, :], axis=0), axis=0)

    return time, depth, mean_Arctic
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
Beispiel #4
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
Beispiel #9
0
                period) + '/vita.nc'
        elif var == 'ice_velocity' or var == 'wind_stress':
            self.path = '/media/fig010/LACIE SHARE/EC_Earth/EC_data/100velocity/' + str(
                period) + '/tau_Coupled.nc'


nb = 10
while y1 <= first_year + 100 - 10:
    y2 = y1 + 10

    simu = From1950to2100(nb, specificity, var, y1, y2, period)

    yr, xr, time = loading.extracting_coord_2D(simu.path)

    if var == 'ice_velocity':
        U = loading.extracting_var(simu.path, 'iicevelu')
        V = loading.extracting_var(simu.path, 'iicevelv')
    elif var == 'wind_stress':
        U = loading.extracting_var(simu.path, 'iocestru')
        V = loading.extracting_var(simu.path, 'iocestrv')
    elif var == 'svelocity':
        U = loading.extracting_var(simu.path, 'sovitua')
        V = loading.extracting_var(simu.path, 'sovitva')

    index_y1 = np.min(
        np.where(first_year + time[:] / (3600 * 24 * 364.5) > simu.y1))
    index_y2 = np.min(
        np.where(first_year + time[:] / (3600 * 24 * 364.5) > simu.y2))

    mask = (xr > 85) | (xr < -105)
    U[mask, :] = -U[mask, :]
Beispiel #10
0
        else:
            self.vmin = 0
            self.vmax = 0
            self.vminC = 0
            self.vmaxC = 0

        return  #//


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

simu = From1950to2100(option, var, y1, y2)
yrE, xrE, time, depth, XE = loading.extracting_coord_1D(simu.pathE)
yrW, xrW, time, depth, XW = loading.extracting_coord_1D(simu.pathW)

VARE = loading.extracting_var(simu.pathE, var)
VARW = loading.extracting_var(simu.pathW, var)

time = simu.y1 + time[:] / (3600 * 24 * 364.5)
index_y1h = np.min(np.where(time > simu.y1h))

index_y1f = np.min(np.where(time > simu.y1f))

print(index_y1h, index_y1f)

if var == 'sal':
    VARE[np.where(VARE < 30.)] = np.nan
    VARW[np.where(VARW < 30.)] = np.nan
elif var == 'density':
    VARE[np.where(VARE < 24)] = np.nan
    VARW[np.where(VARW < 24)] = np.nan
Beispiel #11
0
                 +str(scenario)+str(option)+'_'+str(lat_min)+'N'
else:
   output_file = str(var)+str(filtre)+str(ttype)+'_' \
                 +str(scenario)+str(option)+'_'+str(basin)
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

# - - - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# STARTING ANALYSIS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
yr, xr, time = loading.extracting_coord_2D(path)

time = first_year+time[:]/(3600*24*364.5)
index_y1h = np.min(np.where(time>y1h))
index_y1f = np.min(np.where(time>y1f))
   
IceF1 = loading.extracting_var(path, var)
IceF1[np.where(IceF1>1E10)]=0
if filtre == 'Positif':
  IceF1[np.where(IceF1<0)] = 0
else:
  IceF1[np.where(IceF1<-1E10)] = 0

if var == 'Icef':
  IceF = 1E2*IceF1	# in cm
elif var == 'salt':
  path_grid = '/media/fig010/LACIE SHARE/EC_data/CERFACS_cell_area.nc'
  area = loading.reading_grid(path_grid)
  IceF = area*IceF1.transpose(2, 0,1)
  IceF = IceF.transpose(1,2,0)
  #IceF = IceF1*np.mean(area)
'''
Beispiel #12
0
        self.output_file = str(var) + '_' + str(month) + str(
            self.y1) + '_' + str(sufix)
        self.output_file2 = str(var) + '_' + str(month) + str(
            self.y1) + '_' + str(self.y2) + '_' + str(sufix)
        #//
        return  #//
        #//


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

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)
Beispiel #13
0
            elif var == 'density':  #//
                self.vmin = 20.  #//
                self.vmax = 27.5  #//
            elif var == 'Uorth':  #//
                self.vmin = -2.4  #//
                self.vmax = 2.4  #//

        return  #//


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

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

VAR = loading.extracting_var(simu.path, var)

if var == 'sal':
    VAR[np.where(VAR < 32.)] = np.nan
elif var == 'density':
    VAR[np.where(VAR < 18)] = np.nan
else:
    S = loading.extracting_var(simu.path, 'sal')
    VAR[S == 0] = np.nan
print(np.nanmin(VAR))

make_plot.points_on_map(xr, yr, var, basin)

index_y1 = np.min(
    np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1))
index_y2 = np.min(
Beispiel #14
0
for i in range(1, 2):
    y1 = y1 + 1
    ax = plt.subplot(3, 4, 1)
    ax.set_title(str(y1), color='r')
    title_plot = str(specificity) + ' ' + str(y1) + ' to ' + str(y1 + 1)

    simu = From1950to2100(option, specificity, var, y1, y2, comparison)

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

    x, y = m(xr, yr)
    m.drawcoastlines(linewidth=0.5)
    m.fillcontinents(color='0.8')

    U = loading.extracting_var(simu.path, 'sovitua')
    '''V = loading.extracting_var(simu.path, 'sovitva')
   
   index_y1 = np.min(np.where(simu.first_year+time[:]/(3600*24*364.5)>simu.y1))
   yy = np.arange(0, y.shape[0], 4)
   xx = np.arange(0, x.shape[1], 4)
   
   u = U[:,:,0,index_y1]
   v = V[:,:,0,index_y1]
   points = np.meshgrid(yy, xx)
   speed = np.sqrt(u*u + v**2)
   cs = m.quiver(x[points], y[points],\
    u[points], v[points], speed[points],\
    cmap=plt.cm.autumn, scale=1)
   '''
plt.savefig(str(var) + '/' + str(simu.output_file.replace(".", "")) + '.png')
Beispiel #15
0
        self.vmax = 1E-4                                                                  #//

     return                                                                             #//
#//////////////////////////////////////////////////////////////////////////////////////////



simu = From1950to2100(option,specificity,var,y1,y2,comparison)

if var == 'ML' or var == 'runoff':
  yr, xr, time = loading.extracting_coord_2D(simu.path)
else:
  yr, xr, time, depth = loading.extracting_coord(simu.path)


VarArray_simu = loading.extracting_var(simu.path, var)
#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)>simu.y2))


if comparison == 'no':
   array_to_plot = VarArray_simu[:,:,0]
   array_to_plot[np.where(array_to_plot>1E20)]=0#np.nan

   array_to_plot[array_to_plot==0] = np.nan
   array_to_plot = np.ma.masked_invalid(array_to_plot)
   make_plot.plot_map(xr,yr,array_to_plot ,var,title_plot,simu.output_file,simu.vmin,simu.vmax)

elif comparison == 'yes':
   if control == 'Uncoupled':
     path2 = '/media/fig010/LACIE SHARE/EC_Earth/EC_data/DR8n01_2090_jan.nc'
    plt.gca().invert_yaxis()
    # rotate and align the tick labels so they look better
    fig.autofmt_xdate()
    #plt.xticks(tick_locs,tick_lbls)
    cbar = plt.colorbar()
    cbar.ax.get_yaxis().labelpad = 15
    cbar.set_label(r'Meridional transport', fontsize=18)
    plt.title('')
    plt.savefig(str(variable_name) + '/' + str(option) + '.png')
    plt.close(fig)
    return


simu = From1950to2100(option, var, y1, y2, comparison)
yr, xr, time, depth = loading.extracting_coord(simu.path, 'v')
v = loading.extracting_var(simu.path, 'v')

print(yr)

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, yr, var, basin)
'''
index_y = np.min(np.where(1950+time[:]/(3600*24*364.5)>year))
ny = np.size(yr[0,:])
nz = np.size(depth)
VT = np.zeros((nz,ny))

for j in range(0,ny):
Beispiel #17
0
        elif var == 'ML':
            self.vmin = 0
            self.vmax = 300
        self.output_file = str(var) + '_ymeans_' + str(option)  #//
        #//
        return  #//
        #//


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

if comparison == 'no':
    simu = yearly_LongPeriod(option, 'ML')
elif comparison == 'yes':
    simu = yearlyAnomaly_LongPeriod(option, var)
    VarArray_ref = loading.extracting_var(simu.path_ref, var)

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

VarArray_simuT = loading.extracting_var(simu.path,
                                        'temp')  # Practical Salinity
VarArray_simuS = loading.extracting_var(simu.path,
                                        'sal')  # In situ temperature

ni = np.size(VarArray_simuT[:, 0, 0, 0])
nj = np.size(VarArray_simuT[0, :, 0, 0])
nz = np.size(VarArray_simuT[0, 0, :, 0])

SA = np.zeros((ni, nj, nz))
CT = np.zeros((ni, nj, nz))
CT_freezing = np.zeros((ni, nj, nz))
Beispiel #18
0
     #                       '2100/icef'+str(month)+'_'+str(y1)+'-2100.nc'
     self.output_fileH = str(var)+'_'+str(self.y1h)+'-'+str(self.y2h)                                #//
     self.output_fileF = str(var)+'_'+str(self.y1f)+'-'+str(self.y2f)                                #//
     self.output_fileC = str(var)+'Anomaly_'+str(self.y1h)+'-'+str(self.y1f)                                #//

     return                                                                             #//
#//////////////////////////////////////////////////////////////////////////////////////////



simu = From1950to2100(option,var,y1p,y2p)
   
yr, xr, time,depth = loading.extracting_coord_moc(simu.path)
time = simu.first_year+time[:]/(3600*24*364.5)
   
moc = loading.extracting_var(simu.path, var)
moc[np.where(moc==0.000)]=np.nan   

index_y1h = np.min(np.where(time>simu.y1h))
   
index_y1f = np.min(np.where(time>simu.y1f))
'''
array_to_plotH = np.nanmean(moc[:,:,0,index_y1h:index_y1h+10],axis=2)
array_to_plotH[array_to_plotH==0] = np.nan
array_to_plotH = np.ma.masked_invalid(array_to_plotH)

array_to_plotF = np.nanmean(moc[:,:,0,index_y1f:index_y1f+10],axis=2)
array_to_plotF[array_to_plotF==0] = np.nan
array_to_plotF = np.ma.masked_invalid(array_to_plotF)

print(np.nanmin(array_to_plotH),np.nanmax(array_to_plotF))
Beispiel #19
0
for i in range(1,13):
   y1 = y1+1   
   ax = plt.subplot(3, 4, i)
   ax.set_title(str(y1),color='r')
   title_plot =  str(specificity)+' '+str(y1)+' to '+str(y1+1)

   simu = From1950to2100(option,specificity,var,y1,y2,comparison,month)
   
   yr, xr, time = loading.extracting_coord_2D(simu.path)
   
   x,y = m(xr, yr)
   m.drawcoastlines(linewidth=0.5)
   m.fillcontinents(color='0.8')
   
   VarArray_simu = loading.extracting_var(simu.path, var)
   
   index_y1 = np.min(np.where(simu.first_year+time[:]/(3600*24*364.5)>simu.y1))
   
   
   index_y1c = np.min(np.where(simu.first_year+time[:]/(3600*24*364.5)>simu.y1_compa))
   array_to_plot = VarArray_simu[:,:,index_y1c]-VarArray_simu[:,:,index_y1]
   array_to_plot[array_to_plot==0] = np.nan
   array_to_plot = np.ma.masked_invalid(array_to_plot)
   #make_plot.plot_map_with_ice_extent(xr,yr,array_to_plot ,var,VarArray_simu[:,:,index_y1],y1,VarArray_simu[:,:,index_y1c],simu.y1_compa,title_plot,simu.output_file,simu.vmin,simu.vmax)

   cs = m.pcolor(x,y,array_to_plot,vmin=simu.vmin,vmax=simu.vmax)
   cs2=m.contour(x, y, VarArray_simu[:,:,index_y1], [0.15],colors='r')
   cs3=m.contour(x, y, VarArray_simu[:,:,index_y1c], [0.15],colors='b')
plt.savefig(str(var)+'/'+str(output_file)+'.png',format='png')          
Beispiel #20
0
          self.vmax = 35                                                        #//
       elif var == 'density':                                                                #//
        self.vmin = 20.                                                               #//
        self.vmax = 27.5                                                                 #//
       elif var == 'Uorth':                                                                #//
        self.vmin = -7                                                              #//
        self.vmax = 7                                                                 #//

     return										#//
#//////////////////////////////////////////////////////////////////////////////////////////


simuW = From1950to2100(option,var,y1,y2,comparison,lat_min,period,'W') 
yr, xr, time, depthW, XW = loading.extracting_coord_1D(simuW.path)

VARW = loading.extracting_var(simuW.path, var)

S = loading.extracting_var(simuW.path,'sal')
VARW[ S==0 ] = np.nan

simuE = From1950to2100(option,var,y1,y2,comparison,lat_min,period,'E') 
yr, xr, time, depthE, XE = loading.extracting_coord_1D(simuE.path)

VARE = loading.extracting_var(simuE.path, var)

S = loading.extracting_var(simuE.path,'sal')
VARE[ S==0 ] = np.nan

#make_plot.points_on_map(xr,yr,var,area)

index_y1 = np.min(np.where(simuW.first_year+time[:]/(3600*24*364.5)>simuW.y1))
            self.output_fileH = str(var) + '_' + str(month) + '_' + str(
                self.y1h) + '-' + str(self.y2h) + '_' + str(colorbar)  #//
            self.output_fileF = str(var) + '_' + str(month) + '_' + str(
                self.y1f) + '-' + str(self.y2f) + '_' + str(colorbar)  #//

        return  #//


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

simu = From1950to2100(option, var, y1p, y2p, colorbar, basin, month)

yr, xr, time = loading.extracting_coord_2D(simu.path)
time = simu.first_year + time[:] / (3600 * 24 * 364.5)

IceExt = loading.extracting_var(simu.path, var)
#IceExt[np.where(IceExt>1E10)]=np.nan
#IceExt[np.where(IceExt<0)] = np.nan

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

index_y1h = np.min(np.where(time > simu.y1h))
index_y1f = np.min(np.where(time > simu.y1f))

#array_to_plotH = np.nanmean(IceExt[:,:,index_y1h:index_y1h+10],axis=2)
#array_to_plotH[array_to_plotH==np.nan] = 0

#array_to_plotF = np.nanmean(IceExt[:,:,index_y1f:index_y1f+10],axis=2)
Beispiel #22
0
        self.output_fileH = str(var) + str(month) + '_' + str(
            self.y1h) + '-' + str(self.y2h)  #//
        self.output_fileF = str(var) + str(month) + '_' + str(
            self.y1f) + '-' + str(self.y2f)  #//

        return  #//


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

simu = From1950to2100(option, var, y1p, y2p, month)

yr, xr, time = loading.extracting_coord_2D(simu.path)
time = simu.first_year + time[:] / (3600 * 24 * 364.5)

IceExt = loading.extracting_var(simu.path, var)

index_y1h = np.min(np.where(time > simu.y1h))

index_y1f = np.min(np.where(time > simu.y1f))

array_to_plotH = np.nanmean(IceExt[:, :, index_y1h:index_y1h + 10], axis=2)
array_to_plotH[array_to_plotH == 0] = np.nan
array_to_plotH = np.ma.masked_invalid(array_to_plotH)

array_to_plotF = np.nanmean(IceExt[:, :, index_y1f:index_y1f + 10], axis=2)
array_to_plotF[array_to_plotF == 0] = np.nan
array_to_plotF = np.ma.masked_invalid(array_to_plotF)

IceThick = loading.extracting_var(simu.path_thickness, 'iicethic')
IceThick_to_ploth = np.nanmean(IceThick[:, :, index_y1h:index_y1h + 10],
Beispiel #23
0
        [box.x0 * 1.2, box.y0 + box.height * 0.3, box.width, box.height * 0.7])
    h, l = ax.get_legend_handles_labels()
    ax.legend(h, l, bbox_to_anchor=(-.5, -.05, 2, -0.35), loc=9, ncol=1)

    plt.savefig(
        str(variable_name) + '/' + str(name_file.replace(".", "")) + '.png')

    plt.close(fig)
    return


simu = yearly_LongPeriod(option, var, y1, y2, basin, lat_min)

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

VarArray_simuRho = loading.extracting_var(simu.path, var)  # Practical Salinity

if var == 'temp':
    S = loading.extracting_var(simu.path, 'sal')  # Practical Salinity
    VarArray_simuRho[np.where(S == 0)] = np.nan
else:
    VarArray_simuRho[np.where(VarArray_simuRho == 0)] = np.nan
index_y1 = np.min(
    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'
'''