| 1 | #!/bin/bash |
|---|
| 2 | |
|---|
| 3 | . ./lmdz_env.sh |
|---|
| 4 | |
|---|
| 5 | ulimit -s unlimited |
|---|
| 6 | |
|---|
| 7 | year=$1 |
|---|
| 8 | echo "Dans interp_aerosols.sh year= $year" |
|---|
| 9 | |
|---|
| 10 | # Extraction d'un fichier de grille physique a partir de grilles_gcm.nc |
|---|
| 11 | # --------------------------------------------------------------------- |
|---|
| 12 | |
|---|
| 13 | \rm -rf tmp*nc |
|---|
| 14 | if [[ 0 = 0 ]]; then |
|---|
| 15 | imp1=$(ncdump -h grilles_gcm.nc | grep lonv | head -1 | awk ' { print $3 } ') |
|---|
| 16 | echo "$imp1" |
|---|
| 17 | (( imm1 = imp1 - 2 )) |
|---|
| 18 | echo "$imm1" |
|---|
| 19 | ncks -d "lonv,0,$imm1" grilles_gcm.nc -v phis -O grille_phys.nc |
|---|
| 20 | ncrename -v lonv,lon -v latu,lat -d lonv,lon -d latu,lat -O grille_phys.nc |
|---|
| 21 | ncap2 -s "lon=-360.+lon" grille_phys.nc -O tmp.nc |
|---|
| 22 | \mv -f tmp.nc grille_phys.nc |
|---|
| 23 | #exit 1 |
|---|
| 24 | fi |
|---|
| 25 | |
|---|
| 26 | # Recuperation des fichiers d'origine |
|---|
| 27 | # ----------------------------------- |
|---|
| 28 | |
|---|
| 29 | orig=aerosols${year}_from_inca.nc |
|---|
| 30 | ln -s "$LMDZ_INIT/$orig" . |
|---|
| 31 | |
|---|
| 32 | |
|---|
| 33 | # Interpolation horizontale sur la grille cible |
|---|
| 34 | # ---------------------------------------------- |
|---|
| 35 | |
|---|
| 36 | # Un cdo direct ne marche pas. Il faut donner la liste des variables ... |
|---|
| 37 | vars="" |
|---|
| 38 | for var in $(ncdump -h "$orig" | grep float | sed -e 's/^.*.float //' | cut -d'(' -f1 | sed -e 's/;//' -e /lat/d -e /lon/d); do |
|---|
| 39 | vars="$vars,$var" |
|---|
| 40 | done |
|---|
| 41 | |
|---|
| 42 | echo cdo remapcon,grille_phys.nc "-selvar$vars" "$orig" tmp.nc |
|---|
| 43 | cdo remapcon,grille_phys.nc "-selvar$vars" "$orig" tmp.nc |
|---|
| 44 | #ncks -v ps,ap,b,presnivs $orig -A tmp.nc |
|---|
| 45 | nccopy -k classic tmp.nc "aerosols.$year.nc" |
|---|