1 | #!/bin/csh |
---|
2 | |
---|
3 | set mois=$1 |
---|
4 | set an=$2 |
---|
5 | set tmin=$3 |
---|
6 | set tmax=$4 |
---|
7 | set GRILLE_FI=$5 |
---|
8 | set outsuf=_ERAI_$an-$mois.nc |
---|
9 | set climserv=local |
---|
10 | |
---|
11 | ##################################################################### |
---|
12 | # Grille |
---|
13 | ##################################################################### |
---|
14 | if ( ! -f $GRILLE_FI ) then |
---|
15 | echo fichier start.nc must exist |
---|
16 | exit |
---|
17 | endif |
---|
18 | |
---|
19 | set iip1=`ncdump -h $GRILLE_FI | grep rlonu | head -1 | awk ' { print $3 } '` |
---|
20 | set jjm=`ncdump -h $GRILLE_FI | grep rlatv | head -1 | awk ' { print $3 } '` |
---|
21 | set jjp1=`expr $jjm + 1` |
---|
22 | set iim=`expr $iip1 - 1` |
---|
23 | |
---|
24 | echo iim=$iim jjm=$jjm |
---|
25 | |
---|
26 | ################################################################### |
---|
27 | # Choix de la periode temporelle |
---|
28 | ################################################################### |
---|
29 | set t0="l=$tmin" |
---|
30 | set t1tn="l=${tmin}:${tmax}" |
---|
31 | |
---|
32 | ################################################################### |
---|
33 | # Fichiers donnees |
---|
34 | ################################################################### |
---|
35 | if ( 1 == 0 ) then #ncep |
---|
36 | |
---|
37 | set varu=ua |
---|
38 | set varv=va |
---|
39 | set vart=ta |
---|
40 | set varq=hur |
---|
41 | set varp=ps |
---|
42 | |
---|
43 | set fileu="$NCEP_DIR/ua.nc" |
---|
44 | set filev="$NCEP_DIR/va.nc" |
---|
45 | set filet="$NCEP_DIR/ta.nc" |
---|
46 | set fileq="$NCEP_DIR/hur.nc" |
---|
47 | set filep="$NCEP_DIR/ps.nc" |
---|
48 | |
---|
49 | else # ERAI |
---|
50 | |
---|
51 | set suf=ei.GLOBAL_075 |
---|
52 | |
---|
53 | if ( $climserv == poly ) then |
---|
54 | set ANA_DIR='http://dods-ipsl.ipsl.polytechnique.fr/ipsl-bin/nph-dods/ERAI/NETCDF/GLOBAL_075/4xdaily' |
---|
55 | else |
---|
56 | set ANA_DIR='http://dodsp.idris.fr:81/cgi-bin/nph-dods/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily' |
---|
57 | # at ulam: set ANA_DIR='/u/rech/psl/rpsl376/ERAI/NETCDF/GLOBAL_075/4xdaily' |
---|
58 | endif |
---|
59 | |
---|
60 | set vart=ta |
---|
61 | set varu=u |
---|
62 | set varv=v |
---|
63 | set varq=r |
---|
64 | set varp=msl |
---|
65 | set filet="$ANA_DIR/AN_PL/$an/$vart.$an$mois.aph$suf.nc" |
---|
66 | set fileu="$ANA_DIR/AN_PL/$an/$varu.$an$mois.aph$suf.nc" |
---|
67 | set filev="$ANA_DIR/AN_PL/$an/$varv.$an$mois.aph$suf.nc" |
---|
68 | set fileq="$ANA_DIR/AN_PL/$an/$varq.$an$mois.aph$suf.nc" |
---|
69 | set filep="$ANA_DIR/AN_SF/$an/$varp.$an$mois.ash$suf.nc" |
---|
70 | |
---|
71 | endif |
---|
72 | |
---|
73 | ################################################################### |
---|
74 | # script ferret pour interpolation |
---|
75 | ################################################################### |
---|
76 | |
---|
77 | cat <<eod> ! tmp.jnl |
---|
78 | set memory/size=50 |
---|
79 | use "$GRILLE_FI" |
---|
80 | use "$fileu" |
---|
81 | use "$filev" |
---|
82 | use "$filet" |
---|
83 | use "$fileq" |
---|
84 | use "$filep" |
---|
85 | |
---|
86 | let uwnd=$varu |
---|
87 | let vwnd=$varv |
---|
88 | let tempair='T' |
---|
89 | let air=$vart |
---|
90 | let rh=$varq |
---|
91 | let sp=$varp |
---|
92 | let year=$an |
---|
93 | |
---|
94 | define axis/t=1-jan-${an}:31-dec-${an}:6/units=hours thour |
---|
95 | define grid/like=uwnd[d=2]/x=cu[d=1]/y=cu[d=1] grille_u |
---|
96 | define grid/like=vwnd[d=3]/x=cv[d=1]/y=cv[d=1] grille_v |
---|
97 | define grid/like=air[d=4]/x=cv[d=1]/y=cu[d=1] grille_T |
---|
98 | |
---|
99 | !save/clobber/file=T$outsuf air[d=4,g=grille_T,i=1:$iip1,j=1:$jjp1,$t0,gt=thour@asn] |
---|
100 | !repeat/$t1tn save/file="T$outsuf"/append air[d=4,g=grille_T,i=1:$iip1,j=1:$jjp1,gt=thour@asn] |
---|
101 | |
---|
102 | save/clobber/file=u$outsuf uwnd[d=2,g=grille_u,i=1:$iip1,j=1:$jjp1,$t0,gt=thour@asn] |
---|
103 | repeat/$t1tn save/file="u$outsuf"/append uwnd[d=2,g=grille_u,i=1:$iip1,j=1:$jjp1,gt=thour@asn] |
---|
104 | |
---|
105 | save/clobber/file=v$outsuf vwnd[d=3,g=grille_v,i=1:$iip1,j=1:$jjm,$t0,gt=thour@asn] |
---|
106 | repeat/$t1tn save/file="v$outsuf"/append vwnd[d=3,g=grille_v,i=1:$iip1,j=1:$jjm,gt=thour@asn] |
---|
107 | |
---|
108 | !save/clobber/file=hur$outsuf rh[d=5,g=grille_T,i=1:$iip1,j=1:$jjp1,$t0,gt=thour@asn] |
---|
109 | !repeat/$t1tn save/file="hur$outsuf"/append rh[d=5,g=grille_T,i=1:$iip1,j=1:$jjp1,gt=thour@asn] |
---|
110 | |
---|
111 | !save/clobber/file=ps$outsuf sp[d=6,g=grille_T,i=1:$iip1,j=1:$jjp1,$t0,gt=thour@asn] |
---|
112 | !repeat/$t1tn save/file="ps$outsuf"/append sp[d=6,g=grille_T,i=1:$iip1,j=1:$jjp1,gt=thour@asn] |
---|
113 | |
---|
114 | eod |
---|
115 | |
---|
116 | ferret <<eod > & /dev/null |
---|
117 | go tmp.jnl |
---|
118 | quit |
---|
119 | eod |
---|