Ignore:
Timestamp:
Oct 13, 2008 2:59:11 PM (16 years ago)
Author:
raasch
Message:

ocean-atmosphere coupling realized with MPI-1, adjustments in mrun, mbuild, subjob for lcxt4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/check_parameters.f90

    r198 r206  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Implementation of an MPI-1 coupling: replaced myid with target_id,
     7! deleted __mpi2 directives
    78!
    89! Former revisions:
     
    139140          CALL local_stop
    140141       ENDIF
    141 #if defined( __parallel )  &&  defined( __mpi2 )
    142        CALL MPI_SEND( dt_coupling, 1, MPI_REAL, myid, 11, comm_inter, ierr )
    143        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 11, comm_inter, status, ierr )
     142#if defined( __parallel )
     143       CALL MPI_SEND( dt_coupling, 1, MPI_REAL, target_id, 11, comm_inter, &
     144                      ierr )
     145       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 11, comm_inter, &
     146                      status, ierr )
    144147       IF ( dt_coupling /= remote )  THEN
    145148          IF ( myid == 0 )  THEN
     
    151154       ENDIF
    152155       IF ( dt_coupling <= 0.0 )  THEN
    153           CALL MPI_SEND( dt_max, 1, MPI_REAL, myid, 19, comm_inter, ierr )
    154           CALL MPI_RECV( remote, 1, MPI_REAL, myid, 19, comm_inter, status, &
    155                ierr )
     156          CALL MPI_SEND( dt_max, 1, MPI_REAL, target_id, 19, comm_inter, ierr )
     157          CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 19, comm_inter, &
     158                         status, ierr )
    156159          dt_coupling = MAX( dt_max, remote )
    157160          IF ( myid == 0 )  THEN
     
    162165          ENDIF
    163166       ENDIF
    164        CALL MPI_SEND( restart_time, 1, MPI_REAL, myid, 12, comm_inter, ierr )
    165        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 12, comm_inter, status, ierr )
     167       CALL MPI_SEND( restart_time, 1, MPI_REAL, target_id, 12, comm_inter, &
     168                      ierr )
     169       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 12, comm_inter, &
     170                      status, ierr )
    166171       IF ( restart_time /= remote )  THEN
    167172          IF ( myid == 0 )  THEN
     
    172177          CALL local_stop
    173178       ENDIF
    174        CALL MPI_SEND( dt_restart, 1, MPI_REAL, myid, 13, comm_inter, ierr )
    175        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 13, comm_inter, status, ierr )
     179       CALL MPI_SEND( dt_restart, 1, MPI_REAL, target_id, 13, comm_inter, &
     180                      ierr )
     181       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 13, comm_inter, &
     182                      status, ierr )
    176183       IF ( dt_restart /= remote )  THEN
    177184          IF ( myid == 0 )  THEN
     
    182189          CALL local_stop
    183190       ENDIF
    184        CALL MPI_SEND( end_time, 1, MPI_REAL, myid, 14, comm_inter, ierr )
    185        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 14, comm_inter, status, ierr )
     191       CALL MPI_SEND( end_time, 1, MPI_REAL, target_id, 14, comm_inter, ierr )
     192       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 14, comm_inter, &
     193                      status, ierr )
    186194       IF ( end_time /= remote )  THEN
    187195          IF ( myid == 0 )  THEN
     
    192200          CALL local_stop
    193201       ENDIF
    194        CALL MPI_SEND( dx, 1, MPI_REAL, myid, 15, comm_inter, ierr )
    195        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 15, comm_inter, status, ierr )
     202       CALL MPI_SEND( dx, 1, MPI_REAL, target_id, 15, comm_inter, ierr )
     203       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 15, comm_inter, &
     204                      status, ierr )
    196205       IF ( dx /= remote )  THEN
    197206          IF ( myid == 0 )  THEN
     
    202211          CALL local_stop
    203212       ENDIF
    204        CALL MPI_SEND( dy, 1, MPI_REAL, myid, 16, comm_inter, ierr )
    205        CALL MPI_RECV( remote, 1, MPI_REAL, myid, 16, comm_inter, status, ierr )
     213       CALL MPI_SEND( dy, 1, MPI_REAL, target_id, 16, comm_inter, ierr )
     214       CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 16, comm_inter, &
     215                      status, ierr )
    206216       IF ( dy /= remote )  THEN
    207217          IF ( myid == 0 )  THEN
     
    212222          CALL local_stop
    213223       ENDIF
    214        CALL MPI_SEND( nx, 1, MPI_INTEGER, myid, 17, comm_inter, ierr )
    215        CALL MPI_RECV( iremote, 1, MPI_INTEGER, myid, 17, comm_inter, status, &
    216             ierr )
     224       CALL MPI_SEND( nx, 1, MPI_INTEGER, target_id, 17, comm_inter, ierr )
     225       CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 17, comm_inter, &
     226                      status, ierr )
    217227       IF ( nx /= iremote )  THEN
    218228          IF ( myid == 0 )  THEN
     
    223233          CALL local_stop
    224234       ENDIF
    225        CALL MPI_SEND( ny, 1, MPI_INTEGER, myid, 18, comm_inter, ierr )
    226        CALL MPI_RECV( iremote, 1, MPI_INTEGER, myid, 18, comm_inter, status, &
    227             ierr )
     235       CALL MPI_SEND( ny, 1, MPI_INTEGER, target_id, 18, comm_inter, ierr )
     236       CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 18, comm_inter, &
     237                      status, ierr )
    228238       IF ( ny /= iremote )  THEN
    229239          IF ( myid == 0 )  THEN
     
    237247    ENDIF
    238248
    239 #if defined( __parallel )  &&  defined( __mpi2 )
     249#if defined( __parallel )
    240250!
    241251!-- Exchange via intercommunicator
    242252    IF ( coupling_mode == 'atmosphere_to_ocean' )  THEN
    243        CALL MPI_SEND( humidity, &
    244             1, MPI_LOGICAL, myid, 19, comm_inter, ierr )
     253       CALL MPI_SEND( humidity, 1, MPI_LOGICAL, target_id, 19, comm_inter, &
     254                      ierr )
    245255    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
    246        CALL MPI_RECV( humidity_remote, &
    247             1, MPI_LOGICAL, myid, 19, comm_inter, status, ierr )
     256       CALL MPI_RECV( humidity_remote, 1, MPI_LOGICAL, target_id, 19, &
     257                      comm_inter, status, ierr )
    248258    ENDIF
    249259#endif
Note: See TracChangeset for help on using the changeset viewer.