# Script prenant en entree les outputs des simus AER-ssp***, et generant les depots
# sur la periode 2015-2100.
# Une moyenne glissante sur 3 ans est effectuée, avec pondération [0.25 ; 0.5 ; 0.25].
# Un fichier depots par an est genere au final.
# Fusion des simulations AER-ssp*** (jusque 2079) et AER-ssp***-PATCH (2080 --> 2100).
# Th. Lurton IPSL oct. 2018

#!/bin/sh

for ssp in ssp119 ssp126 ssp245 ssp370 ssp434 ssp460 ssp534-over ssp585
do

for year in {2015..2100}
do

# Chemins
newchemin=/ccc/store/cont003/gencmip6/lurtont/IGCM_OUT/LMDZORINCA/PROD/scenarioAER/AER-${ssp}-PATCH/CHM/Output/MO/
oldchemin=/ccc/store/cont003/gencmip6/lurtont/IGCM_OUT/LMDZORINCA/PROD/scenarioAER/AER-${ssp}/CHM/Output/MO/
workchemin=/ccc/work/cont003/gencmip6/lurtont/aerosols_from_inca/dep_for_Scenarios/${ssp}/
histchemin=/ccc/store/cont003/gencmip6/lurtont/IGCM_OUT/LMDZORINCA/PROD/historicalAER/LOI6012-histAER-partE/CHM/Output/MO/

if [ ! -d ${workchemin} ] ; then mkdir -p ${workchemin} ; fi

# On effectue une moyenne glissante sur trois années, centrée en l'année d'intérêt,
# et de poids [ 1/4 ; 1/2 ; 1/4 ].
prec=$((${year}-1))
suiv=$((${year}+1))

echo '***** Scenario '${ssp}', annee '${year}' : Moyenne glissante sur ans '${prec}', '${year}', et '${suiv}'.'

# Adresses generiques des fichiers a traiter
if [ ${year} -lt 2079 ]
then
   fileprec=${oldchemin}AER-${ssp}_${prec}0101_${prec}1230_1M_inca_dep.nc
   fileyear=${oldchemin}AER-${ssp}_${year}0101_${year}1230_1M_inca_dep.nc
   filesuiv=${oldchemin}AER-${ssp}_${suiv}0101_${suiv}1230_1M_inca_dep.nc
fi
if [ ${year} -gt 2080 ]
then
   fileprec=${newchemin}AER-${ssp}-PATCH_${prec}0101_${prec}1230_1M_inca_dep.nc
   fileyear=${newchemin}AER-${ssp}-PATCH_${year}0101_${year}1230_1M_inca_dep.nc
   filesuiv=${newchemin}AER-${ssp}-PATCH_${suiv}0101_${suiv}1230_1M_inca_dep.nc
fi

# Override de l'annee precedente pour 2015 :
if [ ${year} = 2015 ]
then
   echo '*** Comme on est en 2015, je prends 2014 de la simu historical.'
   fileprec=${histchemin}LOI6012-histAER-partE_20140101_20141230_1M_inca_dep.nc
fi

# Override pour 2079 et 2080, pour gerer la jonction entre runs ssp et ssp-PATCH :
if [ ${year} = 2079 ]
then
   echo "*** Comme on est en 2079, je fais charniere entre 2078 et 2079 du run "${ssp}" et 2080 du run "${ssp}"-PATCH."
   fileprec=${oldchemin}AER-${ssp}_${prec}0101_${prec}1230_1M_inca_dep.nc
   fileyear=${oldchemin}AER-${ssp}_${year}0101_${year}1230_1M_inca_dep.nc
   filesuiv=${newchemin}AER-${ssp}-PATCH_${suiv}0101_${suiv}1230_1M_inca_dep.nc
fi
if [ ${year} = 2080 ]
then
   echo "*** Comme on est en 2080, je fais charniere entre 2079 du run "${ssp}" et 2080 et 2081 du run "${ssp}"-PATCH."
   fileprec=${oldchemin}AER-${ssp}_${prec}0101_${prec}1230_1M_inca_dep.nc
   fileyear=${newchemin}AER-${ssp}-PATCH_${year}0101_${year}1230_1M_inca_dep.nc
   filesuiv=${newchemin}AER-${ssp}-PATCH_${suiv}0101_${suiv}1230_1M_inca_dep.nc
fi

# Override de l'annee suivante pour 2100 :
if [ ${year} = 2100 ]
then
   echo 'Comme on est en 2100, je prends 2100 pour 2101 aussi'
   filesuiv=${newchemin}AER-${ssp}-PATCH_${year}0101_${year}1230_1M_inca_dep.nc
fi

# Fichiers temporaires avec ponderation (cas generique).
pondprec=${workchemin}dust_${ssp}_${prec}0101_${prec}1230_pond.nc
pondyear=${workchemin}dust_${ssp}_${year}0101_${year}1230_pond.nc
pondsuiv=${workchemin}dust_${ssp}_${suiv}0101_${suiv}1230_pond.nc

# Ponderation des trois anees successives par [ 1/4 ; 1/2 ; 1/4 ]
# et multiplication par un facteur 3 qui disparaitra lors de la moyenne par mois.
# (je procede en deux etapes, l'enchainement cdo ne fonctionne pas)
tmp=${workchemin}temp.nc
cdo selname,seddustci,wetdustci,drydustci ${fileprec} ${tmp}
cdo mulc,.75 ${tmp} ${pondprec}
rm -f ${tmp}
cdo selname,seddustci,wetdustci,drydustci ${fileyear} ${tmp}
cdo mulc,1.5 ${tmp} ${pondyear}
rm -f ${tmp}
cdo selname,seddustci,wetdustci,drydustci ${filesuiv} ${tmp}
cdo mulc,.75 ${tmp} ${pondsuiv}
rm -f ${tmp}

pondtroisans=${workchemin}dep_${prec}0101_${suiv}1230_pond.nc

cdo mergetime ${pondprec} ${pondyear} ${pondsuiv} ${pondtroisans}
rm -f ${pondprec} ${pondyear} ${pondsuiv}

fileout=${workchemin}DUST_INCA_1M_${ssp}_${year}.nc

cdo ymonmean ${pondtroisans} ${fileout}
rm -f ${pondtroisans}

# Fix du vecteur-temps
ncks -A -v time_counter,time_centered,time_counter_bounds,time_centered_bounds ${fileyear} ${fileout}

# Fin de boucle sur les années
done

# Fin de boucle sur les Scenarios
done
