forked from uaf-arctic-eco-modeling/dvm-dos-tem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.js
166 lines (156 loc) · 5.7 KB
/
config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
{
"general": {
"run_name": "A sample dvmdostem run. Modify this text to suit your needs."
},
"IO": {
"parameter_dir": "parameters/",
"hist_climate_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/historic-climate.nc",
"proj_climate_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/projected-climate.nc",
"veg_class_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/vegetation.nc",
"drainage_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/drainage.nc",
"soil_texture_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/soil-texture.nc",
"co2_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/co2.nc",
"proj_co2_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/projected-co2.nc",
"runmask_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/run-mask.nc",
"topo_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/topo.nc",
"fri_fire_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/fri-fire.nc",
"hist_exp_fire_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/historic-explicit-fire.nc",
"proj_exp_fire_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/projected-explicit-fire.nc",
"topo_file": "demo-data/cru-ts40_ar5_rcp85_ncar-ccsm4_toolik_field_station_10x10/topo.nc",
"output_dir": "output/",
"output_spec_file": "config/output_spec.csv",
"output_monthly": 1, //JSON specific
"output_nc_eq": 0,
"output_nc_sp": 1,
"output_nc_tr": 1,
"output_nc_sc": 1,
"output_interval": 1
},
// Define storage locations for json files generated and used
// during calibration. The calibration-viewer.py program will read
// this config file and these settings to determine where to look for
// the json files. dvmdostem will create a directory tree that looks
// like this:
// dvmdostem/
// └── calibration
// ├── daily
// │ ├── year_00000_daily_drivers.text
// │ └── year_00001_daily_drivers.text
// ├── monthly
// │ ├── 0000000.json
// │ ├── ...
// │ └── 0000011.json
// └── yearly
// └── 00000.json
"calibration-IO": {
"unique_pid_tag": "",
"caldata_tree_loc": "/tmp"
// NOTE: It is generally reccomended that the files be kept in the /tmp
// directory so that the operating system will clean up the files, as the
// output can be voluminous, especially when generating monthly or daily
// files. The main reason to have this location configurable is so that
// we will be able to run dvmdostem on Atlas under the control of PEST and
// can use the compute node-specific /scratch directories and keep different
// running instances of dvmdostem from overwriting eachothers json files.
},
"stage_settings": {
"restart_mode": "restart", // other options??
"inter_stage_pause": false,
//Per-stage module settings
"pr": {
"env": true,
"bgc": false,
"nfeed": false,
"avlnflg": false,
"baseline": false,
"dsb": false,
"dsl": false,
//FW_NOTES: Fire will never be on in the pre-run so we don't need a switch?
"dyn_lai": false
},
"eq": {
"env": true,
"bgc": true,
"nfeed": true,
"avlnflg": true,
"baseline": true,
"dsb": false,
"dsl": true,
"fire": false,
"dyn_lai": true
},
"sp": {
"env": true,
"bgc": true,
"nfeed": true,
"avlnflg": true,
"baseline": true,
"dsb": false,
"dsl": true,
"fire": false,
"dyn_lai": true
},
"tr": {
"env": true,
"bgc": true,
"nfeed": true,
"avlnflg": true,
"baseline": true,
"dsb": false,
"dsl": true,
"fire": false,
"dyn_lai": true
},
"sc": {
"env": true,
"bgc": true,
"nfeed": true,
"avlnflg": true,
"baseline": true,
"dsb": false,
"dsl": true,
"fire": false,
"dyn_lai": true
}
// maybe less confusing if these settings are only available from cmd line?
//"tr_yrs": 109,
//"sc_yrs": 100
// ??
//"restartfile_dir": "DATA/Toolik_10x10_30yrs/" // location for restart-XX.nc file
},
"module_settings" {
"dsb": {
"fire": {
// Wildfire ignitions modes: [Note: In development. Numbers may change!]
// 0: Default/old: FRI for [PR/]EQ/SP, explicit for TR/SC.
// 1: Use fire return interval for this stage if fire is on.
// 2+: Reserved for future use.
// Fire is alway off in the PR stage and can only be FRI for EQ/SP so no switches are
// provided for these stages.
"ignition_tr": 0
"ignition_sc": 0
// More future controls per stage can go here...
//"severity_pr":
//"severity_eq":
// ...
},
// Future disturbances go here...
//"insect": { ... },
//"thermokarst":{ ... },
}
},
"model_settings": {
"dynamic_lai": 1, // from model (1) or from input (0)
// //"dynamic_climate": 0,
// //"varied_co2": 0,
// //"fire_severity_as_input": 0, // fire sev. as input or ??
// //"output_starting_year": -9999
}
// "output_switches": {
// "daily_output": 0,
// "monthly_output": 0,
// "yearly_output": 1,
// "summarized_output": 0,
// "soil_climate_output": 0
// }
}