Repository navigation
Troubleshooting
Use pkg-config to inspect the selected installation:
pkg-config --modversion musica-fortran
pkg-config --variable=source_revision musica-fortran
pkg-config --variable=miem_revision musica-fortran
pkg-config --variable=miem_enabled musica-fortran
pkg-config --variable=tuvx_enabled musica-fortranPut the pinned package's lib/pkgconfig (lib64/pkgconfig on Derecho) first
in PKG_CONFIG_PATH.
Rebuild MUSICA and MPAS with the same compiler family and compatible NetCDF
libraries if the metadata is correct but the link probe fails.
The supplied JSON paths begin with data/. From the run directory, verify
that data/grids, data/profiles, data/cross_sections, and
data/quantum_yields come from the pinned MUSICA checkout. Do not run from a
different working directory unless all relative paths are adjusted.
An active TUV-x configuration requires the mechanism to define O3 and the MPAS
state to expose its qO3 tracer. Check the exact mechanism species name and
the initialization log's runtime species list.
The consistency rules are strict:
-
none: top-extension flag false and both extension paths empty; -
legacy_static: top-extension flag true and a valid static CSV; or -
spatial_climatology: top-extension flag true and a valid exact-grid prescribed-field package.
Do not specify both static and spatial inputs. Any mode other than none
also requires config_tuvx_config_file, spatial_climatology requires a
Gregorian calendar, and the first extension edge must match the model top
within 0.5 m.
MIEM requires a Gregorian model clock. The inventory xtime records must
bracket the entire simulation; linear and nearest interpolation do not permit
runtime extrapolation. Check the initial state's xtime as well as the
namelist start/stop interval.
An inventory is not a generic lat-lon file. It must be preprocessed onto the
exact MPAS mesh in ascending indexToCellID order and carry the mesh
fingerprint attributes and a field manifest; MIEM then checks its cell IDs,
areas, coordinates, and geometry flags against the running mesh. Recreate the
package from the same static mesh instead of editing identity attributes.
The current implementation permits one local MPAS block per MPI task. Select a partition matching the MPI rank count, leave the examples on automatic block decomposition, and remove settings that create multiple local blocks.
Runtime variables must still be requested by a stream. Add the exact field name
to stream_list.atmosphere.output:
- photolysis:
j_<reaction-name>, for examplej_jNO2; - converted tracer:
vmr_<species-name>; - total emissions:
emis_<species-name>; or - requested sector/category/layer names shown in the initialization log.
Species, reaction, and sector names are case-sensitive.
vmr_* fields are output-only diagnostics reconstructed from the
authoritative dry-air mass mixing ratio. Compare the transported q<species>
state first, then recompute the requested unit conversion at the same model
time.
Confirm that the executable was built with MUSICA=true and that
config_micm_file is nonempty. An empty MIEM file disables emissions; an
empty TUV-x file with config_j_no2_max=0 supplies no photolysis parameters;
and a zero lightning source disables lightning NOx.
Use the complete command from Docker, including
--platform linux/amd64 and --shm-size=1g.
- A bus error or failure under
/dev/shmusually means Docker's default shared-memory allocation was used. - Exit status 137 indicates the Docker virtual machine may have exhausted its memory. Allocate at least 8 GiB for the LNOx smoke case.
- PMIx topology messages can occur under Docker Desktop. They are nonfatal
only when the model exits successfully and
log.atmosphere.0000.outreportsCritical error messages = 0. - Do not reduce the runner below eight ranks; the packaged partitions and output checks use exactly eight.