source: LMDZ4/trunk/libf/phylmd/write_field_phy.F90 @ 775

Last change on this file since 775 was 765, checked in by Laurent Fairhead, 17 years ago

Merge entre la version V3_conv et le HEAD
Nouvelles routines paralllises
YM, JG, LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 890 bytes
Line 
1MODULE write_field_phy
2
3  CONTAINS
4 
5    SUBROUTINE WriteField_phy(name,Field,ll)
6    USE dimphy
7    USE Write_Field
8    IMPLICIT NONE
9    include 'dimensions90.h'
10    include 'paramet90.h'
11
12    character(len=*)   :: name
13    INTEGER :: ll
14    real, dimension(klon_omp,ll) :: Field
15    real,save,allocatable :: Field_tmp(:,:)
16    real, dimension(klon2,ll):: New_Field
17    real, dimension(iim,jjp1,ll):: Field_2d
18       
19    if (omp_rank==0) then
20      allocate(Field_tmp(klon_mpi,ll))
21    endif
22   
23!$OMP BARRIER
24    CALL GatherField_omp(Field,Field_tmp,ll)
25!$OMP BARRIER
26
27  if (omp_rank==0) then
28    CALL GatherField(Field_tmp,New_Field,ll)
29    IF (phy_rank==0) THEN
30      CALL gr_fi_ecrit(ll, klon2,iim,jjp1, New_Field, Field_2d)
31      CALL WriteField(name,Field_2d)
32    ENDIF
33    deallocate(Field_tmp)
34  endif
35!$OMP BARRIER
36 
37   END SUBROUTINE WriteField_phy
38 
39 END MODULE write_field_phy
Note: See TracBrowser for help on using the repository browser.