ESMF within UV-CDAT

advertisement
ESMF within UV-CDAT
Charles Doutriaux
AIMS Team
LLNL
June 12th 2014
Lawrence Livermore National Laboratory
1
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
Lawrence Livermore National Laboratory
2
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, parallelcapable 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;
Lawrence Livermore National Laboratory
3
UV-CDAT
 In short:
• Climate (for now) oriented set of tools with pythonbased end-user interface.
• Developed at PCMDI heart of MIPs projects
 I/O, Analysis and Viz.
 Variables are based upon Numpy with the
addition of metadata which enables for “smart
software” -> cdms2
Lawrence Livermore National Laboratory
4
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
Lawrence Livermore National Laboratory
5
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
Lawrence Livermore National Laboratory
6
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.
Lawrence Livermore National Laboratory
7
ESMF and UV-CDAT
filename = "so_Omon_inmcm4_1pctCO2_r1i1p1_209001209412_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)
Lawrence Livermore National Laboratory
8
Download