80 likes | 203 Vues
UV-CDAT is an open-source, easy-to-use application designed to synthesize various software subsystems and packages into an integrated environment for climate analysis and visualization. Developed by the AIMS Team at LLNL, it enhances climate science capabilities by providing tools for data management, visualization, and analysis to meet the computational needs of DOE's climate research. Utilizing key technologies like Climate Data Analysis Tools, ParaView, and VisTrails, UV-CDAT supports a Python-based user interface and allows seamless interactions with diverse climate data formats.
E N D
ESMF within UV-CDAT Charles Doutriaux AIMS Team LLNL June 12th 2014
UV-CDAT open source, easy-to-use application that links together disparate software subsystems and packages to form an integrated environment for analysis and visualization. This project seeks to advance climate science by fulfilling computational and diagnostic/visualization capabilities needed for DOE's climate research
UV-CDAT • UV-CDAT builds on the following key technologies: • The Climate Data Analysis Tools (CDAT) framework developed at LLNL for the analysis, visualization, and management of large-scale distributed climate data; • ParaView: an open-source, multi-platform, parallel-capable visualization tool with recently added capabilities to better support specific needs of the climate-science community; • VisTrails, an open-source scientific workflow and provenance management system that supports data exploration and visualization;
UV-CDAT • In short: • Climate (for now) oriented set of tools with python-based end-user interface. • Developed at PCMDI heart of MIPs projects • I/O, Analysis and Viz. • Variables are based upon Numpywith the addition of metadata which enables for “smart software” -> cdms2
CDMS2 UV-CDAT’s primary I/O system. Can read multiple file format Variables read in and based on top of Numpy’s masked arrays. Preserve metadata as much/long as possible
Regrid UV-CDAT developed tools can take advantage of MVs metadata. Because each modeling group has its own (set of) grid, regrid of data often necessary Historically used area-weighted method. Worked only for regular grids. AR5 lot of “non-regular” grids
ESMF CMIP5 users needed easy way to go back and forth between models’ grids. In came ESMF with python bindings BUT learning curve was a bit steep. With the help of Alex Pletzer and TechX ESMF was integrated into cdms2’ regridder(Summer 2012). And actually became the default regridder.
ESMF and UV-CDAT filename = "so_Omon_inmcm4_1pctCO2_r1i1p1_209001-209412_2timesteps.nc” g = cdms2.open(filename) so = g('so’) gLat = cdms2.createGaussianAxis(64) deltaLon = (360/128.) gLon = cdms2.createUniformLongitudeAxis(0, 128, deltaLon) gaussGrid = cdms2.grid.createGenericGrid(gLat[:], gLon[:], gLat.getBounds(), gLon.getBounds()) soN = so.regrid(gaussGrid, rt = 'esmf', rm = 'conserve', coordSys = 'deg', periodicity = 1, fixSrcBounds=True)