1 |
|
|
! |
2 |
|
|
! $Id: write_field_phy.F90 2342 2015-08-19 13:21:38Z emillour $ |
3 |
|
|
! |
4 |
|
|
MODULE write_field_phy |
5 |
|
|
|
6 |
|
|
! Dump a field on the global (nbp_lon by nbp_lat) physics grid |
7 |
|
|
|
8 |
|
|
CONTAINS |
9 |
|
|
|
10 |
|
|
SUBROUTINE WriteField_phy(name,Field,ll) |
11 |
|
|
USE mod_phys_lmdz_para, ONLY: klon_omp, is_mpi_root, & |
12 |
|
|
Gather |
13 |
|
|
USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, klon_glo, & |
14 |
|
|
Grid1Dto2D_glo |
15 |
|
|
USE Write_Field, ONLY: WriteField |
16 |
|
|
|
17 |
|
|
IMPLICIT NONE |
18 |
|
|
|
19 |
|
|
CHARACTER(len=*),INTENT(IN) :: name |
20 |
|
|
INTEGER,INTENT(IN) :: ll |
21 |
|
|
REAL,INTENT(IN) :: Field(klon_omp,ll) |
22 |
|
|
|
23 |
|
|
real, dimension(klon_glo,ll):: New_Field |
24 |
|
|
real, dimension(nbp_lon,nbp_lat,ll):: Field_2d |
25 |
|
|
|
26 |
|
|
CALL Gather(Field,New_Field) |
27 |
|
|
!$OMP MASTER |
28 |
|
|
IF (is_mpi_root) THEN |
29 |
|
|
CALL Grid1Dto2D_glo(New_Field,Field_2D) |
30 |
|
|
CALL WriteField(name,Field_2d) |
31 |
|
|
ENDIF |
32 |
|
|
!$OMP END MASTER |
33 |
|
|
|
34 |
|
|
|
35 |
|
|
END SUBROUTINE WriteField_phy |
36 |
|
|
|
37 |
|
|
END MODULE write_field_phy |