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