-
Notifications
You must be signed in to change notification settings - Fork 2
/
diag_table_source.yaml
executable file
·365 lines (361 loc) · 18.9 KB
/
diag_table_source.yaml
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
#######################################################################################################
# This yaml file is used by make_diag_table.py to create a diag_table file specifying MOM diagnostics.
# Latest version: https://github.com/COSIMA/make_diag_table
#
# Define the diagnostics you want in the diag_table section below.
#
# The MOM diag_table format is defined here:
# https://github.com/mom-ocean/MOM5/blob/master/src/shared/diag_manager/diag_table.F90
# https://mom6.readthedocs.io/en/main/api/generated/pages/Diagnostics.html
#######################################################################################################
# Define global default settings which will be applied to all diagnostics,
# unless overridden in diag_table section below, either in defaults or individual fields.
# You're unlikely to need to change any of the global_defaults.
global_defaults:
# global_section:
title: ACCESS-OM2 # any string
base_date: [ 1900, 1, 1, 0, 0, 0 ] # reference time used for the time units. six integers: year, month, day, hour, minute, second
# file section:
file_name: # String, or list of components, for file name (without trailing ".nc").
# If a list, its elements are a mixture of strings and dictionaries.
# String list elements are concatenated, each preceded by file_name_separator.
# Dictionary list elements must have one key-value pair; the value is a list
# containing 1 or more strings to be concatenated, each preceded by the key
# (a string) instead of file_name_separator. The key may be an empty string,
# which is useful if file_name_date begins with %, since FMS prepends _ .
# All filename list string elements (other than field_name) must exist as keys in global_defaults.
# If file_name_date is used, it must be the last item.
# Key values are looked up, converted to strings and then substituted using file_name_substitutions.
# Empty strings (and their preceding separator) are ignored if file_name_omit_empty is true.
# A separator is not used prior to the first item.
- file_name_prefix
- file_name_dimension
- field_name # substituted by field name in diag_table section below
- output_freq
- '':
- output_freq_units
- reduction_method
- file_name_date
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
file_format: 1 # integer, must be 1, specifying NetCDF (the only format currently supported)
time_axis_units: days # time units for the output file time axis: years, months, days, hours, minutes, or seconds
time_axis_name: time # must be "time" (case-insensitive)
new_file_freq: 1 # optional integer: frequency (in new_file_freq_units) for closing the existing file, and creating a new file
new_file_freq_units: years # time units for new_file_freq: years, months, days, hours, minutes, or seconds (optional; required if and only if new_file_freq specified)
start_time: # Time to start the file for the first time. The format of this string is the same as base_date (optional; requires new_file_freq, new_file_freq_units)
file_duration: # integer: How long file should receive data after start time (optional; requires new_file_freq, new_file_freq_units, start_time)
file_duration_units: # units for file_duration: years, months, days, hours, minutes, or seconds (optional; required if and only if file_duration specified)
# field section:
module_name: ocean_model
field_name: # set via keys in the fields section of the diag_table section below
output_name: # same as field_name unless overridden
# file_name: # same as file_name in file section above unless overridden in diag_table section below
time_sampling: all # Currently not used. Please use the string "all".
reduction_method: mean # mean, snap, rms, pow##, min, max, or diurnal##
# reduction_method options:
# mean or average or true: Average from the last time written to the current time. Becomes "average" in diag_table.
# snap or none or false: No reduction. Write snapshot of current time step value only. Becomes "none" in diag_table.
# rms: Calculate the root mean square from the last time written to the current time.
# pow##: Calculate the mean of the power ## from the last time written to the current time.
# min: Minimum value from last write to current time.
# max: Maximum value from last write to current time.
# diurnal##: ## diurnal averages
regional_section: none # string: bounds of the regional section to capture ("none" indicates a global region). String format: lat_min, lat_max, lon_min, lon_max, vert_min, vert_max. Use vert_min = -1 and vert_max = -1 to get the entire vertical axis.
packing: 2
# packing is the Fortran number KIND of the data written:
# 1: double precision
# 2: float (single precision)
# 4: packed 16-bit integers
# 8: packed 1-byte (not tested)
# extra things for constructing filename:
file_name_dimension: 3d # descriptor for filename, e.g. 3d, 2d, scalar
file_name_prefix: ocean
file_name_date: "ym%4yr%2mo" # run date/time of file opening; format: %, 1 digit (#digits), one of (yr, mo, dy, hr, mi, sc); date/time components will be separated by _ in filename.
file_name_separator: "-" # used to separate filename components; best not to use "_" to avoid confusion with fields and dates
file_name_omit_empty: true # whether to omit empty filename components to avoid duplicate file_name_separator
file_name_substitutions: # string replacements for filename components
years: yearly
months: monthly
days: daily
hours: hourly
none: snap # careful! will apply to both reduction_method and regional_section
'False': snap
average: mean
'True': mean
None: "" # for empty items
#######################################################################################################
# diag_table section - this defines the diagnostics that will appear in diag_table.
#
# Top-level categories in diag_table have arbitrary names (they're just used for
# comments in the output diag_table). Make as many of these as you like to group
# similar diagnostics with shared defaults. Note that each of the top-level
# categories can have only have one instance of each field name, so if you need
# multiple outputs of the same field (e.g. as both averages and snapshots), you’ll
# need to make additional categories.
#
# Within each top-level category there's an optional defaults section and a
# fields section. The defaults section overrides items in global_defaults for
# all fields in the category. The field section specifies diagnostic field
# names. To add a new diagnostic, all you need to do is add its name to the
# field section in the appropriate category. Each field name can be followed by
# a dictionary overriding the category and global defaults for that field only.
#
# Some of the available MOM5 diagnostics are listed here:
# https://raw.githubusercontent.com/COSIMA/access-om2/master/MOM_diags.txt
# https://github.com/COSIMA/access-om2/wiki/Technical-documentation#MOM5-diagnostics-list
# MOM6 diagnostics are output in available_diags.* when you run the model - see
# https://mom6.readthedocs.io/en/main/api/generated/pages/Diagnostics.html
diag_table:
'static 2d grid data':
defaults: # these can be overridden for individual fields below
file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
file_name: # String, or list of components, for file name (without trailing ".nc").
# If a list, its elements are a mixture of strings and dictionaries.
# String list elements are concatenated, each preceded by file_name_separator.
# Dictionary list elements must have one key-value pair; the value is a list
# containing 1 or more strings to be concatenated, each preceded by the key
# (a string) instead of file_name_separator. The key may be an empty string,
# which is useful if file_name_date begins with %, since FMS prepends _ .
# All filename list string elements (other than field_name) must exist as keys in global_defaults.
# If file_name_date is used, it must be the last item.
# Key values are looked up, converted to strings and then substituted using file_name_substitutions.
# Empty strings (and their preceding separator) are ignored if file_name_omit_empty is true.
# A separator is not used prior to the first item.
- file_name_prefix
- file_name_dimension
- field_name # substituted by field name in fields section below
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##
output_freq: -1 # Output frequency in output_freq_units (0: every timestep; -1: only at end of run)
new_file_freq: # optional integer: frequency (in new_file_freq_units) for closing the existing file, and creating a new file
fields:
area_t:
area_u:
drag_coeff:
dxt:
dxu:
dyt:
dyu:
geolat_c:
geolat_t:
geolon_c:
geolon_t:
ht:
hu:
kmt:
kmu:
'yearly 3d fields':
defaults: # these can be overridden for individual fields below
file_name_dimension: 3d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: years # time units for output: years, months, days, hours, minutes, or seconds
fields:
age_global:
aiso_bih:
buoyfreq2_wt:
diff_cbt_t:
pot_rho_0:
pot_rho_2:
pot_temp:
salt:
temp_xflux_adv:
temp_yflux_adv:
temp:
tx_trans_rho:
tx_trans:
ty_trans_nrho_submeso:
ty_trans_rho_gm:
ty_trans_rho:
ty_trans_submeso:
ty_trans:
u:
v:
vert_pv:
wt:
'yearly 3d squared fields': # for calculating EKE etc
defaults: # these can be overridden for individual fields below
file_name_dimension: 3d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: years # time units for output: years, months, days, hours, minutes, or seconds
reduction_method: pow02 # mean, snap, rms, pow##, min, max, or diurnal##
fields:
u:
v:
'monthly 3d fields':
defaults: # these can be overridden for individual fields below
file_name_dimension: 3d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
fields:
dzt:
# neutral_diffusion_temp:
# neutral_gm_temp:
# neutral_temp:
# pot_temp:
# salt:
# temp_advection:
# temp_eta_smooth:
# temp_nonlocal_KPP:
# temp_rivermix:
# temp_sigma_diff:
# temp_submeso:
# temp_tendency_expl:
# temp_tendency:
# temp_vdiffuse_diff_cbt_conv:
# temp_vdiffuse_diff_cbt:
# temp_vdiffuse_impl:
# temp_vdiffuse_k33:
# temp_vdiffuse_sbc:
# temp:
# u:
# v:
'monthly 2d fields':
defaults: # these can be overridden for individual fields below
file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
fields:
agm:
aredi:
bmf_u:
bmf_v:
eta_t:
evap_heat:
evap:
fprec_melt_heat:
fprec:
frazil_3d_int_z:
lprec:
lw_heat:
melt:
mld:
# net_sfc_heating: # disabled - incorrect - see https://github.com/COSIMA/access-om2/issues/139
pbot_t:
pme_net:
pme_river:
river:
runoff:
sea_level_sq:
sea_level:
sens_heat:
sfc_hflux_coupler:
sfc_hflux_from_runoff:
sfc_hflux_pme:
sfc_salt_flux_coupler:
sfc_salt_flux_ice:
sfc_salt_flux_restore:
surface_salt:
surface_temp:
sw_heat:
swflx:
tau_x:
tau_y:
temp_int_rhodz:
temp_xflux_adv_int_z:
temp_xflux_submeso_int_z:
temp_yflux_adv_int_z:
temp_yflux_submeso_int_z:
tx_trans_int_z:
ty_trans_int_z:
wfiform:
wfimelt:
'monthly 2d fields with different reduction methods':
defaults: # these can be overridden for individual fields below
file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
fields:
eta_t: {reduction_method: pow02} # for calculating standard deviation
mld: {reduction_method: max} # max avoids spurious small values due to rainfall
surface_temp: {reduction_method: min} # min for comparison with foundation temperature
'daily 2d fields':
defaults: # these can be overridden for individual fields below
file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: days # time units for output: years, months, days, hours, minutes, or seconds
fields:
eta_t:
frazil_3d_int_z:
mld:
pme_river:
sfc_hflux_coupler:
sfc_hflux_from_runoff:
sfc_hflux_pme:
surface_salt:
surface_temp:
u_surf:
v_surf:
'monthly scalar timeseries':
defaults: # these can be overridden for individual fields below
file_name_dimension: scalar # descriptor for filename, e.g. 3d, 2d, scalar
file_name: # String, or list of components, for file name (without trailing ".nc").
# If a list, its elements are a mixture of strings and dictionaries.
# String list elements are concatenated, each preceded by file_name_separator.
# Dictionary list elements must have one key-value pair; the value is a list
# containing 1 or more strings to be concatenated, each preceded by the key
# (a string) instead of file_name_separator. The key may be an empty string,
# which is useful if file_name_date begins with %, since FMS prepends _ .
# All filename list string elements (other than field_name) must exist as keys in global_defaults.
# If file_name_date is used, it must be the last item.
# Key values are looked up, converted to strings and then substituted using file_name_substitutions.
# Empty strings (and their preceding separator) are ignored if file_name_omit_empty is true.
# A separator is not used prior to the first item.
- file_name_prefix
- file_name_dimension
- output_freq
- output_freq_units
- file_name_date
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
packing: 1 # double precision
fields:
eta_global:
ke_tot:
pe_tot:
rhoave:
salt_global_ave:
salt_surface_ave:
temp_global_ave:
temp_surface_ave:
# total_net_sfc_heating: # disabled - incorrect - see https://github.com/COSIMA/access-om2/issues/139
total_ocean_calving_heat:
total_ocean_calving_melt_heat:
total_ocean_calving:
total_ocean_evap_heat:
total_ocean_evap:
total_ocean_fprec_melt_heat:
total_ocean_fprec:
total_ocean_heat:
total_ocean_hflux_coupler:
total_ocean_hflux_evap:
total_ocean_hflux_prec:
total_ocean_lprec:
total_ocean_lw_heat:
total_ocean_melt:
total_ocean_pme_river:
total_ocean_river_heat:
total_ocean_river:
total_ocean_runoff_heat:
total_ocean_runoff:
total_ocean_salt:
total_ocean_sens_heat:
total_ocean_sfc_salt_flux_coupler:
total_ocean_swflx_vis:
total_ocean_swflx:
'monthly 2d snapshots':
defaults: # these can be overridden for individual fields below
file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##
fields:
# eta_t:
'monthly 3d snapshots':
defaults: # these can be overridden for individual fields below
file_name_dimension: 3d # descriptor for filename, e.g. 3d, 2d, scalar
output_freq: 1 # integer: output sampling frequency in output_freq_units (0: every timestep; -1: only at end of run)
output_freq_units: months # time units for output: years, months, days, hours, minutes, or seconds
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##
fields:
# u:
# v: