source: TOOLS/CMIP6_FORCING/SCENARIOS/oxidant.sh @ 4004

Last change on this file since 4004 was 4004, checked in by tlurton, 6 years ago

A few scripts to generate oxidant files and SST/SIC files for the scenarios.

  • Property svn:executable set to *
File size: 9.8 KB
Line 
1#--scripts to regrid oxidant files from AR5 to AR6
2#--Olivier Boucher / Yves Balkanski
3#--30/01/2017
4#--Thibaut Lurton 28/06/2017 for the future period.
5#
6OUT=$CCCWORKDIR/CMIP6_OXIDANTS/
7
8if [ ! -d ${OUT} ] ; then mkdir -p ${OUT} ; fi
9
10# Booleans for possible bypass of processing (1=do bypass ; 0=run)
11bypass_hist=0
12bypass_RCP=0
13
14#--silly if statements to perform or bypass historical files
15if [ ${bypass_hist} == 0 ]; then
16#
17#HISTORICAL
18DIR=/ccc/store/cont003/dsm/p24lava/ARCHIVE/dmf_import/IGCM_OUT/LMDZORINCA/NMHC_AER/LOI_IPCC_3/CHM/Output/MO/INCA_AVGR_NC/
19#
20#--loop on years
21for yr in `seq 1850 10 2000`
22do 
23  #--loop on months
24  for mth in 0{1..9} {10..12} 
25  do
26    echo $yr $mth
27    filein=${DIR}'LOI_IPCC_3_'${yr}'_'${mth}'_MM_inca_avgr.nc'
28    fileout=${OUT}'LOI_AR5_'${yr}'_'${mth}'.nc'
29    #--remapping
30    cdo remapbil,grid-lmdz-lonlat_144x143 -selname,O3,HNO3,OH,NO3,H2O2,O1D,NO2 ${filein} ${fileout}
31  done
32  #--merging monthly means into single sile
33  cdo mergetime ${OUT}'LOI_AR5_'${yr}'_'??'.nc' ${OUT}'LOI_AR5_'${yr}'.nc'
34  rm -f ${OUT}'LOI_AR5_'${yr}'_'??'.nc'
35  #--change time axis - this does not work
36  #secsinyr=31557600
37  #yearref=1850
38  #if [ $yr != 1850 ]; then
39  #   ((nbyear=$yr-$yearref))
40  #   echo "yr, secsinyr=" $year $secsinyr
41  #   ((secsdiff = $yr * $secsinyr ))
42  #   echo "secsdiff=" $secsdiff
43  #   rm -f time_${yr}.nc
44  #   ncap2 -s"time=${secsdiff}" time_1850.nc time_${yr}.nc   
45  #fi
46  #--remove time
47  ncks -x -v time ${OUT}'LOI_AR5_'${yr}'.nc' ${OUT}'LOI_AR5_'${yr}'_notime.nc'
48  #--add time from Yves files
49  ncks -A -v time time_${yr}.nc ${OUT}'LOI_AR5_'${yr}'_notime.nc'
50  #--rename file
51  mv ${OUT}'LOI_AR5_'${yr}'_notime.nc' ${OUT}'LOI_AR5_'${yr}'_time.nc'
52  #--regrid vertically
53ferret << EOF
54set MEMORY/SIZE=1024
55use "${OUT}LOI_AR5_${yr}_time.nc"
56use grid.nc
57define grid/z=Z[g=OZONE] grid79L
58let H2O2L79=H2O2[d=1,g=grid79L,gz=@AVE]
59let HNO3L79=HNO3[d=1,g=grid79L,gz=@AVE]
60let NO2L79=NO2[d=1,g=grid79L,gz=@AVE]
61let NO3L79=NO3[d=1,g=grid79L,gz=@AVE]
62let O1DL79=O1D[d=1,g=grid79L,gz=@AVE]
63let O3L79=O3[d=1,g=grid79L,gz=@AVE]
64let OHL79=OH[d=1,g=grid79L,gz=@AVE]
65SAVE/format=CDF/CLOBBER/file="${OUT}LOI_AR6_${yr}.nc" H2O2L79,HNO3L79,NO2L79,NO3L79,O1DL79,O3L79,OHL79
66quit
67EOF
68  rm -f ferret.jnl*
69  #--rename variables
70  ncrename -v PRESNIVS1,presnivs           ${OUT}LOI_AR6_${yr}.nc
71  ncrename -d PRESNIVS1,presnivs           ${OUT}LOI_AR6_${yr}.nc
72  ncrename -v PRESNIVS1_bnds,presnivs_bnds ${OUT}LOI_AR6_${yr}.nc
73  ncrename -v H2O2L79,H2O2                 ${OUT}LOI_AR6_${yr}.nc
74  ncrename -v HNO3L79,HNO3                 ${OUT}LOI_AR6_${yr}.nc
75  ncrename -v NO2L79,NO2                   ${OUT}LOI_AR6_${yr}.nc
76  ncrename -v NO3L79,NO3                   ${OUT}LOI_AR6_${yr}.nc
77  ncrename -v O1DL79,O1D                   ${OUT}LOI_AR6_${yr}.nc
78  ncrename -v O3L79,O3                     ${OUT}LOI_AR6_${yr}.nc
79  ncrename -v OHL79,OH                     ${OUT}LOI_AR6_${yr}.nc
80  ncrename -v LON,x                        ${OUT}LOI_AR6_${yr}.nc
81  ncrename -d LON,x                        ${OUT}LOI_AR6_${yr}.nc
82  ncrename -v LAT,y                        ${OUT}LOI_AR6_${yr}.nc
83  ncrename -d LAT,y                        ${OUT}LOI_AR6_${yr}.nc
84  ncrename -v TIME,time_counter            ${OUT}LOI_AR6_${yr}.nc
85  ncrename -d TIME,time_counter            ${OUT}LOI_AR6_${yr}.nc
86  ncrename -v TIME_bnds,time_bnds          ${OUT}LOI_AR6_${yr}.nc
87  #--This stupid ferret inverses both the vertical axis AND the latitude
88  rm -f ${OUT}toto.nc
89  #ncpdq -Oh --reorder -presnivs,-lat ${OUT}LOI_AR6_${yr}.nc ${OUT}toto.nc
90  ncpdq -Oh --reorder -presnivs,-y ${OUT}LOI_AR6_${yr}.nc ${OUT}toto.nc
91  ncatted -Oh -a units,x,o,c,"degrees_east"  ${OUT}toto.nc
92  mv ${OUT}toto.nc ${OUT}LOI_AR6_${yr}.nc
93  rm -f ${OUT}'LOI_AR5_'${yr}'.nc' ${OUT}'LOI_AR5_'${yr}'_notime.nc' ${OUT}'LOI_AR5_'${yr}'_time.nc'
94  done 
95  #
96fi
97
98#RCP
99#--silly if statements to perform or bypass RCP files
100if [ ${bypass_RCP} == 0 ]; then
101for rcp in RCP45 RCP60 RCP85sstA2
102do
103  DIR=/ccc/store/cont003/dsm/p24lava/ARCHIVE/dmf_import/IGCM_OUT/LMDZORINCA/NMHC_AER/LOI_IPCC_${rcp}/CHM/Output/MO/
104  for yr in `seq 2010 10 2100`
105  do
106  for mth in 0{1..9} {10..12} 
107  do
108    echo $yr $mth
109    filein=$DIR'LOI_IPCC_'${rcp}'_'${yr}'_'${mth}'_MM_inca_avgr.nc'
110    fileout=$OUT'LOI_AR5_'${rcp}'_'${yr}'_'${mth}'.nc'
111    #--remapping
112    cdo remapbil,grid-lmdz-lonlat_144x143 -selname,O3,HNO3,OH,NO3,H2O2,O1D,NO2 $filein $fileout
113  done
114  #--merging monthly means into single file
115  cdo mergetime $OUT'LOI_AR5_'${rcp}'_'${yr}'_'??'.nc' $OUT'LOI_AR5_'${rcp}'_'${yr}'.nc'
116  rm -f $OUT'LOI_AR5_'${rcp}'_'${yr}'_'??'.nc'
117  #--remove time
118  ncks -x -v time ${OUT}'LOI_AR5_'${rcp}'_'${yr}'.nc' ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_notime.nc'
119  #--add time
120  ncks -A -v time time_${yr}.nc ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_notime.nc'
121  #--rename file
122  mv ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_notime.nc' ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_time.nc'
123
124  #--regrid vertically
125ferret << EOF
126set MEMORY/SIZE=1024
127use "${OUT}LOI_AR5_${rcp}_${yr}_time.nc"
128use grid.nc
129define grid/z=Z[g=OZONE] grid79L
130let H2O2L79=H2O2[d=1,g=grid79L,gz=@AVE]
131let HNO3L79=HNO3[d=1,g=grid79L,gz=@AVE]
132let NO2L79=NO2[d=1,g=grid79L,gz=@AVE]
133let NO3L79=NO3[d=1,g=grid79L,gz=@AVE]
134let O1DL79=O1D[d=1,g=grid79L,gz=@AVE]
135let O3L79=O3[d=1,g=grid79L,gz=@AVE]
136let OHL79=OH[d=1,g=grid79L,gz=@AVE]
137SAVE/format=CDF/CLOBBER/file="${OUT}LOI_AR6_${rcp}_${yr}.nc" H2O2L79,HNO3L79,NO2L79,NO3L79,O1DL79,O3L79,OHL79
138quit
139EOF
140  rm -f ferret.jnl*
141  #--rename variables
142  ncrename -v PRESNIVS1,presnivs           ${OUT}LOI_AR6_${rcp}_${yr}.nc
143  ncrename -d PRESNIVS1,presnivs           ${OUT}LOI_AR6_${rcp}_${yr}.nc
144  ncrename -v PRESNIVS1_bnds,presnivs_bnds ${OUT}LOI_AR6_${rcp}_${yr}.nc
145  ncrename -v H2O2L79,H2O2                 ${OUT}LOI_AR6_${rcp}_${yr}.nc
146  ncrename -v HNO3L79,HNO3                 ${OUT}LOI_AR6_${rcp}_${yr}.nc
147  ncrename -v NO2L79,NO2                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
148  ncrename -v NO3L79,NO3                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
149  ncrename -v O1DL79,O1D                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
150  ncrename -v O3L79,O3                     ${OUT}LOI_AR6_${rcp}_${yr}.nc
151  ncrename -v OHL79,OH                     ${OUT}LOI_AR6_${rcp}_${yr}.nc
152  ncrename -v LON,x                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
153  ncrename -d LON,x                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
154  ncrename -v LAT,y                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
155  ncrename -d LAT,y                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
156  ncrename -v TIME,time_counter            ${OUT}LOI_AR6_${rcp}_${yr}.nc
157  ncrename -d TIME,time_counter            ${OUT}LOI_AR6_${rcp}_${yr}.nc
158  ncrename -v TIME_bnds,time_bnds          ${OUT}LOI_AR6_${rcp}_${yr}.nc
159  #--This stupid ferret inverses both the vertical axis AND the latitude
160  rm -f ${OUT}toto.nc
161  #ncpdq -Oh --reorder -presnivs,-lat ${OUT}LOI_AR6_${yr}.nc ${OUT}toto.nc
162  ncpdq -Oh --reorder -presnivs,-y ${OUT}LOI_AR6_${rcp}_${yr}.nc ${OUT}toto.nc
163  ncatted -Oh -a units,x,o,c,"degrees_east"  ${OUT}toto.nc
164  mv ${OUT}toto.nc ${OUT}LOI_AR6_${rcp}_${yr}.nc
165  rm -f ${OUT}'LOI_AR5_'${rcp}'_'${yr}'.nc' ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_notime.nc' ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_time.nc'
166done
167done
168
169# Slightly different input format for RCP26...
170for rcp in RCP26
171do
172  DIR=/ccc/store/cont003/dsm/p24lava/ARCHIVE/dmf_import/IGCM_OUT/LMDZORINCA/NMHC_AER/LOI_IPCC_${rcp}/CHM/Output/MO/
173  for yr in `seq 2010 10 2100`
174  do
175    echo $yr
176    filein=$DIR'LOI_IPCC_'${rcp}'_'${yr}'_allMM_inca_avgr.nc'
177    fileout=$OUT'LOI_AR5_'${rcp}'_'${yr}'.nc'
178    #--remapping
179    cdo remapbil,grid-lmdz-lonlat_144x143 -selname,O3,HNO3,OH,NO3,H2O2,O1D,NO2 $filein $fileout
180  #--add time
181  ncks -A -v time time_${yr}.nc ${OUT}'LOI_AR5_'${rcp}'_'${yr}'.nc'
182
183  #--regrid vertically
184ferret << EOF
185set MEMORY/SIZE=1024
186use "${OUT}LOI_AR5_${rcp}_${yr}.nc"
187use grid.nc
188define grid/z=Z[g=OZONE] grid79L
189let H2O2L79=H2O2[d=1,g=grid79L,gz=@AVE]
190let HNO3L79=HNO3[d=1,g=grid79L,gz=@AVE]
191let NO2L79=NO2[d=1,g=grid79L,gz=@AVE]
192let NO3L79=NO3[d=1,g=grid79L,gz=@AVE]
193let O1DL79=O1D[d=1,g=grid79L,gz=@AVE]
194let O3L79=O3[d=1,g=grid79L,gz=@AVE]
195let OHL79=OH[d=1,g=grid79L,gz=@AVE]
196SAVE/format=CDF/CLOBBER/file="${OUT}LOI_AR6_${rcp}_${yr}.nc" H2O2L79,HNO3L79,NO2L79,NO3L79,O1DL79,O3L79,OHL79
197quit
198EOF
199  rm -f ferret.jnl*
200  #--rename variables
201  ncrename -v PRESNIVS1,presnivs           ${OUT}LOI_AR6_${rcp}_${yr}.nc
202  ncrename -d PRESNIVS1,presnivs           ${OUT}LOI_AR6_${rcp}_${yr}.nc
203  ncrename -v PRESNIVS1_bnds,presnivs_bnds ${OUT}LOI_AR6_${rcp}_${yr}.nc
204  ncrename -v H2O2L79,H2O2                 ${OUT}LOI_AR6_${rcp}_${yr}.nc
205  ncrename -v HNO3L79,HNO3                 ${OUT}LOI_AR6_${rcp}_${yr}.nc
206  ncrename -v NO2L79,NO2                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
207  ncrename -v NO3L79,NO3                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
208  ncrename -v O1DL79,O1D                   ${OUT}LOI_AR6_${rcp}_${yr}.nc
209  ncrename -v O3L79,O3                     ${OUT}LOI_AR6_${rcp}_${yr}.nc
210  ncrename -v OHL79,OH                     ${OUT}LOI_AR6_${rcp}_${yr}.nc
211  ncrename -v LON,x                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
212  ncrename -d LON,x                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
213  ncrename -v LAT,y                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
214  ncrename -d LAT,y                        ${OUT}LOI_AR6_${rcp}_${yr}.nc
215  ncrename -v TIME,time_counter            ${OUT}LOI_AR6_${rcp}_${yr}.nc
216  ncrename -d TIME,time_counter          ${OUT}LOI_AR6_${rcp}_${yr}.nc
217  ncrename -v TIME_bnds,time_bnds          ${OUT}LOI_AR6_${rcp}_${yr}.nc
218  #--This stupid ferret inverses both the vertical axis AND the latitude
219  rm -f ${OUT}toto.nc
220  #ncpdq -Oh --reorder -presnivs,-lat ${OUT}LOI_AR6_${yr}.nc ${OUT}toto.nc
221  ncpdq -Oh --reorder -presnivs,-y ${OUT}LOI_AR6_${rcp}_${yr}.nc ${OUT}toto.nc
222  ncatted -Oh -a units,x,o,c,"degrees_east"  ${OUT}toto.nc
223  mv ${OUT}toto.nc ${OUT}LOI_AR6_${rcp}_${yr}.nc
224  rm -f ${OUT}'LOI_AR5_'${rcp}'_'${yr}'.nc' ${OUT}'LOI_AR5_'${rcp}'_'${yr}'_time.nc'
225done
226done
227
228fi
Note: See TracBrowser for help on using the repository browser.