Compatibility of diagnostic model output and the tiling option
Context
Various SETTE configurations fail SETTE tests when XIOS-based diagnostic model output has been deselected (sette.sh -A -X [...]
). The diagnostic-output subroutine dia_wri
is called inside a tiling loop; the dia_wri
variant in use when XIOS-based output remains disabled (i.e., when key_xios
is not defined), however, has not yet been adapted to be compatible with the tiling option.
Proposal
The placement of the dia_wri
subroutine call outside any tiling loop when key_xios
is not defined, for example
--- a/src/OCE/stpmlf.F90
+++ b/src/OCE/stpmlf.F90
@@ -299,10 +299,15 @@ CONTAINS
CALL dia_hth ( kstp, Nnn ) ! Thermocline depth (20 degres isotherm depth)
CALL dia_ar5 ( kstp, Nnn ) ! ar5 diag
CALL dia_ptr ( kstp, Nnn ) ! Poleward adv/ldf TRansports diagnostics
+#if defined key_xios
CALL dia_wri ( kstp, Nnn ) ! ocean model: outputs
+#endif
END DO
IF( ln_tile ) CALL dom_tile_stop
+#if ! defined key_xios
+ CALL dia_wri ( kstp, Nnn ) ! ocean model: outputs
+#endif
IF( ln_crs ) CALL crs_fld ( kstp, Nnn ) ! ocean model: online field coarsening & output
IF( lk_diadetide ) CALL dia_detide( kstp ) ! Weights computation for daily detiding of model diagnostics
IF( lk_diamlr ) CALL dia_mlr ! Update time used in multiple-linear-regression analysis
would re-establish the expected model operation after deselecting XIOS-based diagnostic model output.