美文网首页
matlab温度平流计算函数

matlab温度平流计算函数

作者: 碧海蓝天_BLUE2016 | 来源:发表于2021-03-24 22:36 被阅读0次

    function [sstadv] = Tadv(sst,u10,v10,lat,lon)

    % 计算温度平流

    %  输入,海温,10米u,v风速 水平温度平流计算公式为 -(udt/dx+vdt/dy)

    m=size(sst);

    [X,Y] = meshgrid(lat,lon);

    for t=1:m(3)

        tt=sst(:,:,t);

        u=u10(:,:,t);

        v=v10(:,:,t);

        dtx = cdiff(tt,1); %359*180

        dty = cdiff(tt,2); %360*179

        dx = cdiff(Y,1)*pi/180;

        dy = cdiff(X,2)*pi/180;

        sstadv(:,:,t)=-1*((u.*dtx)./(cos(X*pi/180).*dx) + v.*dty./dy)./6.371e6;

    end

    function [yy] = cdiff(x,dim)

    %UNTITLED3 中央差分

    %  x(m,n)输入一个二维数组

    s=size(x);

    yy=nan(s(1),s(2));

    if dim==1

        x1=x(1:end-2,:);

        x2=x(3:end,:);

        y=x2-x1;

        yy(2:end-1,:)=y;

    else if dim==2

            x1=x(:,1:end-2);

        x2=x(:,3:end);

        y=x2-x1;

        yy(:,2:end-1)=y;

        end

    end

    end

    相关文章

      网友评论

          本文标题:matlab温度平流计算函数

          本文链接:https://www.haomeiwen.com/subject/ywekhltx.html