Skip to content

Instantly share code, notes, and snippets.

@etoyoda
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save etoyoda/1ad78c1df01126c3e731 to your computer and use it in GitHub Desktop.
Save etoyoda/1ad78c1df01126c3e731 to your computer and use it in GitHub Desktop.
NetCDF CDL sample for hydrological (flood simulation) data
netcdf BP001 {
dimensions:
//lon = 519;
lon = 13;
//lat = 623;
lat = 17;
time = 39;
nv = 2;
bp = 1;
ctime = 1;
depth_threshold = 4;
meshcode_level = 2;
strlen = 16;
variables:
double lon(lon);
lon:standard_name = "longitude";
lon:long_name = "経度";
lon:units = "degrees_east";
double lat(lat);
lat:standard_name = "latitude";
lat:long_name = "緯度";
lat:units = "degrees_north";
short time(time);
time:standard_name = "time";
time:long_name = "時間";
time:units = "minute since 1-1-1 0:0:0";
time:calendar = "none";
short depth(time, lat, lon);
depth:standard_name = "flood_water_thickness";
depth:long_name = "浸水深";
depth:units = "m";
depth:add_offset = 0.0;
depth:scale_factor = 0.001;
depth:valid_min = 0.0;
depth:cell_methods = "time: point";
short speed(time, lat, lon);
speed:standard_name = "flood_water_speed";
speed:long_name = "流速";
speed:units = "m/s";
speed:add_offset = 0.0;
speed:scale_factor = 0.001;
speed:valid_min = 0.0;
speed:cell_methods = "time: point";
short u(time, lat, lon);
u:standard_name = "eastward_flood_water_velocity";
u:long_name = "東西方向流速";
u:units = "m/s";
u:add_offset = 0.0;
u:scale_factor = 0.001;
u:cell_methods = "time: point";
short v(time, lat, lon);
v:standard_name = "northward_flood_water_velocity";
v:long_name = "南北方向流速";
v:units = "m/s";
v:add_offset = 0.0;
v:scale_factor = 0.001;
v:cell_methods = "time: point";
double ctimebnd(ctime, nv);
ctimebnd:standard_name = "time";
ctimebnd:long_name = "氾濫計算期間の両端";
ctimebnd:units = "minute since 1-1-1 0:0:0";
double ctime(ctime);
ctime:standard_name = "time";
ctime:long_name = "氾濫計算期間についての最大";
ctime:units = "minute since 1-1-1 0:0:0";
ctime:bounds = "ctimebnd";
ctime:calendar = "none";
int bpbnd(bp, nv);
bpbnd:standard_name = "realization";
bpbnd:long_name = "破堤点番号の両端";
bpbnd:units = "1";
int bp(bp);
bp:standard_name = "realization";
bp:long_name = "破堤点番号についての最大";
bp:bounds = "bpbnd";
bp:units = "1";
short depthMax(ctime, bp, lat, lon);
depthMax:standard_name = "flood_water_thickness";
depthMax:long_name = "最大浸水深";
depthMax:units = "m";
depthMax:add_offset = 0.0;
depthMax:scale_factor = 0.001;
depthMax:valid_min = 0.0;
depthMax:cell_methods = "ctime: maximum bp: maximum";
short speedMax(ctime, bp, lat, lon);
speedMax:standard_name = "flood_water_speed";
speedMax:long_name = "最大流速";
speedMax:units = "m/s";
speedMax:add_offset = 0.0;
speedMax:scale_factor = 0.001;
speedMax:valid_min = 0.0;
speedMax:cell_methods = "ctime: maximum bp: maximum";
float glev(lat, lon);
glev:standard_name = "ground_level_altitude";
glev:long_name = "地盤高標高";
glev:units = "m";
glev:valid_min = -100.0f;
int tArrival(lat, lon);
tArrival:coordinates = "depth_threshold0";
tArrival:standard_name = "time_when_flood_water_rises_above_threshold";
tArrival:long_name = "浸水開始時間";
tArrival:units = "minute";
tArrival:valid_min = 0;
int tMax(lat, lon);
tMax:standard_name = "time_of_maximum_flood_depth";
tMax:long_name = "最大浸水発生時間";
tMax:units = "minute";
tMax:valid_min = 0;
float depth_threshold(depth_threshold);
depth_threshold:standard_name = "flood_water_thickness";
depth_threshold:long_name = "排水時間のしきい値浸水深";
depth_threshold:units = "m";
short tDrain(depth_threshold, lat, lon);
tDrain:standard_name = "time_when_flood_water_falls_below_threshold";
tDrain:long_name = "排水時間";
tDrain:units = "minute";
tDrain:scale_factor = 10.0;
tDrain:valid_min = 0.0;
float depth_threshold0;
depth_threshold0:standard_name = "flood_water_thickness";
depth_threshold0:long_name = "浸水開始時間のしきい値浸水深";
depth_threshold0:units = "m";
float depth_threshold50;
depth_threshold50:standard_name = "flood_water_thickness";
depth_threshold50:long_name = "浸水継続時間のしきい値浸水深";
depth_threshold50:units = "m";
short t50duration(lat, lon);
t50duration:coordinates = "depth_threshold50";
t50duration:standard_name = "flood_water_duration_above_threshold";
t50duration:long_name = "0.5m 浸水継続時間";
t50duration:units = "minute";
t50duration:scale_factor = 10.0;
t50duration:valid_min = 0.0;
char meshcode_level_name(meshcode_level, strlen);
meshcode_level_name:long_name = "メッシュコード割当機関";
int meshcode(meshcode_level, lat, lon);
meshcode:units = "1";
meshcode:standard_name = "platform_name";
meshcode:long_name = "メッシュコード";
meshcode:valid_min = 0;
byte dzone(lat, lon);
dzone:long_name = "危険区域種別";
dzone:units = "1";
dzone:valid_min = 0b;
dzone:valid_max = 3b;
dzone:flag_masks = 1b, 2b;
dzone:flag_meanings = "swept_away undermined";
// global attributes:
:title = "Flood simulation for *** River (breach at 2.2 km left bank)";
:Conventions = "CF-1.6";
:institution = "*** River Office, *** Regional Development Bureau";
:history = "2014-03-14 00:00:00 +9:00 Created";
:source = "*** Analysis system by *** Consultants K.K.";
:references = "Flood area simulation report for *** River, *** Consultants, /date/";
:breakpoint_id = "BP001";
:breakpoint_position_center_lat = 32.773755;
:breakpoint_position_center_lon = 130.627762;
:breakpoint_position_name = "2.2 km left bank";
:breakpoint_waterlevelobservatory_name = "*** bridge";
:breakpoint_waterlevelobservatory_office_code = 12345;
:breakpoint_waterlevelobservatory_code = 67890;
:breakpoint_waterlevelobservatory_river_name = "*** River";
data:
lon = 130.5940625, 130.5943750, 130.5946875, 130.5950000, 130.5953125,
130.5956250, 130.5959375, 130.5962500, 130.5965625, 130.5968750,
130.5971875, 130.5975000, 130.5978125;
lat = 32.7093750, 32.7095833, 32.7097917, 32.7100000, 32.7102083,
32.7104167, 32.7106250, 32.7108333, 32.7110417, 32.7112500,
32.7114583, 32.7116667, 32.7118750, 32.7120833, 32.7122917, 32.7125000, 32.7127083;
time = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
100, 110, 120, 130, 140, 150, 160, 170, 180, 190,
200, 210, 220, 230, 240, 250, 260, 270, 280, 290,
300, 310, 320, 330, 340, 350, 360, 370, 380;
depth_threshold = 0.5, 0.3, 0.05, 0.01;
depth_threshold0 = 0.0;
depth_threshold50 = 0.5;
meshcode_level_name = "JISX0410:2002", "MLIT/WDMB";
ctime = 1440.0;
ctimebnd = 0.0, 1440.0;
bp = 0; // dummy
bpbnd = 0, 171;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment