#!/usr/bin/env python # script pour lire et reecrire des variables avec des 'lev' de 0 a 1 # pour commencer on importe le module de lecture et manipulation # de variables avec axes # commandes pour lancer le script : # source ~p25jype/CDAT/Install/cdat_multi/cdat_multi.login ~p25jype/CDAT/Install/cdat_multi # python correction_axe.py import cdms2 as c # pour eviter d avoir du netcdf4 a la fin... c.setNetcdfShuffleFlag(0) ## where value is either 0 or 1 c.setNetcdfDeflateFlag(0) ## where value is either 0 or 1 c.setNetcdfDeflateLevelFlag(0) ## where value is a integer between 0 and 9 included # ouverture du fichier d entree f = c.open('/ccc/scratch/cont003/dsm/p86cozic/CLIMATO/cmor_lev.nc') # ouverture du fichier de sortie g = c.open('/ccc/scratch/cont003/dsm/p86cozic/CLIMATO/FILES/lev_file.nc','w') # on recupere la liste des variables liste_variables = f.listvariables() # boucle sur la liste des variables for var in liste_variables: print "on s occupe de ",var # lecture de la variable v = f(var) # si variable a plusieurs dimensions #et si lev est l'une de ces dimensions if len(v.shape) != 0 and 'lev' in v.getAxisIds(): g.write(v(lev=(0,1,'cc'))) else: g.write(v,id=var) # fermeture des fichiers f.close() g.close()