def start(date_from_changed, date_to_changed, isCrossValidation): f = open('log_universal.txt', 'w') #INTERPOLATE global date_to global date_from global sate_lite_deri global sate_lite_value date_from = date_from_changed date_to = date_to_changed print date_from, date_to list_all_station = getAllObservation() sate_lite_deri, z_sate_to_surface = getSateliteDeriMap() print z_sate_to_surface global sate_lite_value sate_lite_value = get_sate_lite_value(date_to, z_sate_to_surface) #shulf for ten-fold cross validation if isCrossValidation: shuff_dic = slide(FOLD, list_all_station) se = 0 se_satelite = 0 se_sate_count = 0 for x in xrange(0,len(shuff_dic)): print str(FOLD) + '-FOLD: '+ str(x) +' -------------------------' #for item in shuff_dic[x]: # print item, '\n' se_normal, se_sate_i, se_sate_count_i = main_program(shuff_dic[x], isCrossValidation) se = se + se_normal if se_sate_i != 0: se_satelite = se_satelite + se_sate_i se_sate_count = se_sate_count + se_sate_count_i if se_sate_count != 0: print 'LOOP SE: ', str(se/(x+1)), 'SE_SATE: ', str(se_satelite/se_sate_count) print 'SE: ', str(se/FOLD), 'SE_SATE: ', str(se_satelite/se_sate_count) f.write('SE: ' + str(se/FOLD) + '\n') f.write('SE_SATE: '+ str(se_satelite/se_sate_count)) else: item = [[], reIndex(list_all_station)] #item = [[], list_all_station] main_program(item, isCrossValidation) f.close()
point = (minLat + i*shift,minLon + j*shift) f.write(str(i)+' '+ str(j)+ ':'+ str(point) +'\n') #if isInVietnam(point): result[i][j], derivation[i][j] = krigeOne(point, neighbor, list_all_station, list_data, G, D) trendValue = getTrendValue(trend_curve, point[0], point[1]) #print trendValue result[i][j] = result[i][j] + trendValue #exportGeotiff('filename', raster, row, col, shift, minLon, minLat) if isCrossValidation == False: exportGeotiff('t08_GEOTIFF_simple_kriging_one_model', result, row, col, shift, minLon, minLat ) saveAsPng(result) saveAsPng(derivation) if isCrossValidation: return calculateSE(result, list_all_test, minLat, minLon, shift, date_to) #INTERPOLATE isCrossValidation = False list_all_station = getAllObservation() #shulf for ten-fold cross validation if isCrossValidation: shuff_dic = slide(10, list_all_station) se = 0 for x in xrange(0,len(shuff_dic)): se = se + main_program(shuff_dic[x], isCrossValidation) print str(se/10) f.write('SE: ' + str(se/10) + '\n') else: item = [[], list_all_station] main_program(item, isCrossValidation) f.close()