esmf within uv-cdat
Post on 05-Jan-2016
36 Views
Preview:
DESCRIPTION
TRANSCRIPT
Lawrence Livermore National Laboratory 1
ESMF within UV-CDAT
Charles Doutriaux
AIMS Team
LLNL
June 12th 2014
Lawrence Livermore National Laboratory 2
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 3
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;
Lawrence Livermore National Laboratory 4
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 Numpy with the addition of metadata which enables for “smart software” -> cdms2
Lawrence Livermore National Laboratory 5
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 6
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 7
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 8
ESMF and UV-CDATfilename = "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)
top related