|
1 ;************************************************ |
|
2 ; read from /ptmp/ |
|
3 ; output fire(COL_FIRE_CLOSS), NPP, NEE |
|
4 ;************************************************ |
|
5 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" |
|
6 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" |
|
7 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" |
|
8 ;************************************************ |
|
9 begin |
|
10 |
|
11 ; input data |
|
12 |
|
13 model_name = "i01.10cn" |
|
14 |
|
15 nlat = 64 |
|
16 nlon = 128 |
|
17 |
|
18 year_start = 1991 |
|
19 year_end = 2004 |
|
20 |
|
21 diri = "/ptmp/jeff/"+model_name+"/" |
|
22 |
|
23 system("mkdir "+diri) |
|
24 |
|
25 ; output |
|
26 |
|
27 diro = "/ptmp/jeff/" |
|
28 filo = model_name + "_Fire_C_"+year_start+"-"+year_end+"_monthly.nc" |
|
29 c = addfile(diro+filo,"c") |
|
30 filedimdef(c,"year",-1,True) |
|
31 |
|
32 |
|
33 nyear = year_end - year_start + 1 |
|
34 nmonth = 12 |
|
35 |
|
36 data1 = new((/nyear,nmonth,nlat,nlon/),float) |
|
37 data2 = new((/nyear,nmonth,nlat,nlon/),float) |
|
38 data3 = new((/nyear,nmonth,nlat,nlon/),float) |
|
39 date = new((/nyear,nmonth/),integer) |
|
40 |
|
41 ; input from /ptmp/ |
|
42 |
|
43 |
|
44 do m = 0,nyear-1 |
|
45 year = year_start + m |
|
46 |
|
47 ; text = "mss:/FORREST/CCSM/results/"+model_name+"/lnd/hist/*"+year+"* " |
|
48 ; print (text) |
|
49 |
|
50 ; system("msrcp "+text+diri) |
|
51 ; system("dcswait") |
|
52 print (year) |
|
53 |
|
54 do n = 0,nmonth-1 |
|
55 nn = n+1 |
|
56 date(m,n) = year*100 +nn |
|
57 |
|
58 ; input file |
|
59 if (nn .ge. 10) then |
|
60 fili = model_name+".clm2.h0."+year+"-"+nn+".nc" |
|
61 else |
|
62 fili = model_name+".clm2.h0."+year+"-0"+nn+".nc" |
|
63 end if |
|
64 |
|
65 ; print (fili) |
|
66 |
|
67 g = addfile (diri+fili,"r") |
|
68 |
|
69 b1 = g->COL_FIRE_CLOSS |
|
70 data1(m,n,:,:) = (/b1(0,:,:)/) |
|
71 |
|
72 b2 = g->NPP |
|
73 data2(m,n,:,:) = (/b2(0,:,:)/) |
|
74 |
|
75 b3 = g->NEE |
|
76 data3(m,n,:,:) = (/b3(0,:,:)/) |
|
77 |
|
78 end do |
|
79 |
|
80 ; system("rm "+diri+"*") |
|
81 |
|
82 end do |
|
83 |
|
84 ; name dimensions and assign coordinate variables |
|
85 |
|
86 data1!0 ="year" |
|
87 data1!1 ="month" |
|
88 data1!2 = "lat" |
|
89 data1!3 = "lon" |
|
90 data1@long_name = b1@long_name |
|
91 data1@units = b1@units |
|
92 data1@_FillValue = b1@_FillValue |
|
93 |
|
94 data2!0 ="year" |
|
95 data2!1 ="month" |
|
96 data2!2 = "lat" |
|
97 data2!3 = "lon" |
|
98 data2@long_name = b2@long_name |
|
99 data2@units = b2@units |
|
100 data2@_FillValue = b2@_FillValue |
|
101 |
|
102 data3!0 ="year" |
|
103 data3!1 ="month" |
|
104 data3!2 = "lat" |
|
105 data3!3 = "lon" |
|
106 data3@long_name = b3@long_name |
|
107 data3@units = b3@units |
|
108 data3@_FillValue = b3@_FillValue |
|
109 |
|
110 date!0 ="year" |
|
111 date!1 ="month" |
|
112 date@long_name = "date: yyyymm" |
|
113 |
|
114 c->COL_FIRE_CLOSS = data1 |
|
115 c->NPP = data2 |
|
116 c->NEE = data3 |
|
117 c->date = date |
|
118 c->area = g->area |
|
119 |
|
120 print (date) |
|
121 |
|
122 end |