Design and key techniques of a collaborative virtual flood experiment that integrates cellular automata and dynamic observations