科研数据集01---CPC土壤水模型
目前在水文研究中,土壤水通常是由各类模型提供的。CPC Soil Moisture V2土壤水数据可以从美国NOAA的网站下载,该数据集每月发布,时间覆盖目前是1948年1月至2022年9月,没有数据GAP,而且每月均在更新,数据的空间分辨率为720×360,覆盖范围为全球。注意的是,该数据集是由模型模拟产出的结果,而不是直接测量的结果。目前的数据版本为V2,相对于之前的版本,该数据集有很大的差异,尤其是在非洲地区。V2版本的数据同时也提供了陆地掩膜数据。请注意:
Please note: If you acquire CPC Soil Moisture V2 data products from PSL, we ask that you acknowledge us in your use of the data. This may be done by including text such as CPC Soil Moisture V2 data provided by the NOAA PSL, Boulder, Colorado, USA, from their website at https://psl.noaa.gov in any documents or publications using these data.
数据下载的官网:https://psl.noaa.gov/data/gridded/data.cpcsoil.html

如果你需要在网页端绘图,你可以点击第三个图标,即可进入在线PLOT页面,设置不同的参数即可,包括自定义范围,更改地理投影坐标。

下载好数据后,可以使用matlab进行数据读取,下面贴出读出来的变量列表
Variables:
lat
Size: 360x1
Dimensions: lat
Datatype: single
Attributes:
long_name = 'Latitude'
units = 'degrees_north'
actual_range = [89.75 -89.75]
standard_name = 'latitude'
axis = 'Y'
coordinate_defines = 'point'
lon
Size: 720x1
Dimensions: lon
Datatype: single
Attributes:
long_name = 'Longitude'
units = 'degrees_east'
actual_range = [0.25 359.75]
standard_name = 'longitude'
axis = 'X'
coordinate_defines = 'point'
soilw
Size: 720x360x897
Dimensions: lon,lat,time
Datatype: single
Attributes:
long_name = 'Model-Calculated Monthly Mean Soil Moisture'
missing_value = -9.969209968386869e+36
units = 'mm'
valid_range = [0 1000]
dataset = 'CPC Monthly Soil Moisture'
var_desc = 'Soil Moisture'
level_desc = 'Surface'
statistic = 'Monthly Mean'
parent_stat = 'Other'
standard_name = 'lwe_thickness_of_soil_moisture_content'
cell_methods = 'time: mean (monthly from values)'
actual_range = [0 9.999317862965217e+29]
time
Size: 897x1
Dimensions: time
Datatype: double
Attributes:
long_name = 'Time'
units = 'days since 1800-01-01 00:00:0.0'
delta_t = '0000-01-00 00:00:00'
avg_period = '0000-01-00 00:00:00'
standard_name = 'time'
axis = 'T'
bounds = 'time_bnds'
coordinate_defines = 'start'
prev_avg_period = '0000-00-01 00:00:00'
actual_range = [54055 81327]
关于时间变量的处理,我自己也有些不太明白,官网说的是1948年开始,而这个变量的time却显示为units = 'days since 1800-01-01 00:00:0.0',我有点迷惑,按道理不应该出现这样de 错误吧!下面开始数据读取:
我们发现结果好像不太对,原因是因为有些值太大了,需要去除。


经过修改代码后有得到正确的结果

因为原始数据提供的是从1948年1月1日起始的每月的天数,因此需要转换成年月的形式,便于后期时间序列的分析,我还编写了以下的代码:

希望对大家有所帮助!!
参考文献
Analysis of Model-Calculated Soil Moisture over the United States (1931-93) and Application to Long-Range Temperature Forecasts; Jin Huang, Huug van den Dool, and Konstantine P. Georgakakos -- from Journal of Climate, Vol.9, No.6, June 1996
Climate Prediction Center global monthly soil moisture data set at 0.5 degree resolution for 1948 to present. Yun Fan, and Huug van den Dool, J. of Geophysical Research, vol. 109, 2004, D10102, doi:10.1029/2003JD004345.