Equatorial plots#

%load_ext autoreload
%autoreload 2
%%capture 
# comment above line to see details about the run(s) displayed
from misc import *
import intake, yaml
%matplotlib inline
# load obs
catalog = intake.open_catalog('/glade/u/home/gmarques/libs/oce-catalogs/reference-datasets.yml')
obs = catalog['woa-2018-tx2_3v2-annual-all'].to_dask()
obs['xh'] = grd[0].xh
obs['yh'] = grd[0].yh
thetao_obs = obs.thetao
salt_obs = obs.so
obs_label = catalog['woa-2018-tx2_3v2-annual-all'].metadata['prefix']+' '+str(catalog['woa-2018-tx2_3v2-annual-all'].metadata['version'])
def plot_comparison(model, var, obs, vmin, vmax, diff, cname):
  fig, ax = plt.subplots(nrows=3, ncols=1,
                       sharex=True,sharey=True,
                       figsize=(12,14))

  ax1 = ax.flatten()

  model[var].plot(ax=ax1[0], ylim=(500,0),
                     y="z_l",vmin=vmin, vmax=vmax,
                     yincrease=False);

  obs.sel(yh=0., 
               method="nearest").plot(ax=ax1[1], ylim=(500, 0),
                                      y="z_l",vmin=vmin, vmax=vmax,
                                      yincrease=False);

  (model[var] - obs.sel(yh=0., 
               method="nearest")).plot(ax=ax1[2], ylim=(500, 0),
                                      y="z_l", cmap="bwr", vmin=-diff, vmax=diff, 
                                      yincrease=False);

  ax[0].set_title('Model, casename = {}'.format(cname)); ax[0].set_xlabel('')
  ax[1].set_title('Obs (WOA18)'); ax[1].set_xlabel('')
  ax[2].set_title('Model - Obs'); ax[2].set_xlabel('Longitude');
  return

Potential temperature#

for path, case, i in zip(ocn_path, casename, range(len(casename))):
  ds_temp = xr.open_dataset(ocn_path[i]+casename[i]+'_temp_eq.nc').rename({'zl':'z_l'})
  plot_comparison(ds_temp,'temp_eq',thetao_obs,10,30,5,label[i])
_images/cdd4578991fb066548b13c5cff88e790e17b2257dc6a6549e8be373bc888af0d.png

Salinity#

for path, case, i in zip(ocn_path, casename, range(len(casename))):
  ds_salt = xr.open_dataset(ocn_path[i]+casename[i]+'_salt_eq.nc').rename({'zl':'z_l'})
  plot_comparison(ds_salt,'salt_eq',salt_obs,33,37,1,label[i])
_images/59a4017caa54d828e304e8210fff647a37b2ad5190c49241c12834d966b9e6da.png

Pacific#

Zonal velocity#

import glob
from IPython.display import Image, display


fnames = ['Equatorial_Pacific_uo', 'uo_143.0', 'uo_156.0', 'uo_165.0',
           'uo_180.0', 'uo_190.0', 'uo_205.0', 'uo_220.0', 'uo_235.0',
           'uo_250.0', 'uo_265.0']
for f in fnames:
  for i in range(len(casename)):
    # List PNG files in the directory
    png_files = glob.glob(ocn_path[i]+'/../PNG/Equatorial/*_{}.png'.format(f))

    # Display PNG files in the Jupyter notebook
    for png_file in png_files:
      display(Image(filename=png_file))
_images/33b5933799e881d5b0652cbbd75c19330f592bd4df032aede018eee59b681df7.png _images/23973337fad2037399f9078f9f7cd416ab47858d2798a5f16f0ce376b85e66f2.png _images/0edb0372847245057b73a62b0ef872ee258c8c1c983edf2c28dfb38754e03f6f.png _images/0c4623ef4f53749b0ae82611209b1e4ae6408d1419f490bd9b6532b700a59834.png _images/409aea464761e0231b33a7dc7a7221d8459437d122941e571e9363fb2ebecfba.png _images/3d7865436c47ba87e45019a4687eb0ff214b1784b98ea231b21a1e007a72ab0d.png _images/5c5e3980445ca5db275194f0c3761ab16bf4366b35a3bc9f32b239e1ae7ce18e.png _images/9b21bf801c704a086ed2fce353607478fb7a746f4b623e2c2702fc8bb24a4d27.png _images/da7eee5022a636431a4e28b0c87494042e733516fa127b57edd0fc44358ed880.png _images/ec222fb34d6790979fd70a65e376fe471f1186112e3b53395e690cd272e9589c.png _images/3f1587ebbbd56d863ce52ee103771abd090653488cfb65ef9ea83f1fc4fb5cda.png

Temperature#

fnames = ['Equatorial_Global_temperature', 'temperature_143.0', 'temperature_156.0', 'temperature_165.0',
           'temperature_180.0', 'temperature_190.0', 'temperature_205.0', 'temperature_220.0', 'temperature_235.0',
           'temperature_250.0', 'temperature_265.0']
for f in fnames:
  for i in range(len(casename)):
    # List PNG files in the directory
    png_files = glob.glob(ocn_path[i]+'/../PNG/Equatorial/*_{}.png'.format(f))

    # Display PNG files in the Jupyter notebook
    for png_file in png_files:
      display(Image(filename=png_file))
_images/2041f97911b156f58a941d21eacbce58e187411151be403122521a36e4dd3ada.png _images/ca91804d806092401ef75daca1df302ed862fbd262a7528a8b2631c220d9add4.png _images/be4ef2a0381e3f0ddab1da15248989f31902ee3ab6fc89b0b84b6a97a76be6c6.png _images/39c970b10d6ae6d7919f42f50f004060b22c2dc8c06570942bb97177e8b1a2d4.png _images/eedb9a5cca58248ae83de73073ff74c0e8c4e90607bb09abe3e8bf794c603435.png _images/98a2a8184efa37fa29826b9782461c31da49b28264a0382b7ab87685fc2fad9d.png _images/5ded8d3398d3569d89484f53b866439af8c0b9ae44cd846409efc3eb5a9ac896.png _images/24ff36542a78e9543e51fb5a949cb92ed47bf4296392db2ed7c60c06f485253a.png _images/e2ed495163372578024671c64931f9e9f48e585c22d948c00fdb446d1784a51a.png _images/01d62970cae61f397fdd12f63550e28c8a9650b3e51b6c99e73c8a1b3be1744a.png _images/960334e35a6317c554456f81bfbdbbde5363fd57a1970cfc0e8fe0e3a2d95e9b.png

Salinity#

import glob
from IPython.display import Image, display

fnames = ['Equatorial_Global_salinity', 'salinity_143.0', 'salinity_156.0', 'salinity_165.0',
           'salinity_180.0', 'salinity_190.0', 'salinity_205.0', 'salinity_220.0', 'salinity_235.0',
           'salinity_250.0', 'salinity_265.0']
for f in fnames:
  for i in range(len(casename)):
    # List PNG files in the directory
    png_files = glob.glob(ocn_path[i]+'/../PNG/Equatorial/*_{}.png'.format(f))

    # Display PNG files in the Jupyter notebook
    for png_file in png_files:
      display(Image(filename=png_file))
_images/ac767a7719170310d2cbd443ef663f9f19024d1819c6afe3726da7c6c8de4e95.png _images/0c8babb6c8dcf7cdbcdfe3092c4faa7f8b15949b7fb74e63111d4ba4289bee93.png _images/356bc8b66bcc4133c99636901bccf2ffb45ae8743610de520c75c2020bd2e9a8.png _images/21c3f1e0ea9bb68f14b6aec8b31bbff6699b4da31465fd07a315e5c7fa2303e6.png _images/a5b4385860f31254942f2c631f56f5ccab12c1936e11ce3c005b53acd2146bf3.png _images/c902addf768ace981629cd13ab311f90567dbc067b107d2011f10c210edf98c4.png _images/b2d756bb5361d9550e848f0866580966329d9d58a652fdb95ef206906ef11c3d.png _images/5f4a845b93e9031efaf7fecbb46a897941240bd82e51341001e0c54279a01c8b.png _images/5e13150e47917e77ecc5105006337d158da813eceaa6d8550d5e1f75f84867fd.png _images/edd91890d9d8ebde087ccdff46b62aebb817880fc3dbba63e2579494579fdcda.png _images/b828ca0e7a736607aec3b3b65d16ca5a10445244b7395e11151e11146268250e.png

Tropical Atmosphere Ocean (TAO) Moorings#

for i in range(len(casename)):
  # List PNG files in the directory
  png_files = glob.glob(ocn_path[i]+'/../PNG/TAOMooring/*.png')
  # Display PNG files in the Jupyter notebook
  for png_file in png_files:
      display(Image(filename=png_file))
_images/0387787e9ceffd893d78b177d58dcab9ff8d4af7d48816b9a174e3c10e245aaf.png _images/4fedee94bbcbe21d89d90807315f832fe35f0791a767fb1afbe62f3acd5543d2.png _images/ed169d59a299dc953c7e04fb5bc0d219901fbbb65c23bb219a33c38cc9a6564e.png _images/06a9f2ef1b5efe672bf7d3480cb4cd70db99dc7ef89e6b69f657f69c5cb630b1.png _images/29456eac3d3bfc025c791acdb2862d94d77a2fa8fd5244438f116a439c3df61d.png _images/1d3aaba335d5610af314e0a6d05683d3a5a94910958d04978f379a9b4e5ce5e9.png _images/0ebc2336b4d4a4b75f34e684eb8f59de35176b241f5b07b7b12d0397076e3d13.png _images/53f934a3e6debcf6abc1ab84b91d4f511edb155d04864be704da5a9d2154d349.png _images/3c765cd46717d385f9fa84abb51b78e8b27275b9502d9f14441b99d6d58e80a3.png _images/6e182d75bf9695bb85869aaf02d425746a0876f575dfd6f24f0bc282482ec935.png