24小时热门版块排行榜    

查看: 810  |  回复: 6
当前主题已经存档。

liuzf406

木虫 (著名写手)

[交流] 【求助】如何用matlab建立NetCDF文件

如何用matlab建立NetCDF文件, 我有三维的同位素数据d18O(time,lat,lon)如txt文件,如何建立NetCDF文件.

data.txt
site               lat               lon            Date                    d18O
Chicago        41.78        -87.75        1962-01-15        -18.7
Chicago        41.78        -87.75        1962-02-15        -11.6
Chicago        41.78        -87.75        1962-03-15        -11.4
Chicago        41.78        -87.75        1962-04-15        -6.6
Chicago        41.78        -87.75        1962-05-15        -1.8
Chicago        41.78        -87.75        1962-06-15        -2.7
Chicago        41.78        -87.75        1962-07-15        -5.5
Chicago        41.78        -87.75        1962-08-15        -3.8
Chicago        41.78        -87.75        1962-09-15        -2
Chicago        41.78        -87.75        1962-10-15        -5.7
Chicago        41.78        -87.75        1962-11-15        -10.7
Chicago        41.78        -87.75        1962-12-15        -15.1
Chicago        41.78        -87.75        1963-01-15        -11
Chicago        41.78        -87.75        1963-02-15        -16.7
Chicago        41.78        -87.75        1963-03-15        -5.9
Chicago        41.78        -87.75        1963-04-15        -6.2
Chicago        41.78        -87.75        1963-05-15        -1.8
Chicago        41.78        -87.75        1963-06-15        0.9
Chicago        41.78        -87.75        1963-07-15        -4.3
Chicago        41.78        -87.75        1963-08-15        -1.8
Chicago        41.78        -87.75        1963-09-15        -2.2
Chicago        41.78        -87.75        1963-10-15        -1.2
Chicago        41.78        -87.75        1963-11-15        -15.6
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xinmeng8803(金币+2):感谢回复i! 2010-03-11 09:17
我没有做过这样的工作,我是经常读netcdf文件,在matlab里面

你可以看看netcdf帮助,其实很详细的

%An example to generate an nc  file

% ---------------------------- DEFINE THE FILE --------------------------- %

ncquiet                                              % No NetCDF warnings.

nc = netcdf('ncexample.nc', 'clobber');              % Create NetCDF file,输入文件名.

nc.description = 'NetCDF Example';                   % Global attributes,基本信息.
nc.author = 'Dr. Charles R. Denham';
nc.date = 'June 9, 1997';

nc('latitude') = 10;                                 % Define dimensions,数组维数.
nc('longitude') = 10;

nc{'latitude'} = 'latitude';                         % Define variables,定义变量.
nc{'longitude'} = 'longitude';
nc{'depth'} = {'latitude', 'longitude'};

nc{'latitude'}.units = 'degrees';                    % Attributes,单位信息.
nc{'longitude'}.units = 'degrees';
nc{'depth'}.units = 'meters';

% ---------------------------- STORE THE DATA ---------------------------- %

latitude = [0 10 20 30 40 50 60 70 80 90];           % Matlab data,变量数值.
longitude = [0 20 40 60 80 100 120 140 160 180];
depth = rand(length(latitude), length(longitude));

nc{'latitude'}( = latitude;                        % Put all the data,对nc文件赋各变量的值.
nc{'longitude'}( = longitude;
nc{'depth'}( = depth;

nc = close(nc);                                      % Close the file,关闭文件.

% ---------------------------- RECALL THE DATA ---------------------------%读文件

nc = netcdf('ncexample.nc', 'nowrite');              % Open NetCDF file.
description = nc.description(                      % Global attribute.
variables = var(nc);                                 % Get variable data.
for i = 1:length(variables)
   disp([name(variables{i}) ' =']), disp(' ')
   disp(variables{i}()
end
nc = close(nc);                                      % Close the file.

% --------------------------------- DONE --------------------------------- %
2楼2010-03-11 08:40:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

引用回帖:
Originally posted by 所里的 at 2010-03-11 08:40:28:
我没有做过这样的工作,我是经常读netcdf文件,在matlab里面

你可以看看netcdf帮助,其实很详细的

%An example to generate an nc  file

% ---------------------------- DEFINE THE FILE ------------- ...

谢谢啊,我用的是matlab r2009b, 里面已经有NetCDF tools, 可惜不会用.
3楼2010-03-11 08:59:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

您好,如何将我的d18O数据读入所建的.nc文件啊? 谢谢!
4楼2010-03-11 09:07:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
matlab 2009我没有用过啊
不过我想应该不难,都出tool了,你仔细看看matlab的帮助,应该是有的
你在命令窗口输入 doc netcdf

试试,可能是英文,不要紧,慢慢看,慢慢摸索,
搞清楚一个,以后搞什么都方便了

不过估计你是高手,所以我失礼了
5楼2010-03-11 11:56:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuzf406

木虫 (著名写手)

clear
%define axis
X=40.5:42.5;
Y=-88.5:-86.5;
T=169:372; %time period 1/1962:12/1979
%Creat netcdf file
ncid = netcdf.create('Isotope.nc','NC_WRITE');
%Define the dimensions of the variables
latdimID = netcdf.defDim(ncid,'lat',length(X));
londimID = netcdf.defDim(ncid,'lon',length(Y));
timedimID = netcdf.defDim(ncid,'time',length(T));
% Define a new variable named 'monthlyIso'in the file
isovarid = netcdf.defVar(ncid,'monthlyIso','NC_DOUBLE',[latdimID londimID timedimID]);
% Assign unit attributes
netcdf.putAtt(ncid,isovarid,'units','per mil');
netcdf.endDef(ncid);
netcdf.putVar(ncid,isovarid,mydata);
netcdf.close(ncid);

试了试,可是不对啊.
6楼2010-03-11 23:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

所里的

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
应该是4维吧,我不太会用2009版本
但是从你的代码看,似乎没有你的X Y T的输入

少了第4维
7楼2010-03-12 15:40:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liuzf406 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] filecode +7 布布和一二 2026-08-06 10/500 2026-08-06 16:22 by janehuiminli
[基金申请] 听说今天filecode变了 +3 布布和一二 2026-08-06 3/150 2026-08-06 16:22 by yq199112088
[基金申请] filecode +8 等待解的谜 2026-08-06 12/600 2026-08-06 16:11 by janehuiminli
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +4 Tide man 2026-08-06 5/250 2026-08-06 16:08 by janehuiminli
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见