cdms2.axis.latitude_aliases.append('y') f = cdms2.open(data_sample('ETOPO2v2g_flt.grd')) # - large var_large = f('z', lon=(-7, -1), lat=(46, 49)) # - petite var_small = f('z', lon=(-4.5, -.5), lat=(44.5, 46.5)) f.close() # - regrillage de la large vers une grille moins fine from vacumm.misc.grid import regridding, resol, create_grid xr, yr = resol(var_large.getGrid()) grid_large = create_grid((-7., -1, xr * 4.5), (46., 49, yr * 4.5)) var_large = regridding.regrid2d(var_large, grid_large) # On ajoute un traît de côte pour le masquage from vacumm.bathy.bathy import GriddedBathy, GriddedBathyMerger bathy_large = GriddedBathy(var_large, shoreline='i') bathy_small = var_small # Création de la grille finale de résolution intermédiaire final_grid = create_grid((-6., .5, xr * 2.5), (45, 47., yr * 2.5)) # On crée maintenant le merger merger = GriddedBathyMerger(final_grid) # - ajout de la bathy basse resolution en premier (en dessous) merger += bathy_large # - puis ajout de celle haute résolution merger += bathy_small # On définit le traît de côte pour le masquage merger.set_shoreline('h')
# -*- coding: utf8 -*- import pylab as P # Récupération d'une bathy sous la forme d'une variable cdat import cdms2 cdms2.axis.latitude_aliases.append('y') cdms2.axis.longitude_aliases.append('x') from vacumm.config import data_sample f = cdms2.open(data_sample('ETOPO2v2g_flt.grd')) var = f('z', lon=(-6.1, -3), lat=(47.8, 48.8)) f.close() # Création de l'objet de bathy grillee from vacumm.bathy.bathy import GriddedBathy bathy = GriddedBathy(var) # On définit le traît de côte pour le masquage bathy.set_shoreline('f') # On récupère une version masquée bathy_orig = bathy.bathy(mask=False) bathy_masked = bathy.bathy(mask=True) # Definition d'une grille zoom from vacumm.misc.grid import create_grid new_grid = create_grid((-5.5, -4.6, 0.009), (48.25, 48.6, .006)) # On interpole la bathy masquée sur une autre grille interp_bathy_masked = bathy.regrid(new_grid)
# -*- coding: utf8 -*- # Récupération d'une bathy sous la forme d'une variable cdat import cdms2 cdms2.axis.latitude_aliases.append('y') cdms2.axis.longitude_aliases.append('x') from vacumm.config import data_sample f = cdms2.open(data_sample('ETOPO2v2g_flt.grd')) var = f('z', lon=(-6.1, -3), lat=(47.8, 48.8)) f.close() # Création de l'objet de bathy grillee from vacumm.bathy.bathy import GriddedBathy bathy = GriddedBathy(var) # On définit le traît de côte pour le masquage bathy.set_shoreline('f') # On récupère une version masquée bathy_orig = bathy.bathy(mask=False) bathy_masked = bathy.bathy(mask=True) # Definition d'une grille zoom from vacumm.misc.grid import create_grid new_grid = create_grid((-5.5, -4.6, 0.009), (48.25, 48.6, .006)) # On interpole la bathy masquée sur une autre grille interp_bathy_masked = bathy.regrid(new_grid) # On interpole et masque la bathy originale sur une autre grille # - interpolation
#!/usr/bin/env python # -*- coding: utf8 -*- """Manipulation de bathymetrie sur grille (:mod:`vacumm.bathy.bathy`)""" from vcmq import cdms2, data_sample, create_grid from vacumm.bathy.bathy import GriddedBathy, NcGriddedBathy, bathy_list, GriddedBathyMerger, plot_bathy # Lecture d'une variable dans un fichier cdms2.axis.latitude_aliases.append('y') cdms2.axis.longitude_aliases.append('x') f = cdms2.open(data_sample('ETOPO2v2g_flt.grd')) var = f('z', lon=(-6.1, -4), lat=(47.8, 48.6)) f.close() # Creation de l'objet de bathy grillee bathy = GriddedBathy(var) # Versions masquees bathy_masked1 = bathy.masked_bathy() # -> nb de points masques ? bathy.set_shoreline('f') # -> essayer 'i' bathy_masked2 = bathy.masked_bathy() # -> nb de points masques ? # Plot bathy.plot(title='Direct') # Bathy standard from vacumm.bathy.bathy import NcGriddedBathy, bathy_list print bathy_list().keys() sbathy = NcGriddedBathy(lon=(-5.2, -3), lat=(48., 48.9), name='etopo2') sbathy.plot(title='Bathy par defaut')