diff --git a/.travis.yml b/.travis.yml index d6829b811..903fe4f23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,24 +7,22 @@ language: python sudo: false before_install: - - export UVCDAT_FEATURE="" - if [ "$TRAVIS_OS_NAME" = "linux" ]; then wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh; fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then curl -o miniconda.sh https://repo.continuum.io/miniconda/Miniconda2-latest-MacOSX-x86_64.sh ; fi - export PATH="$HOME/miniconda/bin:$PATH" - if [ ! -d ${HOME}/miniconda ]; then bash miniconda.sh -b -p $HOME/miniconda ; fi - hash -r - conda config --set always_yes yes --set changeps1 no - - conda install -f -q "conda<4.3.13" - - conda install --show-channel-urls --yes vcs vcsaddons mesalib cdp nose flake8 image-compare -c conda-forge -c uvcdat - # - conda install openssl=1.0.2d + - conda update -y -q conda + +script: + - conda create -q -n py2 -c uvcdat/label/nightly -c conda-forge -c uvcdat vcs vcsaddons cdp mesalib image-compare flake8 nose # Useful for debugging any issues with conda - conda info -a - -install: + - source activate py2 - python setup.py install - -script: - - python run_tests.py -v2 + - source activate py2 + - python run_tests.py -v2 after_success: - if [ "$TRAVIS_BRANCH" == "master" -a "$TRAVIS_PULL_REQUEST" == "false" ]; then conda install conda-build && conda install anaconda-client && bash -x recipes/pcmdi_metrics/conda_upload.sh; fi diff --git a/src/python/graphics/portraits.py b/src/python/graphics/portraits.py index 3d5d6439d..5c7dd3caa 100644 --- a/src/python/graphics/portraits.py +++ b/src/python/graphics/portraits.py @@ -371,9 +371,9 @@ def rank(self, data, axis=0): b = MV2.zeros(a0.shape, MV2.float) sh = a0[1].shape for i in range(n): - I = MV2.ones(sh) * i + Indx = MV2.ones(sh) * i c = MV2.array(a0[i].filled(n - 1)) - b = genutil.arrayindexing.set(b, c, I) + b = genutil.arrayindexing.set(b, c, Indx) m = data.mask if m is not None: @@ -410,9 +410,9 @@ def rank_nD(self, data, axis=0): b = MV2.zeros(a0.shape, MV2.float) sh = a0[1].shape for i in range(n): - I = MV2.ones(sh) * i + Indx = MV2.ones(sh) * i c = MV2.array(a0[i].filled(n - 1)) - b = genutil.arrayindexing.set(b, c, I) + b = genutil.arrayindexing.set(b, c, Indx) m = data.mask if m is not None: b = MV2.masked_where(m, b) @@ -595,7 +595,7 @@ def __get(self): if sp1[j] == 'time_domain': try: v = int(v) - except: + except Exception: pass if v == 'NONE': v = '' @@ -641,7 +641,7 @@ def __get(self): # In case sometihng goes wrong (like modle not processed or # inexsitant for this var, etc...) f.close() - except: + except Exception: pass output = MV2.reshape(output, (axes_length[0], axes_length[1])) output.id = 'portrait plot' @@ -665,7 +665,7 @@ def decorate(self, output, ynm=None, xnm=None): del(x.name) del(y.name) del(output.name) - except: + except Exception: pass nm = '___'.join(xnm) @@ -777,7 +777,7 @@ def plot(self, data=None, mesh=None, template=None, template.legend.y2 = self.PLOT_SETTINGS.legend.y2 try: tmp = x.createtextorientation('crap22') - except: + except Exception: tmp = x.gettextorientation('crap22') tmp.height = 12 # tmp.halign = 'center' @@ -844,9 +844,9 @@ def plot(self, data=None, mesh=None, template=None, # data=data sh = list(data.shape) sh.append(2) - I = MV2.indices((sh[0], sh[1])) - Y = I[0] - X = I[1] + Indx = MV2.indices((sh[0], sh[1])) + Y = Indx[0] + X = Indx[1] # if ntot>1: # meshfill.mesh='y' if ntot == 1: diff --git a/src/python/io/base.py b/src/python/io/base.py index 1f90afdc0..fc94cb042 100755 --- a/src/python/io/base.py +++ b/src/python/io/base.py @@ -40,7 +40,7 @@ def update_dict(d, u): def populate_prov(prov, cmd, pairs, sep=None, index=1, fill_missing=False): try: p = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE) - except: + except Exception: return out, stde = p.communicate() if stde != '': @@ -66,14 +66,14 @@ def generateProvenance(): prov["platform"] = platfrm try: logname = os.getlogin() - except: + except Exception: try: import pwd logname = pwd.getpwuid(os.getuid())[0] - except: + except Exception: try: logname = os.environ.get('LOGNAME', 'unknown') - except: + except Exception: logname = 'unknown-loginname' prov["userId"] = logname prov["osAccess"] = bool(os.access('/', os.W_OK) * os.access('/', os.R_OK)) @@ -187,7 +187,7 @@ def write(self, data, type='json', *args, **kwargs): if not os.path.exists(dir_path): try: os.makedirs(dir_path) - except: + except Exception: logging.error( 'Could not create output directory: %s' % dir_path) @@ -314,7 +314,7 @@ def set_file_mask_template(self): def get_mask_from_var(self, var): try: o_mask = self.file_mask_template.get('sftlf') - except: + except Exception: o_mask = cdutil.generateLandSeaMask( var, regridTool=self.regrid_tool).filled(1.) * 100. o_mask = MV2.array(o_mask) @@ -463,11 +463,11 @@ def get_array_values_from_dict_recursive(self, out, ids, nms, axval, axes): for k in axval: try: vals = vals[k] - except: + except Exception: vals = 1.e20 try: out[tuple(ids)] = float(vals) - except: + except Exception: out[tuple(ids)] = 1.e20 def __init__(self, files=[], structure=[], ignored_keys=[], oneVariablePerFile=True): diff --git a/src/python/misc/scripts/install_metrics_from_branches.py b/src/python/misc/scripts/install_metrics_from_branches.py index b11159e49..c0079dad2 100755 --- a/src/python/misc/scripts/install_metrics_from_branches.py +++ b/src/python/misc/scripts/install_metrics_from_branches.py @@ -7,8 +7,8 @@ import shlex -l = time.localtime() -today = "%s.%s.%s" % (l.tm_year, l.tm_mon, l.tm_mday) +loc = time.localtime() +today = "%s.%s.%s" % (loc.tm_year, loc.tm_mon, loc.tm_mday) P = argparse.ArgumentParser( description='Merge many branches into a conda env', @@ -50,9 +50,9 @@ default=["master"], nargs="*", help="cdms branches to merge") -l = P.add_argument_group('Local Setup') -l.add_argument("-g", "--git", default=os.path.expanduser("~/git"), - help="top directory where you will clone your git repos") +loc = P.add_argument_group('Local Setup') +loc.add_argument("-g", "--git", default=os.path.expanduser("~/git"), + help="top directory where you will clone your git repos") args = P.parse_args(sys.argv[1:]) diff --git a/src/python/pcmdi/io.py b/src/python/pcmdi/io.py index 4548445ec..0a6a3d987 100644 --- a/src/python/pcmdi/io.py +++ b/src/python/pcmdi/io.py @@ -74,7 +74,7 @@ def addJson(self, filename): # print filename,"K IS:",k k.pop(k.index("source")) out = out[k[0]] # first realization - except: + except Exception: continue # Ok at this point we need to see if it is json std 1 or 2 # version 1 had NHEX in every region diff --git a/src/python/pcmdi/pmp_parser.py b/src/python/pcmdi/pmp_parser.py index 318f5f9b2..98c20fa47 100644 --- a/src/python/pcmdi/pmp_parser.py +++ b/src/python/pcmdi/pmp_parser.py @@ -7,4 +7,3 @@ def __init__(self, warning=True, *args, **kwargs): super(PMPParser, self).__init__(*args, **kwargs) if warning: print("Deprecation warning: please use 'import pcmdi_metrics.driver.pmp_parser.PMPParser'") - diff --git a/src/python/pcmdi/scripts/build_obs_meta_dictionary.py b/src/python/pcmdi/scripts/build_obs_meta_dictionary.py index 3d8e860f0..21dcb9cc1 100644 --- a/src/python/pcmdi/scripts/build_obs_meta_dictionary.py +++ b/src/python/pcmdi/scripts/build_obs_meta_dictionary.py @@ -4,22 +4,29 @@ # PJG 02012016 RESURRECTING... # /obs AND HARDWIRED TEST CASE WHICH # NEEDS FIXIN -# PJD 171121 Attempting to fix issue with default missing for thetao and CMOR Table being wrong +# PJD 171121 Attempting to fix issue with default missing for thetao and +# CMOR Table being wrong -#import pdb -import cdms2,gc,glob,json,os,sys,time +import cdms2 +import gc +import glob +import json +import os +import sys +import time if len(sys.argv) > 1: data_path = sys.argv[1] else: - #data_path = '/work/gleckler1/processed_data/metrics_package/obs' data_path = '/work/gleckler1/processed_data/obs' -lst = glob.glob(os.path.join(data_path,'*/mo/*/*/ac/*.nc')) +lst = glob.glob(os.path.join(data_path, '*/mo/*/*/ac/*.nc')) data_path_fx = '/clim_obs/obs' -lstm = glob.glob(os.path.join(data_path_fx,'fx/sftlf/*.nc')) -lst.extend(lstm) ; del(lstm) -del(data_path,data_path_fx) ; gc.collect() +lstm = glob.glob(os.path.join(data_path_fx, 'fx/sftlf/*.nc')) +lst.extend(lstm) +del(lstm) +del(data_path, data_path_fx) +gc.collect() # Generate remap dictionary sftlf_product_remap = { 'ECMWF-ERAInterim': 'ERAINT', @@ -28,60 +35,60 @@ } # FOR MONTHLY MEAN OBS -obs_dic_in = {'rlut': {'default': 'CERES'}, - 'rst': {'default': 'CERES'}, - 'rsut': {'default': 'CERES'}, - 'rsds': {'default': 'CERES'}, - 'rlds': {'default': 'CERES'}, - 'rsdt': {'default': 'CERES'}, +obs_dic_in = {'rlut': {'default': 'CERES'}, + 'rst': {'default': 'CERES'}, + 'rsut': {'default': 'CERES'}, + 'rsds': {'default': 'CERES'}, + 'rlds': {'default': 'CERES'}, + 'rsdt': {'default': 'CERES'}, 'rsdscs': {'default': 'CERES'}, 'rldscs': {'default': 'CERES'}, - 'rlus': {'default': 'CERES'}, - 'rsus': {'default': 'CERES'}, + 'rlus': {'default': 'CERES'}, + 'rsus': {'default': 'CERES'}, 'rlutcs': {'default': 'CERES'}, 'rsutcs': {'default': 'CERES'}, 'rstcre': {'default': 'CERES'}, 'rltcre': {'default': 'CERES'}, - 'pr': {'default': 'GPCP', - 'alternate1': 'TRMM'}, - 'prw': {'default': 'RSS'}, - 'tas': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'psl': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'ua': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'va': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'uas': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'hus': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'vas': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'ta': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'zg': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'tauu': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'tauv': {'default': 'ERAINT', - 'alternate2': 'JRA25', - 'alternate1': 'ERA40'}, - 'tos': {'default': 'UKMETOFFICE-HadISST-v1-1'}, - 'zos': {'default': 'CNES-AVISO-L4'}, - 'sos': {'default': 'NODC-WOA09'}, - 'ts': {'default': 'HadISST1'}, + 'pr': {'default': 'GPCP', + 'alternate1': 'TRMM'}, + 'prw': {'default': 'RSS'}, + 'tas': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'psl': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'ua': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'va': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'uas': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'hus': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'vas': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'ta': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'zg': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'tauu': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'tauv': {'default': 'ERAINT', + 'alternate2': 'JRA25', + 'alternate1': 'ERA40'}, + 'tos': {'default': 'UKMETOFFICE-HadISST-v1-1'}, + 'zos': {'default': 'CNES-AVISO-L4'}, + 'sos': {'default': 'NODC-WOA09'}, + 'ts': {'default': 'HadISST1'}, 'thetao': {'default': 'WOA13v2', 'alternate1': 'UCSD', 'alternate2': 'Hosoda-MOAA-PGV', @@ -112,25 +119,25 @@ tableId = 'Omon' elif realm == 'fx': tableId = 'fx' - print 'tableId:',tableId - print 'subp:',subp - print 'var:',var - print 'product:',product + print 'tableId:', tableId + print 'subp:', subp + print 'var:', var + print 'product:', product fileName = subp.split('/')[-1] - print 'Filename:',fileName + print 'Filename:', fileName # Fix rgd2.5_ac issue - fileName = fileName.replace('rgd2.5_ac','ac') + fileName = fileName.replace('rgd2.5_ac', 'ac') if '-clim' in fileName: period = fileName.split('_')[-1] # Fix durack1 formatted files elif 'sftlf_pcmdi-metrics_fx' in fileName: period = fileName.split('_')[-1] - period = period.replace('.nc','') + period = period.replace('.nc', '') else: period = fileName.split('_')[-2] - period = period.replace('-clim.nc','') #.replace('ac.nc','') - print 'period:',period + period = period.replace('-clim.nc', '') # .replace('ac.nc','') + print 'period:', period # TRAP FILE NAME FOR OBS DATA if var not in obs_dic.keys(): @@ -152,22 +159,24 @@ f.close() shape = repr(d.shape) obs_dic[var][product]['shape'] = shape - print 'md5:',md5 + print 'md5:', md5 print '' - del(d,fileName) ; gc.collect() + del(d, fileName) + gc.collect() try: for r in obs_dic_in[var].keys(): - #print '1',r,var,product - #print obs_dic_in[var][r],'=',product + # print '1',r,var,product + # print obs_dic_in[var][r],'=',product if obs_dic_in[var][r] == product: - #print '2',r,var,product + # print '2',r,var,product obs_dic[var][r] = product - except: + except BaseException: pass -del(filePath,lst,md5,period,product,r,realm,shape,subp, - tableId,var); gc.collect() -#pdb.set_trace() +del(filePath, lst, md5, period, product, r, realm, shape, subp, + tableId, var) +gc.collect() +# pdb.set_trace() # ADD SPECIAL CASE SFTLF FROM TEST DIR product = 'UKMETOFFICE-HadISST-v1-1' @@ -181,11 +190,12 @@ obs_dic[var][product]['MD5sum'] = '' obs_dic[var][product]['RefTrackingDate'] = '' obs_dic[var][product]['period'] = '198002-200501' -del(product,var) ; gc.collect() +del(product, var) +gc.collect() # Save dictionary locally and in doc subdir json_name = 'obs_info_dictionary.json' -json.dump(obs_dic,open(json_name,'wb'),sort_keys=True,indent=4, - separators=(',',': ')) -json.dump(obs_dic,open('../../../../doc/' + json_name,'wb'),sort_keys=True, - indent=4,separators=(',',': ')) \ No newline at end of file +json.dump(obs_dic, open(json_name, 'wb'), sort_keys=True, indent=4, + separators=(',', ': ')) +json.dump(obs_dic, open('../../../../doc/' + json_name, 'wb'), sort_keys=True, + indent=4, separators=(',', ': ')) diff --git a/src/python/pcmdi/scripts/driver/dataset.py b/src/python/pcmdi/scripts/driver/dataset.py index 76404deae..0c2580356 100644 --- a/src/python/pcmdi/scripts/driver/dataset.py +++ b/src/python/pcmdi/scripts/driver/dataset.py @@ -86,7 +86,7 @@ def create_sftlf(parameter): sftlf[test] = {"raw": sft.get("sftlf")} sftlf[test]["filename"] = os.path.basename(sft()) sftlf[test]["md5"] = sft.hash() - except: + except Exception: sftlf[test] = {"raw": None} sftlf[test]["filename"] = None sftlf[test]["md5"] = None @@ -122,7 +122,7 @@ def load_path_as_file_obj(name): opened_file = open(file_path) except IOError: logging.error('%s could not be loaded!' % file_path) - except: + except Exception: logging.error('Unexpected error while opening file: ' + sys.exc_info()[0]) return opened_file diff --git a/src/python/pcmdi/scripts/driver/observation.py b/src/python/pcmdi/scripts/driver/observation.py index ae50ecf7d..e9dc9691e 100644 --- a/src/python/pcmdi/scripts/driver/observation.py +++ b/src/python/pcmdi/scripts/driver/observation.py @@ -79,7 +79,7 @@ def create_obs_mask_name(self): obs_mask = OBS(self.data_path, 'sftlf', self.obs_dict, obs_from_obs_dict['RefName']) obs_mask_name = obs_mask() - except: + except Exception: msg = 'Could not figure out obs mask name from obs json file' logging.info(msg) obs_mask_name = None diff --git a/src/python/pcmdi/scripts/driver/outputmetrics.py b/src/python/pcmdi/scripts/driver/outputmetrics.py index 7023b80f9..d56429d47 100644 --- a/src/python/pcmdi/scripts/driver/outputmetrics.py +++ b/src/python/pcmdi/scripts/driver/outputmetrics.py @@ -141,7 +141,7 @@ def calculate_and_output_metrics(self, ref, test): self.metrics_def_dictionary.update( self.parameter.compute_custom_metrics( self.var_name_long, None, None)) - except: + except Exception: self.metrics_def_dictionary.update( {'custom': self.parameter.compute_custom_metrics.__doc__}) @@ -203,7 +203,7 @@ def set_simulation_desc(self, test, test_data): if hasattr(f, a): try: vals.append(float(getattr(f, a))) - except: + except Exception: vals.append(getattr(f, a)) # Ok couldn't find it anywhere # setting to N/A diff --git a/src/python/pcmdi/scripts/make_obs_clim.py b/src/python/pcmdi/scripts/make_obs_clim.py index 2b0f8612a..ebe50a091 100755 --- a/src/python/pcmdi/scripts/make_obs_clim.py +++ b/src/python/pcmdi/scripts/make_obs_clim.py @@ -104,7 +104,7 @@ print ''.join(['start_time: ', str(start_time)]) end_time = f_h.getAxis('time').asComponentTime()[-1] print ''.join(['end_time: ', str(end_time)]) -except: +except Exception: print '** No time access associated with file_variable' start_time = cdt.comptime(int(args.start_yr), 1, 1) end_time = cdt.comptime(int(args.end_yr), 12, 31) diff --git a/src/python/pcmdi/scripts/pcmdi_compute_climatologies.py b/src/python/pcmdi/scripts/pcmdi_compute_climatologies.py index 2bb5ce607..9d4f3d523 100644 --- a/src/python/pcmdi/scripts/pcmdi_compute_climatologies.py +++ b/src/python/pcmdi/scripts/pcmdi_compute_climatologies.py @@ -14,7 +14,7 @@ try: import cmor -except: +except Exception: raise RuntimeError("Your UV-CDAT is not built with cmor") parser = argparse.ArgumentParser( @@ -204,7 +204,7 @@ def checkCMORAttribute(att, source=filein): v0 = float(A.start) try: i0, tmp = tim.mapInterval((v0, v0), 'cob') - except: + except Exception: raise RuntimeError( "Could not find value %s for start time for variable %s" % (A.start, v)) @@ -215,7 +215,7 @@ def checkCMORAttribute(att, source=filein): v0 = v0.add(1, cdtime.Minute) try: i0, tmp = tim.mapInterval((v0, v0), 'cob') - except: + except Exception: raise RuntimeError( "Could not find start time %s for variable: %s" % (A.start, v)) @@ -234,7 +234,7 @@ def checkCMORAttribute(att, source=filein): v0 = float(A.end) try: tmp, i1 = tim.mapInterval((v0, v0), 'cob') - except: + except Exception: raise RuntimeError( "Could not find value %s for end time for variable %s" % (A.end, v)) @@ -245,7 +245,7 @@ def checkCMORAttribute(att, source=filein): v0 = v0.add(1, cdtime.Minute) try: tmp, i1 = tim.mapInterval((v0, v0), 'cob') - except: + except Exception: raise RuntimeError( "Could not find end time %s for variable: %s" % (A.end, v)) @@ -339,7 +339,7 @@ def checkCMORAttribute(att, source=filein): for x in cmor_xtra_args: try: xtra[x] = checkCMORAttribute(x) - except: + except Exception: pass cal = data.getTime().getCalendar() # cmor understand cdms calendars if A.verbose: diff --git a/src/python/pcmdi/scripts/pcmdi_metrics_driver_legacy.py b/src/python/pcmdi/scripts/pcmdi_metrics_driver_legacy.py index 8253d36d5..022c43e64 100755 --- a/src/python/pcmdi/scripts/pcmdi_metrics_driver_legacy.py +++ b/src/python/pcmdi/scripts/pcmdi_metrics_driver_legacy.py @@ -26,7 +26,7 @@ # Salinity Units try: unidata.udunits_wrap.init() -except: +except Exception: import genutil as unidata unidata.udunits_wrap.init() @@ -166,7 +166,7 @@ def applyCustomKeys(O, custom_dict, var): os.makedirs( os.path.dirname(out) ) -except: +except Exception: pass Efile = open(out, "w") @@ -215,7 +215,7 @@ def applyCustomKeys(O, custom_dict, var): sftlf[model_version] = {"raw": sft.get("sftlf")} sftlf[model_version]["filename"] = os.path.basename(sft()) sftlf[model_version]["md5"] = sft.hash() - except: + except Exception: # Hum no sftlf... dup.tb = args.traceback dup("No mask for ", sft()) @@ -374,7 +374,7 @@ def applyCustomKeys(O, custom_dict, var): obs_dic, obs_var_ref["RefName"]) oMasknm = oMask() - except: + except Exception: dup("couldn't figure out obs mask name from obs json file") oMasknm = None @@ -556,7 +556,7 @@ def applyCustomKeys(O, custom_dict, var): "(%s) to observation unit (%s) scaling: %g offset: %g" % ( dm.units, do.units, scaling, offset) warnings.warn(wrn) - except: + except Exception: raise RuntimeError( "Could not convert model units (%s) " % dm.units + "to obs units: (%s)" % (do.units)) @@ -615,7 +615,7 @@ def applyCustomKeys(O, custom_dict, var): getattr( f, a))) - except: + except Exception: vals.append(getattr(f, a)) # Ok couldn't find it anywhere # setting to N/A @@ -688,7 +688,7 @@ def applyCustomKeys(O, custom_dict, var): Var, None, None)) - except: + except Exception: # Better than nothing we will use the doc # string metrics_def_dictionary.update( diff --git a/tests/basepmp.py b/tests/basepmp.py index 6231483f6..bd310ce4c 100644 --- a/tests/basepmp.py +++ b/tests/basepmp.py @@ -19,13 +19,13 @@ def checkAllClose(self, a, b, rtol=1e-05, atol=1e-08): print "(", for indx in d: print "%i," % indx, - print "). Test value %.3f vs expected value: %.3f" % (a[tuple(d)],b[tuple(d)]) + print "). Test value %.3f vs expected value: %.3f realtive: %.3f%%" % (a[tuple(d)],b[tuple(d)],abs((a[tuple(d)]-b[tuple(d)])/b[tuple(d)])*100.) return False return True def assertSimilarJsons(self, test_file, correct_file, rtol=1e-05, atol=1e-08, raiseOnError=True): - print "Comparing:",test_file, correct_file, "atol:",atol + print "Comparing:",test_file, correct_file, "atol:",atol,"rtol:",rtol T = pcmdi_metrics.io.base.JSONs([test_file], oneVariablePerFile=False) test = T() diff --git a/tests/basepmpdriver.py b/tests/basepmpdriver.py index 61dcc7fa1..511db8545 100644 --- a/tests/basepmpdriver.py +++ b/tests/basepmpdriver.py @@ -55,7 +55,7 @@ def runPMP(self,parameterFile): if self.update: shutil.copy(fnm, gnm) else: - correct = self.assertSimilarJsons(fnm, gnm, atol=1.E-2, raiseOnError=False) + correct = self.assertSimilarJsons(fnm, gnm, rtol=5.E-3, atol=0., raiseOnError=False) allCorrect = allCorrect and correct if not allCorrect: raise Exception("Error Encountered on some of the output files, check log") diff --git a/tests/pcmdi/customRegions/tas_2.5x2.5_regrid2_linear_metrics.json b/tests/pcmdi/customRegions/tas_2.5x2.5_regrid2_linear_metrics.json index 70dfdafeb..6f7024a5d 100644 --- a/tests/pcmdi/customRegions/tas_2.5x2.5_regrid2_linear_metrics.json +++ b/tests/pcmdi/customRegions/tas_2.5x2.5_regrid2_linear_metrics.json @@ -284,7 +284,7 @@ }, "ocean": { "bias_xy": { - "ann": "-0.539", + "ann": "-0.538", "son": "-0.723", "mam": "-0.383", "jja": "-0.398", @@ -300,43 +300,43 @@ "custom_model_max": 303.598876953125, "mae_xy": { "ann": "1.593", - "son": "1.570", + "son": "1.569", "mam": "1.696", "jja": "1.370", - "djf": "1.962" + "djf": "1.961" }, "mean-obs_xy": { - "ann": "289.550", - "son": "289.444", - "mam": "289.601", + "ann": "289.544", + "son": "289.439", + "mam": "289.594", "jja": "289.824", - "djf": "289.331" + "djf": "289.318" }, "mean_xy": { - "ann": "289.339", - "son": "289.003", - "mam": "289.617", - "jja": "289.633", - "djf": "289.113" + "ann": "289.341", + "son": "289.004", + "mam": "289.619", + "jja": "289.634", + "djf": "289.115" }, "rms_devzm": { - "ann": "1.028" + "ann": "1.029" }, "rms_xy": { - "ann": "2.056", - "son": "1.997", + "ann": "2.055", + "son": "1.996", "mam": "2.294", "jja": "1.757", - "djf": "2.805" + "djf": "2.804" }, "rms_xyt": { "ann": "2.315" }, "rms_y": { - "ann": "2.452" + "ann": "2.447" }, "rmsc_xy": { - "ann": "1.984", + "ann": "1.983", "son": "1.861", "mam": "2.262", "jja": "1.711", @@ -344,30 +344,30 @@ }, "some_custom": 1.5, "std-obs_xy": { - "ann": "11.461", + "ann": "11.462", "son": "11.524", - "mam": "11.983", - "jja": "11.501", - "djf": "12.251" + "mam": "11.984", + "jja": "11.498", + "djf": "12.262" }, "std-obs_xy_devzm": { - "ann": "2.136" + "ann": "2.138" }, "std-obs_xyt": { - "ann": "11.904" + "ann": "11.907" }, "std_xy": { - "ann": "10.655", - "son": "10.802", - "mam": "11.102", - "jja": "10.162", - "djf": "12.288" + "ann": "10.652", + "son": "10.800", + "mam": "11.099", + "jja": "10.161", + "djf": "12.283" }, "std_xy_devzm": { "ann": "1.869" }, "std_xyt": { - "ann": "11.230" + "ann": "11.227" } }, "NHEX": { @@ -482,11 +482,11 @@ "djf": "1.545" }, "mean-obs_xy": { - "ann": "296.324", - "son": "297.252", - "mam": "295.474", - "jja": "297.728", - "djf": "294.816" + "ann": "296.301", + "son": "297.232", + "mam": "295.447", + "jja": "297.717", + "djf": "294.781" }, "mean_xy": { "ann": "295.153", @@ -496,7 +496,7 @@ "djf": "293.422" }, "rms_devzm": { - "ann": "1.119" + "ann": "1.120" }, "rms_xy": { "ann": "1.634", @@ -509,7 +509,7 @@ "ann": "1.862" }, "rms_y": { - "ann": "1.256" + "ann": "1.249" }, "rmsc_xy": { "ann": "1.160", @@ -520,17 +520,17 @@ }, "some_custom": 1.5, "std-obs_xy": { - "ann": "4.307", - "son": "3.604", - "mam": "5.275", - "jja": "3.559", - "djf": "5.399" + "ann": "4.346", + "son": "3.638", + "mam": "5.317", + "jja": "3.568", + "djf": "5.473" }, "std-obs_xy_devzm": { - "ann": "1.743" + "ann": "1.747" }, "std-obs_xyt": { - "ann": "4.778" + "ann": "4.822" }, "std_xy": { "ann": "4.324", @@ -809,47 +809,58 @@ "provenance": { "platform": { "OS": "Linux", - "Version": "2.6.32-696.el6.x86_64", - "Name": "crunchy.llnl.gov" + "Version": "4.13.0-19-generic", + "Name": "drdoom" }, "userId": "doutriaux1", "osAccess": false, - "commandLine": "/export/doutriaux1/miniconda2/envs/pmp/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/region_specs_test.py", - "date": "2017-06-09 14:17:44", + "commandLine": "/home/doutriaux1/anaconda2/envs/nightly2/bin/pcmdi_metrics_driver.py -p /git/pcmdi_metrics/tests/pcmdi/region_specs_test.py", + "date": "2017-12-21 15:30:29", "conda": { "Platform": "linux-64", - "Version": "4.3.11", + "Version": "4.3.30", "IsPrivate": "False", - "envVersion": "4.3.11", - "buildVersion": "2.1.10", - "PythonVersion": "2.7.13.final.0", - "RootEnvironment": "/export/doutriaux1/miniconda2 (writable)", - "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/pmp" + "envVersion": "4.3.30", + "buildVersion": "3.0.28", + "PythonVersion": "2.7.14.final.0", + "RootEnvironment": "/home/doutriaux1/anaconda2 (writable)", + "DefaultEnvironment": "/home/doutriaux1/anaconda2/envs/nightly2" }, "packages": { - "cdms": "2.10", - "CDP": "1.0.3", - "cdtime": "2.10", - "cdutil": "2.10", + "cdms": "2.12.2017.11.30.06.06.14b9b9380c14680498a0ba8e9aefb4c84d2756be", + "CDP": "1.1.0", + "cdtime": "2017.11.15", + "cdutil": "2.12.2017.11.16.21.46.e717f782e07d0a187f2b616a408103af20ceb57f", "clapack": "3.2.1", "lapack": "3.6.1", "esmf": "7.0.0", "esmpy": "7.0.0", - "genutil": "2.10", - "mesalib": "17.0.3", - "numpy": "1.12.1", - "python": "2.7.13", - "vcs": "2.10", - "vtk": "7.1.0.2.10", + "genutil": "2017.11.15", + "python": "2.7.14", + "matplotlib": "2.1.1", + "mesalib": "17.2.0", + "numpy": "1.13.3", + "vcs": "2.12.2017.12.14.17.01.99491e457b26e4e5fbb875e5ba75e7265f5e5b1b", + "vtk": "7.1.0.2.12", "blas": null, - "matplotlib": null, - "PMP": "ga507630", + "PMP": "ga6c40fd", "PMPObs": null }, "openGL": { + "vendor": "X.Org", + "renderer": "AMD TURKS (DRM 2.50.0 / 4.13.0-19-generic, LLVM 5.0.0)", + "version": "3.0 Mesa 17.2.2", + "shading language version": "1.30", "GLX": { - "client": {}, - "server": {} + "client": { + "vendor": "Mesa Project and SGI", + "version": "1.4" + }, + "version": "1.4", + "server": { + "vendor": "SGI", + "version": "1.4" + } } } } diff --git a/tests/pcmdi/gensftlfTest/tas_2.5x2.5_esmf_linear_metrics.json b/tests/pcmdi/gensftlfTest/tas_2.5x2.5_esmf_linear_metrics.json index 027b02c34..13cdc419e 100644 --- a/tests/pcmdi/gensftlfTest/tas_2.5x2.5_esmf_linear_metrics.json +++ b/tests/pcmdi/gensftlfTest/tas_2.5x2.5_esmf_linear_metrics.json @@ -20,11 +20,11 @@ "r1i1p1": { "land": { "bias_xy": { - "ann": "-0.847", - "son": "-0.868", - "mam": "-0.953", - "jja": "-0.988", - "djf": "-0.534" + "ann": "-0.848", + "son": "-0.870", + "mam": "-0.956", + "jja": "-0.989", + "djf": "-0.535" }, "cor_xy": { "ann": "0.994", @@ -34,74 +34,74 @@ "djf": "0.99" }, "mae_xy": { - "ann": "1.852", + "ann": "1.851", "son": "2.102", - "mam": "2.308", + "mam": "2.306", "jja": "2.097", - "djf": "2.034" + "djf": "2.032" }, "mean-obs_xy": { - "ann": "282.595", - "son": "283.031", - "mam": "282.354", - "jja": "287.896", - "djf": "277.043" + "ann": "282.616", + "son": "283.050", + "mam": "282.382", + "jja": "287.904", + "djf": "277.073" }, "mean_xy": { - "ann": "281.246", - "son": "281.595", - "mam": "281.014", + "ann": "281.247", + "son": "281.597", + "mam": "281.016", "jja": "286.560", - "djf": "275.801" + "djf": "275.805" }, "rms_devzm": { - "ann": "1.966" + "ann": "1.959" }, "rms_xy": { - "ann": "2.342", + "ann": "2.341", "son": "2.668", - "mam": "2.960", - "jja": "2.641", - "djf": "2.589" + "mam": "2.958", + "jja": "2.642", + "djf": "2.588" }, "rms_xyt": { - "ann": "2.872" + "ann": "2.871" }, "rms_y": { - "ann": "1.913" + "ann": "1.917" }, "rmsc_xy": { - "ann": "2.184", + "ann": "2.182", "son": "2.523", - "mam": "2.802", + "mam": "2.799", "jja": "2.449", - "djf": "2.534" + "djf": "2.532" }, "std-obs_xy": { - "ann": "18.295", - "son": "18.480", - "mam": "19.808", - "jja": "19.454", - "djf": "20.051" + "ann": "18.299", + "son": "18.484", + "mam": "19.811", + "jja": "19.466", + "djf": "20.047" }, "std-obs_xy_devzm": { - "ann": "4.890" + "ann": "4.880" }, "std-obs_xyt": { - "ann": "20.145" + "ann": "20.147" }, "std_xy": { - "ann": "18.477", - "son": "19.311", - "mam": "19.526", - "jja": "20.090", - "djf": "19.573" + "ann": "18.480", + "son": "19.314", + "mam": "19.529", + "jja": "20.093", + "djf": "19.575" }, "std_xy_devzm": { "ann": "5.079" }, "std_xyt": { - "ann": "20.294" + "ann": "20.297" } }, "TROPICS": { @@ -278,88 +278,88 @@ }, "ocean": { "bias_xy": { - "ann": "-0.417", - "son": "-0.640", - "mam": "-0.263", - "jja": "-0.360", - "djf": "-0.401" + "ann": "-0.440", + "son": "-0.656", + "mam": "-0.286", + "jja": "-0.363", + "djf": "-0.451" }, "cor_xy": { - "ann": "0.985", + "ann": "0.984", "son": "0.99", "mam": "0.98", "jja": "0.99", "djf": "0.97" }, "mae_xy": { - "ann": "1.506", - "son": "1.516", - "mam": "1.585", - "jja": "1.330", - "djf": "1.803" + "ann": "1.532", + "son": "1.536", + "mam": "1.610", + "jja": "1.341", + "djf": "1.849" }, "mean-obs_xy": { - "ann": "290.134", - "son": "289.811", - "mam": "290.402", - "jja": "289.943", - "djf": "290.387" + "ann": "289.979", + "son": "289.674", + "mam": "290.225", + "jja": "289.844", + "djf": "290.179" }, "mean_xy": { - "ann": "289.236", - "son": "288.843", - "mam": "289.543", - "jja": "289.421", - "djf": "289.146" + "ann": "289.235", + "son": "288.839", + "mam": "289.545", + "jja": "289.412", + "djf": "289.152" }, "rms_devzm": { - "ann": "0.870" + "ann": "0.889" }, "rms_xy": { - "ann": "1.901", - "son": "1.874", - "mam": "2.114", - "jja": "1.698", - "djf": "2.480" + "ann": "1.946", + "son": "1.912", + "mam": "2.159", + "jja": "1.719", + "djf": "2.574" }, "rms_xyt": { - "ann": "2.119" + "ann": "2.175" }, "rms_y": { - "ann": "3.543" + "ann": "3.240" }, "rmsc_xy": { - "ann": "1.855", - "son": "1.761", - "mam": "2.098", - "jja": "1.659", - "djf": "2.447" + "ann": "1.895", + "son": "1.796", + "mam": "2.140", + "jja": "1.680", + "djf": "2.534" }, "std-obs_xy": { - "ann": "10.310", - "son": "10.594", - "mam": "10.501", - "jja": "10.593", - "djf": "10.473" + "ann": "10.579", + "son": "10.826", + "mam": "10.826", + "jja": "10.771", + "djf": "10.891" }, "std-obs_xy_devzm": { - "ann": "1.767" + "ann": "1.819" }, "std-obs_xyt": { - "ann": "10.601" + "ann": "10.893" }, "std_xy": { - "ann": "10.681", - "son": "10.871", - "mam": "11.116", - "jja": "10.341", - "djf": "12.116" + "ann": "10.675", + "son": "10.865", + "mam": "11.109", + "jja": "10.334", + "djf": "12.107" }, "std_xy_devzm": { - "ann": "1.812" + "ann": "1.810" }, "std_xyt": { - "ann": "11.241" + "ann": "11.233" } }, "NHEX": { @@ -682,47 +682,58 @@ "provenance": { "platform": { "OS": "Linux", - "Version": "2.6.32-696.el6.x86_64", - "Name": "crunchy.llnl.gov" + "Version": "4.13.0-19-generic", + "Name": "drdoom" }, "userId": "doutriaux1", "osAccess": false, - "commandLine": "/export/doutriaux1/miniconda2/envs/pmp/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/gensftlf_test.py", - "date": "2017-06-09 14:15:36", + "commandLine": "/home/doutriaux1/anaconda2/envs/nightly2/bin/pcmdi_metrics_driver.py -p /git/pcmdi_metrics/tests/pcmdi/gensftlf_test.py", + "date": "2017-12-21 15:30:11", "conda": { "Platform": "linux-64", - "Version": "4.3.11", + "Version": "4.3.30", "IsPrivate": "False", - "envVersion": "4.3.11", - "buildVersion": "2.1.10", - "PythonVersion": "2.7.13.final.0", - "RootEnvironment": "/export/doutriaux1/miniconda2 (writable)", - "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/pmp" + "envVersion": "4.3.30", + "buildVersion": "3.0.28", + "PythonVersion": "2.7.14.final.0", + "RootEnvironment": "/home/doutriaux1/anaconda2 (writable)", + "DefaultEnvironment": "/home/doutriaux1/anaconda2/envs/nightly2" }, "packages": { - "cdms": "2.10", - "CDP": "1.0.3", - "cdtime": "2.10", - "cdutil": "2.10", + "cdms": "2.12.2017.11.30.06.06.14b9b9380c14680498a0ba8e9aefb4c84d2756be", + "CDP": "1.1.0", + "cdtime": "2017.11.15", + "cdutil": "2.12.2017.11.16.21.46.e717f782e07d0a187f2b616a408103af20ceb57f", "clapack": "3.2.1", "lapack": "3.6.1", "esmf": "7.0.0", "esmpy": "7.0.0", - "genutil": "2.10", - "mesalib": "17.0.3", - "numpy": "1.12.1", - "python": "2.7.13", - "vcs": "2.10", - "vtk": "7.1.0.2.10", + "genutil": "2017.11.15", + "python": "2.7.14", + "matplotlib": "2.1.1", + "mesalib": "17.2.0", + "numpy": "1.13.3", + "vcs": "2.12.2017.12.14.17.01.99491e457b26e4e5fbb875e5ba75e7265f5e5b1b", + "vtk": "7.1.0.2.12", "blas": null, - "matplotlib": null, - "PMP": "ga507630", + "PMP": "ga6c40fd", "PMPObs": null }, "openGL": { + "vendor": "X.Org", + "renderer": "AMD TURKS (DRM 2.50.0 / 4.13.0-19-generic, LLVM 5.0.0)", + "version": "3.0 Mesa 17.2.2", + "shading language version": "1.30", "GLX": { - "client": {}, - "server": {} + "client": { + "vendor": "Mesa Project and SGI", + "version": "1.4" + }, + "version": "1.4", + "server": { + "vendor": "SGI", + "version": "1.4" + } } } } diff --git a/tests/pcmdi/installationTest/tas_2.5x2.5_regrid2_linear_metrics.json b/tests/pcmdi/installationTest/tas_2.5x2.5_regrid2_linear_metrics.json index b1ad850b1..f219fac11 100644 --- a/tests/pcmdi/installationTest/tas_2.5x2.5_regrid2_linear_metrics.json +++ b/tests/pcmdi/installationTest/tas_2.5x2.5_regrid2_linear_metrics.json @@ -704,47 +704,58 @@ "provenance": { "platform": { "OS": "Linux", - "Version": "2.6.32-696.el6.x86_64", + "Version": "2.6.32-696.3.1.el6.x86_64", "Name": "crunchy.llnl.gov" }, "userId": "doutriaux1", "osAccess": false, - "commandLine": "/export/doutriaux1/miniconda2/envs/pmp/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/basic_test_parameters_file.py", - "date": "2017-06-09 14:17:26", + "commandLine": "/export/doutriaux1/miniconda2/envs/dev-nox/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/basic_test_parameters_file.py", + "date": "2017-10-12 13:39:21", "conda": { "Platform": "linux-64", - "Version": "4.3.11", + "Version": "4.3.25", "IsPrivate": "False", - "envVersion": "4.3.11", - "buildVersion": "2.1.10", + "envVersion": "4.3.25", + "buildVersion": "3.0.15", "PythonVersion": "2.7.13.final.0", "RootEnvironment": "/export/doutriaux1/miniconda2 (writable)", - "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/pmp" + "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/dev-nox" }, "packages": { - "cdms": "2.10", - "CDP": "1.0.3", - "cdtime": "2.10", - "cdutil": "2.10", + "cdms": "2.12", + "CDP": "2017.09.07", + "cdtime": "2.12", + "cdutil": "2.12", "clapack": "3.2.1", "lapack": "3.6.1", "esmf": "7.0.0", "esmpy": "7.0.0", - "genutil": "2.10", - "mesalib": "17.0.3", - "numpy": "1.12.1", + "genutil": "2.12", "python": "2.7.13", - "vcs": "2.10", - "vtk": "7.1.0.2.10", + "matplotlib": "1.5.3", + "mesalib": "17.2.0", + "numpy": "1.13.1", + "vcs": "2.12.2017.09.13.00.29.5669624a25139ad2e19e4af8b921d0571338375d", + "vtk": "7.1.0.2.12", "blas": null, - "matplotlib": null, - "PMP": "ga507630", + "PMP": "g8bcb816", "PMPObs": null }, "openGL": { + "vendor": "VMware, Inc.", + "renderer": "Gallium 0.4 on llvmpipe (LLVM 3.6, 128 bits)", + "version": "2.1 Mesa 11.0.7", + "shading language version": "1.30", "GLX": { - "client": {}, - "server": {} + "client": { + "vendor": "Mesa Project and SGI", + "version": "1.4" + }, + "version": "1.4", + "server": { + "vendor": "SGI", + "version": "1.4" + } } } } diff --git a/tests/pcmdi/obsByNameTest/tas_2.5x2.5_regrid2_linear_metrics.json b/tests/pcmdi/obsByNameTest/tas_2.5x2.5_regrid2_linear_metrics.json index cbd3dbf55..504a717c7 100644 --- a/tests/pcmdi/obsByNameTest/tas_2.5x2.5_regrid2_linear_metrics.json +++ b/tests/pcmdi/obsByNameTest/tas_2.5x2.5_regrid2_linear_metrics.json @@ -600,47 +600,58 @@ "provenance": { "platform": { "OS": "Linux", - "Version": "2.6.32-696.el6.x86_64", + "Version": "2.6.32-696.3.1.el6.x86_64", "Name": "crunchy.llnl.gov" }, "userId": "doutriaux1", "osAccess": false, - "commandLine": "/export/doutriaux1/miniconda2/envs/pmp/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/obs_by_name_test.py", - "date": "2017-06-09 14:14:57", + "commandLine": "/export/doutriaux1/miniconda2/envs/dev-nox/bin/pcmdi_metrics_driver.py -p /export/doutriaux1/git/pcmdi_metrics/tests/pcmdi/obs_by_name_test.py", + "date": "2017-10-12 13:38:43", "conda": { "Platform": "linux-64", - "Version": "4.3.11", + "Version": "4.3.25", "IsPrivate": "False", - "envVersion": "4.3.11", - "buildVersion": "2.1.10", + "envVersion": "4.3.25", + "buildVersion": "3.0.15", "PythonVersion": "2.7.13.final.0", "RootEnvironment": "/export/doutriaux1/miniconda2 (writable)", - "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/pmp" + "DefaultEnvironment": "/export/doutriaux1/miniconda2/envs/dev-nox" }, "packages": { - "cdms": "2.10", - "CDP": "1.0.3", - "cdtime": "2.10", - "cdutil": "2.10", + "cdms": "2.12", + "CDP": "2017.09.07", + "cdtime": "2.12", + "cdutil": "2.12", "clapack": "3.2.1", "lapack": "3.6.1", "esmf": "7.0.0", "esmpy": "7.0.0", - "genutil": "2.10", - "mesalib": "17.0.3", - "numpy": "1.12.1", + "genutil": "2.12", "python": "2.7.13", - "vcs": "2.10", - "vtk": "7.1.0.2.10", + "matplotlib": "1.5.3", + "mesalib": "17.2.0", + "numpy": "1.13.1", + "vcs": "2.12.2017.09.13.00.29.5669624a25139ad2e19e4af8b921d0571338375d", + "vtk": "7.1.0.2.12", "blas": null, - "matplotlib": null, - "PMP": "ga507630", + "PMP": "g8bcb816", "PMPObs": null }, "openGL": { + "vendor": "VMware, Inc.", + "renderer": "Gallium 0.4 on llvmpipe (LLVM 3.6, 128 bits)", + "version": "2.1 Mesa 11.0.7", + "shading language version": "1.30", "GLX": { - "client": {}, - "server": {} + "client": { + "vendor": "Mesa Project and SGI", + "version": "1.4" + }, + "version": "1.4", + "server": { + "vendor": "SGI", + "version": "1.4" + } } } } diff --git a/tests/test_pmp_portraits.py b/tests/test_pmp_portraits.py index 537a3950c..2f661a695 100644 --- a/tests/test_pmp_portraits.py +++ b/tests/test_pmp_portraits.py @@ -51,7 +51,7 @@ def test_portrait(self): P.PLOT_SETTINGS.ytic2.x2 = P.PLOT_SETTINGS.x2 # P.PLOT_SETTINGS.missing_color = 3 - P.PLOT_SETTINGS.logo = os.path.join(sys.prefix,"share","pmp","graphics","png","160915_PCMDI_logo_348x300px.png") + P.PLOT_SETTINGS.logo = os.path.join(sys.prefix,"share","pmp","graphics","png","PCMDILogo-old_348x300px_72dpi.png") P.PLOT_SETTINGS.logo.y = .95 P.PLOT_SETTINGS.logo.x = .93 P.PLOT_SETTINGS.logo.width = 85