T & S biases#

%load_ext autoreload
%autoreload 2
%%capture 
# comment above line to see details about the run(s) displayed
from misc import *
import nc_time_axis
%matplotlib inline

Drifts#

# these are the regions for the drift plots
reg_mom = ['Global', 'PersianGulf', 'RedSea', 'BlackSea', 'MedSea', 'BalticSea',
           'HudsonBay', 'Arctic', 'PacificOcean', 'AtlanticOcean', 'IndianOcean',
           'SouthernOcean', 'LabSea', 'BaffinBay', 'EGreenlandIceland',
           'GulfOfMexico', 'Maritime', 'SouthernOcean60S']

Potential temperature#

%matplotlib inline
nr=1
nc=1
fs=(9,5.5)

matplotlib.rcParams.update({'font.size': 17})
vmax=1.5; vmin=-vmax
for m in reg_mom:
  fig, ax = plt.subplots(nrows=nr, ncols=nc, figsize=fs, sharex=False, sharey=True)

  plt.suptitle(str(m)+', Potential Temperature bias [C]', fontsize=14)
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom = xr.open_dataset(path+case+'_thetao_drift.nc').sel(time=slice('0001-01-01', end_date))
    
    splitscale =  [0., -500., -4000]
    dummy_mom = np.ma.masked_invalid(ds_mom.sel(region=m).thetao_drift.values)
    ztplot(dummy_mom, ds_mom.time.values, ds_mom.z_l.values*-1, ignore=np.nan, splitscale=splitscale, 
           contour=True, axis=ax , title=label[i], extend='both', colormap='dunnePM', 
           autocenter=True, tunits='Year', show=False, clim=(vmin, vmax)) 
    plt.subplots_adjust(top = 0.8)
    plt.tight_layout()
_images/cc8d36965090f6bd90650a161c45035a4eb2fd0afd2da1865fc37cd370f7b9a4.png _images/9e0dc3bc90912de6fcc6cb09dee324b4a18885e386dc8f134a4c8863f3b33173.png _images/ba05d1fa63bd82efeb7330f0db4f544a6f2fd9fd597e793ac6a976987c7b1e65.png _images/b8ea2e397a8079063e52e0ebc18adefe129a1e4d78a69a5afcb548666261b640.png _images/c30772a43c19b66e8a9e0142c863270f264b41523b1590c3586197e3357c721a.png _images/f6a14a943f2f278787285bf808ba6507486886943766bf56465308072558875b.png _images/9e69dfc127bab50d48af34f0f1aa4b3bdeac58f647a5a85c59d7ac88aea5ff23.png _images/115ef45bc9f98be1edd2b18f832c36009ddb8f095697dd2e085e01777dea590c.png _images/88fc7c42ff9324079fbe11dc84038b1d1b837c9ce0594ee1e21c7e1c8d2fe965.png _images/ac7f531f2efb88b83727897af660f01536fb886a4b63beb07694a0da7984c56a.png _images/d76f3ced3ade7f121a0b79b3b6df57f6e869376374ac1f7e21dc98dcaaa02fb1.png _images/8eb2f94e24ab65b6451489b85368056c6f5ca2a75a366cba6cccbbbdc32ab01d.png _images/7d77872ac9e115cd332c9c054cbdfb1cd2150b311f8f090452f49d067870af7e.png _images/77514d9f29031fd35cccd86e1e80fd6df9ac0ce4261f794a88f044bd337c3fa8.png _images/f3af7ed833ca67b7eb75a5b1a98ee6269bc3acecc9944865cb1532b68b2bb058.png _images/678f2d27b31831ce38a871df32008ba2ca9e964a4642337455c6faa0f14ce14a.png _images/dff8f6c2c11836912be0ec396d71b92f1799fe9406c708a48c9f0e69b09f377e.png _images/9dc1bcf467ce581a1a3d0ae84000e52b3824eb9c21e2aa60c5e38f2ee7d0ddbe.png

Salinity#

matplotlib.rcParams.update({'font.size': 17})
vmax=0.2; vmin=-vmax
for m in reg_mom:
  fig, ax = plt.subplots(nrows=nr, ncols=nc, figsize=fs, sharex=False, sharey=True)
  plt.suptitle(str(m)+', Salinity bias [psu]', fontsize=14)
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom = xr.open_dataset(path+case+'_so_drift.nc').sel(time=slice('0001-01-01', end_date))
    
    splitscale =  [0., -500., -4000]
    dummy_mom = np.ma.masked_invalid(ds_mom.sel(region=m).so_drift.values)
    ztplot(dummy_mom, ds_mom.time.values, ds_mom.z_l.values*-1, ignore=np.nan, splitscale=splitscale, 
           contour=True, axis=ax , title=label[i], extend='both', colormap='dunnePM', 
           autocenter=True, tunits='Year', show=False, clim=(vmin, vmax)) 
    plt.subplots_adjust(top = 0.8)
    plt.tight_layout()
_images/164928bd27aa6f7b5430a0c755285da7ae7d8151fd91bfc498286c12d5b9107d.png _images/15121ed1dabbeca5c269803372964b9dc0702ce27f8180789451417251ea1b42.png _images/0c8b7d1d066c22768349e81221b611859f13e8a00f098c732151c932bc4614c6.png _images/7393cd9a6a2d392375623e5b1a340edae2b0156f2ca5e2de688485afc7d32407.png _images/463d9e8d92ba547339740e87f77ea40776163cec679d6ba97e192c021e9fe70a.png _images/35196a87d8b6d8697f94260d1a4fa24f8b36cbc7bef1dfefae7c44575fe4c10c.png _images/d44a29067bd73c60d9b47dcf031e384a649da7bd7ec332d9fcc60e4b2841d5f0.png _images/70a94e0f35ba27bd4e9d73b376195b63c65d60bf99ec47ecd96c8ba3afdf7b5b.png _images/263333f1e0da9412db1851e0229badafa53ec1d6fe49353e69ae409a6355bb5e.png _images/b5e73b6f7531e9d4c1ca42fdafcc27493dfc1bb267efa202044b081ec1a2a22f.png _images/de114c6dc50183ac634e9065f0a2e8e293d443c9753015787701dedff828b77d.png _images/0f0154abcaabfd1cd1507694611c65c99ebf290ce86e38b08b3db8f43a963bf9.png _images/2d60c11c78c57a12cc9de161a07f2117ec4cd8e2c86ea7d88038378c2f832a2e.png _images/4161befedb47653071db0745a6b70b64c11102ea8e1f9ba77e367f642d96b098.png _images/8c12ec9aa142d76878d1e490bdd3b2099b38fe9736843f778c47bbe31389b0fb.png _images/a6c19b6edb896c69f3221d7398ffc76a136afa617cf171759e865e9ffbc7e344.png _images/95cbcc50446c2dacfe1a531438efd55ce9811cd2b111aa25761490da1d019fa6.png _images/929129d80fd986593027c8538700d6a611cb24d96ce0f0ec9c7ab9a435e152fb.png

RMSE#

Potential Temperature#

reg_mom = ['Global','SouthernOcean','PacificOcean','IndianOcean','AtlanticOcean','Arctic','LabSea']
matplotlib.rcParams.update({'font.size': 17})
vmax=3; vmin=0
for m in reg_mom:
  fig, ax = plt.subplots(nrows=nr, ncols=nc, figsize=fs, sharex=False, sharey=True)

  plt.suptitle(str(m)+', Potential Temperature [C] RMS (model - obs)', fontsize=14)
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom = xr.open_dataset(path+case+'_thetao_rmse.nc').sel(time=slice('0001-01-01', end_date))
    
    splitscale =  [0., -500., -4000]
    dummy_mom = np.ma.masked_invalid(ds_mom.sel(region=m).thetao_rms.values)
    ztplot(dummy_mom, ds_mom.time.values, ds_mom.z_l.values*-1, ignore=np.nan, splitscale=splitscale, 
           contour=True, axis=ax , title=label[i], extend='both', colormap='hot_r', 
           autocenter=True, tunits='Year', show=False, clim=(vmin, vmax)) 
    plt.subplots_adjust(top = 0.8)
    plt.tight_layout()
_images/794650ce577d39f1154afb4bf88967a8da98b658cb2d110dadbcb8ff68ec5e24.png _images/6f44afb0e8ddc52e176331d4f545b4aecb3a97aabd8926d69a8d29c21a80db21.png _images/b3659d97e3f55116b747fd8a6e2035215624eab5fb1b0f57d52ce3495d021aa5.png _images/b64a9de36ad2ebd4bc116180d87f4166fe13125d438c6256ae9f7d3160a7fdeb.png _images/562185233fd6db6e45531b8e04d89f759b0f38022e97297a668a734934d20866.png _images/b795e256d5ebc54d3372154e5aa2c6820bfd5f80d695b3c3753226eae73d8173.png _images/62a50bf45e97614d5dea56ea0d271ee9642da54dbc4f636ab811220f13928fef.png

Salinity#

reg_mom = ['Global','SouthernOcean','PacificOcean','IndianOcean','AtlanticOcean','Arctic','LabSea']

vmax=0.5; vmin=0
for m in reg_mom:
  fig, ax = plt.subplots(nrows=nr, ncols=nc, figsize=fs, sharex=False, sharey=True)
  plt.suptitle(str(m)+', Salinity [psu] RMS (model - obs)', fontsize=14)
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom = xr.open_dataset(path+case+'_so_rmse.nc').sel(time=slice('0001-01-01', end_date))
    
    splitscale =  [0., -500., -4000]
    dummy_mom = np.ma.masked_invalid(ds_mom.sel(region=m).so_rms.values)
    ztplot(dummy_mom, ds_mom.time.values, ds_mom.z_l.values*-1, ignore=np.nan, splitscale=splitscale, 
           contour=True, axis=ax , title=label[i], extend='both', colormap='hot_r', 
           autocenter=True, tunits='Year', show=False, clim=(vmin, vmax)) 
    plt.subplots_adjust(top = 0.8)
    plt.tight_layout()
_images/d23768af8729a2dc62dc4386ff74ef5fccf9d03dca79e57b4792ef8cd800faea.png _images/b582ef766ef1e06b9fbd0b4a517ffb806310c65685284a8c332f8a8080a9ed8a.png _images/845f5a17a566375d899ff89f36b981e7f78d69b48260f0e08338d03a3f89b2fa.png _images/cd3c9cd249851fe13f5c662c186911a6289077c77facd6cc545a4ad9fb562672.png _images/29591076fe5933c1ace6d57b87711e1b64a5a466363fb315dafe297d9e3c81f5.png _images/b941ee7755120a2a66bbaf24d582d624e1dda08ec54c10dcbf4621e88911e382.png _images/e19788f2b7e48268c859ff767e03b73e6c44ec56242cee1d5212a090c69ec625.png

Biases at selected vertical levels#

Potential Temperature#

# change k indice to see bias at other depths
levels=[0,1,2,5,10,15,18,20,25,30,32]
tlim=[5,7.5,7.5,5,5,5,3,2,1,1,1]

for k,t in zip(levels,tlim):
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom_t = xr.open_dataset(path+case+'_thetao_time_mean.nc')
    if 'area_t' in dir(grd[i]):
      area = grd[i].area_t
    else:
      area = grd[i].areacello
    
    fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,6.5))
    temp_mom = np.ma.masked_invalid(ds_mom_t.thetao_bias[k,:].values)
  
    plt.suptitle('Temperature bias [C] at depth = {} m (level = {})'.format(ds_mom_t.z_l[k].values, k))
    xyplot(temp_mom, grd[i].geolon, grd[i].geolat, area, title=str(label[i]+' - obs'), axis=ax, 
         clim=(-t,t), nbins=100, colormap=plt.cm.bwr, centerlabels=True)
    plt.subplots_adjust(top = 0.8)
_images/d95d3ac68d4d328aae758f427ea65e26dfbd086f53f41b364edcca4dbf924683.png _images/89f2fc7bb4ce2efa503b73e6b3c3859d79ad0fe55bb6621aa2f46c6df51cc475.png _images/889e6c22fa92f6dfc69149a7a847645c46b42226fa19b5efd9bbc4099fce7f26.png _images/03d4a92bcba9a9b5488e80e0e59377db1bd0fb8b003ecc78d4e4336529ee9e02.png _images/6917c970ed2ed0e2d4d422c235d4e7a8d65f7fe180f0083686255a6f5e4146e8.png _images/a12ea5fca586ed4863944710d18eafd55d69c665d57d515c233fb7552faae47a.png _images/00cb3611a4df8456d9685af337a740a0001066fa8b5cfeaedb25eb0d9afd06e9.png _images/c8a96e3ca531c93caedab7360eb205a3a7fae99d4344fd8383140f24f12c11f0.png _images/0e86c063a991ba5ccffef70eb9c9a4c70fb7e3c68a37f3bfb44cd894bb126337.png _images/aedfe5a91ba04d85cf398be1e953d48600b85b74e53fd33e245c9491cafe58f5.png _images/e4d7f7263679e51d1beb5a3182d09df7a8b4a078d97e5257c9812585804079d7.png

Salinity#

# change k indice to see bias at other depths
#levels=[0,5,10,15,20,25]
slim=[5,3,2,2,1.5,1,1,0.5,0.1,0.1,0.1]

for k,s in zip(levels,slim):
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    if 'area_t' in dir(grd[i]):
      area = grd[i].area_t
    else:
      area = grd[i].areacello
    
    ds_mom_s = xr.open_dataset(path+case+'_so_time_mean.nc')
    fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12,6.5))
    salt_mom = np.ma.masked_invalid(ds_mom_s.so_bias[k,:].values)
    
    plt.suptitle('Salinity bias [psu] at depth = {} m (level = {})'.format(ds_mom_s.z_l[k].values, k))
    xyplot(salt_mom, grd[i].geolon, grd[i].geolat, area, title=str(label[i]+' - obs'), axis=ax, 
         clim=(-s,s), nbins=50, colormap=plt.cm.bwr, centerlabels=True)
    plt.subplots_adjust(top = 0.8)
_images/2db4651786c0c92f211abb8d3b7c3afe523b37e6923836d364d70be357ef9ca3.png _images/f4a77084051999d5eecc7083e02ae9ac72b56264bd7924869a81446dbd9050ad.png _images/e8cf17c0ad874e49b077c9652bd20e1f14cd43d87cb74f89578fcf166a1f164a.png _images/40fa9d1a6494d64bf643f3eb5751cc1f2429dfae1d0def5d7c9a43dcb3466faf.png _images/6ec8481c2d07d988170e1059f7e69e5179e72d47e4fbcf111ed2bc78848b8688.png _images/595afd8fe9d847e2121be6c8ffcb3982f4ab7bcc204e02a287565f1c7b5a2e30.png _images/8655315d475218fdb179d1c31d30110fd08a33cd2b169b1490ec5b44b9549285.png _images/ca414bd6133718657719739d44154421135ae0724f67708c70eecb1d64bc841e.png _images/6317d0ba491b0b56e935213457778b9f283dd36971261aba5ed819efe25f8041.png _images/d2ad7344cbef78002ae2eeb223fa35afd97ab025bfdfdc5d903a14d76a67974f.png _images/8745d32b21a26194e57232ba642d9f80fa0df1594c280a1f9853c609e746c37c.png

Zonal biases#

reg_mom = ['Global', 'PersianGulf', 'RedSea', 'BlackSea', 'MedSea', 'BalticSea',
           'HudsonBay', 'Arctic', 'PacificOcean', 'AtlanticOcean', 'IndianOcean',
           'SouthernOcean', 'LabSea', 'BaffinBay', 'EGreenlandIceland',
           'GulfOfMexico', 'Maritime', 'SouthernOcean60S']

Potential temperature#

reg = "AtlanticOcean"
var = 'thetao_bias'
units = r'$^o$C'
regions = ['Global','MedSea','Arctic','PacificOcean',
           'AtlanticOcean','IndianOcean','SouthernOcean',
          'LabSea']
ylim_min = [-90, 30, 62, -50, -50, -50, -90, 50]
ylim_max = [ 90, 47, 90,  65,  72,  30, -35, 68 ]

cmap = plt.get_cmap('bwr')  
cmap.set_bad(color='black')  
matplotlib.rcParams.update({'font.size': 16})

for reg, j in zip(regions, range(len(regions))):
  da  = []
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom_t = xr.open_dataset(path+case+'_thetao_time_mean.nc')
    atl = basin_code[i].sel(region=reg)
    # Set zero values to NaN
    atl = atl.where(atl != 0, np.nan)
    da.append((ds_mom_t[var] * atl).weighted(grd_xr[i].areacello.fillna(0)).mean('xh').expand_dims(case=[label[i]]).sel(yh=slice(ylim_min[j], 
                                                                                                                                 ylim_max[j])))

  combined_da = xr.concat(da, dim="case")
  col = None
  if len(combined_da) > 1:
      col = "case"
  g = combined_da.plot(x="yh", y="z_l", col=col, 
                 yincrease=False, col_wrap=2,
                figsize=(12,4), cmap=cmap, robust=True,
                cbar_kwargs={"label": reg + ', ' + var + ' ({})'.format(units)})
_images/97e68466fa4a25710753cc1f9481277b925853e60cea19709f7ddeb61dbf9efb.png _images/ff6b1b0f144fe878d666aa3afabb21997b598f2e4c945fb66e0ea17a64ef30a6.png _images/e621e0b6cd34824a685fe6b3644afd8056f7e789a103b795db429fe383c0e399.png _images/738c19de20996e2b353b211f9e3b4087b27e882eb97e5623f5dd2f3d14c5a229.png _images/38719fe2271c9c41a4e8788e6e75b0d6765b737f6879daf979e9e319284fb40a.png _images/e59d8c056bd738da1fd29894ba34422ba5d24ca54d4812ac8784dad9dbdd496f.png _images/3b2a48f8e664b892d0cb78e577a8dc801d3bc13b725b29018ed5ad1744edcda3.png _images/ce9682a5784f4223df5bf8126cc8cb0e9dbc4a5b3fdd0fb993a4ca1309339481.png

Salinity#

reg = "AtlanticOcean"
var = 'so_bias'
units = 'psu'
regions = ['Global','MedSea','Arctic','PacificOcean',
           'AtlanticOcean','IndianOcean','SouthernOcean',
          'LabSea']
cmap = plt.get_cmap('bwr')  
cmap.set_bad(color='black')  
matplotlib.rcParams.update({'font.size': 16})

for reg, j in zip(regions, range(len(regions))):
  #print(reg)
  da  = []
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom_t = xr.open_dataset(path+case+'_so_time_mean.nc')
    atl = basin_code[i].sel(region=reg)
    # Set zero values to NaN
    atl = atl.where(atl != 0, np.nan)
    da.append((ds_mom_t[var] * atl).weighted(grd_xr[i].areacello.fillna(0)).mean('xh').expand_dims(case=[label[i]]).sel(yh=slice(ylim_min[j], ylim_max[j])))

  combined_da = xr.concat(da, dim="case")
  col = None
  if len(combined_da) > 1:
      col = "case"
  g = combined_da.plot(x="yh", y="z_l", col=col, 
                 yincrease=False, col_wrap=2,
                figsize=(12,4), cmap=cmap, robust=True,
                cbar_kwargs={"label": reg + ', ' + var + ' ({})'.format(units)})
_images/bbec901148d214d5bf4cf47bb133f6b8ddc3983ca33e5bf3f50ab6d78d7ff72d.png _images/505e3bc34ba3420e60f410564c3cc370ad51bd3685efc08cd9c081234069bf0b.png _images/47128e21d0316284714b318fe19324b9c30603b9cf26248dc7b8ed7e78be956a.png _images/9f3f73c22a134c42d23e6105e341dea55e6d89e78d4e9553de4ff74eb4211853.png _images/3b76072bcb1517a52b3d75613af5902ed1909f7e8df53a5276439a0a033af320.png _images/66dd8742fd0b56b46b7cefb1510620876d696a1a0e7b2052eb2dfe2c84aa4aa1.png _images/a0bf2961738e2846075ba9f09117e5a4554dd8426aa21fd59ac83afbd9593ccf.png _images/5daea311f91d3a9503ca387a6f96516c4c16a8df76fa08e3fd3ad58e7a02da56.png

Meridional biases#

Potential temperature#

reg = "AtlanticOcean"
var = 'thetao_bias'
units = r'$^o$C'
regions = ['Global','MedSea','Arctic','PacificOcean',
           'AtlanticOcean','IndianOcean','SouthernOcean',
          'LabSea']
xlim_min = [-287, -10, -240, -255, -110, -287, -287, -62]
xlim_max = [ 73,   40,   40,  -68,  25,  73, 73, -42 ]
cmap = plt.get_cmap('bwr')  
cmap.set_bad(color='black')  
matplotlib.rcParams.update({'font.size': 16})

for reg, j in zip(regions, range(len(regions))):
  #print(reg)
  da  = []
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom_t = xr.open_dataset(path+case+'_thetao_time_mean.nc')
    atl = basin_code[i].sel(region=reg)
    # Set zero values to NaN
    atl = atl.where(atl != 0, np.nan)
    da.append((ds_mom_t[var] * \
      atl).weighted(grd_xr[i].areacello.fillna(0)).mean('yh').expand_dims(case=[label[i]]).sel(xh=slice(xlim_min[j], 
                                                                                                xlim_max[j])))

  combined_da = xr.concat(da, dim="case")
  col = None
  if len(combined_da) > 1:
      col = "case"
  g = combined_da.plot(x="xh", y="z_l", col=col, 
                 yincrease=False, col_wrap=2,
                figsize=(12,4), cmap=cmap, robust=True,
                cbar_kwargs={"label": reg + ', ' + var + ' ({})'.format(units)})
_images/21b1c00b4245b6b2345ae2c09db1791b1fb88ec3618674c0f0bbed31cd76f374.png _images/7b06778173ff6d024979c868df00bc449f540bab4f5055c05d6fd5a88f7cb1d2.png _images/42cb776865d1ea1797d49ac95dce0f8e9f02e29f4d3c0274b1dc95d4e6d43020.png _images/b0ae71e0f216dd99653407aab1f36467822c9ade85aad49af36e803e5dc84c59.png _images/2bd97d1142ff05e55bb796b2c882b45aeac9c52474b33bcd52b43f09fd071f69.png _images/66c244bc0449c60eb3795828463a5f1c7dc6051f6150476a346222aab94787d8.png _images/24653fa9be51813286369852916a8435218bb10a21ba66f367d6c6b36131e0f2.png _images/ed0b32e9537a7e8bc83553fcac2265e546c0c949e16f7dcc8f002d0507655211.png

Salinity#

reg = "AtlanticOcean"
var = 'so_bias'
units = 'psu'
regions = ['Global','MedSea','Arctic','PacificOcean',
           'AtlanticOcean','IndianOcean','SouthernOcean',
          'LabSea']
cmap = plt.get_cmap('bwr')  
cmap.set_bad(color='black')  
matplotlib.rcParams.update({'font.size': 16})

for reg, j in zip(regions, range(len(regions))):
  #print(reg)
  da  = []
  for path, case, i in zip(ocn_path, casename, range(len(casename))):
    ds_mom_t = xr.open_dataset(path+case+'_so_time_mean.nc')
    atl = basin_code[i].sel(region=reg)
    # Set zero values to NaN
    atl = atl.where(atl != 0, np.nan)
    da.append((ds_mom_t[var] * \
      atl).weighted(grd_xr[i].areacello.fillna(0)).mean('yh').expand_dims(case=[label[i]]).sel(xh=slice(xlim_min[j], 
                                                                                               xlim_max[j])))

  combined_da = xr.concat(da, dim="case")
  col = None
  if len(combined_da) > 1:
      col = "case"
  g = combined_da.plot(x="xh", y="z_l", col=col, 
                 yincrease=False, col_wrap=2,
                figsize=(12,4), cmap=cmap, robust=True,
                cbar_kwargs={"label": reg + ', ' + var + ' ({})'.format(units)})
_images/3ad4460f3ff59a00a4f428af1a0dda26d572b131c342d4a5d9b03ee891b2c42c.png _images/848f73aa1de74db563f884633c439701a7e5afa501b855013565b3803c807e45.png _images/6f498e39d90ad6c856fa6dfd13f7729c8f0d1a255cbed4f1372b9de42ee841fa.png _images/4965a96db6c67bd154da61c1d9b22c5eae55300a94ab1e136da4173b2da7f520.png _images/60ceb419218dd3f8cef9b9c16b93c6fab23daab35c2efce1802e0b420c3c9c15.png _images/eefb22678c618f40b4d86ea043e05231d0696aa311467e90c0a7553c3bb11992.png _images/d019502ccd894579b8921e8b733583c291155f4aaf386f89b43ef0acb3d3f3b7.png _images/cb75a5fa4c0c714252d5d6a95573fe88c1fc92d65730ca3b1ea44f1869061b81.png