Skip to content

Environment variables ​

Run behavior belongs in the TOML configuration. The environment variables below are for paths, metadata, profiling and diagnostics; none of them changes results unless noted. test/core/test_environment_variables.jl checks that the package reads no others.

Paths and metadata ​

VariableEffectRead in
ATMOSTRANSPORT_DATA_ROOTRoot of $ATMOSTRANSPORT_DATA_ROOT in configured paths (default ~/data/AtmosTransport). Any other $NAME or ${NAME} in a path expands to that variable.expand_data_path (src/AtmosTransport.jl)
ATMOSTR_REGRID_CACHE_DIRShared cache of conservative regridding weights, used for runtime surface fluxes and for preprocessing targets without [grid] regridder_cache_dir (default ~/.cache/AtmosTransport/cr_regridding).default_regrid_cache_dir (src/Regridding/weights_io.jl)
ATMOSTR_SPECTRAL_CACHE_DIRDefault spectral-coefficient cache of the ERA5 preprocessor; [cache] spectral_coefficients_dir overrides it.src/Preprocessing/configuration.jl
ATMOSTR_SCRATCH_DIR, ATMOSTR_TMPDIR, SCRATCH, TMPDIR, TEMP, TMPCandidate directories, in this order, for extracting ERA5 surface archives.src/Preprocessing/era5_surface_reader.jl
ATMOSTR_INSTITUTIONinstitution attribute of NetCDF snapshot and observation files.src/Output/netcdf_schema.jl, src/Output/observations/observation_netcdf.jl
USER, USERNAMEuser attribute of NetCDF snapshot files.src/Output/netcdf_schema.jl
NO_COLOR, TERMANSI colors in the run summary only when NO_COLOR is unset or empty and TERM is set and not dumb.src/Models/runner/configuration.jl

Profiling and diagnostics ​

VariableEffectRead in
ATMOSTR_TIMERS, ATMOSTR_NVTX, ATMOSTR_ALLOC_TIMERSSection timers, NVTX ranges, and allocation counts within the timers (1, true, on or yes; ATMOSTR_ALLOC_TIMERS only together with ATMOSTR_TIMERS).src/Diagnostics/SectionTimer.jl
ATMOSTR_PROFILE_GPUWith timers on (1, true, on or yes): synchronize after each cubed-sphere sweep kernel and time the launch and the wait separately (slower).src/Operators/Advection/cs_sweep_common.jl
ATMOS_OMEGA_TIMINGTiming output of the GEOS OMEGA-consistent cm closure in the preprocessor.src/Preprocessing/transport_binary/cubed_sphere_geos.jl
ERA5_N320_PROFILE1: per-window timing of the ERA5 N320 preprocessor.src/Preprocessing/sources/era5_n320_window.jl, era5_n320_to_cs.jl

Removed ​

These were replaced by configuration keys and are now ignored.

VariableReplacement
ATMOSTR_FORCE_PER_SUBSTEP_PHYSICS[run] physics_cadence = "substep"
ATMOSTR_REPLAY_CHECK[input] validate_replay = true
ATMOSTR_NO_REPLAY_CHECKnone: the load-time replay check runs only when requested
ATMOSTR_ENABLE_HORIZONTAL_POISSON_BALANCEnone: the per-layer balance it selected was removed (every path that applies a Poisson balance uses the column balance; GEOS pressure_fixer and pfix_corrected keep native fluxes)
ATMOSTR_DISABLE_PREFETCH[run] prefetch_windows = false
ATMOSTR_ASSERT_CS_BINARY_CFL[advection] check_binary_cfl = true
ATMOSTR_NO_WRITE_REPLAY_CHECK[numerics] write_replay_check = false in the preprocessing config

Command-line runner ​

scripts/run_transport.jl reads these; the thread variables only when it runs as a script, before the package loads (not when a Julia session includes it and calls main(args), as the golden harness does):

VariableEffect
JULIA_NUM_THREADSThread count. When it is unset and Julia runs one thread, the runner restarts itself with two threads (also after an explicit --threads=1).
ATMOSTR_NO_AUTO_THREADS1: do not restart with two threads (needed to run with one thread).
ATMOSTR_PROFILE_MODEfull: CUDA activity profile of the whole run. window: profile a window of the run and then end the process, so the run does not finish. Applies when the config's [architecture] selects CUDA (whether or not CUDA is already loaded); other runs warn and run without a profile.
ATMOSTR_PROFILE_WARMUP_SEC, ATMOSTR_PROFILE_DUR_SECStart (default 120 s) and length (default 60 s) of the window profile.