def _make_analysis_lat_lon_map(config, mesh_name, cores, logger): mesh_filename = 'restart.nc' inDescriptor = MpasMeshDescriptor(mesh_filename, mesh_name) comparisonLatResolution = config.getfloat('files_for_e3sm', 'comparisonLatResolution') comparisonLonResolution = config.getfloat('files_for_e3sm', 'comparisonLonResolution') # modify the resolution of the global lat-lon grid as desired outDescriptor = get_lat_lon_descriptor(dLon=comparisonLatResolution, dLat=comparisonLonResolution) outGridName = outDescriptor.meshName _make_mapping_file(mesh_name, outGridName, inDescriptor, outDescriptor, cores, config, logger)
def make_analysis_lat_lon_map(config, mesh_name): # {{{ mesh_filename = '../mesh.nc' inDescriptor = MpasMeshDescriptor(mesh_filename, mesh_name) comparisonLatResolution = config.getfloat('mapping_analysis', 'comparisonLatResolution') comparisonLonResolution = config.getfloat('mapping_analysis', 'comparisonLonResolution') # modify the resolution of the global lat-lon grid as desired outDescriptor = get_lat_lon_descriptor(dLon=comparisonLatResolution, dLat=comparisonLonResolution) outGridName = outDescriptor.meshName mappingFileName = 'map_{}_to_{}_bilinear.nc'.format(mesh_name, outGridName) remapper = Remapper(inDescriptor, outDescriptor, mappingFileName) mpiTasks = config.getint('main', 'nprocs') remapper.build_mapping_file(method='bilinear', mpiTasks=mpiTasks, tempdir='.')
import xarray from pyremap import MpasMeshDescriptor, Remapper, get_lat_lon_descriptor # replace with the MPAS mesh name inGridName = 'oQU240' # replace with the path to the desired mesh or restart file # As an example, use: # https://web.lcrc.anl.gov/public/e3sm/inputdata/ocn/mpas-o/oQU240/ocean.QU.240km.151209.nc inGridFileName = 'ocean.QU.240km.151209.nc' inDescriptor = MpasMeshDescriptor(inGridFileName, inGridName) # modify the resolution of the global lat-lon grid as desired outDescriptor = get_lat_lon_descriptor(dLon=0.5, dLat=0.5) outGridName = outDescriptor.meshName mappingFileName = 'map_{}_to_{}_bilinear.nc'.format(inGridName, outGridName) remapper = Remapper(inDescriptor, outDescriptor, mappingFileName) remapper.build_mapping_file(method='bilinear', mpiTasks=1) outFileName = 'temp_{}.nc'.format(outGridName) ds = xarray.open_dataset(inGridFileName) dsOut = xarray.Dataset() dsOut['temperature'] = ds['temperature'] dsOut = remapper.remap(dsOut) dsOut.to_netcdf(outFileName)