Apache Open Climate Workbench Change Log ============================================ Release Notes - Apache Open Climate Workbench - Version 0.3-incubating ** Sub-task * [CLIMATE-190] - test_local.py * [CLIMATE-227] - OCW rcmed.py code * [CLIMATE-228] - test_rcmed.py * [CLIMATE-235] - Migrate Temporal Binning Functionality to dataset_processor module * [CLIMATE-236] - Add Dataset Ensemble Support to the ocw.dataset_processor module * [CLIMATE-237] - Add Subset Generation function to dataset_processor module * [CLIMATE-263] - Create local netCDF to local netCDF Evaluation Example using OCW Core API * [CLIMATE-264] - Local NetCDF File to RCMED Evaluation (temporal and spatial regridding of data) * [CLIMATE-266] - local.py and associated tests import code one level below the ocw folder * [CLIMATE-268] - local.py returns a Dataset Object with a 4-D Array for the Dataset.values * [CLIMATE-280] - Add OnBlur directive tests * [CLIMATE-281] - Evaluation Class methods need 'self' added to them * [CLIMATE-285] - Create UnaryMetric base class * [CLIMATE-286] - Create BinaryMetric base class * [CLIMATE-287] - Remove Metric Base Class * [CLIMATE-289] - Update Bias to use BinaryMetric * [CLIMATE-290] - Update TemporalStdDev to use UnaryMetric * [CLIMATE-291] - Update Metric handling in Evaluation * [CLIMATE-294] - Move existing normalization code over from RCMES toolkit * [CLIMATE-307] - Update OCW example runs to pull NC files from external source ** Bug * [CLIMATE-19] - Easy-RCMET fails on on copying py modules * [CLIMATE-225] - Add subplot functionality to draw_taylor_diagram * [CLIMATE-233] - Update UI to allow user to select file for subregions * [CLIMATE-240] - PredictiveFileBrowserInput doesn't update ng-model when user selects autocomplete option * [CLIMATE-250] - Variable Name error means 'ENS-MODEL' is not a choice within the rcmet/cli code * [CLIMATE-251] - Fix dataset selector pop up * [CLIMATE-252] - Redirect user to correct result page * [CLIMATE-253] - Easy_OCW tells the user to source an incorrect file * [CLIMATE-254] - Add Subregion Object to OCW * [CLIMATE-260] - decode_model_times chokes if time representation contains .0 after seconds * [CLIMATE-267] - Dataset doesn't validate input parameters on init * [CLIMATE-269] - Evaluation improperly imports other ocw package modules * [CLIMATE-272] - Local Cache in RCMES doesn't work properly * [CLIMATE-273] - test_local uses invalid import for data_source.local * [CLIMATE-275] - Timeline is not working with the new UI routing * [CLIMATE-277] - service '/static/evalResults/' should take a path * [CLIMATE-278] - clean up UI * [CLIMATE-283] - data_source.rcmed module doesn't properly mask data from the database * [CLIMATE-292] - Subregion Evaluation encloses results in an extra list * [CLIMATE-293] - Dataset processor needs to handle normalizing Dataset time values * [CLIMATE-299] - test_rcmed breaks if run outside of the tests directory * [CLIMATE-308] - test_local depends on NetCDF file in examples folder ** Improvement * [CLIMATE-12] - Update map drawing routine to draw dataset's actual bounds * [CLIMATE-31] - New RCMES Command line interface * [CLIMATE-113] - Improve unit test coverage * [CLIMATE-149] - Update unit tests for directives * [CLIMATE-152] - New UI layout * [CLIMATE-214] - Add evaluation.py to OCW * [CLIMATE-238] - Allow users to set strings for colormaps in plotting functions * [CLIMATE-245] - Service to return list of images * [CLIMATE-247] - Make the AngularJS UI easily skinnable * [CLIMATE-255] - Use Bounds object in dataset_processor.subset * [CLIMATE-256] - Use Bounds object in Evaluation * [CLIMATE-257] - Add Property for Evaluation.ref_dataset * [CLIMATE-258] - Improve Evaluation documentation * [CLIMATE-274] - Make the exception that the Dataset class throws more descriptive * [CLIMATE-276] - Refactor the dataset_processor.py code to no depend on toolkit.process * [CLIMATE-279] - rcmed.py returns a Dataset Object with a 4-D Array for the Dataset.values * [CLIMATE-282] - Merge changes from CLIMATE-259 (RefactorPlots branch) into trunk * [CLIMATE-284] - Create separate Base Classes for metric.py * [CLIMATE-288] - Use parameter_id instead of logname to select observation in knmi_to_cru31_full_bias.py * [CLIMATE-295] - Change loggers so they don't use the root logger * [CLIMATE-296] - Log exception raises in dataset module * [CLIMATE-297] - test_local breaks if run outside of the tests directory * [CLIMATE-300] - Setup packaging * [CLIMATE-306] - Remove large OCW example NetCDF files ** New Feature * [CLIMATE-215] - Create new Plotter class for OCW refactoring * [CLIMATE-224] - Update the OCW UI with the AngularUI UI-Router * [CLIMATE-242] - Update run_rcmes_processing to support history * [CLIMATE-243] - Add capability to return a list of evaluation directories * [CLIMATE-244] - Service to return list of images * [CLIMATE-249] - Add results/history page ** Task * [CLIMATE-20] - Easy-RCMET install requests JPL username / password for software dist * [CLIMATE-136] - Remove RCMET references from Easy-RCMET * [CLIMATE-213] - Create the dataset_processor.py module within the ocw folder * [CLIMATE-217] - Add metrics.py for OCW refactoring * [CLIMATE-218] - Update metric handling in Evaluation to coincide with new Metric definition * [CLIMATE-219] - Add name attribute to Dataset * [CLIMATE-239] - Remove Plotter class from plotter.py * [CLIMATE-301] - Fix licenses in obs4MIPs code * [CLIMATE-302] - Move obs4MIPs copyright headers * [CLIMATE-303] - Integrate obs4MIPs into OCW * [CLIMATE-304] - Add obs4MIPs JIRA component * [CLIMATE-305] - Update obs4MIPs setup.py with OCW related information ** Test * [CLIMATE-220] - implement unit tests for plotter.py Release Notes - Apache Open Climate Workbench - Version 0.2-incubating ** Sub-task * [CLIMATE-139] - OCW dataset.py code * [CLIMATE-142] - OCW local.py code * [CLIMATE-185] - test_dataset.py ** Bug * [CLIMATE-140] - creating new "ocw" directory in trunk * [CLIMATE-189] - PreviewMap directive assigns incorrect color to maps * [CLIMATE-191] - getResultDirInfo returns improper options * [CLIMATE-199] - Globe image import breaks on deploy * [CLIMATE-200] - Result.html needs to include angular-ui * [CLIMATE-201] - LeafletMap overlays aren't duplicated when the user scrolls the map * [CLIMATE-202] - Leaflet overlays aren't duplicated when user scrolls PreviewMaps * [CLIMATE-204] - Remove overlay display in the World Map * [CLIMATE-221] - checkLatLon in files.py doesn't work if lons are in the domain (180, 360) * [CLIMATE-226] - radmax parameter in __init__ is broken in utils.taylor.TaylorDiagram * [CLIMATE-229] - Formatting issue for monthly time series plots * [CLIMATE-232] - evaluation does not redirect to correct path ** Improvement * [CLIMATE-182] - Remove gray-ing of buttons in modal headers/footers * [CLIMATE-183] - Remove scrolling capability from timeline * [CLIMATE-184] - Add directive for adding thumbnail maps to dataset * [CLIMATE-187] - Add thumbnail map to dataset display * [CLIMATE-188] - Draw overlap border and user selected region on map * [CLIMATE-193] - Don't display dataset preview map when dataset is global * [CLIMATE-194] - Uncompiled Angular templating code is briefly present when page loads * [CLIMATE-195] - Timeline doesn't redraw when the window is resized * [CLIMATE-196] - "Powered by Leaflet" attribute on main map overlaps jQuery datepicker * [CLIMATE-197] - Add Angular-UI * [CLIMATE-198] - Add tooltips to UI buttons * [CLIMATE-205] - Improve user selected region display * [CLIMATE-206] - Add tooltip to dataset remove button * [CLIMATE-207] - Add background to settings modal * [CLIMATE-208] - Remove overlay color box from Dataset Display * [CLIMATE-209] - Set all PreviewMap overlays to the same color * [CLIMATE-210] - Move dataset re-grid option to Settings modal * [CLIMATE-211] - Clean up dataset display * [CLIMATE-222] - Update PredictiveFileBrowserInput.js to handle more then one case * [CLIMATE-223] - Update result.html to follow index.html style * [CLIMATE-234] - Make plotting functions consisted with new API documentation ** New Feature * [CLIMATE-128] - Adding Taylor Diagram support to plots * [CLIMATE-192] - creating new 'tests' directory under /trunk/ocw * [CLIMATE-216] - Add new plotting functions to repository * [CLIMATE-231] - Add ability for plotter to process generic plotting functions Release Notes - Apache Open Climate Workbench - Version 0.1-incubating ** Sub-task * [CLIMATE-11] - Move region-select parameters to a service * [CLIMATE-35] - Update dataset additions to include new display attribute * [CLIMATE-36] - Add checkbox to dataset display panels for toggling display attribute state * [CLIMATE-37] - Update map drawing routine to make drawing dataset overlays optional * [CLIMATE-40] - Add new re-gridding field when adding a dataset using the selectedDatasetInformation service * [CLIMATE-41] - Add re-gridding logic to the DatasetDisplayCtrl * [CLIMATE-42] - Add sliders for selecting lat/lon degree steps * [CLIMATE-46] - Add temporal re-grid to evaluation settings modal * [CLIMATE-48] - Update runEvaluation to use temporal re-grid option * [CLIMATE-57] - Add service for sharing evaluation settings * [CLIMATE-59] - Add modal for evaluation settings * [CLIMATE-60] - Add and wire-in SettingsCtrl * [CLIMATE-61] - Use new evaluation settings in runEvaluation * [CLIMATE-62] - Add checkbox for selecting re-grid options * [CLIMATE-63] - Add jQuery UI * [CLIMATE-65] - Add temporal regridding options to evaluationSettings service * [CLIMATE-69] - Add AngularUI date directive support * [CLIMATE-70] - Add new start and end datepickers * [CLIMATE-76] - Add parameter checks when user adjusts values in ParameterSelectCtrl * [CLIMATE-78] - WorldMapCtrl should allow for overlay redraw to be triggered via an event * [CLIMATE-80] - Trigger redraw of map overlays when user is finished typing. * [CLIMATE-81] - Don't watch region parameter changes to trigger map redraws * [CLIMATE-83] - Change ParameterSelectCtrl layout * [CLIMATE-84] - Hide UI control buttons instead of disabling them * [CLIMATE-85] - Evaluation button doesn't display properly when running an evaluation * [CLIMATE-94] - Move services in app.js to services.js * [CLIMATE-95] - Split up controllers.js * [CLIMATE-96] - Split up directives.js * [CLIMATE-98] - Remove filters.js * [CLIMATE-99] - Split up services.js * [CLIMATE-102] - Move services over to separate module * [CLIMATE-103] - Move directives over to a separate module * [CLIMATE-104] - Move controllers over to new module * [CLIMATE-109] - Get rid of useless boilerplate files * [CLIMATE-115] - Remove controllersSpec.js * [CLIMATE-116] - Add tests for ParameterSelectCtrl * [CLIMATE-120] - Make run/rcmes endpoint JSONP compatible * [CLIMATE-121] - Add tests for SettingsCtrl * [CLIMATE-122] - Add tests for DatasetDisplayCtrl * [CLIMATE-123] - Add tests for RcmedSelectionCtrl * [CLIMATE-130] - Add tests for ObservationSelectCtrl * [CLIMATE-131] - Add tests for WorldMapCtrl * [CLIMATE-133] - Remove unneeded timeline files * [CLIMATE-134] - Move timeline css file into appropriate lib folder * [CLIMATE-145] - Remove serviceSpec.js * [CLIMATE-146] - Add tests for EvaluationSettings service * [CLIMATE-147] - Add tests for RegionSelectParams service * [CLIMATE-148] - Add tests for SelectedDatasetInformation * [CLIMATE-150] - Remove directivesSpec.js * [CLIMATE-151] - Update BootstrapModal directive tests * [CLIMATE-154] - Remove filtersSpec.js * [CLIMATE-172] - Display evaluation results in a separate view * [CLIMATE-173] - Add service to return list of figures in work directory ** Bug * [CLIMATE-1] - Replace longName with longname to match the new JPL Webservice * [CLIMATE-5] - misc.py tried to import SubRegion when rcmet.py already has * [CLIMATE-14] - directory_helpers.py should prevent users from accessing arbitrary directories * [CLIMATE-18] - Easy-RCMET installs incorrect binary versions * [CLIMATE-21] - RCMES UI is unable to communicate with backend properly when directory access is limited * [CLIMATE-25] - bootstrap-modal keyboard escape doesn't work when an element isn't in focus * [CLIMATE-51] - Add style guide and information for new users * [CLIMATE-52] - Disable Parameter input boxes when the user hasn't selected a valid number of datasets * [CLIMATE-53] - db.extractData function should not change dir * [CLIMATE-58] - bootstrapModalOpen directive doesn't handle attributes correctly * [CLIMATE-64] - User is unable to uncheck regrid box * [CLIMATE-71] - Adding model dataset doesn't handle time values correctly * [CLIMATE-77] - User selected region is redrawn as the user types * [CLIMATE-79] - regionParameter changes cause a race condition when drawing map overlays * [CLIMATE-82] - checkParameters doesn't properly handle value comparisons * [CLIMATE-86] - Website - Update the Wiki link under Documentation * [CLIMATE-87] - Easy-RCMET pulls repo from JPL instead of ASF * [CLIMATE-106] - requests module not installed by easy_rcmet * [CLIMATE-110] - Pull the 'raw_input' functions out of the metrics.calcPdf function * [CLIMATE-111] - Switch tests over to Karma * [CLIMATE-112] - Unit tests no longer work * [CLIMATE-118] - Update ParameterSelectCtrl datasets $watch to prevent call to undefined variable * [CLIMATE-126] - deprecated function is used in process.py * [CLIMATE-135] - zlib not installed to /usr/local * [CLIMATE-138] - calc_bias is undefined in metrics * [CLIMATE-141] - matplotlib is not imported in plots * [CLIMATE-158] - Basemap.cm is imported incorrectly in do_rcmes_processing_sub.py * [CLIMATE-159] - do_rcmes_procressing_sub breaks when graphing * [CLIMATE-167] - NetCDF4 change breaks list_vars service * [CLIMATE-168] - Refactored Functions in metrics.py return a different number of variables * [CLIMATE-169] - critical bugs in metrics.py and plots.py * [CLIMATE-170] - VM image does not work on AMD CPU based PC * [CLIMATE-175] - WorldMapCtrlTest is broken after addition of zooming map * [CLIMATE-177] - Update misc.select_metrics function to prevent user selection of incomplete metrics * [CLIMATE-181] - Timeline options don't work * [CLIMATE-186] - RCMES cannot handle NCEP reanalysis and GCM data ** Documentation * [CLIMATE-157] - Replace PYTHON_PATH with PYTHONPATH in Easy-RCMET docs ** Improvement * [CLIMATE-9] - Move rootScope datasets object over to a service * [CLIMATE-10] - Move map-specific code to WorldMapCtrl * [CLIMATE-13] - Parameter selection in selectObservation.html needs to use proper databinding. * [CLIMATE-15] - Show upload confirmation when user submits local file to UI. * [CLIMATE-16] - Provide feedback when a dataset is submitted by the user * [CLIMATE-17] - Update bootstrap-modal directive to allow for animated open/closing * [CLIMATE-23] - bootstrap-modal and bootstrap-modal-open need refactored * [CLIMATE-24] - Mouse scroll needs to be disabled on the UI map * [CLIMATE-26] - Display the number of datasets currently queued for evaluation when the user is selecting datasets. * [CLIMATE-27] - Filter out invalid variable options in selectObservation * [CLIMATE-28] - Adjust how variable selection drop down boxes are displayed to the user depending on number of options * [CLIMATE-29] - Provide reasonable default options for drop downs to user when pulling datasets from RCMED * [CLIMATE-32] - Factor out host component of URLs for backend calls * [CLIMATE-55] - Updating any modules using PyNgl and PyNio * [CLIMATE-66] - Clean up ParameterSelectCtrl * [CLIMATE-68] - Switch Start and End field over to jQuery UI DatePicker * [CLIMATE-72] - Adjust input parameter boxes display properties * [CLIMATE-73] - Remove Update button from ParameterSelectCtrl * [CLIMATE-74] - Add on-blur directive * [CLIMATE-75] - Parameter select input boxes need to reject invalid input * [CLIMATE-88] - Performance improvements for metrics.py * [CLIMATE-92] - Overhaul to plots.py * [CLIMATE-93] - Split up UI files for a more manageable code base * [CLIMATE-97] - Rename Leaflet Map directive * [CLIMATE-100] - Clean up JavaScript folder and imports * [CLIMATE-101] - Define controllers, directives, and services under separate modules * [CLIMATE-105] - Remove RCMES references in UI code * [CLIMATE-107] - All source files need ASF licence text * [CLIMATE-114] - Update unit tests for controllers * [CLIMATE-117] - updates to regridding * [CLIMATE-119] - Make ParameterSelectCtrl runEvaluation use Angular HTTP instead of jQuery * [CLIMATE-124] - Define RcmedSelectionCtrl.getObservations on scope instead of locally * [CLIMATE-125] - Define RcmedSelectionCtrl.getObservationTimeRange on scope * [CLIMATE-132] - Move JavaScript libs into appropriate folder * [CLIMATE-144] - Update unit tests for services * [CLIMATE-153] - Add filter for converting ISO dates to US dates * [CLIMATE-174] - Map should zoom to the overlap region of selected datasets * [CLIMATE-176] - Fix WorldMapCtrl indentation * [CLIMATE-178] - Fix TimelineCtrl indentation * [CLIMATE-180] - Timeline changes for new UI design * [CLIMATE-203] - Deprecate read_lolaT_from_file() in files.py * [CLIMATE-222] - Update PredictiveFileBrowserInput.js to handle more then one case * [CLIMATE-223] - Update results.html to follow index.html style ** New Feature * [CLIMATE-33] - Add modal for metric selection * [CLIMATE-34] - Add ability to toggle dataset overlays * [CLIMATE-45] - Add ability for user to select temporal re-gridding options * [CLIMATE-67] - Add functionality to ingest locally stored hourly infrared temperature satellite data * [CLIMATE-89] - Implement a timeline widget ** Task * [CLIMATE-3] - Purge Unnecessary JPL Internal Development Files/Folders * [CLIMATE-4] - Push latest code changes from JPL svn to Apache * [CLIMATE-6] - Add the Interactive Mode back into rcmet.py * [CLIMATE-108] - Clean up UI CSS files * [CLIMATE-129] - Create a KEYS files for GPG Code Signatures in trunk * [CLIMATE-155] - Update FontAwesome Regional Climate Model Evaluation System JIRA located here: https://oodt.jpl.nasa.gov/jira/browse/RCMES Release Notes - RCMES Project - Version 1.1.0 - 08/09/2012 ** The project has been renamed from Water Resource Management to Regional Climate Model Evaluation System ** Bug * [RCMES-59] - Drop Down Menu Lists are Broken @ http://rcmes.jpl.nasa.gov/ * [RCMES-58] - set group ownership to 'daemon' for rcmes puny content * [RCMES-46] - wrm_merra_slp - Database is being written to extremely slowly * [RCMES-10] - Fix the MySQL/PHP Timeout for Database Query Web Service * [RCMES-8] - AIRSL3NetCDF extractor should not extract 'data points' for parameter definitions * [RCMES-7] - Granule Segments coming into the Catalog are being counted as new Granules * [RCMES-6] - Update the Query API page to include datasetId * [RCMES-4] - Catalog needs to insert the variable name into shortName instead of longName (parameter TABLE) * [RCMES-3] - Granule Segments coming into the Catalog are being counted as new Datasets * [RCMES-1] - ISO timestamp support in WRM means we need to change the TYPE of all time columns to VARCHAR20 ** Improvement * [RCMES-42] - Rebrand SVN home for RCMES away from WRM * [RCMES-38] - Deploy RCMED under new URL * [RCMES-37] - Get PAR for RCMES * [RCMES-34] - Move mailing lists from wrm-general, wrm-dev, wrm-commits to rcmes-general, rcmes-dev and rcmes-commits * [RCMES-32] - Deploy RCMES main portal * [RCMES-31] - Drop un-used Tables from WRM_PROD database ** New Feature * [RCMES-13] - Create a met extractor for AIRS NetCDF files * [RCMES-12] - Python Query API for controlled access to the WRM infrastructure via Python scripts ** Task * [RCMES-49] - 17 more Databases Needed for the RCMED * [RCMES-48] - Create 10 more Databases * [RCMES-44] - Create A set of Databases for the MERRA dataset * [RCMES-28] - Schema and supporting doc. checked into SVN * [RCMES-26] - File Manager Policy checked into SVN * [RCMES-24] - Each Parameter needs a TIMESTEP Metadata Key with a single value from a restricted list. * [RCMES-20] - Update - Python GRIB Extractor to read all variables in a file * [RCMES-18] - Enable GRIB Extractor to take in Command Line Arguments * [RCMES-17] - Set up basic website that provides information about the contents of the WRM databse * [RCMES-16] - Develop metadata extractor for sample data WRM Regional Climate Model Evaluation Database JIRA located here: http://oodt.jpl.nasa.gov/jira/browse/WRM Release Notes - Water Resource Management Infrastructure - Version 1.0.0 - 09/24/2010 ** Bug * [WRM-9] - AIRSL3NetCDF extractor should not extract 'data points' for parameter definitions * [WRM-13] - Granule Segments coming into the Catalog are being counted as new Granules * [WRM-14] - Granule Segments coming into the Catalog are being counted as new Datasets * [WRM-15] - ISO timestamp support in WRM means we need to change the TYPE of all time columns to VARCHAR20 * [WRM-16] - Catalog needs to insert the variable name into shortName instead of longName (parameter TABLE) ** New Feature * [WRM-8] - Create a met extractor for AIRS NetCDF files * [WRM-10] - Python Query API for controlled access to the WRM infrastructure via Python scripts ** Task * [WRM-1] - File Manager Policy checked into SVN * [WRM-2] - Schema and supporting doc. checked into SVN * [WRM-3] - Develop metadata extractor for sample data * [WRM-4] - Develop a config script for running the ExternMetExtractor * [WRM-5] - Create JIRA Components to represent the different aspects of the WRM project * [WRM-6] - Create a development structure in SVN that reflects all aspects of project effort * [WRM-7] - Create a deployment process that makes it easy to quickly build a working production environment * [WRM-12] - Enable GRIB Extractor to take in Command Line Arguments * [WRM-17] - Set up basic website that provides information about the contents of the WRM databse