Changeset 4109 for TOOLS/CMIP6_FORCING/OZONE/clims_CMIP6.bash
- Timestamp:
- 11/06/18 17:14:39 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TOOLS/CMIP6_FORCING/OZONE/clims_CMIP6.bash
r3870 r4109 4 4 #=== Indices of chosen datasets among available collection (see DATANAMES after) 5 5 DOPROCESS=('n' 'y') #--- PROCESSED DATA TYPES (SSTandSeaIce, ozone) 6 IXPROCESS=("0" " 5 6 7")#--- PROCESSED DATASETS INDICES6 IXPROCESS=("0" "1 2 3 4") #--- PROCESSED DATASETS INDICES 7 7 recomp='n' #--- RECOMPUTE FILES THAT ARE ALREADY PRESENT (y/n) 8 8 … … 31 31 esac 32 32 if [ "$DATAIN" = "" ]; then echo "Raw data folder for $machine has to be specified."; exit; fi 33 #DATAOU=/data/dcugnet$DATAOU # No write acces to $DATAOU => temporary storage space.33 DATAOU=/data/dcugnet$DATAOU # No write acces to $DATAOU => temporary storage space. 34 34 35 35 #--- DATA TO TREAT (INTERANNUAL AND CLIMATOLOGIES): "SSTsAndSeaIce" "ozone": … … 42 42 input4MIPs/CMIP6/CMIP/PCMDI/PCMDI-AMIP-1-1-4/ocean/mon/\${var}/gn/v20180427/$f" \ 43 43 "input4MIPs/CMIP6/CMIP/UReading/UReading-CCMI-1-0/atmos/mon/\${var}/gn/v20160711/$f \ 44 input4MIPs/CMIP6/ScenarioMIP/UReading/UReading-CCMI-ssp126-1-0/atmos/mon/\${var}/gn/v20181101/$f \ 45 input4MIPs/CMIP6/ScenarioMIP/UReading/UReading-CCMI-ssp245-1-0/atmos/mon/\${var}/gn/v20181101/$f \ 46 input4MIPs/CMIP6/ScenarioMIP/UReading/UReading-CCMI-ssp370-1-0/atmos/mon/\${var}/gn/v20181101/$f \ 47 input4MIPs/CMIP6/ScenarioMIP/UReading/UReading-CCMI-ssp585-1-0/atmos/mon/\${var}/gn/v20181101/$f \ 44 48 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-stratO3-1-0/atmos/mon/\${var}/gn/v20170814/$f \ 45 49 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-nat-1-0/atmos/mon/\${var}/gn/v20180503/$f \ … … 48 52 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-sol-1-1/atmos/mon/\${var}/gn/v20180525/$f \ 49 53 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-nat-1-1/atmos/mon/\${var}/gn/v20180525/$f \ 50 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-volc-1-1/atmos/mon/\${var}/gn/v20180525/$f") 54 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-hist-volc-1-1/atmos/mon/\${var}/gn/v20180525/$f \ 55 input4MIPs/CMIP6/DAMIP/CCCma/CCMI-ssp245-nat-1-0/atmos/mon/\${var}/gn/v20180820/$f") 51 56 CLIMS_IN=("/ / / / /" \ 52 "input4MIPs/CMIP6/CMIP/UReading/UReading-CCMI-1-0/atmos/monC/\${var}/gn/v20160830/$f / / / / ")57 "input4MIPs/CMIP6/CMIP/UReading/UReading-CCMI-1-0/atmos/monC/\${var}/gn/v20160830/$f / / / / /") 53 58 VARNAM_IN=('tosbcs siconcbcs' 'vmro3') 54 59 DIRSTRUCT='datasets/exercise/project/origin/dataset/domain/frequency/var/grid/version/' … … 79 84 date=(${DATADATES[$i]}); fin=($fin); if [ ${DOPROCESS[$i]} != 'y' ]; then continue; fi 80 85 echo ">> Chosen $dt:" 81 for ka in ${IXPROCESS[$i]}; do echo " * ${fin[$ka]%/*} (${date[$ka]%-*})"; done 86 for ka in ${IXPROCESS[$i]}; do d=${date[$ka]}; dy=${d%%-*}; d=${d#*-} 87 echo " * ${fin[$ka]%/*} (${dy}-${d%%-*})" 88 done 82 89 done 83 90 … … 87 94 if [ ${DOPROCESS[$i]} != 'y' ]; then continue; fi 88 95 dt=${DATATYPES[$i]} #=== SSTAndSeaIce, ozone... 89 fin=(${FILES_IN[$i]}); vin=(${VARNAM_IN[$i]}) #=== INPUT FILE/VAR NAMES (each version)96 fin=(${FILES_IN[$i]}); vin=(${VARNAM_IN[$i]}) #=== INPUT FILE/VAR NAMES (each version) 90 97 fou=${FILES_OU[$i]} ; vou=(${VARNAM_OU[$i]}) #=== OUTPUT FILE/VAR NAMES (single pair) 91 98 date=(${DATADATES[$i]}) #=== ${Yb}-${Ye}-${dY} … … 96 103 #================================================================================ 97 104 parse_dir ${fin[$is]} $DIRSTRUCT $ex #--- Parse input directory 98 dso=$dataset #--- For naming purpose 99 case $dt in #--- NAMING EXCEPTIONS 100 ozone) dso=${dso#*hist-}; dso=hist-${dso%%-*} 101 if [ "$dataset" = "UReading-CCMI-1-0" ]; then dso="historical"; fi ;; 102 SSTAndSeaIce) if [ "$dataset" = "PCMDI-AMIP-1-1-0" ]; then dso='AMIP'; fi ;; 103 esac 105 dso=$(remove_version $dataset); dso=${dso#*-} #--- For naming purpose 106 if [ $dso = "CCMI" ]; then dso="historical"; fi #--- NAMING EXCEPTION: UReading-CCMI-1-0 104 107 #============================================================================== 105 108 for iv in $(eval echo {0..$((${#vin[@]}-1))}); do #--- Loop on variables 106 109 #============================================================================== 107 da=${date[$is]}; Y b=${da%%-*}; Ye=${da#*-}; dY=${Ye##*-}; Ye=${Ye%-*}110 da=${date[$is]}; Yi=${da%%-*}; Yf=${da#*-}; dYt=${Yf#*-}; Yf=${Yf%%-*} 108 111 v_in=${vin[$iv]}; v_ou=${vou[$iv]} #--- Variables names 109 112 f_in=$(var=$v_in; Yb=\${Yb}; Ye=\${Ye}; datatype=$dt; eval echo $DATAIN/${fin[$is]}) 110 axis=$(get_grid $(Yb=$Y b; Ye=????; eval echo $f_in) $v_in)113 axis=$(get_grid $(Yb=$Yi; Ye=????; eval echo $f_in) $v_in) 111 114 res=${axis#*=}; axis=${axis%=*} 112 115 Zonal='n'; if [ $axis = 'XYZT' ]; then Zonal='y'; fi #--- Zonal mean ? For 3D files … … 115 118 res3D=${res%x*}; res2D=${res3D#*x}_zonal; f_ou=${f_ou%/*}/\${res}/${f_ou##*/} 116 119 fi 117 echo ">> BUILDING 12 MONTHS ${v_in} FILES FOR THE $Yb-$Ye PERIOD USING $dataset DATASET ($version)..." 120 echo ">> BUILDING 12 MONTHS ${v_in} FILES FOR THE $Yi-$Yf PERIOD USING $dataset DATASET ($version)..." 121 Ye=$((Yi-1)) 118 122 #============================================================================ 119 for Y in $(eval echo {$Y b..$Ye}); do #--- Loop on years123 for Y in $(eval echo {$Yi..$Yf}); do #--- Loop on years 120 124 #============================================================================ 121 125 fO=$(Y=$Y; res=${res3D}; eval echo ${f_ou}) #--- Original resolution 126 if [ $Y -eq $((Ye+1)) ]; then Yb=$Y; dY=${dYt%%-*}; Ye=$((Yb+dY-1)); dYt=${dYt#*-}; fi 122 127 if [[ ! -f $fO || $recomp = 'y' ]]; then 123 128 extract $v_in,$v_ou $f_in,$fO $Yb,$Ye,$dY $Y 0 #--- Field extraction … … 128 133 if [[ ! -f $fZ || $recomp = 'y' ]]; then zonal_mean $fO $fZ; fi 129 134 fi 130 progress_bar $((Y-Y b+1)) $((Ye-Yb+1)) 50 #--- Check progress135 progress_bar $((Y-Yi+1)) $((Yf-Yi+1)) 50 #--- Check progress 131 136 #============================================================================ 132 137 done … … 135 140 #============================================================================ 136 141 Yb=${per%%-*}; Ye=${per##*-}; Yc=${Yb}_${Ye}_clim; c='n'; cli0=${cli[$is]} 142 143 #=== Skip periods outside available years interval 144 if [[ $Yb -lt ${da%%-*} || ${Yb} -gt ${da#*-} || $Yb -lt ${da%%-*} || ${Yb} -gt ${da#*-} ]]; then 145 continue 146 fi 137 147 138 148 #=== Is there a single file climatology available ?
Note: See TracChangeset
for help on using the changeset viewer.