Ignore:
Timestamp:
02/13/12 19:35:25 (12 years ago)
Author:
ymipsl
Message:

nouvelle version de developpement de xios

  • nouvelle interface fortran
  • recodage complet de la couche de communication
  • et bien d'autres choses...

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_V2/dev/common/src/fortran/oasis_interface.F90

    r286 r300  
    3939 
    4040 
     41SUBROUTINE fxios_oasis_get_localcomm(f_comm) BIND(C,NAME="fxios_oasis_get_localcomm") 
     42  USE, INTRINSIC :: ISO_C_BINDING 
     43#ifdef USE_OASIS 
     44!  USE mod_prism_get_localcomm_proto  
     45#endif 
     46  IMPLICIT NONE 
     47  INTEGER(kind=C_INT) :: f_comm 
     48   
     49  INTEGER :: comm 
     50  INTEGER :: ierr 
     51     
     52#ifdef USE_OASIS 
     53    CALL prism_get_localcomm_proto(comm,ierr) 
     54#endif 
     55    f_comm=comm 
     56 
     57END SUBROUTINE fxios_oasis_get_localcomm 
     58 
     59 
     60 
     61 
    4162SUBROUTINE fxios_oasis_get_intracomm(f_comm_client_server,client_id,str_len) BIND(C,NAME="fxios_oasis_get_intracomm") 
    4263  USE, INTRINSIC :: ISO_C_BINDING 
     
    6182    CALL prism_get_intracomm(comm_client_server,oasis_client_id,ierr) 
    6283#endif 
    63     PRINT *,"---> prism_get_intracomm ",oasis_client_id,comm_client_server,ierr 
     84 
    6485    f_comm_client_server=comm_client_server 
    6586 
    6687END SUBROUTINE fxios_oasis_get_intracomm 
     88 
     89SUBROUTINE fxios_oasis_get_intercomm(f_comm_client_server,client_id,str_len) BIND(C,NAME="fxios_oasis_get_intercomm") 
     90  USE, INTRINSIC :: ISO_C_BINDING 
     91#ifdef USE_OASIS 
     92  USE mod_prism_get_comm  
     93#endif 
     94  IMPLICIT NONE 
     95  INTEGER(kind=C_INT) :: f_comm_client_server 
     96  CHARACTER,DIMENSION(*) :: client_id 
     97  INTEGER,VALUE          :: str_len 
     98   
     99  INTEGER :: comm_client_server 
     100  CHARACTER(len=str_len) :: oasis_client_id 
     101  INTEGER :: ierr 
     102  INTEGER :: i 
     103     
     104    DO i=1,str_len 
     105      oasis_client_id(i:i)=client_id(i) 
     106    ENDDO 
     107     
     108#ifdef USE_OASIS 
     109    CALL prism_get_intercomm(comm_client_server,oasis_client_id,ierr) 
     110#endif 
     111 
     112    f_comm_client_server=comm_client_server 
     113 
     114END SUBROUTINE fxios_oasis_get_intercomm 
Note: See TracChangeset for help on using the changeset viewer.