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/1e5333ad48f053845f89c3bda2eeae9145c2a064f57dbaad78b63400c0c5368c.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/50c7bcb5bcb91407d2dcb97cf589a529e3ac9dd9787cb147c31492df31da05e3.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/261929ea9da0e4bd69383a4f59a03ba4ac1ab0df2cbf081fcd5657b54909f117.png _images/91039717e9871c5dd33a47154611f22cd90984480965b35f286c8f50dc9b03b6.png _images/3e21685a842640d8a65d89744ec089c7c6dd41fcc5cfc8afbfa275480b34d9a2.png _images/1442505ddfb195abbe1c2c95518310ee3d34288e6a5f2b02216f79798bfeb328.png _images/8de80ea1b31fc31784a75300886085ae1fe7ecf45d47ac2e467dbe48234c4301.png _images/8a6e1124eece404518e272ad049ab027c69786d182242de27acec7dbe02e3feb.png _images/e6debdc410e97598c0eda5fbc9f0d15f272136c66979d9bd0f4c35fa51247588.png _images/8246d20f52ab86bf2b8070a1a8fbcbffc19fd9f4e90b6a4e3599d8f7cd20a8fe.png _images/268fea92fd27bb942b7a98b17ad5a618a70b1b0c1ab4659bc0e73b474f7d47c3.png _images/e0fe6e97e6b7e35f75ec15ab03898b61b125b92d30a990f5f5f1163dfb557953.png _images/3e1801a1209323bb29fec8cc28d6e545d8d09f5dda702647f31551048772b5a4.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/9e766e00f70b3cc7c91e79d4247a29ea6019099f48b1e9f1488d07ed34bb712e.png _images/f95d256cecc83bae04bc85792782e62f867f0398dee82a88db75c41649b98716.png _images/40d2b7e2fb9340595d228ffbffc8df9ad201225b92e8668dbe3fefc20f61a255.png _images/df4bc530bbfebea7ef934fb3367b684c927a5273ac904848cc549bfd00edc10f.png _images/da3bfe56733113f2efe11caaf2fe34c15eb8cef572975d0c1ec65100e353d7d6.png _images/4b6ef57d516fd9dba1924a83663f4ae1cee4756ad0b644220b8228f0724ff54e.png _images/6c032b96dfbfa5661ff3b49b52160840a6267bd62b147c67526701a001faa37f.png _images/181e730061cd5b84461d7944e0e1d25c17eb0c409f035418b1822964df9078e9.png _images/b1585a87f6f5fbec971a0f70695b0e276cabfbbadbf3d61e5c435ec8a8cc9557.png _images/c6a859861ceff6332e23abe629217a27607025cf4022f303fb5b38a74c09fd42.png _images/bd89be5424c6eecace85a31a9dda7d4b4f7a3dfe0a712877640ff7773151d23d.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/03342a2a7d246a65a4d193481a5a3466833568ebe55ecba4b7feb659d43119b2.png _images/0838836e1c6c788a7c0f2f33569ad1913239632b3e0fe650998e08aab500d1d8.png _images/18ccafcf1f311b8b98c90521f26866f49d20e15d95a82fe596ef39b606503561.png _images/52cb4dfc3a5b6126e077e08075cbb62921a1fad38f01693ef913593c302ebb75.png _images/620a4e45313448f456ee583bedd411a9f83ab68f561b5a4c1ace8df0e2ed71ac.png _images/1f0105b1f4827da8ea69f302d3d78f3a206e7d8cadc2b1beff5aaee12cdad271.png _images/c9314ce465678932d3153afd6567fb7b5a83bfd2b77bac4f6c218d8811c94395.png _images/886fa54fd6b39858f6bc8086ef8604ea48b839843dcd70f86ef227e69e95ca92.png _images/7be6181817b8c23c85cd3e4594b5f79d0e89b0df159442d97e62429709d6fdd1.png _images/61818e1e74d2cb0d7acc0145a7f154871a89a3e90f193a8c52ecb9fd59106b18.png _images/80b82ff78c2ac867e431275d2c4608446a89894da05d1c632f9e00cd15ba5728.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/297bc4775cf8d9dcaff00a7ab2351601858b2ac5b44484039cd7b23c51c10928.png _images/1e75b27392a3df54ef3a84db932604ca75746b6005c63b4cda86e768505e5386.png _images/e86a0bda01cdf7c693301cbdf926d6844e30af41e7fbc0bab1e4368c169f3529.png _images/05ea73b2afc8f1218ca91f93b479216639f5f71d509aeced902ffd1f8f7f4d3c.png _images/c602c466afbc201cacc2e68469e494bdfdbc6820ae5aeb690a9e2fec2ceb3c5f.png _images/b62619d147bdf713ee1a3f0cdd971ab63a5ac6e25c5cc30ce898e359a7c67776.png _images/79bf12d54ad8ea592a05e30a6e88e8fb4fc4035171cff4133019f5efd08d2cec.png _images/6a70c0b3560505098cce35b43d02b3a25382e8680056b7d541f462c5dedb0dbf.png _images/9a413a21ed6c320b6acd05399084f8fa3227d5813235058862ba39dba2f89b2f.png _images/426193dbe36f4dc16049701b7c3cb9d91ceac240f3e14f1c7be6a732195ddce6.png