Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (79 - 81 of 964)

Ticket Owner Reporter Resolution Summary
#207 arango m.hadfield Fixed FLT_TEST with MPI, invalid value of ng
Description

When I run the FLT_TEST case with MPI enabled and in debug mode (compiler is G95), it hits an out-of-bounds error in subroutine wclock_on.

The stack trace is

      At line 45 of file timers.f90
Traceback: (Innermost first)
   Called from line 330 of file distribute.f90
   Called from line 262 of file inp_par.f90
   Called from line 94 of file ocean_control.f90
   Called from line 97 of file master.f90
Fortran runtime error: Array element out of bounds: 2 in (1:1), dim=3

The offending line is in subroutine wclock_on (source file timers.f90):

      Cstr(region,MyModel,ng)=my_wtime(wtime)

and the problem is that ng is equal to 2, which is out of bounds for array Cstr. The value of ng = 2 is being passed to this routine by subroutine mp_bcasti_s (file distribute.f90), which is passed it by subroutine inp_par (file inp_par.f90).

Here is the block of code in inp_par where mpi_bcasti_s is called (via the interface mp_bcasti):

!
!-----------------------------------------------------------------------
!  Check C-preprocessing options and definitions.
!-----------------------------------------------------------------------
!
      IF (Master) THEN
        CALL checkdefs
        CALL my_flush (out)
      END IF
      CALL mp_bcasti (ng, model, exit_flag, 1)
      IF (exit_flag.ne.NoError) RETURN

In subroutine inp_par there are several loops of the form

      DO ng=1,Ngrids
        ...
      END DO

but this block of code is not inside one of these loops, so ng is left with the value it had on exit from the previous loop, ie Ngrids+1.

So I presume the solution is to wrap this in a loop

      CALL mp_bcasti (ng, model, exit_flag, 1)
#212 arango m.hadfield Fixed Modifications to platform-specific make files
Description

The attached zip file contains modified versions of three platform-specific make files: CYGWIN-g95.mk, CYGWIN-gfortran.mk, Linux-g95.mk. The changes are:

  • CYGWIN files now have MPI support. I have tested this with MPICH2 using the mpif90 script.
  • G95 files now use the "-ffree-line-length-huge" flag for the targets mod_ncparam.o, mod_strings.o and analytical.o. This is the G95 counterpart of Gfortran's "-ffree-line-length-huge"
#214 arango m.hadfield Fixed Modifications to include files
Description

Attached are copies of globaldefs.h, riverplume1.h and riverplume2.h with a few modifications:

globaldefs.h:

Code to set the ASSUMED_SHAPE switch has been changed from this

#define ASSUMED_SHAPE
#if defined G95 && defined I686
# undef ASSUMED_SHAPE
#elif defined UNICOS_SN
# undef ASSUMED_SHAPE
#endif

to this

#if !((defined G95 && defined I686) || defined UNICOS_SN)
# define ASSUMED_SHAPE
#endif

The disadvantage with the former is that the "#undef" directives make it impossible to set ASSUMED_SHAPE via the MY_CPPFLAGS variable.

Also the code to set the xxxx_FSOBC macros has been changed, eg this

#if (defined WEST_FSRADIATION  && defined WEST_FSNUDGING)  || \
     defined WEST_M2FLATHER    || defined WEST_FSCLAMPED   || \
     defined WEST_M2REDUCED
# define WEST_FSOBC
#endif

has been changed to

#if (defined WEST_FSRADIATION  && defined WEST_FSNUDGING)  || \
     defined WEST_M2FLATHER    || defined WEST_FSCLAMPED
# define WEST_FSOBC
#endif

The use of xxxx_M2REDUCED does not by itself mean that boundary surface-height data is required. For example it is possible to use xxxx_M2REDUCED with xxxx_FSCHAPMAN, in which case there is no need for xxxx_FSOBC.

riverplume1.h:

Removed a lot of obsolete

#if defined RIVERPLUME1

#elif defined RIVERPLUME2

#endif

stuff.

riverplume2.h:

Removed a couple of unnecessary #undef statements

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.