10 # if defined HAVE_MPI_MOD 18 INTEGER :: I, IERR, ID_SIS, ID_T2D, IDUM, IDUM1
20 INTEGER :: NTIME_STEPS_T2D
21 CHARACTER(LEN=PATH_LEN) :: GEO_FILE,PRE_FILE
22 CHARACTER(LEN=PATH_LEN) :: REF_FILE_T2D, REF_FILE_SIS
23 CHARACTER(LEN=PATH_LEN) :: CLI_FILE_T2D, CLI_FILE_SIS
24 CHARACTER(LEN=PATH_LEN) :: RES_FILE_T2D, RES_FILE_SIS
25 CHARACTER(LEN=PATH_LEN) :: CAS_FILE_T2D, DICO_FILE_T2D
26 CHARACTER(LEN=PATH_LEN) :: CAS_FILE_SIS, DICO_FILE_SIS
27 CHARACTER(LEN=PATH_LEN) :: DUMMY
28 CHARACTER(LEN=SIS_VAR_LEN) :: VARNAME
29 INTEGER LU,LNG,NPLAN,PARALLEL,REFFILE,PREFILE
30 INTEGER RANK,NCSIZE,PMETHOD,VAR_SIZE,COMM
41 OPEN(unit=12,file=
'param_api')
42 READ(12,
'(A)') dico_file_t2d
43 READ(12,
'(A)') dico_file_sis
44 READ(12,*) cas_file_t2d
45 READ(12,*) cas_file_sis
47 READ(12,*) res_file_t2d
48 READ(12,*) res_file_sis
50 READ(12,*) cli_file_t2d
51 READ(12,*) cli_file_sis
53 IF (reffile.EQ.1)
THEN 54 READ(12,*) ref_file_t2d
55 READ(12,*) ref_file_sis
61 IF (prefile.EQ.1)
THEN 69 print*,
"DICO T2D : ",dico_file_t2d
70 print*,
"DICO SIS : ",dico_file_sis
71 print*,
"CAS T2D : ",cas_file_t2d
72 print*,
"CAS SIS : ",cas_file_sis
73 print*,
"COUPLING PERIOD : ", cpl_period
74 print*,
"RES T2D : ",res_file_t2d
75 print*,
"RES SIS : ",res_file_sis
76 print*,
"GEO : ",geo_file
77 print*,
"CLI T2D : ",cli_file_t2d
78 print*,
"CLI SIS : ",cli_file_sis
79 IF(reffile.EQ.1) print*,
"REFERENCE FILES PRESENT : ",
80 & ref_file_t2d, ref_file_sis
81 IF(prefile.EQ.1) print*,
"PREVIOUS CALCULATIONS FILE PRESENT : ",
83 IF(parallel.EQ.0) print*,
"MPI : SEQUENTIAL RUN" 84 IF(parallel.EQ.1) print*,
"MPI : PARALLEL RUN" 87 IF(parallel.EQ.1)
THEN 94 WRITE(lu,*)
'(AD) COMPAD :: HOMERE_API.F : DIRECT CALL OF ',
95 &
'MPI_INIT NOT AD-READY' 96 WRITE(lu,*)
' PLEASE CONTACT JR @ ADJOINTWARE' 103 CALL mpi_comm_rank(mpi_comm_world,rank,ierr)
105 CALL mpi_comm_size(mpi_comm_world,ncsize,ierr)
106 comm = mpi_comm_world
115 CALL partel(geo_file,cli_file_sis,ncsize,pmethod,
116 &
'SERAFIN ',
' ',
' ')
117 IF(reffile.EQ.1)
CALL parres(geo_file,ref_file_sis,
118 & ncsize,
'SERAFIN ',
'SERAFIN ')
124 CALL partel(geo_file,cli_file_t2d,ncsize,pmethod,
125 &
'SERAFIN ',
' ',
' ')
126 IF(reffile.EQ.1)
CALL parres(geo_file,ref_file_t2d,
127 & ncsize,
'SERAFIN ',
'SERAFIN ')
128 IF(prefile.EQ.1)
CALL parres(geo_file,pre_file,
129 & ncsize,
'SERAFIN ',
'SERAFIN ')
138 & .true.,ierr,dummy,dummy)
141 varname =
'MODEL.RESULTFILE' 144 print *,
'rank:',rank,
'VAR_SIZE:',var_size
145 CALL set_string(id_t2d,
'T2D',varname,res_file_t2d,var_size,
156 & cas_file_sis,dico_file_sis,
160 varname =
'MODEL.RESULTFILE' 161 CALL get_var_size(id_sis,
'SIS',varname,var_size,idum,idum1,ierr)
162 print *,
'rank:',rank,
'VAR_SIZE:',var_size
163 CALL set_string(id_sis,
'SIS',varname,res_file_sis,var_size,
172 varname =
'MODEL.CPL_PERIOD' 173 CALL set_integer(id_t2d,
'T2D', varname, cpl_period,
182 varname =
'MODEL.NTIMESTEPS' 183 CALL get_integer(id_t2d,
'T2D', varname, ntime_steps_t2d,
187 varname =
'MODEL.CPL_PERIOD' 188 CALL get_integer(id_t2d,
'T2D',varname,cpl_period, 0, 0, 0, ierr)
190 DO i=1,ntime_steps_t2d
193 IF(cpl_period*(i/cpl_period).EQ.i)
THEN 205 IF(parallel.EQ.1)
THEN 209 &
'SERAFIN ', ncsize,nplan)
211 &
'SERAFIN ', ncsize,nplan)
216 WRITE(lu,*)
'(AD) COMPAD :: HOMERE_API.F : DIRECT CALL OF ',
217 &
'MPI_FINALIZE NOT AD-READY' 218 WRITE(lu,*)
' PLEASE CONTACT JR @ ADJOINTWARE' 222 CALL mpi_finalize(ierr)
subroutine save_charr_susp(ID_T2D, ID_SIS, IERR)
subroutine run_allocation_sis(ID, IERR)
subroutine run_init_sis(ID, IERR)
subroutine get_integer(ID, TAG, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine parres(NAMEGEO, NAMEINP, NPARTS, GEOFORMAT, INPFORMAT)
subroutine run_finalize_t2d(ID, IERR)
subroutine set_integer(ID, TAG, VARNAME, VALEUR, INDEX1, INDEX2, INDEX3, IERR)
subroutine run_timestep_res_t2d(ID, IERR)
subroutine partel(NAMEINP, NAMECLI, NPARTS, PMETHOD, FFORMAT, NAMESEC, NAMEZFI, NAMESEU)
subroutine run_timestep_compute_t2d(ID, IERR)
subroutine gretel_autop(GEO, GEOFORMAT, BND, RES, RESFORMAT, NPROC, NPLAN_RES, METHOD)
subroutine run_read_case_sis(ID, CODE, CAS_FILE, DICO_FILE, INIT, IERR)
subroutine cpl_init(ID, IERR)
subroutine run_init_t2d(ID, IERR)
subroutine set_string(ID, TAG, VARNAME, VALEUR, VALUELEN, INDEX1, INDEX2, IERR)
subroutine run_set_config_t2d(ID, LU, LNG, COMM, IERR)
subroutine run_allocation_t2d(ID, IERR)
subroutine set_var_sis(ID_T2D, ID_SIS, CALL_TYPE, IERR)
subroutine run_finalize_sis(ID, IERR)
subroutine example_cpl_t2d_sis()
subroutine set_var_t2d(ID_T2D, ID_SIS, IERR)
integer, parameter path_len
subroutine run_read_case_t2d(ID, CAS_FILE, DICO_FILE, INIT, IERR, GAIA_CAS, GAIA_DICO)
subroutine run_set_config_sis(ID, LU, LNG, COMM, IERR)
subroutine run_timestep_sis_cpl(ID_T2D, ID_SIS, IERR)
subroutine get_var_size(ID, TAG, VARNAME, DIM1, DIM2, DIM3, IERR)