source: LMDZ6/trunk/libf/phy_common/physics_distribution_mod.F90 @ 5259

Last change on this file since 5259 was 5252, checked in by abarral, 10 hours ago

Wrap uses of cpp key REPROBUS and CPP_STRATAER
Add REPROBUS wrapper

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1!
2!$Id: physics_distribution_mod.F90 5252 2024-10-22 12:09:45Z abarral $
3!
4MODULE physics_distribution_mod
5
6
7CONTAINS
8
9  SUBROUTINE init_physics_distribution(grid_type, nvertex, &
10                                       nbp, nbp_lon, nbp_lat, nbp_lev, &
11                                       communicator)
12  USE mod_phys_lmdz_para, ONLY: init_phys_lmdz_para, klon_omp
13  USE mod_grid_phy_lmdz, ONLY: init_grid_phy_lmdz
14  USE dimphy, ONLY : Init_dimphy
15  USE infotrac_phy, ONLY : type_trac
16  USE lmdz_reprobus_wrappers, ONLY : Init_chem_rep_phys
17  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
18
19  IMPLICIT NONE
20    INTEGER,INTENT(IN) :: grid_type
21    INTEGER,INTENT(IN) :: nvertex
22    INTEGER,INTENT(IN) :: nbp           
23    INTEGER,INTENT(IN) :: nbp_lon
24    INTEGER,INTENT(IN) :: nbp_lat
25    INTEGER,INTENT(IN) :: nbp_lev
26    INTEGER,INTENT(IN) :: communicator
27
28
29    CALL init_grid_phy_lmdz(grid_type,nvertex, nbp_lon,nbp_lat,nbp_lev)
30    CALL init_phys_lmdz_para(nbp,nbp_lon, nbp_lat,nbp_lev, grid_type,nvertex, communicator)
31!$OMP PARALLEL
32    CALL init_dimphy(klon_omp,nbp_lev)
33
34IF (CPPKEY_INCA) THEN
35       CALL Init_inca_dim(klon_omp,nbp_lev)
36END IF
37
38IF (CPPKEY_REPROBUS) THEN
39! Initialization of Reprobus
40    IF (type_trac == 'repr') CALL Init_chem_rep_phys(klon_omp,nbp_lev)
41END IF
42
43!$OMP END PARALLEL
44
45  END SUBROUTINE init_physics_distribution 
46
47!SUBROUTINE Init_Phys_lmdz(iim,jjp1,llm,nb_proc,distrib)
48!  USE mod_phys_lmdz_para, ONLY: Init_phys_lmdz_para!, klon_omp
49!  USE mod_grid_phy_lmdz, ONLY: Init_grid_phy_lmdz!, nbp_lev
50!  USE dimphy, ONLY : Init_dimphy
51!  USE infotrac_phy, ONLY : type_trac
52!#ifdef REPROBUS
53!  USE lmdz_reprobus_wrappers, ONLY : Init_chem_rep_phys
54!#endif
55
56!  IMPLICIT NONE
57 
58!    INTEGER,INTENT(in) :: iim
59!    INTEGER,INTENT(in) :: jjp1
60!    INTEGER,INTENT(in) :: llm
61!    INTEGER,INTENT(in) :: nb_proc
62!    INTEGER,INTENT(in) :: distrib(0:nb_proc-1)
63
64
65!    CALL Init_grid_phy_lmdz(iim,jjp1,llm)
66!    CALL Init_phys_lmdz_para(iim,jjp1,nb_proc,distrib)
67!!$OMP PARALLEL
68!    CALL Init_dimphy(klon_omp,nbp_lev)
69!
70!#ifdef REPROBUS
71!! Initialization of Reprobus
72!    IF (type_trac == 'repr') CALL Init_chem_rep_phys(klon_omp,nbp_lev)
73!    END IF
74!#endif
75!
76!!$OMP END PARALLEL
77 
78!END SUBROUTINE Init_Phys_lmdz 
79
80
81
82
83
84
85
86
87END MODULE physics_distribution_mod
88
Note: See TracBrowser for help on using the repository browser.