555 |
555 |
556 ;************************************************************ |
556 ;************************************************************ |
557 ; compute annual cycle correlation coef and M score |
557 ; compute annual cycle correlation coef and M score |
558 ;************************************************************ |
558 ;************************************************************ |
559 |
559 |
560 score_max = 1. |
560 ;score_max = 1. |
|
561 score_max = (/6., 0., 9., 9., 6., 0./) |
561 |
562 |
562 ccr = new ((/nstation, nfield/),float) |
563 ccr = new ((/nstation, nfield/),float) |
563 M_score = new ((/nstation, nfield/),float) |
564 M_score = new ((/nstation, nfield/),float) |
564 |
565 |
565 do n=0,nstation-1 |
566 do n=0,nstation-1 |
566 do m=0,nfield-1 |
567 do m=0,nfield-1 |
567 ccr(n,m) = esccr(data_ob_ann(m,:,n),data_mod_ann(m,:,n),0) |
568 ccr(n,m) = esccr(data_ob_ann(m,:,n),data_mod_ann(m,:,n),0) |
568 bias = sum(abs(data_mod_ann(m,:,n)-data_ob_ann(m,:,n))/(abs(data_mod_ann(m,:,n))+abs(data_ob_ann(m,:,n)))) |
569 bias = sum(abs(data_mod_ann(m,:,n)-data_ob_ann(m,:,n))/(abs(data_mod_ann(m,:,n))+abs(data_ob_ann(m,:,n)))) |
569 M_score(n,m) = (1. -(bias/nmonth)) * score_max |
570 M_score(n,m) = (1. -(bias/nmonth)) * score_max(m) |
570 end do |
571 end do |
571 end do |
572 end do |
572 |
573 |
573 M_nee = avg(M_score(:,0)) |
574 M_nee = avg(M_score(:,0)) |
574 M_rad = avg(M_score(:,1)) |
575 M_rad = avg(M_score(:,1)) |