source: codes/icosagcm/trunk/src/output/output_field.f90 @ 548

Last change on this file since 548 was 548, checked in by dubos, 7 years ago

trunk : reorganize source tree

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