{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_s1960-2017\n",
      "ACC10mem_PRECT_HIN1_s1960-2017_LY1_5x5 MSSS10mem_PRECT_HIN1_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.009250000000000006\n",
      "_s1960-2017\n",
      "ACC10mem_PRECT_HIN1-ANA1_s1960-2017_LY1_5x5 MSSS10mem_PRECT_HIN1-ANA1_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.005500000000000003\n",
      "_s1960-2017\n",
      "ACC10mem_PRECT_HIN2-HIN1_s1960-2017_LY1_5x5 MSSS10mem_PRECT_HIN2-HIN1_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2017\n",
      "ACC10mem_PRECT_HIN1-HIST_s1960-2017_LY1_5x5 MSSS10mem_PRECT_HIN1-HIST_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2017\n",
      "ACC10mem_PRECT_HIN1-PERS_s1960-2017_LY1_5x5 MSSS10mem_PRECT_HIN1-PERS_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.015500000000000012\n",
      "_s1960-2013\n",
      "ACC10mem_PRECT_HIN1_s1960-2013_LY2-5_5x5 MSSS10mem_PRECT_HIN1_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.006750000000000004\n",
      "_s1960-2013\n",
      "ACC10mem_PRECT_HIN1-ANA1_s1960-2013_LY2-5_5x5 MSSS10mem_PRECT_HIN1-ANA1_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.018000000000000013\n",
      "_s1960-2013\n",
      "ACC10mem_PRECT_HIN2-HIN1_s1960-2013_LY2-5_5x5 MSSS10mem_PRECT_HIN2-HIN1_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2013\n",
      "ACC10mem_PRECT_HIN1-HIST_s1960-2013_LY2-5_5x5 MSSS10mem_PRECT_HIN1-HIST_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2013\n",
      "ACC10mem_PRECT_HIN1-PERS_s1960-2013_LY2-5_5x5 MSSS10mem_PRECT_HIN1-PERS_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.020250000000000015\n",
      "_s1960-2009\n",
      "ACC10mem_PRECT_HIN1_s1960-2009_LY6-9_5x5 MSSS10mem_PRECT_HIN1_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.1\n",
      "_s1960-2009\n",
      "ACC10mem_PRECT_HIN1-ANA1_s1960-2009_LY6-9_5x5 MSSS10mem_PRECT_HIN1-ANA1_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.01400000000000001\n",
      "_s1960-2009\n",
      "ACC10mem_PRECT_HIN2-HIN1_s1960-2009_LY6-9_5x5 MSSS10mem_PRECT_HIN2-HIN1_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2009\n",
      "ACC10mem_PRECT_HIN1-HIST_s1960-2009_LY6-9_5x5 MSSS10mem_PRECT_HIN1-HIST_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2009\n",
      "ACC10mem_PRECT_HIN1-PERS_s1960-2009_LY6-9_5x5 MSSS10mem_PRECT_HIN1-PERS_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.008250000000000006\n",
      "_s1979-2018\n",
      "ACC10mem_Z500_HIN1_s1979-2018_LY1_5x5 MSSS10mem_Z500_HIN1_s1979-2018_LY1_5x5\n",
      "(40, 10, 36, 72)\n",
      "(40, 36, 72)\n",
      "p_fdr =  0.1\n",
      "_s1979-2017\n",
      "ACC10mem_Z500_HIN1-ANA1_s1979-2017_LY1_5x5 MSSS10mem_Z500_HIN1-ANA1_s1979-2017_LY1_5x5\n",
      "(39, 10, 36, 72)\n",
      "(39, 10, 36, 72)\n",
      "(39, 36, 72)\n",
      "p_fdr =  0.03375000000000002\n",
      "_s1979-2018\n",
      "ACC10mem_Z500_HIN2-HIN1_s1979-2018_LY1_5x5 MSSS10mem_Z500_HIN2-HIN1_s1979-2018_LY1_5x5\n",
      "(40, 10, 36, 72)\n",
      "(40, 10, 36, 72)\n",
      "(40, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1979-2018\n",
      "ACC10mem_Z500_HIN1-HIST_s1979-2018_LY1_5x5 MSSS10mem_Z500_HIN1-HIST_s1979-2018_LY1_5x5\n",
      "(40, 10, 36, 72)\n",
      "(40, 10, 36, 72)\n",
      "(40, 36, 72)\n",
      "p_fdr =  0.05200000000000004\n",
      "_s1980-2018\n",
      "ACC10mem_Z500_HIN1-PERS_s1980-2018_LY1_5x5 MSSS10mem_Z500_HIN1-PERS_s1980-2018_LY1_5x5\n",
      "(39, 10, 36, 72)\n",
      "(39, 36, 72)\n",
      "(39, 36, 72)\n",
      "p_fdr =  0.10075000000000008\n",
      "_s1979-2014\n",
      "ACC10mem_Z500_HIN1_s1979-2014_LY2-5_5x5 MSSS10mem_Z500_HIN1_s1979-2014_LY2-5_5x5\n",
      "(36, 10, 36, 72)\n",
      "(36, 36, 72)\n",
      "p_fdr =  0.1\n",
      "_s1979-2013\n",
      "ACC10mem_Z500_HIN1-ANA1_s1979-2013_LY2-5_5x5 MSSS10mem_Z500_HIN1-ANA1_s1979-2013_LY2-5_5x5\n",
      "(35, 10, 36, 72)\n",
      "(35, 10, 36, 72)\n",
      "(35, 36, 72)\n",
      "p_fdr =  0.08225000000000006\n",
      "_s1979-2014\n",
      "ACC10mem_Z500_HIN2-HIN1_s1979-2014_LY2-5_5x5 MSSS10mem_Z500_HIN2-HIN1_s1979-2014_LY2-5_5x5\n",
      "(36, 10, 36, 72)\n",
      "(36, 10, 36, 72)\n",
      "(36, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1979-2014\n",
      "ACC10mem_Z500_HIN1-HIST_s1979-2014_LY2-5_5x5 MSSS10mem_Z500_HIN1-HIST_s1979-2014_LY2-5_5x5\n",
      "(36, 10, 36, 72)\n",
      "(36, 10, 36, 72)\n",
      "(36, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1983-2014\n",
      "ACC10mem_Z500_HIN1-PERS_s1983-2014_LY2-5_5x5 MSSS10mem_Z500_HIN1-PERS_s1983-2014_LY2-5_5x5\n",
      "(32, 10, 36, 72)\n",
      "(32, 36, 72)\n",
      "(32, 36, 72)\n",
      "p_fdr =  0.08950000000000007\n",
      "_s1979-2010\n",
      "ACC10mem_Z500_HIN1_s1979-2010_LY6-9_5x5 MSSS10mem_Z500_HIN1_s1979-2010_LY6-9_5x5\n",
      "(32, 10, 36, 72)\n",
      "(32, 36, 72)\n",
      "p_fdr =  0.1\n",
      "_s1979-2009\n",
      "ACC10mem_Z500_HIN1-ANA1_s1979-2009_LY6-9_5x5 MSSS10mem_Z500_HIN1-ANA1_s1979-2009_LY6-9_5x5\n",
      "(31, 10, 36, 72)\n",
      "(31, 10, 36, 72)\n",
      "(31, 36, 72)\n",
      "p_fdr =  0.10150000000000008\n",
      "_s1979-2010\n",
      "ACC10mem_Z500_HIN2-HIN1_s1979-2010_LY6-9_5x5 MSSS10mem_Z500_HIN2-HIN1_s1979-2010_LY6-9_5x5\n",
      "(32, 10, 36, 72)\n",
      "(32, 10, 36, 72)\n",
      "(32, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1979-2010\n",
      "ACC10mem_Z500_HIN1-HIST_s1979-2010_LY6-9_5x5 MSSS10mem_Z500_HIN1-HIST_s1979-2010_LY6-9_5x5\n",
      "(32, 10, 36, 72)\n",
      "(32, 10, 36, 72)\n",
      "(32, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1983-2010\n",
      "ACC10mem_Z500_HIN1-PERS_s1983-2010_LY6-9_5x5 MSSS10mem_Z500_HIN1-PERS_s1983-2010_LY6-9_5x5\n",
      "(28, 10, 36, 72)\n",
      "(28, 36, 72)\n",
      "(28, 36, 72)\n",
      "p_fdr =  0.002\n",
      "_s1960-2018\n",
      "ACC10mem_PSL_HIN1_s1960-2018_LY1_5x5 MSSS10mem_PSL_HIN1_s1960-2018_LY1_5x5\n",
      "(59, 10, 36, 72)\n",
      "(59, 36, 72)\n",
      "p_fdr =  0.09925000000000007\n",
      "_s1960-2017\n",
      "ACC10mem_PSL_HIN1-ANA1_s1960-2017_LY1_5x5 MSSS10mem_PSL_HIN1-ANA1_s1960-2017_LY1_5x5\n",
      "(58, 10, 36, 72)\n",
      "(58, 10, 36, 72)\n",
      "(58, 36, 72)\n",
      "p_fdr =  0.046500000000000034\n",
      "_s1960-2018\n",
      "ACC10mem_PSL_HIN2-HIN1_s1960-2018_LY1_5x5 MSSS10mem_PSL_HIN2-HIN1_s1960-2018_LY1_5x5\n",
      "(59, 10, 36, 72)\n",
      "(59, 10, 36, 72)\n",
      "(59, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2018\n",
      "ACC10mem_PSL_HIN1-HIST_s1960-2018_LY1_5x5 MSSS10mem_PSL_HIN1-HIST_s1960-2018_LY1_5x5\n",
      "(59, 10, 36, 72)\n",
      "(59, 10, 36, 72)\n",
      "(59, 36, 72)\n",
      "p_fdr =  0.001\n",
      "_s1960-2018\n",
      "ACC10mem_PSL_HIN1-PERS_s1960-2018_LY1_5x5 MSSS10mem_PSL_HIN1-PERS_s1960-2018_LY1_5x5\n",
      "(59, 10, 36, 72)\n",
      "(59, 36, 72)\n",
      "(59, 36, 72)\n",
      "p_fdr =  0.08225000000000006\n",
      "_s1960-2014\n",
      "ACC10mem_PSL_HIN1_s1960-2014_LY2-5_5x5 MSSS10mem_PSL_HIN1_s1960-2014_LY2-5_5x5\n",
      "(55, 10, 36, 72)\n",
      "(55, 36, 72)\n",
      "p_fdr =  0.059750000000000046\n",
      "_s1960-2013\n",
      "ACC10mem_PSL_HIN1-ANA1_s1960-2013_LY2-5_5x5 MSSS10mem_PSL_HIN1-ANA1_s1960-2013_LY2-5_5x5\n",
      "(54, 10, 36, 72)\n",
      "(54, 10, 36, 72)\n",
      "(54, 36, 72)\n",
      "p_fdr =  0.05175000000000004\n",
      "_s1960-2014\n",
      "ACC10mem_PSL_HIN2-HIN1_s1960-2014_LY2-5_5x5 MSSS10mem_PSL_HIN2-HIN1_s1960-2014_LY2-5_5x5\n",
      "(55, 10, 36, 72)\n",
      "(55, 10, 36, 72)\n",
      "(55, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2014\n",
      "ACC10mem_PSL_HIN1-HIST_s1960-2014_LY2-5_5x5 MSSS10mem_PSL_HIN1-HIST_s1960-2014_LY2-5_5x5\n",
      "(55, 10, 36, 72)\n",
      "(55, 10, 36, 72)\n",
      "(55, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2014\n",
      "ACC10mem_PSL_HIN1-PERS_s1960-2014_LY2-5_5x5 MSSS10mem_PSL_HIN1-PERS_s1960-2014_LY2-5_5x5\n",
      "(55, 10, 36, 72)\n",
      "(55, 36, 72)\n",
      "(55, 36, 72)\n",
      "p_fdr =  0.07250000000000005\n",
      "_s1960-2010\n",
      "ACC10mem_PSL_HIN1_s1960-2010_LY6-9_5x5 MSSS10mem_PSL_HIN1_s1960-2010_LY6-9_5x5\n",
      "(51, 10, 36, 72)\n",
      "(51, 36, 72)\n",
      "p_fdr =  0.036250000000000025\n",
      "_s1960-2009\n",
      "ACC10mem_PSL_HIN1-ANA1_s1960-2009_LY6-9_5x5 MSSS10mem_PSL_HIN1-ANA1_s1960-2009_LY6-9_5x5\n",
      "(50, 10, 36, 72)\n",
      "(50, 10, 36, 72)\n",
      "(50, 36, 72)\n",
      "p_fdr =  0.06850000000000005\n",
      "_s1960-2010\n",
      "ACC10mem_PSL_HIN2-HIN1_s1960-2010_LY6-9_5x5 MSSS10mem_PSL_HIN2-HIN1_s1960-2010_LY6-9_5x5\n",
      "(51, 10, 36, 72)\n",
      "(51, 10, 36, 72)\n",
      "(51, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2010\n",
      "ACC10mem_PSL_HIN1-HIST_s1960-2010_LY6-9_5x5 MSSS10mem_PSL_HIN1-HIST_s1960-2010_LY6-9_5x5\n",
      "(51, 10, 36, 72)\n",
      "(51, 10, 36, 72)\n",
      "(51, 36, 72)\n",
      "p_fdr =  0.0\n",
      "_s1960-2010\n",
      "ACC10mem_PSL_HIN1-PERS_s1960-2010_LY6-9_5x5 MSSS10mem_PSL_HIN1-PERS_s1960-2010_LY6-9_5x5\n",
      "(51, 10, 36, 72)\n",
      "(51, 36, 72)\n",
      "(51, 36, 72)\n",
      "p_fdr =  0.010250000000000007\n"
     ]
    }
   ],
   "source": [
    "import sys ; sys.path.remove('/mnt/bcpu-ns9039k/ingo/jupyter/Modules'); sys.path.append('../../scripts')\n",
    "import norcpmTools as nt\n",
    "from netCDF4 import Dataset\n",
    "import numpy as np\n",
    "\n",
    "# plot ACC \n",
    "fields = [['TREFHT','TREFHT'],['PRECT','PRECT'],['Z500','Z500'],['PSL','PSL']]\n",
    "fields = [['PRECT','PRECT'],['Z500','Z500'],['PSL','PSL']]\n",
    "resOptions=[[5,5]]\n",
    "leadRanges = [[0,0],[1,4],[5,8]]\n",
    "expOptions = [['HIN1',''],['HIN1','ANA1'],['HIN2','HIN1'],['HIN1','HIST'],['HIN1','PERS']]\n",
    "memRange = [1,10] \n",
    "doACC = True\n",
    "doMSSS = False\n",
    "product = 'hindcast'\n",
    "for field in fields:\n",
    "    fieldMod = field[0]\n",
    "    fieldObs = field[1]\n",
    "    if fieldMod == 'TREFHT':\n",
    "        fieldObs = 'TREFHT'\n",
    "        obsName = 'HadCRUT'\n",
    "        obsCoverage = [1950,2019]\n",
    "        obsFactor = 1. \n",
    "        obsOffset = 0.\n",
    "        levRange = [0,0]        \n",
    "        landFill = False\n",
    "    elif fieldMod == 'PRECT':   \n",
    "        fieldObs = 'PRECT'\n",
    "        obsName = 'CRUPRE'\n",
    "        obsCoverage = [1950,2018]\n",
    "        obsFactor = 1/(365/12*24*3600*1000) # mod=m/s obs=mm/month \n",
    "        obsOffset = 0.\n",
    "        levRange = [0,0]        \n",
    "        landFill = False\n",
    "    elif fieldMod == 'Z500':\n",
    "        fieldObs = 'Z500'\n",
    "        obsName = 'ERA5'\n",
    "        obsCoverage = [1979,2019]\n",
    "        obsFactor = 1. \n",
    "        obsOffset = 0.\n",
    "        levRange = [0,0]        \n",
    "        landFill = False        \n",
    "    elif fieldMod == 'PSL':\n",
    "        fieldObs = 'PSL'\n",
    "        obsName = 'NCEP'\n",
    "        obsCoverage = [1950,2019]\n",
    "        obsFactor = 100. \n",
    "        obsOffset = 0.\n",
    "        levRange = [0,0]        \n",
    "        landFill = False\n",
    "    for leadRange in leadRanges:   \n",
    "        for res in resOptions:\n",
    "            lon = np.arange(res[0]/2,360,res[0])\n",
    "            lat = np.arange(-90+res[1]/2,90,res[1])\n",
    "            lon2, lat2 = np.meshgrid(lon,lat)\n",
    "            mskfdr = np.where(lat2 < 80, 1, 0)\n",
    "            tagRes = '_{:d}x{:d}'.format(res[0],res[1])\n",
    "            tagField = '_' + fieldMod if obsName[0:11] != 'dcppA-assim' else '_' + fieldMod + 'Perfect'\n",
    "            tagLead = '_LY{:d}'.format(leadRange[0]+1) if leadRange[0] == leadRange[1] else '_LY{:d}-{:d}'.format(leadRange[0]+1,leadRange[1]+1)\n",
    "            # extract data\n",
    "            for expOption in expOptions:\n",
    "                if expOption[0][0:3] == 'ANA' or expOption[1][0:3] == 'ANA':\n",
    "                    modCoverage = [1950,2018]\n",
    "                else:\n",
    "                    modCoverage = [1950,2029]\n",
    "                if product == 'analysis':    \n",
    "                    syear1 = np.max((modCoverage[0],obsCoverage[0]))\n",
    "                else:\n",
    "                    syear1 = np.max((1960,obsCoverage[0])) if not expOption[1] == 'PERS' else np.max((1960,obsCoverage[0]+1+leadRange[1]-leadRange[0]))\n",
    "                syearn = np.min((modCoverage[1],obsCoverage[1]))-leadRange[1]-1\n",
    "                syears = range(syear1,syearn+1)\n",
    "                tagYears = '_s{:d}-{:d}'.format(syears[0],syears[-1])\n",
    "                print(tagYears)\n",
    "                tagYears = '_s{:d}-{:d}'.format(syears[0],syears[-1])\n",
    "                if obsName == 'GlobColour':\n",
    "                    obs = np.flip(nt.readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,levRange=levRange,suffix=tagRes),axis=1)                \n",
    "                elif obsName[0:11] == 'dcppA-assim': \n",
    "                    obs = np.mean(nt.readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,memRange=[1,10],levRange=levRange,suffix=tagRes,ensave=False),axis=1)\n",
    "                else:\n",
    "                    obs = nt.readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,levRange=levRange,suffix=tagRes)     \n",
    "                if fieldObs == 'fgco2':\n",
    "                    obs = -obs\n",
    "                if expOption[0] == 'HIST':\n",
    "                    fld1 =  nt.readHindcastLY(fieldMod,'historical',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[0] == 'PERS':\n",
    "                    if obsName[0:11] == 'dcppA-assim':\n",
    "                        fld1 = readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,memRange=[1,10],\n",
    "                                              levRange=levRange,suffix=tagRes,persistence='mean',ensave=False)  \n",
    "                    elif obsName == 'GlobColour':\n",
    "                        fld1 = np.flip(readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,\n",
    "                                                      levRange=levRange,suffix=tagRes,persistence='mean',ensave=False),axis=1)\n",
    "                    else:\n",
    "                        fld1 = readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,\n",
    "                                              levRange=levRange,suffix=tagRes,persistence='mean',ensave=False)\n",
    "                elif expOption[0] == 'HIN1':\n",
    "                    fld1 = nt.readHindcastLY(fieldMod,'dcppA-hindcast-i1',syears,leadRange,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[0] == 'HIN2':\n",
    "                    fld1 = nt.readHindcastLY(fieldMod,'dcppA-hindcast-i2',syears,leadRange,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[0] == 'ANA1':\n",
    "                    fld1 = np.squeeze(nt.readHindcastLY(fieldMod,'dcppA-assim-i1',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False))\n",
    "                elif expOption[0] == 'ANA2':\n",
    "                    fld1 = nt.readHindcastLY(fieldMod,'dcppA-assim-i2',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)               \n",
    "                #\n",
    "                if expOption[1] == 'HIST':\n",
    "                    fld2 =  nt.readHindcastLY(fieldMod,'historical',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[1] == 'PERS':\n",
    "                    fld2 = nt.readHindcastLY(fieldObs,obsName,syears,leadRange,yearRange=obsCoverage,levRange=levRange,suffix=tagRes,persistence='mean',ensave=False)\n",
    "                elif expOption[1] == 'HIN1':\n",
    "                    fld2 = nt.readHindcastLY(fieldMod,'dcppA-hindcast-i1',syears,leadRange,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[1] == 'HIN2':\n",
    "                    fld2 = nt.readHindcastLY(fieldMod,'dcppA-hindcast-i2',syears,leadRange,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)\n",
    "                elif expOption[1] == 'ANA1':\n",
    "                    fld2 = np.squeeze(nt.readHindcastLY(fieldMod,'dcppA-assim-i1',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False))\n",
    "                elif expOption[1] == 'ANA2':\n",
    "                    fld2 = nt.readHindcastLY(fieldMod,'dcppA-assim-i2',syears,leadRange,yearRange=modCoverage,memRange=memRange,levRange=levRange,suffix=tagRes,ensave=False)  \n",
    "                #\n",
    "                tagExp = '_' + expOption[0] if expOption[1] == '' else '_{:s}-{:s}'.format(expOption[0],expOption[1])\n",
    "                rfilePrefix = 'ACC10mem' + tagField + tagExp + tagYears + tagLead + tagRes \n",
    "                mfilePrefix = 'MSSS10mem' + tagField + tagExp + tagYears + tagLead + tagRes \n",
    "                print(rfilePrefix + ' ' + mfilePrefix)\n",
    "                #\n",
    "                print(fld1.shape)\n",
    "                if expOption[1] != '':\n",
    "                    print(fld2.shape)\n",
    "                print(obs.shape)\n",
    "                titleString = expOption[0] if expOption[1] == '' else expOption[0] + ' - ' + expOption[1]\n",
    "                title2 = tagLead[1:] if product == 'hindcast' else ''                    \n",
    "                if doACC: \n",
    "                    fld = nt.corrMultiArrayYeager(fld1,obs) if expOption[1] == '' else nt.corrMultiArrayDiffYeager(fld1,obs,fld2)\n",
    "                    nt.plotACC(lon=lon,lat=lat,fld=fld,filePrefix=rfilePrefix,lbLabelBarOn=False,\n",
    "                               title=' ',title2=' ',landFill=landFill,plottype='ACC')\n",
    "                if doMSSS: \n",
    "                    fld = nt.MSSSyeager(fld1,obs) if expOption[1] == '' else nt.MSSSyeager(fld1,obs,fld2)\n",
    "                    nt.plotACC(lon=lon,lat=lat,fld=fld,filePrefix=mfilePrefix,lbLabelBarOn=False,\n",
    "                               title=titleString,title2=title2,landFill=landFill,plottype='MSSS')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
