*IDENT wmc011130 *DECLARE UMSHELL1 */ Don't put at *I GPB0F402.396 since this conflists with env_f_new.mod *B APB1F402.287 C To ease multiple runs, we set the processor decompostion based on the C number of processors we are actually given (nproc_max returned from C gc_init) *IF DEF,OCEAN C The ocean is easy: its always 1xn ocn_nprocx=1 ocn_nprocy=nproc_max *ENDIF C The atmosphere is harder: 1xn is the default, but if n factorises C nicely then use that. Try for 2xn/2, 3xn/3 and 4xn/4 atm_nprocx=1 if (mod(nproc_max,2) .eq. 0 .and. nproc_max .gt. 1*2) atm_nprocx=2 if (mod(nproc_max,3) .eq. 0 .and. nproc_max .gt. 2*3) atm_nprocx=3 if (mod(nproc_max,4) .eq. 0 .and. nproc_max .gt. 3*4) atm_nprocx=4 atm_nprocy=nproc_max/atm_nprocx C Report what we did if (mype .eq. 0) then print *,'wmc: setting atmos/ocean decomposition based on ' & ,nproc_max,' procs' print *,'atmos x*y: ',atm_nprocx,'*',atm_nprocy *IF DEF,OCEAN print *,'ocean x*y: ',ocn_nprocx,'*',ocn_nprocy *ENDIF endif