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/24650e3354ef146ee72332d4ec77b2db3a112b60a319b7e05e82a8fee61dad43.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/3d1a545533b1059f38876c9a79aee8ebdad25331b1ac12a980eb8685afbe903f.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/17acfdb8deec46af5ea873c317817b24fd483eedd1d13d073f731d7f3c23eb2e.png _images/ce5c4976f49bc79039464c95bd394d6a64427dab5907141039fbe922f560faa1.png _images/c04be90b0c035b1a496e22bc5acb6ccfbb0ae54a57dda7384c90312bc4a89e61.png _images/ad6b0fcc636632b3ed895fc0a49d884a7a388fb5a9892d9ed104105ada248903.png _images/be366525231ec89d48c7d7b5955e5cb492a47debddc589f007e4fbbf5067ade4.png _images/3289fd8bce851d52fc8d8b4c761de842df7300c82d8df8e06129559c6e48a776.png _images/47877b015a92dda59f3c906c5c2458d25807560f9bc1e047a2854853756ab3fe.png _images/1a59e836b1708f7f713f13ceecdd506097edbd6d6b2af7bd457c6975f5c35722.png _images/5983e5677553270e2901654e6da078bfab9bb6d970b218705222b824cca2c76d.png _images/da2afe37dce892fc7363bcb1b3da8ea2030838a093b4e7b715fb19527d094942.png _images/0560d494ea476766f321f1a7677c11c7a0a5d78d25b997b45c973061894b355c.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/3cf78a35da22e801b8e5c44a6ce3c500e22c1d2da2b8f7214521f01e2132b751.png _images/23572920ebd21e999392e3e05e9ac3758d76b0e2da289b5421ae3b512391baf4.png _images/1ef364f00bb7c1c5103d47d1d5afdec9c666964ca484eec3f2a077b6b39204a4.png _images/d443b93f06d16ebc0fba5083a9a4cc8c7f3d80f6879508fdddb8da37b659771a.png _images/c0d4a008ca129c6fa4503df3beb18dd3c8af8ac12b15a0c6822beeaa66ce095e.png _images/542045d927f0b7fb38562d54f4d6e7a020664875c836802f381ecd4d21a96abe.png _images/bb7654a9ee226a41e09660bbc9909265b640293fd7b93112fbf59937876d1e47.png _images/9ca839f51c8fefe6282a2d8a60ccd717a266e38945abc676e792e3ba9cb5ba52.png _images/be88327b3f55528169e022cc2a450aa7a4d5a80183a3f5121decae8dacd7aeb1.png _images/e735b9b6125bf4a54b1a929d732b126f9b57657eec0fa44cbbaf2856979e8f2d.png _images/36e6e18d9c99ad36000625c50f588ac60beb1c5f17e5f9b78104dd65c4169b51.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/248eb22a5f33d688d30d5ac64cf558f6a385b8c9caa968c60b1164bd7d53f361.png _images/9bfaa8a92088f90dc75b98c2019d020ff04d6ec379aade0e6cb06b341828375e.png _images/c642c9efc56036ed8994e4a34b59c9ecbb2b543bb13f9eaf5125c2ffe1957514.png _images/ce3322d592a26967ae63121be2e94b7b5c926fdd75f916212b3ea605e3c79394.png _images/159c581efcfbe97f4028ee850c02fe0eca47e556158649b3c0cfb5df72f0cc70.png _images/de69e0f4397c53bad8d71e205b65d17dccdecb9310f6d4cb70019b235ee8a60d.png _images/f24555aab1eb6f2b835e5d4e15d0295e51ab5f5c660e3bb07e7254669aa2ae5c.png _images/6b52e1128926f68c4c7f1be6d71d7cf2246df3a51b0d427b8884ca2ddd470a82.png _images/1a9332b0a988c854d19c1a2a55ab065b0127ad9f01f8534e0aca9285fe6d7000.png _images/8510c02f0cf9e44b6af5b20e9280dcc46b7a95b4f6d20e84380de0783a250e33.png _images/b0a6113f1aa7685a1f489019ef6b17d1b2dc9369559c8693d5a7c1c71657020d.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/b7f1a0a3319221e657086201033c879e62f5f22633d0217bc944f6031616e192.png _images/fca5e287428d71b169e0eab9ce45ac2201aa859c22078eaddee9d6572ee11975.png _images/81dade6597da6c13bc02017d6000836013f8f947e7f0d7d263ef8faf899d4e47.png _images/62963892f4371a1c4bb0d38c0dee6553b9bbd3948aabb098f3a5260e8828fc0b.png _images/395e503fcabfe705930e84c42a07187f49d11ffd2fe39446e32005d47ab3a174.png _images/45ac3b398cdbe8c51a40146853b73d019233fd9eeb0425a5603c7ea1f51c7291.png _images/0628ce416ec3f7c64765b1c6ea960d3de60aa5951a621d14d2e5878d9aafab55.png _images/24faa2069d2c555d4ca31025dd87e07450764963f90fe4d5212df95b570e2e6b.png _images/56e99838c007b8998de9c2425749d6bfa17d8da1472d857f5ac5d888e2fd56e3.png _images/8d7b1a4b84159fcc5b57dca7ce2b3031e5449384d256faf3d29cb7160eb0004c.png