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

Last change on this file was 899, checked in by adurocher, 5 years ago

trunk : Fixed GCC warnings

Fixed iso c bindings
fixed warnings with -Wall -Wno-aliasing -Wno-unused -Wno-unused-dummy-argument -Wno-maybe-uninitialized -Wno-tabs warnings
Removed all unused variables (-Wunused-variable)
vector%dot_product is now dot_product_3d to avoid compilation warning "dot_product shadows intrinsic" with GCC

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