我有多個包含澳大利亞每日降雨量值的NetCDF文件(每年一個)。根據Python中的日期值從多個NetCDF文件中提取柵格
目前我可以通過從包含我想要的日期列表的.csv文件中讀取來提取特定的日期。然後,它將每天輸出爲一個光柵文件。
但是,我目前的腳本只允許我一次做這一年。我對python相當陌生,而不是通過更改它讀取的NetCDF文件(以及.csv文件中的日期列表)來多次重新運行腳本,我希望在創建一個文件時獲得一些幫助循環將讀取NetCDF的列表。
我知道像NetCDF4這樣的模塊可以將所有文件視爲一個文件,但儘管讀了其他人已經完成了很多小時,但我並不聰明。
這是我到目前爲止有:
import os, sys
import arcpy
# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")
arcpy.env.overwriteOutput = True
# Script arguments
netCDF = "G:\\Gridded_rain\\DAILY\\netcdf\\Daily_analysis_V3"
rainfall = "G:\\output_test\\r_"
arcpy.env.workspace = netCDF
# Read Date from csv file
eveDate = open ("G:\\selectdate_TEST1.csv", "r")
headerLine = eveDate.readline()
valueList = headerLine.split(",")
dateValueIndex = valueList.index("Date")
eventList = []
for line in eveDate.readlines():
segmenLine = line.split(",")
variable = "pre"
x_dimension = "lon"
y_dimension = "lat"
band_dimension = ""
#dimensionValues = "r_time 1900025"
valueSelectionMethod = "BY_VALUE"
outFile = "Pre"
# extract dimensionValues from csv file
arcpy.MakeNetCDFRasterLayer_md("pre.2011.nc", variable, x_dimension, y_dimension, outFile, band_dimension, segmenLine[dateValueIndex], valueSelectionMethod)
print "layer done"
#copy and save as raster tif file
arcpy.CopyRaster_management(outFile, rainfall + segmenLine[dateValueIndex] + ".tif" , "", "", "", "NONE", "NONE", "")
print "raster done"
的的NetCDF文件從pre.1900.nc通過命名來pre.2011.nc
任何幫助將不勝感激!
什麼是'dateValueIndex'的格式?併發布一些值。 – Serenity
所以我想從當前的問題散文,想要處理一個參數,並使用此變量,而不是硬編碼文字'pre.2011.nc'來訪問匹配netcdf文件或嵌入另一個循環級別(外)這種方式有點像'年份範圍(1900年,2012年):'然後消化這些文件。打開問題:參數文件是否也必須匹配?我會基於這個樣本給出一個樣本? – Dilettant