CO5BOLD has been used on the SunFire machines``fire1'', ``fire2'', and ``fire3'' in Uppsala with compiler version ``Sun WorkShop 6 update 2 Fortran 95 6.2 2001/05/15'' and later. An older version was not able to compile CO5BOLD properly. Information about Fortran and the Sun compiler can be found on the Sun Forte page under ``documentation''. Important switches are:
-openmp: Enable OpenMP.
-fast -xvector=yes/no: General optimization.
On the Sun the -fast option switches on more or less all optimization
features of the compiler. That works reasonable well. However, during the
compilation of gasinter_routines.f90 (and only there)
the switch -xvector=no is requiered! This is one automatically in the
Makefile.
-inline=...: Optimization: Routines that should be
inlined:
rhd_hyd_module.F90: rhd_hyd_avg,
rhd_hyd_upwind,
rhd_hyd_pred0,
rhd_hyd_predm,
rhd_hyd_predp,
rhd_hyd_alpha,
rhd_hyd_constanteq,
rhd_hyd_minmodeq,
rhd_hyd_minmod,
rhd_hyd_vanleereq,
rhd_hyd_vanleer,
rhd_hyd_superbeeeq,
rhd_hyd_superbee,
rhd_hyd_ppeq,
rhd_hyd_pp,
rhd_hyd_hdflux,
rhd_lhdrad_module.F90:
rhd_rad3d_raylhd,
rhd_rad3d_solve,
rhd_rad3d_solveeq,
rhd_shortrad_module.F90:
rhd_shortrad_operator,
rhd_shortrad_dtauop.
-DMSrad_raytas=2: Optimization: choose non-default version
of loop in SUBROUTINE raytas in file MSrad3D.F90.
See Sect. 3.7.
-Drhd_shortrad_formal_l01=1: Optimization:
split loop for exp(-dtau) computation into two loops.
See Sect. 3.7.
-Drhd_shortrad_dir1_l01=1: Optimization:
Transpose arrays and use routine rhd_shortrad_dir3 for rays in x1 direction.
See Sect. 3.7.
-Drhd_hyd_entropyfix_p01=1: Optimization: version with masks (weights).
See Sect. 3.7.