1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| library(ncdf)
# date de début et date de fin
date_debut=as.POSIXct('2009-01-01',tz='UTC')
date_fin=as.POSIXct('2009-12-31',tz='UTC')
# création d'une sequence de date au format aaaammjj
seq_date=format(seq(date_debut,date_fin,by='days'),format='%Y%m%d')
# initialisation de la table de sortie (lon et lat sont les 2 premières colonnes)
file_init=open.ncdf(paste('out2d-fra10_NO_hr_',seq_date[1],'.nc',sep=''))
lat_Chim=as.vector(get.var.ncdf(file_init,"lat"))
N_lat=length(which(!duplicated(lat_Chim)))
lon_Chim=as.vector(get.var.ncdf(file_init,"lon"))
N_lon=length(which(!duplicated(lon_Chim)))
dfr=data.frame(longitude=lon_Chim,latitude=lat_Chim)
# complétion du fichier avec les concentrations horaires
for(day in seq_date){
file=open.ncdf(paste('out2d-fra10_NO_hr_',day,'.nc',sep=''))
par(mfrow=c(4,6))
# title(day)
for(i in 1:24){
NO=get.var.ncdf(file,"NO",start=c(1,1,i),count=c(N_lon,N_lat,1))
dfr[[paste('NO_',day,'_H',i,sep='')]]=as.vector(NO)
# exemple de sortie graphique
# image.plot(NO)
}
}
# écriture du fichier
write.table(dfr,file='assemblenc.csv',row.names=F,col.names=T,sep=';') |
Partager