source: branches/ORCHIDEE_2_2/ORCHIDEE_OL/ENSEMBLE/taylor_arrow_fluxnet_final_1.jnl

Last change on this file was 1481, checked in by nicolas.vuichard, 11 years ago

Merge of the FLUXNET and ENSEMBLE configurations - Both are done in the ENSEMBLE directory now

  • Property svn:executable set to *
File size: 3.4 KB
Line 
1
2
3let var_obs_init=($02)
4let var_obs=var_obs_init[g=my_time_counter@asn]
5
6let flag_ref=($04)
7
8let var_model_init=($01)
9let id_site="($09)"
10
11
12let norm_std=(Q_VAR^0.5)/(P_VAR^0.5)
13
14
15let var_model_year=var_model[gt=yearly@ave]
16let var_model_month=var_model[gt=monthly@ave]
17let var_model_day=var_model[gt=daily@ave]
18let var_model_hour=var_model[gt=hourly@ave]
19let var_model_year_max=var_model_year[gt=monthly@max]
20let var_model_year_month=if(first_year eq last_year) then var_model_year_max[t=@fnr] else var_model_year[gt=monthly@nrst]
21let var_model_month_day=var_model_month[gt=daily@nrst]
22let var_model_day_hour=var_model_day[gt=hourly@nrst]
23let var_model_decomp_default=var_model
24let var_model_decomp_hour=var_model_hour-var_model_day_hour
25let var_model_decomp_day=var_model_day-var_model_month_day
26let var_model_decomp_month=var_model_month-var_model_year_month
27let var_model_decomp_year=var_model_year-var_model_year[l=@ave]
28
29let var_obs_year=var_obs[gt=yearly@ave]
30let var_obs_month=var_obs[gt=monthly@ave]
31let var_obs_day=var_obs[gt=daily@ave]
32let var_obs_hour=var_obs[gt=hourly@ave]
33let var_obs_year_max=var_obs_year[gt=monthly@max]
34let var_obs_year_month=if(first_year eq last_year) then var_obs_year_max[t=@fnr] else var_obs_year[gt=monthly@nrst]
35let var_obs_month_day=var_obs_month[gt=daily@nrst]
36let var_obs_day_hour=var_obs_day[gt=hourly@nrst]
37let var_obs_decomp_default=var_obs
38let var_obs_decomp_hour=var_obs_hour-var_obs_day_hour
39let var_obs_decomp_day=var_obs_day-var_obs_month_day
40let var_obs_decomp_month=var_obs_month-var_obs_year_month
41let var_obs_decomp_year=var_obs_year-var_obs_year[l=@ave]
42
43
44let d_eval=1
45let d_ref=if flag_ref eq 1 then 3 else 1
46let d_obs=2
47
48let bias_hour=tsequence(abs(var_obs_day_hour[d=`d_obs`]-var_model_day_hour[k=@sum]))
49let bias_day=tsequence(abs(var_obs_month_day[d=`d_obs`]-var_model_month_day[k=@sum]))
50let bias_month=tsequence(abs(var_obs_year_month[d=`d_obs`]-var_model_year_month[k=@sum]))
51let bias_year=tsequence(abs(var_obs_year[l=@ave,d=`d_obs`]-var_model_year[l=@ave,k=@sum]))
52
53
54
55use/REGULART "($10)"
56use/REGULART "($11)"
57let file_ref=if(flag_ref eq 1) then 12 else 10
58use/REGULART "$`file_ref`"
59
60
61define grid/like=var_model_init[d=`d_eval`,k=1] my_time_counter
62let var_model=if var_obs[d=`d_obs`] NE -9999. then var_model_init[g=my_time_counter@asn] else (-1e34)
63let mytime=t[gt=my_time_counter]
64let first_year= `tax_datestring(mytime[l=@min],mytime,"years")`
65let last_year= `tax_datestring(mytime[l=@max],mytime,"years")`
66define axis/t="1-JAN-`first_year` 00:00":"1-JAN-`last_year+1` 00:00":1/units=hour/cal=gregorian/edges hourly
67define axis/t="1-JAN-`first_year` 00:00":"1-JAN-`last_year+1` 00:00":1/units=day/cal=gregorian/edges daily
68go def_monthaxis_days.jnl gregorian first_year last_year monthly
69let nbyears=last_year-first_year+1
70let indices_year = L[L=1:`1+nbyears`]
71let year = first_year + INT((indices_year-1))
72define axis/units="days"/T0="01-JAN-`first_year`"/edges/cal="GREGORIAN" yearly = DAYS1900(year,1,1)-DAYS1900(`first_year`,1,1)
73let p=tsequence(var_obs_decomp_($03)[d=`d_obs`])
74let q=tsequence(var_model_decomp_($03)[k=@sum])
75go variance
76let correl_eval=CORREL[d=`d_eval`]
77let correl_ref=CORREL[d=`d_ref`]
78
79list/file=stat_($06)_($07)_($08)_($05)_($03).csv/norowlab/append/nohead id_site,norm_std[d=`d_eval`],`correl_eval,p=7`,bias_($03)[d=`d_eval`,l=@ave],norm_std[d=`d_ref`],`correl_ref,p=7`,bias_($03)[d=`d_ref`,l=@ave]
80
81
82CANCEL DATA/ALL
Note: See TracBrowser for help on using the repository browser.