source: trunk/LMDZ.COMMON/libf/dynphy_lonlat/mod_interface_dyn_phys.F90 @ 1543

Last change on this file since 1543 was 1543, checked in by emillour, 9 years ago

All models: Further adaptations to keep up with changes in LMDZ5 concerning
physics/dynamics separation:

  • dyn3d:
  • adapted gcm.F so that all physics initializations are now done in iniphysiq.
  • dyn3dpar:
  • adapted gcm.F so that all physics initializations are now done in iniphysiq.
  • updated calfis_p.F to follow up with changes.
  • copied over updated "bands.F90" from LMDZ5.
  • dynphy_lonlat:
  • calfis_p.F90, mod_interface_dyn_phys.F90, follow up of changes in phy_common/mod_* routines
  • phy_common:
  • added "geometry_mod.F90" to store information about the grid (replaces phy*/comgeomphy.F90) and give variables friendlier names: rlond => longitude , rlatd => latitude, airephy => cell_area, cuphy => dx , cvphy => dy
  • added "physics_distribution_mod.F90"
  • updated "mod_grid_phy_lmdz.F90", "mod_phys_lmdz_mpi_data.F90", "mod_phys_lmdz_para.F90", "mod_phys_lmdz_mpi_transfert.F90", "mod_grid_phy_lmdz.F90", "mod_phys_lmdz_omp_data.F90", "mod_phys_lmdz_omp_transfert.F90", "write_field_phy.F90" and "ioipsl_getin_p_mod.F90" to LMDZ5 versions.
  • phy[venus/titan/mars/std]:
  • removed "init_phys_lmdz.F90", "comgeomphy.F90"; adapted routines to use geometry_mod (longitude, latitude, cell_area, etc.)

EM

File size: 1.1 KB
Line 
1!
2! $Id: mod_interface_dyn_phys.F90 2351 2015-08-25 15:14:59Z emillour $
3!
4MODULE mod_interface_dyn_phys
5  INTEGER,SAVE,dimension(:),allocatable :: index_i
6  INTEGER,SAVE,dimension(:),allocatable :: index_j
7 
8 
9CONTAINS
10 
11#ifdef CPP_PARA
12! Interface with parallel physics,
13  SUBROUTINE Init_interface_dyn_phys
14    USE mod_phys_lmdz_mpi_data
15    IMPLICIT NONE
16    include 'dimensions.h'   
17   
18    INTEGER :: i,j,k
19   
20    ALLOCATE(index_i(klon_mpi))
21    ALLOCATE(index_j(klon_mpi))
22   
23    k=1
24    IF (is_north_pole) THEN
25      index_i(k)=1
26      index_j(k)=1
27      k=2
28    ELSE
29      DO i=ii_begin,iim
30        index_i(k)=i
31        index_j(k)=jj_begin
32        k=k+1
33       ENDDO
34    ENDIF
35   
36    DO j=jj_begin+1,jj_end-1
37      DO i=1,iim
38        index_i(k)=i
39        index_j(k)=j
40        k=k+1
41      ENDDO
42    ENDDO
43   
44    IF (is_south_pole) THEN
45      index_i(k)=1
46      index_j(k)=jj_end
47    ELSE
48      DO i=1,ii_end
49        index_i(k)=i
50        index_j(k)=jj_end
51        k=k+1
52       ENDDO
53    ENDIF
54 
55  END SUBROUTINE Init_interface_dyn_phys
56#else
57  SUBROUTINE Init_interface_dyn_phys
58  ! dummy routine for seq case
59  END SUBROUTINE Init_interface_dyn_phys
60#endif
61! of #ifdef CPP_PARA
62END MODULE mod_interface_dyn_phys
Note: See TracBrowser for help on using the repository browser.