Cameron Goodale created CLIMATE-168:
---------------------------------------

             Summary: Refactored Functions in metrics.py return a different 
number of variables
                 Key: CLIMATE-168
                 URL: https://issues.apache.org/jira/browse/CLIMATE-168
             Project: Apache Open Climate Workbench
          Issue Type: Bug
          Components: metrics, rcmet
    Affects Versions: 0.1-incubating
         Environment: OS X 10.7.4
            Reporter: Cameron Goodale
            Assignee: Huikyo Lee
            Priority: Blocker
             Fix For: 0.1-incubating


While testing the command line version of OCW i encountered the following error 
message:

Traceback (most recent call last):
  File "rcmet.py", line 263, in <module>
    ui.rcmetUI()
  File 
"/Users/cgoodale/Desktop/climate-0.1-incubating-rc3/rcmet/src/main/python/rcmes/cli/rcmet_ui.py",
 line 100, in rcmetUI
    toolkit.metrics.metrics_plots(modelVarName, numOBS, numMDL, nT, ngrdY, 
ngrdX, Times, lons, lats, obsData, mdlData, obsList, mdlName, workDir, 
subRegions, fileOutputOption)
  File 
"/Users/cgoodale/Desktop/climate-0.1-incubating-rc3/rcmet/src/main/python/rcmes/toolkit/metrics.py",
 line 734, in metrics_plots
    mTser, mClim = calcAnnualCycleMeans(mdlData[mdlSelect, :, :, :])
ValueError: too many values to unpack

The core problem is that calcAnnualCycleMeans no longer returns a tuple of 2 
values, instead it returns a single value.  Python doesn't know how to handle 
this situation so the program crashes.


Complete List of all Functions in this file that need attention:

*calcAnnualCycleMeans* - returns 1 value (used to return 2)
734                mTser, mClim = calcAnnualCycleMeans(mdlData[mdlSelect, :, :, 
:])
735                oTser, oClim = calcAnnualCycleMeans(obsData[mdlSelect, :, :, 
:])
These lines should also return a more meaningful/descriptive variable name and 
get updated throughout the rest of the code.  My comments on variable names 
will be posted in the Comments section so we can discuss it.


*calcBiasAveragedOverTime* - returns 1 value (used to return 2)
754                metricDat, sigLev = calcBiasAveragedOverTime(mTser, oTser, 
'abs')


calcPatternCorrelationEachTime - Returns 2 values, but line 920 only expects 1
Line 920:             tempCOR = calcPatternCorrelationEachTime(mdlAnnCyc, 
obsAnnCyc)
This one might be an easy fix by just adding back in the significanceLevel to 
this line.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to