SURFEX v8.1
General documentation of Surfex
trip_oasis_end.F90
Go to the documentation of this file.
1 !#########
2 SUBROUTINE trip_oasis_end(OOASIS,OXIOS)
3 !########################
4 !
5 !!**** *TRIP_OASIS_END* - end coupling TRIP - OASIS
6 !!
7 !! PURPOSE
8 !! -------
9 !!
10 !!** METHOD
11 !! ------
12 !!
13 !! EXTERNAL
14 !! --------
15 !!
16 !!
17 !! IMPLICIT ARGUMENTS
18 !! ------------------
19 !!
20 !! REFERENCE
21 !! ---------
22 !!
23 !!
24 !! AUTHOR
25 !! ------
26 !! B. Decharme *Meteo France*
27 !!
28 !! MODIFICATIONS
29 !! -------------
30 !! Original 10/2013
31 !! S.Sénési 08/11/16 : interface to XIOS
32 !-------------------------------------------------------------------------------
33 !
34 !* 0. DECLARATIONS
35 ! ------------
36 !
37 #ifdef CPLOASIS
38 USE mod_oasis
39 #endif
40 !
41 #ifdef WXIOS
42 USE xios
43 #endif
44 !
45 IMPLICIT NONE
46 !
47 !* 0.1 Declarations of arguments
48 ! -------------------------
49 !
50 LOGICAL, INTENT(IN) :: OOASIS ! key to use OASIS
51 LOGICAL, INTENT(IN) :: OXIOS ! key to use XIOS
52 !
53 !* 0.2 Declarations of local variables
54 ! -------------------------------
55 !
56 INTEGER :: IERR ! Error info
57 !
58 IF (oxios) THEN
59 !-------------------------------------------------------------------------------
60 #ifdef WXIOS
61 !-------------------------------------------------------------------------------
62  CALL xios_context_finalize()
63  CALL xios_finalize()
64 !-------------------------------------------------------------------------------
65 #endif
66 !-------------------------------------------------------------------------------
67 ELSE
68 
69  IF (ooasis) THEN
70  !
71  !-------------------------------------------------------------------------------
72 #ifdef CPLOASIS
73 !-------------------------------------------------------------------------------
74 !
75  CALL oasis_terminate(ierr)
76  IF (ierr/=oasis_ok) THEN
77  WRITE(*,'(A)' )'Error OASIS terminate'
78  WRITE(*,'(A,I4)')'Return code from oasis_terminate : ',ierr
79  CALL abort
80  stop
81  ENDIF
82 !
83 !-------------------------------------------------------------------------------
84 #endif
85  ENDIF
86 !-------------------------------------------------------------------------------
87 ENDIF
88 !-------------------------------------------------------------------------------
89 !
90 END SUBROUTINE trip_oasis_end
subroutine trip_oasis_end(OOASIS, OXIOS)