source: TOOLS/CREATE_INTERP_AEROSOLS/interp_aerosols.sh @ 2046

Last change on this file since 2046 was 1560, checked in by acosce, 11 years ago

Add scripts for creation and interpolation of aerosols files.

File size: 5.4 KB
Line 
1#!/usr/bin/ksh
2#PBS -q scalaire
3#PBS -N interp
4#PBS -j o   
5#PBS -l memsz_job=2.0gb
6#PBS -l cputim_job=24:00:00
7
8##set -vx
9
10
11####################################################
12## Script permettant de regriller les fichiers
13## de concentrations d'aerosols utilises par LMDZ
14##
15## il faut modifier :
16## - la liste des annees a regriller
17## - le path de la grille d'arrivee (fileresol)
18## - le path des fichiers a regriller (cp /dmnfs/cont003/p86ipsl/IGCM/BC/ATM/IPSLCM5/LMD9695/AR5/.../aerosols_11YearsClim_${period}_v5.nc .... )
19## - les variables d_store et d_diag
20## - le path sur dods
21####################################################
22
23
24cas=20C3M
25
26if [ $cas = 20C3M ] ; then
27
28
29   liste_period=" 2096 2097 2098 2099 2100   "
30
31else
32   liste_period="2000 2010"
33fi
34
35
36# 144x142 - 192x192 - 280x280
37resoln=144x142
38fileresol=/dmnfs/cont003/p86denv/IPCC_AR5/OUTGRID/LMDZ${resoln}x19/histmth.nc
39
40if [ ! -f $fileresol ] ; then
41   echo Il vous faut un fichier $fileresol
42   exit
43fi
44
45D_work=$SCRATCHDIR/tmp_interp$$
46rm -rf $D_work ; mkdir -p $D_work
47cp $fileresol $D_work/
48
49for period in ${liste_period} ; do
50
51    cp /dmnfs/cont003/p86ipsl/IGCM/BC/ATM/IPSLCM5/LMD9695/AR5/RCP45/aerosols_11YearsClim_${period}_v5.nc $D_work/climato_${period}.nc
52    cd $D_work
53    chmod 755 $D_work/climato_${period}.nc
54
55    ##########################################################################
56    # Pour que vos ferret s'y retrouve
57    ##########################################################################
58
59    ncatted -O -a units,lon,c,c,"degrees_east" climato_${period}.nc
60    ncatted -O -a long_name,lon,c,c,"Longitude" climato_${period}.nc
61    ncatted -O -a units,lat,c,c,"degrees_north" climato_${period}.nc
62    ncatted -O -a long_name,lat,c,c,"Latitude" climato_${period}.nc
63
64    ##########################################################################
65    # Liste des variables dans chaque fichier
66    ##########################################################################
67    #rm -f $var.liste
68    #for type in float double ; do
69    #ncdump -h climato_${period}.nc | grep $type | awk ' { print $2 } ' | awk -F\( ' { print $1 } '>> $var.liste
70    #done
71    #cat $var.liste
72
73    liste_all="AIPOMM ASBCM AIBCM ASPOMM CSSSM ASSSM CIDUSTM SO4 SSSSM CSSO4M load_AIBCM load_AIPOMM load_ASBCM load_ASPOMM load_SO4 load_ASSSM load_CIDUSTM load_CSSO4M load_CSSSM load_SSSSM O3 pmid temp ps zrho"
74
75    liste_aer="AIPOMM ASBCM AIBCM ASPOMM CSSSM ASSSM CIDUSTM SO4 SSSSM CSSO4M"
76
77    file=climato_${period}.nc
78
79    cat << eod >> tmp.jnl
80SET MEMORY/SIZE=100
81use $file
82use histmth.nc
83define grid/like=SO4[d=1]/x=precip[d=2]/y=precip[d=2] grille_T
84eod
85
86    ##########################################################################
87    # Boucle sur la liste des variables = debut des noms de fichiers
88    for var in ${liste_all} ; do
89
90        echo $var
91
92        ##########################################################################
93        # Interpollations horizontale des variables $var load_$var et ps
94        ##########################################################################
95        filen=climato_$period.$resoln.nc
96
97        #rm -f $filen
98        cat << eod >> tmp.jnl
99save/file=$filen/a $var[d=1,g=grille_T]
100eod
101
102    done
103
104    ferret -nojnl <<eod
105go tmp.jnl
106quit
107eod
108
109    mv tmp.jnl tmp$period.jnl
110
111    #Correction eventuelle de certain noms de variables
112    ncrename -O --hst -d LON1,lon -v LON1,lon $filen
113    ncrename -O --hst -d LON,lon -v LON,lon $filen
114    ncrename -O --hst -d LAT,lat -v LAT,lat $filen
115    ncrename -O --hst -d LAT1,lat -v LAT1,lat $filen
116    ncrename -O --hst -d LEV,lev -v LEV,lev $filen
117    ncrename -O --hst -v PS,ps $filen
118    for var in ${liste_aer} ; do
119        ncrename -O --hst -v LOAD_$var,load_$var $filen
120    done
121    # Ajout des autres variables necessaires
122    ncks -A --hst -v ap,b,p0 $file $filen
123
124    #ncdump $filen | more
125    #pwd ; ls -lrt ; exit
126
127    ##########################################################################
128    # Comparaisons graphiques des fichiers originaux et interpolles
129    ##########################################################################
130
131    for var in ${liste_aer} ; do
132
133        cat << eod >>  tmpload.jnl
134can d/a
135can w/a
136set w/n
137use $file
138use $filen
139set v ul
140shade load_$var[d=1,l=3] ; go land
141set v ur
142shade load_$var[d=2,l=3] ; go land
143set v ll
144plot load_$var[d=1,l=3,i=@ave]
145plot/o load_$var[d=2,l=3,i=@ave]
146set v lr
147plot/title=VERIF2 load_$var[d=1,l=12,i=@ave]
148plot/o load_$var[d=2,l=12,i=@ave]
149frame/file=load$var.$period.gif
150eod
151
152        cat << eod >> tmp3D.jnl
153can d/a
154set w/n
155use $file
156use $filen
157set v ul
158shade $var[d=1,l=3,k=19] ; go land
159set v ur
160shade $var[d=2,l=3,k=19] ; go land
161set v ll
162contour/title=VERIF2 log($var[d=1,l=3,k=19]) ; go land
163contour/o log($var[d=2,l=3,k=19]) ; go land
164set v lr
165contour log($var[d=1,l=12,i=@ave])
166contour/o log($var[d=2,l=12,i=@ave])
167frame/file=3D$var.$period.gif
168eod
169
170        for type in 3D load ; do
171            echo SORTIES 3D
172            ferret -gif -nojnl <<eod >| out.$type
173   go tmp$type.jnl
174   quit
175eod
176
177            mv tmp$type.jnl tmp$type.$var.jnl
178        done
179    done
180
181    ##########################################################################
182    # Sauvegarde des fichiers
183    ##########################################################################
184
185    D_store=${DMFDIR}/IPCC_AR5_RCP45_v5/R$resoln/$cas
186    D_diag=${DMFDIR}/IPCC_AR5_RCP45_v5/DIAGS/R$resoln/$cas
187    mkdir -p $D_store
188    mkdir -p $D_diag
189    cp $filen $D_store
190    cp *.gif $D_diag
191
192    #rm -f *gif
193
194done
195
196cd $DMFDIR
197dods_rm public/p86cozic/IPCC_AR5_RCP45_v5
198dods_cp IPCC_AR5_RCP45_v5 public/p86cozic
Note: See TracBrowser for help on using the repository browser.