all/11.ameriflux.ncl
changeset 1 4be95183fbcd
parent 0 0c6405ab2ff4
equal deleted inserted replaced
0:d279dc452c60 1:d67626620d5b
   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))