[gradsusr] Writing .ctl file

David Stanfel dstanfel at ualberta.ca
Wed Jul 23 13:23:01 EDT 2014


Also, how do you determine the CACHESIZE?

Thanks,

David


On Tue, Jul 22, 2014 at 11:05 PM, David Stanfel <dstanfel at ualberta.ca>
wrote:

> 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/20140723/8f90418b/attachment-0001.html 


More information about the gradsusr mailing list