source: codes/icosagcm/trunk/src/output_field.f90 @ 176

Last change on this file since 176 was 171, checked in by ymipsl, 11 years ago
  • XIOS integration -

Compiling with "-with_xios" option. Adapt path to find XIOS library (arch.path)
Retro-compatible with the old output. If xios is not present, dynamico will use the standard writefield function.
Need to have the iodef.xml configuration file in the exec directory

YM

File size: 1.1 KB
Line 
1MODULE output_field_mod
2USE genmod
3  PRIVATE
4  LOGICAL,SAVE :: xios_output   
5
6  PUBLIC xios_output,output_field_init,output_field,output_field_finalize
7
8CONTAINS
9 
10  SUBROUTINE output_field_init
11  USE IOIPSL
12  USE xios_mod
13  USE write_field
14  IMPLICIT NONE
15
16    IF (using_xios) THEN
17      xios_output=.TRUE.
18      CALL getin('xios_output',xios_output)
19    ELSE
20      xios_output=.FALSE.
21    ENDIF
22   
23    IF (xios_output) THEN
24      CALL xios_init_write_field
25    ENDIF
26
27   
28  END SUBROUTINE output_field_init
29
30  SUBROUTINE output_field(name_in,field)
31    USE field_mod
32    USE xios_mod
33    USE write_field
34    IMPLICIT NONE 
35     CHARACTER(LEN=*),INTENT(IN) :: name_in
36      TYPE(t_field),POINTER :: field(:)
37
38      IF (xios_output) THEN
39        CALL xios_write_field(name_in,field)
40      ELSE
41       CALL writeField(name_in,field)
42      ENDIF
43
44  END SUBROUTINE output_field
45
46  SUBROUTINE output_field_finalize
47  USE IOIPSL
48  USE xios_mod
49  IMPLICIT NONE
50   
51    IF (xios_output) THEN
52      CALL xios_write_field_finalize
53    ENDIF
54   
55  END SUBROUTINE output_field_finalize
56
57END MODULE output_field_mod
58 
Note: See TracBrowser for help on using the repository browser.