Thank you Erik - it seems that when I keep the num-threads variable in machine.ini file, it overrides any argument given to simfactory executable.
Removing it appears to fix the problem.
If I don't provide --configuration=okeanos and --machine=okeanos though, it defaults to any local (login) node I used to ./simfactory/bin/sim setup simfactory.
So I suppose in each invocation I need to specify it?
After commenting out num-threads in okeanos.ini, here's what works and what doesn't:
./simfactory/bin/sim create-submittopoltopolski@okeanos-login1:~/Cactus> ./simfactory/bin/sim submit GW150914_MPI --parfile GW150914_MPI.rpar --define N 28 --walltime=1:00:00 --procs 192 --num-threads=4
Warning: Unknown machine name nid00069
Error: Unknown local machine nid00069. Please use 'sim setup' to create a local machine entry from the generic template.
Aborting Simfactory.
topolski@okeanos-login1:~/Cactus> ./simfactory/bin/sim submit GW150914_MPI --parfile GW150914_MPI.rpar --define N 28 --walltime=1:00:00 --procs 192 --num-threads=4 --machine=okeanos
Warning: Current Working directory does not match Cactus sourcetree, changing to /home/topolski/Cactus
Warning: simulation "GW150914_MPI" does not exist or is not readable
Parameter file: /lustre/tetyda/home/topolski/Cactus/GW150914_MPI.rpar
Error: Executable /home/topolski/Cactus/exe/cactus_sim for configuration sim does not exist or is not readable
Aborting Simfactory.
topolski@okeanos-login1:~/Cactus> ./simfactory/bin/sim create-submit GW150914_MPI --parfile GW150914_MPI.rpar --define N 28 --walltime=1:00:00 --procs 192 --num-threads=4 --machine=okeanos --configuration=okeanos
Warning: Current Working directory does not match Cactus sourcetree, changing to /home/topolski/Cactus
Parameter file: /lustre/tetyda/home/topolski/Cactus/GW150914_MPI.rpar
Skeleton Created
Job directory: "/home/topolski/simulations/GW150914_MPI"
Executable: "/home/topolski/Cactus/exe/cactus_okeanos"
Option list: "/home/topolski/simulations/GW150914_MPI/SIMFACTORY/cfg/OptionList"
Submit script: "/home/topolski/simulations/GW150914_MPI/SIMFACTORY/run/SubmitScript"
Run script: "/home/topolski/simulations/GW150914_MPI/SIMFACTORY/run/RunScript"
Parameter file: "/home/topolski/simulations/GW150914_MPI/SIMFACTORY/par/GW150914_MPI.rpar"
Assigned restart id: 0
Executing submit command: sbatch /home/topolski/simulations/GW150914_MPI/output-0000/SIMFACTORY/SubmitScript
Submit finished, job id is 739787
And the last attempt yields the desired result.
So I suppose this is the correct way?