一个计算水文质量变化产生的负荷变形的Matlab代码

        地球是一个由大气圈、水圈、岩石圈组成的复杂系统,其内部发生众多的地球动力学过程,比如地震活动、火山喷发、水文负荷等,均涉及到地球在内外力作用下的变形。地球的负荷变形有着相当长的研究历史,在1911年,Love定义了两个无量纲的数h和k来表述地球的垂直位移和引力位变化。而在1912年志田补充了第三个无量纲的数l来描述水平位移。FARRELL在1972年发表的文章 Deformation of the Earth by Surface Loads系统总结了负荷计算的发展历史,通过数值积分计算了更高阶的Love数和Boussinesq近似道出了高阶渐近解,并基于渐近解、圆盘因子、Kummer变换等方法来加速格林函数尤其在近场中计算的收敛速度,首次得到完整的格林函数表,用其来表述位移、重力、倾斜、应变等物理量。

        我们知道,地表的质量变化会导致重力变化,这可以由GRACE重力卫星观测得到。而质量的重新分布,则会对地球产生负荷变形。有研究指出,流域水量变化(三峡水库蓄水)、冰川消融、地下水亏损等均会产生符合变形。本小结利用Pan et al.(2000, JGR)的文章Intradecadal Fluctuations and Three-Dimensional Crustal Kinematic Deformation of the Tianshan and Pamir Derived From Multi-Geodetic Imaging里面提供的开源Matlab代码计算CPC土壤水变化对地表产生的垂直、北向、东向位移。原始函数下载地址:水文负荷计算

% Chistrong Wen
% UCAS
% 2023-3-19
% GreensFunction = load('farrell_disp_Green.txt');
grid_EWH_m = (CPC_SOIL.soil(:,:,10)-CPC_SOIL.soil(:,:,9))/1000;
%% 70:75;35:40;
lon = 65:1:90;
lat = 35:1:50;
[lon,lat] = meshgrid(lon,lat);
load.lon = lon;
load.lat = lat;
% for i = 1:16
%     if(i == 1)
%         disp(['total iteration:',num2str(70*40)])
%     end
%     for j = 1:26
%         gps_lon = lon(i,j);
%         gps_lat = lat(i,j);
%         dense_factor = 10;
%         window_radius = 50;
%         [loading_meter_u_global(i,j),loading_meter_n_global(i,j),loading_meter_e_global(i,j)] = get_mascon2loading_scatter_Dense_Global(GreensFunction,grid_EWH_m,gps_lon,gps_lat,dense_factor,window_radius);
%         disp(j)
%     end
% end
load.rg = loading_meter_u_global.*1000;
cpc.lon = CPC_SOIL.lon;
cpc.lat = CPC_SOIL.lat;
cpc.rg  = grid_EWH_m*1000; %mm
subplot(2,2,1)
wzq_plot(cpc)
caxis([-100,100]),xlabel('Lon'),ylabel('Lat'),title('Soil moisture change')
colorbar
xlim([65,90]);ylim([35,50])
subplot(2,2,2)
wzq_plot(load),xlabel('Lon'),ylabel('Lat'),title('vertival deformation')
colorbar
subplot(2,2,3)
load.rg = loading_meter_n_global.*1000;
wzq_plot(load),xlabel('Lon'),ylabel('Lat'),title('Northward deformation')
colorbar
subplot(2,2,4)
load.rg = loading_meter_e_global.*1000;
wzq_plot(load),xlabel('Lon'),ylabel('Lat'),title('Eastward deformation')
colorbar

计算的结果:

一个计算水文质量变化产生的负荷变形的Matlab代码_第1张图片

 

你可能感兴趣的:(matlab,开发语言,学习)