[gradsusr] Writing .ctl file
David Stanfel
dstanfel at ualberta.ca
Wed Jul 23 01:05:27 EDT 2014
Hello,
I just ran a climate model which produced some .nc files. I am having
trouble writing the .ctl file to read said .nc files. Here is the ncdump -c
for one of the files I am trying to read:
dstanfel:bin ninjawarrior343$ ncdump -c 19800101.ocean_layer.nc
netcdf \19800101.ocean_layer {
dimensions:
grid_xt_ocean = 24 ;
grid_yt_ocean = 35 ;
theta = 100 ;
theta_edges = 101 ;
Time = UNLIMITED ; // (1 currently)
nv = 2 ;
xt_ocean = 24 ;
yt_ocean = 35 ;
st_ocean = 18 ;
st_edges_ocean = 19 ;
potrho = 100 ;
potrho_edges = 101 ;
variables:
double grid_xt_ocean(grid_xt_ocean) ;
grid_xt_ocean:long_name = "tcell longitude" ;
grid_xt_ocean:units = "degrees_E" ;
grid_xt_ocean:cartesian_axis = "X" ;
double grid_yt_ocean(grid_yt_ocean) ;
grid_yt_ocean:long_name = "tcell latitude" ;
grid_yt_ocean:units = "degrees_N" ;
grid_yt_ocean:cartesian_axis = "Y" ;
double theta(theta) ;
theta:long_name = "potential or conservative temperature" ;
theta:units = "C" ;
theta:cartesian_axis = "Z" ;
theta:positive = "up" ;
theta:edges = "theta_edges" ;
double theta_edges(theta_edges) ;
theta_edges:long_name = "potential or conservative temperature edges" ;
theta_edges:units = "C" ;
theta_edges:cartesian_axis = "Z" ;
theta_edges:positive = "up" ;
double Time(Time) ;
Time:long_name = "Time" ;
Time:units = "days since 1980-01-01 00:00:00" ;
Time:cartesian_axis = "T" ;
Time:calendar_type = "NOLEAP" ;
Time:calendar = "NOLEAP" ;
Time:bounds = "Time_bounds" ;
double nv(nv) ;
nv:long_name = "vertex number" ;
nv:units = "none" ;
nv:cartesian_axis = "N" ;
double xt_ocean(xt_ocean) ;
xt_ocean:long_name = "tcell longitude" ;
xt_ocean:units = "degrees_E" ;
xt_ocean:cartesian_axis = "X" ;
double yt_ocean(yt_ocean) ;
yt_ocean:long_name = "tcell latitude" ;
yt_ocean:units = "degrees_N" ;
yt_ocean:cartesian_axis = "Y" ;
double st_ocean(st_ocean) ;
st_ocean:long_name = "tcell pstar" ;
st_ocean:units = "dbars" ;
st_ocean:cartesian_axis = "Z" ;
st_ocean:positive = "down" ;
st_ocean:edges = "st_edges_ocean" ;
double st_edges_ocean(st_edges_ocean) ;
st_edges_ocean:long_name = "tcell pstar edges" ;
st_edges_ocean:units = "dbars" ;
st_edges_ocean:cartesian_axis = "Z" ;
st_edges_ocean:positive = "down" ;
double potrho(potrho) ;
potrho:long_name = "potential density" ;
potrho:units = "kg/m^3" ;
potrho:cartesian_axis = "Z" ;
potrho:positive = "down" ;
potrho:edges = "potrho_edges" ;
double potrho_edges(potrho_edges) ;
potrho_edges:long_name = "potential density edges" ;
potrho_edges:units = "kg/m^3" ;
potrho_edges:cartesian_axis = "Z" ;
potrho_edges:positive = "down" ;
float depth_of_theta(Time, theta, grid_yt_ocean, grid_xt_ocean) ;
depth_of_theta:long_name = "depth of potential temp surface" ;
depth_of_theta:units = "m" ;
depth_of_theta:valid_range = 0.f, 1.e+10f ;
depth_of_theta:missing_value = -1.e+20f ;
depth_of_theta:_FillValue = -1.e+20f ;
depth_of_theta:cell_methods = "time: mean" ;
depth_of_theta:time_avg_info = "average_T1,average_T2,average_DT" ;
float rho(Time, st_ocean, yt_ocean, xt_ocean) ;
rho:long_name = "in situ density" ;
rho:units = "kg/m^3" ;
rho:valid_range = -10.f, 100000.f ;
rho:missing_value = -1.e+20f ;
rho:_FillValue = -1.e+20f ;
rho:cell_methods = "time: mean" ;
rho:time_avg_info = "average_T1,average_T2,average_DT" ;
rho:coordinates = "geolon_t geolat_t" ;
float neutral_rho(Time, st_ocean, yt_ocean, xt_ocean) ;
neutral_rho:long_name = "potential density estimate of neutral density" ;
neutral_rho:units = "kg/m^3" ;
neutral_rho:valid_range = -10.f, 100000.f ;
neutral_rho:missing_value = -1.e+20f ;
neutral_rho:_FillValue = -1.e+20f ;
neutral_rho:cell_methods = "time: mean" ;
neutral_rho:time_avg_info = "average_T1,average_T2,average_DT" ;
neutral_rho:coordinates = "geolon_t geolat_t" ;
float pot_rho_0(Time, st_ocean, yt_ocean, xt_ocean) ;
pot_rho_0:long_name = "potential density referenced to 0 dbar" ;
pot_rho_0:units = "kg/m^3" ;
pot_rho_0:valid_range = -10.f, 100000.f ;
pot_rho_0:missing_value = -1.e+20f ;
pot_rho_0:_FillValue = -1.e+20f ;
pot_rho_0:cell_methods = "time: mean" ;
pot_rho_0:time_avg_info = "average_T1,average_T2,average_DT" ;
pot_rho_0:coordinates = "geolon_t geolat_t" ;
pot_rho_0:standard_name = "sea_water_potential_density" ;
float salt_on_rho(Time, potrho, grid_yt_ocean, grid_xt_ocean) ;
salt_on_rho:long_name = "salt on potential density surface" ;
salt_on_rho:units = "psu" ;
salt_on_rho:valid_range = 0.f, 1000.f ;
salt_on_rho:missing_value = -1.e+20f ;
salt_on_rho:_FillValue = -1.e+20f ;
salt_on_rho:cell_methods = "time: mean" ;
salt_on_rho:time_avg_info = "average_T1,average_T2,average_DT" ;
float potrho_mix_depth(Time, yt_ocean, xt_ocean) ;
potrho_mix_depth:long_name = "Depth of potential density mixed layer" ;
potrho_mix_depth:units = "m" ;
potrho_mix_depth:valid_range = -1000000.f, 1000000.f ;
potrho_mix_depth:missing_value = -1.e+20f ;
potrho_mix_depth:_FillValue = -1.e+20f ;
potrho_mix_depth:cell_methods = "time: mean" ;
potrho_mix_depth:time_avg_info = "average_T1,average_T2,average_DT" ;
potrho_mix_depth:coordinates = "geolon_t geolat_t" ;
float potrho_mix_base(Time, yt_ocean, xt_ocean) ;
potrho_mix_base:long_name = "Potential density at mixed layer base" ;
potrho_mix_base:units = "kg/m^3" ;
potrho_mix_base:valid_range = -1000000.f, 1000000.f ;
potrho_mix_base:missing_value = -1.e+20f ;
potrho_mix_base:_FillValue = -1.e+20f ;
potrho_mix_base:cell_methods = "time: mean" ;
potrho_mix_base:time_avg_info = "average_T1,average_T2,average_DT" ;
potrho_mix_base:coordinates = "geolon_t geolat_t" ;
float press(Time, st_ocean, yt_ocean, xt_ocean) ;
press:long_name = "absolute pressure" ;
press:units = "dbar" ;
press:valid_range = -10.f, 1000000.f ;
press:missing_value = -1.e+20f ;
press:_FillValue = -1.e+20f ;
press:cell_methods = "time: mean" ;
press:time_avg_info = "average_T1,average_T2,average_DT" ;
press:coordinates = "geolon_t geolat_t" ;
float mld(Time, yt_ocean, xt_ocean) ;
mld:long_name = "mixed layer depth determined by density criteria" ;
mld:units = "m" ;
mld:valid_range = 0.f, 1000000.f ;
mld:missing_value = -1.e+20f ;
mld:_FillValue = -1.e+20f ;
mld:cell_methods = "time: mean" ;
mld:time_avg_info = "average_T1,average_T2,average_DT" ;
mld:coordinates = "geolon_t geolat_t" ;
mld:standard_name = "ocean_mixed_layer_thickness_defined_by_sigma_t" ;
double average_T1(Time) ;
average_T1:long_name = "Start time for average period" ;
average_T1:units = "days since 1980-01-01 00:00:00" ;
average_T1:missing_value = 1.e+20 ;
average_T1:_FillValue = 1.e+20 ;
double average_T2(Time) ;
average_T2:long_name = "End time for average period" ;
average_T2:units = "days since 1980-01-01 00:00:00" ;
average_T2:missing_value = 1.e+20 ;
average_T2:_FillValue = 1.e+20 ;
double average_DT(Time) ;
average_DT:long_name = "Length of average period" ;
average_DT:units = "days" ;
average_DT:missing_value = 1.e+20 ;
average_DT:_FillValue = 1.e+20 ;
double Time_bounds(Time, nv) ;
Time_bounds:long_name = "Time axis boundaries" ;
Time_bounds:units = "days" ;
Time_bounds:missing_value = 1.e+20 ;
Time_bounds:_FillValue = 1.e+20 ;
// global attributes:
:filename = "ocean_layer.nc" ;
:title = "MOM4 box" ;
:grid_type = "regular" ;
:grid_tile = "N/A" ;
data:
grid_xt_ocean = 1.25, 3.75, 6.25, 8.75, 11.25, 13.75, 16.25, 18.75, 21.25,
23.75, 26.25, 28.75, 31.25, 33.75, 36.25, 38.75, 41.25, 43.75, 46.25,
48.75, 51.25, 53.75, 56.25, 58.75 ;
grid_yt_ocean = 1.25, 3.7488100528717, 6.2393012046814, 8.71919345855713,
11.1815176010132, 13.6242818832397, 16.0408229827881, 18.4296073913574,
20.784387588501, 23.1042194366455, 25.3833503723145, 27.6215190887451,
29.813497543335, 31.9597606658936, 34.0555992126465, 36.1022338867188,
38.0954322814941, 40.0371551513672, 41.9235687255859, 43.7573394775391,
45.5349464416504, 47.259708404541, 48.9283294677734, 50.5447235107422,
52.1057090759277, 53.6157531738281, 55.0716934204102, 56.4785079956055,
57.8329429626465, 59.1404571533203, 60.3976211547852, 61.6103477478027,
62.7749481201172, 63.8977813720703, 64.9748153686523 ;
theta = -1.84, -1.52, -1.2, -0.88, -0.56, -0.24, 0.0800000000000003, 0.4,
0.72, 1.04, 1.36, 1.68, 2, 2.32, 2.64, 2.96, 3.28, 3.6, 3.92, 4.24,
4.56,
4.88, 5.2, 5.52, 5.84, 6.16, 6.48, 6.8, 7.12, 7.44, 7.76, 8.08, 8.4,
8.72, 9.04, 9.36, 9.68000000000001, 10, 10.32, 10.64, 10.96, 11.28,
11.6,
11.92, 12.24, 12.56, 12.88, 13.2, 13.52, 13.84, 14.16, 14.48, 14.8,
15.12, 15.44, 15.76, 16.08, 16.4, 16.72, 17.04, 17.36, 17.68, 18,
18.32,
18.64, 18.96, 19.28, 19.6, 19.92, 20.24, 20.56, 20.88, 21.2, 21.52,
21.84, 22.16, 22.48, 22.8, 23.12, 23.44, 23.76, 24.08, 24.4, 24.72,
25.04, 25.36, 25.68, 26, 26.32, 26.64, 26.96, 27.28, 27.6, 27.92,
28.24,
28.56, 28.88, 29.2, 29.52, 29.84 ;
theta_edges = 1028, 1028.1, 1028.2, 1028.3, 1028.4, 1028.5, 1028.6,
1028.7,
1028.8, 1028.9, 1029, 1029.1, 1029.2, 1029.3, 1029.4, 1029.5, 1029.6,
1029.7, 1029.8, 1029.9, 1030, 1030.1, 1030.2, 1030.3, 1030.4, 1030.5,
1030.6, 1030.7, 1030.8, 1030.9, 1031, 1031.1, 1031.2, 1031.3, 1031.4,
1031.5, 1031.6, 1031.7, 1031.8, 1031.9, 1032, 1032.1, 1032.2, 1032.3,
1032.4, 1032.5, 1032.6, 1032.7, 1032.8, 1032.9, 1033, 1033.1, 1033.2,
1033.3, 1033.4, 1033.49999999999, 1033.59999999999, 1033.69999999999,
1033.79999999999, 1033.89999999999, 1033.99999999999, 1034.09999999999,
1034.19999999999, 1034.29999999999, 1034.39999999999, 1034.49999999999,
1034.59999999999, 1034.69999999999, 1034.79999999999, 1034.89999999999,
1034.99999999999, 1035.09999999999, 1035.19999999999, 1035.29999999999,
1035.39999999999, 1035.49999999999, 1035.59999999999, 1035.69999999999,
1035.79999999999, 1035.89999999999, 1035.99999999999, 1036.09999999999,
1036.19999999999, 1036.29999999999, 1036.39999999999, 1036.49999999999,
1036.59999999999, 1036.69999999999, 1036.79999999999, 1036.89999999999,
1036.99999999999, 1037.09999999999, 1037.19999999999, 1037.29999999999,
1037.39999999999, 1037.49999999999, 1037.59999999999, 1037.69999999999,
1037.79999999999, 1037.89999999999, 1037.99999999999 ;
Time = 2 ;
nv = 1, 2 ;
xt_ocean = 1.25, 3.75, 6.25, 8.75, 11.25, 13.75, 16.25, 18.75, 21.25,
23.75,
26.25, 28.75, 31.25, 33.75, 36.25, 38.75, 41.25, 43.75, 46.25, 48.75,
51.25, 53.75, 56.25, 58.75 ;
yt_ocean = 1.25, 3.7488100528717, 6.2393012046814, 8.71919345855713,
11.1815176010132, 13.6242818832397, 16.0408229827881, 18.4296073913574,
20.784387588501, 23.1042194366455, 25.3833503723145, 27.6215190887451,
29.813497543335, 31.9597606658936, 34.0555992126465, 36.1022338867188,
38.0954322814941, 40.0371551513672, 41.9235687255859, 43.7573394775391,
45.5349464416504, 47.259708404541, 48.9283294677734, 50.5447235107422,
52.1057090759277, 53.6157531738281, 55.0716934204102, 56.4785079956055,
57.8329429626465, 59.1404571533203, 60.3976211547852, 61.6103477478027,
62.7749481201172, 63.8977813720703, 64.9748153686523 ;
st_ocean = 17.75025, 53.25075, 88.75125, 124.25175, 159.75225, 195.25275,
230.75325, 266.25375, 314.34159289856, 399.171716592407,
541.922400494385, 759.079548358154, 1061.10117883301, 1451.56990550537,
1926.90292906494, 2476.64250944824, 3084.30280480957, 3728.70522619629 ;
st_edges_ocean = 0, 35.5005, 71.001, 106.5015, 142.002, 177.5025, 213.003,
248.5035, 290.29765597229, 356.756654745483, 470.547043066406,
650.50097442627, 910.090332641602, 1256.33548026123, 1689.23641728516,
2201.77290498047, 2780.47265712891, 3406.50401550293, 4057.20024763184 ;
potrho = 1028.05, 1028.15, 1028.25, 1028.35, 1028.45, 1028.55, 1028.65,
1028.75, 1028.85, 1028.95, 1029.05, 1029.15, 1029.25, 1029.35, 1029.45,
1029.55, 1029.65, 1029.75, 1029.85, 1029.95, 1030.05, 1030.15, 1030.25,
1030.35, 1030.45, 1030.55, 1030.65, 1030.75, 1030.85, 1030.95, 1031.05,
1031.15, 1031.25, 1031.35, 1031.45, 1031.55, 1031.65, 1031.75, 1031.85,
1031.95, 1032.05, 1032.15, 1032.25, 1032.35, 1032.45, 1032.55, 1032.65,
1032.75, 1032.85, 1032.95, 1033.05, 1033.15, 1033.25, 1033.35, 1033.45,
1033.54999999999, 1033.64999999999, 1033.74999999999, 1033.84999999999,
1033.94999999999, 1034.04999999999, 1034.14999999999, 1034.24999999999,
1034.34999999999, 1034.44999999999, 1034.54999999999, 1034.64999999999,
1034.74999999999, 1034.84999999999, 1034.94999999999, 1035.04999999999,
1035.14999999999, 1035.24999999999, 1035.34999999999, 1035.44999999999,
1035.54999999999, 1035.64999999999, 1035.74999999999, 1035.84999999999,
1035.94999999999, 1036.04999999999, 1036.14999999999, 1036.24999999999,
1036.34999999999, 1036.44999999999, 1036.54999999999, 1036.64999999999,
1036.74999999999, 1036.84999999999, 1036.94999999999, 1037.04999999999,
1037.14999999999, 1037.24999999999, 1037.34999999999, 1037.44999999999,
1037.54999999999, 1037.64999999999, 1037.74999999999, 1037.84999999999,
1037.94999999999 ;
potrho_edges = 1028, 1028.1, 1028.2, 1028.3, 1028.4, 1028.5, 1028.6,
1028.7,
1028.8, 1028.9, 1029, 1029.1, 1029.2, 1029.3, 1029.4, 1029.5, 1029.6,
1029.7, 1029.8, 1029.9, 1030, 1030.1, 1030.2, 1030.3, 1030.4, 1030.5,
1030.6, 1030.7, 1030.8, 1030.9, 1031, 1031.1, 1031.2, 1031.3, 1031.4,
1031.5, 1031.6, 1031.7, 1031.8, 1031.9, 1032, 1032.1, 1032.2, 1032.3,
1032.4, 1032.5, 1032.6, 1032.7, 1032.8, 1032.9, 1033, 1033.1, 1033.2,
1033.3, 1033.4, 1033.49999999999, 1033.59999999999, 1033.69999999999,
1033.79999999999, 1033.89999999999, 1033.99999999999, 1034.09999999999,
1034.19999999999, 1034.29999999999, 1034.39999999999, 1034.49999999999,
1034.59999999999, 1034.69999999999, 1034.79999999999, 1034.89999999999,
1034.99999999999, 1035.09999999999, 1035.19999999999, 1035.29999999999,
1035.39999999999, 1035.49999999999, 1035.59999999999, 1035.69999999999,
1035.79999999999, 1035.89999999999, 1035.99999999999, 1036.09999999999,
1036.19999999999, 1036.29999999999, 1036.39999999999, 1036.49999999999,
1036.59999999999, 1036.69999999999, 1036.79999999999, 1036.89999999999,
1036.99999999999, 1037.09999999999, 1037.19999999999, 1037.29999999999,
1037.39999999999, 1037.49999999999, 1037.59999999999, 1037.69999999999,
1037.79999999999, 1037.89999999999, 1037.99999999999 ;
}
I am having trouble deciding which will be the xdef, ydef, zdef, and tdef
values. Also, how do I find what UNDEF number to use. Your help will be
greatly appreciated.
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140722/88dd33ec/attachment-0001.html
More information about the gradsusr
mailing list