Output configuration (namelist.io)
namelist.io controls which diagnostics are computed, how often they are written, and how output files are split. The namelist contains two parts: diagnostic flags in &diag_list and the output stream definitions in &nml_general/&nml_list.
Sections of the namelist
Section &diag_list
ldiag_solver write solver convergence diagnostics (
ssh_rhs, iteration counts).lcurt_stress_surf enable curl of the surface stress field (activates
curl_surfoutput).ldiag_curl_vel3 compute 3-D relative vorticity from velocity (
curl_u).ldiag_Ri compute and output bulk Richardson number diagnostics (
shear,Ri).ldiag_TurbFlux turbulent flux diagnostics (
KvdTdz,KvdSdz).ldiag_salt3D extra 3-D salinity diagnostics.
ldiag_dMOC density-space MOC diagnostics (velocity transports in density bins).
ldiag_DVD Discrete Variance Decay diagnostics for numerical mixing estimates.
ldiag_forc comprehensive forcing diagnostics bundle (
FORCstream).ldiag_extflds extended field diagnostics (additional helper fields used by some analyses).
ldiag_destine vertically integrated heat content diagnostics (
hc300m,hc700m,hc).ldiag_trflx tracer flux diagnostics (
utemp,vtemp,usalt,vsalt).ldiag_ice extra ice-volume diagnostics (
vol_ice,vol_snow).ldiag_uvw_sqr squared velocity diagnostics (
u2,v2,w2).ldiag_trgrd_xyz horizontal/vertical tracer gradients (
temp_grd*,salt_grd*).ldiag_cmor CMIP-style fields (
tos,sos,pbo,volo, etc.) that mirror CMOR definitions.
Section &nml_general
io_listsize=120 allocate space for the number of streams specified in
io_list. The code trims the list if it encounters'unknown 'IDs, so it is safe to set a generous value.vec_autorotate=.false. automatically rotate vector fields to geographic coordinates on output when a rotated grid is used.
lnextGEMS=.false., nlev_upper=0 optionally write a reduced-column output tailored for nextGEMS (temperature/salinity/velocity in the upper
nlev_upperlevels at 3-hourly resolution).filesplit_freq=’y’ output splitting:
'y'writes one file per year,'m'splits monthly files.compression_level=1 netCDF compression level (1–9).
Section &nml_list
io_list enumerates output variables as tuples
'id', freq, unit, precision.freqis an integer,unitone ofy/m/d/h/sfor years/months/days/hours/steps, andprecisionis 4 (single) or 8 (double). Theconfig/namelist.iofile contains a full catalog of supported IDs at the bottom; copy the desired lines into this section to enable them.Some IDs require specific flags in
&diag_listor other namelists: e.g.curl_surfneedslcurt_stress_surf=.true., CMOR variables requireldiag_cmor=.true., tracer gradient outputs needldiag_trgrd_xyz=.true., and melt-pond outputs requireuse_meltpondsinnamelist.ice.When
use_iceis active, ice-specific fields (uice,vice,a_ice,m_ice,m_snow, etc.) can be requested like any other stream. When Icepack is used, additional outputs are configured via&nml_list_icepackinnamelist.icepack.
Icepack output (namelist.icepack)
&nml_general/io_listsize in
namelist.icepackmirrorsnamelist.iobut is read by the Icepack driver. Setio_list_icepackto the desired Icepack diagnostics (see the comments inconfig/namelist.icepack). Icepack output is written separately from the ocean/sea-ice streams defined above.