1 | # Script pour tester la presence de fichiers de guidage ERA* sur Jean-Zay |
---|
2 | # 2021/04/15 |
---|
3 | # A. Sima (adriana.sima@lmd.ipsl.fr) |
---|
4 | |
---|
5 | |
---|
6 | ##################################################################### |
---|
7 | # A choisir par l'utilisateur : |
---|
8 | ##################################################################### |
---|
9 | |
---|
10 | # Guidage en vent(u&v) et/ou temperature, humidite |
---|
11 | guide_uv=y |
---|
12 | guide_t=y |
---|
13 | guide_q=y |
---|
14 | |
---|
15 | an=2000 |
---|
16 | mois=01 |
---|
17 | # |
---|
18 | # Choix des "rea"nalyses : ERA5, ERAI, OPERA |
---|
19 | rea=ERA5 |
---|
20 | |
---|
21 | |
---|
22 | ##################################################################### |
---|
23 | # Lien avec les fichiers netcdf contenant les d0 ECMWF |
---|
24 | ##################################################################### |
---|
25 | echo -------- liens de telechargement a actualiser ---- |
---|
26 | if [ "$rea" = "ERA5" ] ; then |
---|
27 | if [ $an -le 2021 ] ; then |
---|
28 | ANA_DIR='/gpfsstore/rech/psl/rpsl376/ergon/ERA5/NETCDF/GLOBAL_025/4xdaily' |
---|
29 | suf="aphe5.GLOBAL_025" |
---|
30 | else |
---|
31 | ANA_DIR='/gpfsstore/rech/psl/rpsl376/ergon/ERA5/NETCDF/GLOBAL_025/hourly' |
---|
32 | suf="ap1e5.GLOBAL_025" |
---|
33 | fi |
---|
34 | elif [ "$rea" = "ERAI" ] ; then |
---|
35 | #ANA_DIR='http://prodn.idris.fr/thredds/dodsC/ipsl_private/rpsl376/ERAI/NETCDF/GLOBAL_1125/4xdaily' |
---|
36 | ANA_DIR='/gpfsstore/rech/psl/rpsl376/ergon/ERAI/NETCDF/GLOBAL_1125/4xdaily' |
---|
37 | #/gpfsstore/rech/psl/rpsl376/ergon/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_PL/2006/u.200601.aphei.GLOBAL_075.nc |
---|
38 | suf="aphei.GLOBAL_1125" |
---|
39 | else #OPERA |
---|
40 | #ANA_DIR='http://prodn.idris.fr/thredds/dodsC/ipsl_private/rpsl376/OPERA/NETCDF/4xdaily' |
---|
41 | ANA_DIR='/gpfsstore/rech/psl/rpsl376/ergon/OPERA/NETCDF/4xdaily' |
---|
42 | suf="aph.GLOBAL_1125" |
---|
43 | fi |
---|
44 | |
---|
45 | varu=u |
---|
46 | varv=v |
---|
47 | vart=ta # peut etre parfois juste "t" |
---|
48 | varq=q |
---|
49 | #varp=msl |
---|
50 | |
---|
51 | if [ "$rea" = "ERAI" ] ; then |
---|
52 | # variables en format "short" doivent etre transformees en "float" via NCO |
---|
53 | # This is done here with ncap2 ; also possible: "ncpdq --overwrite --unpack fin.nc fout.nc" |
---|
54 | fushort="$ANA_DIR/AN_PL/$an/u.$an$mois.$suf.nc" |
---|
55 | fvshort="$ANA_DIR/AN_PL/$an/v.$an$mois.$suf.nc" |
---|
56 | ftshort="$ANA_DIR/AN_PL/$an/ta.$an$mois.$suf.nc" |
---|
57 | fileu="$SCRATCH/u.$an$mois.$suf.nc" |
---|
58 | filev="$SCRATCH/v.$an$mois.$suf.nc" |
---|
59 | filet="$SCRATCH/ta.$an$mois.$suf.nc" |
---|
60 | ncap2 -s 'u=float(u)' $fushort $fileu |
---|
61 | ncap2 -s 'v=float(v)' $fvshort $filev |
---|
62 | ncap2 -s 'ta=float(ta)' $ftshort $filet |
---|
63 | #fileq pas teste ; a faire pour fileq aussi ? |
---|
64 | fileq="$ANA_DIR/AN_PL/$an/r.$an$mois.$suf.nc" |
---|
65 | elif [ "$rea" = "ERA5" -a $an -ge 2022 ] ; then |
---|
66 | fu1h="$ANA_DIR/AN_PL/$an/u.$an$mois.$suf.nc" |
---|
67 | fv1h="$ANA_DIR/AN_PL/$an/v.$an$mois.$suf.nc" |
---|
68 | ft1h="$ANA_DIR/AN_PL/$an/ta.$an$mois.$suf.nc" |
---|
69 | fq1h="$ANA_DIR/AN_PL/$an/r.$an$mois.$suf.nc" |
---|
70 | fileu="$SCRATCH/u.$an$mois.$suf.nc" |
---|
71 | filev="$SCRATCH/v.$an$mois.$suf.nc" |
---|
72 | filet="$SCRATCH/ta.$an$mois.$suf.nc" |
---|
73 | fileq="$SCRATCH/r.$an$mois.$suf.nc" |
---|
74 | cdo selhour,0,6,12,18 $fu1h $fileu |
---|
75 | cdo selhour,0,6,12,18 $fv1h $filev |
---|
76 | cdo selhour,0,6,12,18 $ft1h $filet |
---|
77 | cdo selhour,0,6,12,18 $fq1h $fileq |
---|
78 | else |
---|
79 | fileu="$ANA_DIR/AN_PL/$an/u.$an$mois.$suf.nc" |
---|
80 | filev="$ANA_DIR/AN_PL/$an/v.$an$mois.$suf.nc" |
---|
81 | filet="$ANA_DIR/AN_PL/$an/ta.$an$mois.$suf.nc" |
---|
82 | fileq="$ANA_DIR/AN_PL/$an/r.$an$mois.$suf.nc" |
---|
83 | fi |
---|
84 | |
---|
85 | # verifier disponibilite des fichiers |
---|
86 | if [ "$guide_uv" = "y" ] ; then ls $fileu ; ls $filev ; fi |
---|
87 | if [ "$guide_t" = "y" ] ; then ls $filet ; fi |
---|
88 | if [ "$guide_q" = "y" ] ; then ls $fileq ; fi |
---|