source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/INCA/tools/TEMPLATES/extract_bcpom_budget.job @ 6610

Last change on this file since 6610 was 6610, checked in by acosce, 10 months ago

INCA used for ICOLMDZORINCA_CO2_Transport_GMD_2023

File size: 6.0 KB
Line 
1#!/usr/bin/ksh
2# script for new INCAparallel  LMDZ4 output files
3set -ex
4
5user=p86cozic
6producer=p86cozic
7
8config=LMDZORINCA
9model=LOI_01
10
11set -A ANN 2000
12set -A MTH '01'  '02'  '03' '04' '05'  '06' '07' '08' '09' '10' '11' '12'
13firstmth='01'
14lastmth='12'
15lastday=29 # =30 si time_counter=31 / =29 si time_counter=30
16
17compute_budgetfiles=1
18
19
20dirout=/dmnfs/cont003/${producer}/IGCM_OUT/${config}/${model}/CHM/Output/MO
21dirscr=/scratchdir/cont003/${producer}/INCA_OUTPUT/${model}
22
23dirproc=/scratchdir/cont003/${user}/INCA_OUTPUT/${model}
24mkdir -p $dirproc
25cd $dirproc
26
27for AN in ${ANN[*]} ; do
28    im=0
29    for IMTH in ${MTH[*]} ; do
30
31
32        tagname=_${AN}${IMTH}01_${AN}${IMTH}30_1M_
33        infile=${dirproc}/${AN}${IMTH}/MM_${model}${tagname}inca_avgr.nc
34        moy_file=${dirout}/MM_${model}${tagname}inca_avgr.nc
35       
36        if [ ! -f ${moy_file} ] ; then
37          if [ ! -f ${infile} ]; then
38            cd  ${dirproc}/
39            mkdir -p ${AN}${IMTH}
40            cd ${dirproc}/${AN}${IMTH}/
41            cp ${dirout}/${model}${tagname}inca_avgr.nc .
42            ncra -O ${model}${tagname}inca_avgr.nc MM_${model}${tagname}inca_avgr.nc
43          fi   
44          cp MM_${model}${tagname}inca_avgr.nc ${moy_file}
45        fi     
46        cd $dirproc
47
48        file=bcpombudget_${model}.an${AN}.m${IMTH}.nc
49
50if [ 1 = $compute_budgetfiles ] ; then         
51        ncks -O -v area,lat,lon,presnivs,time_counter,AIRMASS,\
52'Emi_.*BCM','Emi_.*POMM','DRY.*POMM','WET.*POMM','DRY.*BCM','SED.*BCM','SED.*POMM','WET.*BCM',\
53'Emi_.*CIDUSTM','DRY.*CIDUSTM','SED.*CIDUSTM','WET.*CIDUSTM',\
54'Emi_.*SSM','DRY.*SSM','SED.*SSM','WET.*SSM',\
55AIPOMM,ASPOMM,AIBCM,ASBCM,CIDUSTM,ASSSM,CSSSM,SSSSM $infile $file
56
57        ncwa -O -a presnivs -y ttl -v  'Emi_alt.*' $file tmp.nc
58        ncks -O -x -v 'Emi_alt.*' $file $file
59        ncks -A -v  'Emi_alt.*' tmp.nc $file
60        ncap -O -s "\
61            EMI_BC=Emi_alt_AIBCM+Emi_alt_ASBCM+Emi_AIBCM+Emi_ASBCM;\
62            EMI_POM=Emi_alt_AIPOMM+Emi_alt_ASPOMM+Emi_AIPOMM+Emi_ASPOMM;\
63            EMI_AIBC=Emi_alt_AIBCM+Emi_AIBCM;\
64            EMI_ASBC=Emi_alt_ASBCM+Emi_ASBCM;\
65            EMI_AIPOM=Emi_alt_AIPOMM+Emi_AIPOMM;\
66            EMI_ASPOM=Emi_alt_ASPOMM+Emi_ASPOMM;\
67            EMI_DUST=Emi_CIDUSTM;\
68            EMI_SS=Emi_ASSSM+Emi_CSSSM;\
69            EMI_CSS=Emi_CSSSM;\
70            EMI_ASS=Emi_ASSSM;\
71            EMI_SSS=Emi_SSSSM;\
72            WET_POM=WET_AIPOMM+WET_ASPOMM;\
73            WET_BC=WET_AIBCM+WET_ASBCM;\
74            WET_DUST=WET_CIDUSTM;\
75            WET_SS=WET_ASSSM+WET_CSSSM;\
76            SEDDRY_POM=DRY_AIPOMM+DRY_ASPOMM+SED_AIPOMM+SED_ASPOMM;\
77            SEDDRY_BC=DRY_AIBCM+DRY_ASBCM+SED_AIBCM+SED_ASBCM;\
78            SEDDRY_AIPOM=SED_AIPOMM+DRY_AIPOMM;\
79            SEDDRY_ASPOM=SED_ASPOMM+DRY_ASPOMM;\
80            SEDDRY_AIBC=SED_AIBCM+DRY_AIBCM;\
81            SEDDRY_ASBC=SED_ASBCM+DRY_ASBCM;\
82            SEDDRY_DUST=SED_CIDUSTM+DRY_CIDUSTM;\
83            SEDDRY_SS=SED_ASSSM+DRY_ASSSM+SED_CSSSM+DRY_CSSSM;\
84            " $file $file
85
86        ncap -O -s "LOAD_BC[time_counter,presnivs,lat,lon]=(AIBCM+ASBCM)*AIRMASS/area;\
87            LOAD_POM[time_counter,presnivs,lat,lon]=(AIPOMM+ASPOMM)*AIRMASS/area;\
88            LOAD_AIBC[time_counter,presnivs,lat,lon]=AIBCM*AIRMASS/area;\
89            LOAD_AIPOM[time_counter,presnivs,lat,lon]=AIPOMM*AIRMASS/area;\
90            LOAD_ASBC[time_counter,presnivs,lat,lon]=ASBCM*AIRMASS/area;\
91            LOAD_ASPOM[time_counter,presnivs,lat,lon]=ASPOMM*AIRMASS/area;\
92            LOAD_DUST[time_counter,presnivs,lat,lon]=CIDUSTM*AIRMASS/area;\
93            LOAD_SS[time_counter,presnivs,lat,lon]=(ASSSM+CSSSM)*AIRMASS/area;\
94            LOAD_CSS[time_counter,presnivs,lat,lon]=CSSSM*AIRMASS/area;\
95            LOAD_ASS[time_counter,presnivs,lat,lon]=ASSSM*AIRMASS/area;\
96            LOAD_SSS[time_counter,presnivs,lat,lon]=SSSSM*AIRMASS/area;\
97            " $file tmp.nc
98        ncwa -O -a presnivs -y ttl -v  'LOAD.*' tmp.nc tmp.nc
99        ncks -A -v  'LOAD.*' tmp.nc $file
100
101fi     
102    ((im=$im+1))   
103    done
104
105# accumulation during run
106    infilestart=${dirout}/${model}_${AN}${firstmth}01_${AN}${firstmth}30_1M_inca_avgr.nc
107    infileend=${dirout}/${model}_${AN}${lastmth}01_${AN}${lastmth}30_1M_inca_avgr.nc
108    ncks -O -d time_counter,0 -v area,AIRMASS,AIPOMM,ASPOMM,AIBCM,ASBCM,CIDUSTM,ASSSM,CSSSM,SSSSM $infilestart accu.nc
109    ncrename -v AIPOMM,AIPOMMST -v ASPOMM,ASPOMMST -v AIBCM,AIBCMST -v ASBCM,ASBCMST \
110-v CIDUSTM,CIDUSTMST -v ASSSM,ASSSMST -v CSSSM,CSSSMST -v SSSSM,SSSSMST accu.nc
111    ncks -A -d time_counter,$lastday -v AIPOMM,ASPOMM,AIBCM,ASBCM,CIDUSTM,ASSSM,CSSSM,SSSSM $infileend accu.nc
112    ncap -O -s "ACCU_BC[time_counter,presnivs,lat,lon]=(AIBCM+ASBCM-AIBCMST-ASBCMST)*AIRMASS/area;\
113            ACCU_POM[time_counter,presnivs,lat,lon]=(AIPOMM+ASPOMM-AIPOMMST-ASPOMMST)*AIRMASS/area;\
114            ACCU_AIBC[time_counter,presnivs,lat,lon]=(AIBCM-AIBCMST)*AIRMASS/area;\
115            ACCU_AIPOM[time_counter,presnivs,lat,lon]=(AIPOMM-AIPOMMST)*AIRMASS/area;\
116            ACCU_ASBC[time_counter,presnivs,lat,lon]=(ASBCM-ASBCMST)*AIRMASS/area;\
117            ACCU_ASPOM[time_counter,presnivs,lat,lon]=(ASPOMM-ASPOMMST)*AIRMASS/area;\
118            ACCU_DUST[time_counter,presnivs,lat,lon]=(CIDUSTM-CIDUSTMST)*AIRMASS/area;\
119            ACCU_SS[time_counter,presnivs,lat,lon]=(ASSSM+CSSSM-ASSSMST-CSSSMST)*AIRMASS/area;\
120            ACCU_CSS[time_counter,presnivs,lat,lon]=(CSSSM-CSSSMST)*AIRMASS/area;\
121            ACCU_ASS[time_counter,presnivs,lat,lon]=(ASSSM-ASSSMST)*AIRMASS/area;\
122            ACCU_SSS[time_counter,presnivs,lat,lon]=(SSSSM-SSSSMST)*AIRMASS/area;\
123            " accu.nc accu.nc
124    ncwa -O -a lat,lon -w area -v 'ACCU.*' accu.nc tmp0.nc
125    ncap -O -s "FAC=1.e6f" tmp0.nc tmp0.nc     
126    ncwa -O -N -w FAC tmp0.nc tmp0.nc
127
128    filean=bcpombudget_${model}.an${AN}.nc
129    ncra -O bcpombudget_${model}.an${AN}.m??.nc $filean 
130
131    ncwa -O -a lat,lon -w area -v 'SEDDRY.*','WET.*','EMI.*' $filean tmp.nc
132   
133    ncap -O -s "FAC=86400.f*365.f*1e6f" tmp.nc tmp.nc   
134    ncwa -O -N -w FAC tmp.nc tmp.nc
135   
136
137    ncwa -O -a lat,lon -w area -v 'LOAD.*BC$','LOAD.*POM$','LOAD.*DUST$','LOAD.*SS$' $filean t.nc
138    ncap -O -s "FAC=1.e6f" t.nc t.nc   
139    ncwa -O -N -w FAC t.nc t.nc
140    ncks -A -v 'LOAD.*BC$','LOAD.*POM$','LOAD.*DUST$','LOAD.*SS$'  t.nc  tmp.nc
141
142    ncks -O -x -v FAC tmp.nc tmp.nc
143    ncks -A -v 'ACCU.*' tmp0.nc tmp.nc
144
145    echo "fluxes in mg m-2 y-1 // loads in mg m-2"
146    echo ${model}
147    ncks -H  tmp.nc
148
149done
150
151exit
152
153
154
155
156
157 
158
159
160
161
162
163
164
165 
166
167
168
169
170
171
172 
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203 
204
205
206
207
208
209
210 
211
212
213 
214
215
216
217
218
219
220 
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256 
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
Note: See TracBrowser for help on using the repository browser.