source: trunk/LMDZ.COMMON/libf/phy_common/physics_distribution_mod.F90 @ 3525

Last change on this file since 3525 was 1682, checked in by emillour, 8 years ago

All GCMs: set things up to enable pluging physics with dynamico

  • dyn3d
  • gcm.F90 : move I/O initialization (dates) to be done before physics

initialization

  • dyn3dpar
  • gcm.F : move I/O initialization (dates) to be done before physics

initialization

  • dynphy_lonlat:
  • inigeomphy_mod.F90 : add ind_cell_glo computation and transfer

to init_geometry

  • phy_common:
  • geometry_mod.F90 : add ind_cell_glo module variable to store global

column index

  • print_control_mod.F90 : make initialization occur via init_print_control_mod

to avoid circular module dependencies

  • init_print_control_mod.F90 : added to initialize print_control_mod module

variables

  • mod_phys_lmdz_mpi_data.F90 : use print_control_mod (rather than iniprint.h)
  • mod_phys_lmdz_para.F90 : use print_control_mod (rather than iniprint.h)
  • mod_phys_lmdz_omp_data.F90 : add is_omp_master (alias of is_omp_root) module

variable and use print_control_mod (rather than
iniprint.h)

  • physics_distribution_mod.F90 : add call to init_dimphy in

init_physics_distribution

  • xios_writefield.F90 : generic routine to output field with XIOS (for debug)
  • misc:
  • handle_err_m.F90 : call abort_physic, rather than abort_gcm
  • wxios.F90 : updates to enable unstructured grids

set module variable g_ctx_name to "LMDZ"
wxios_init(): remove call to wxios_context_init
wxios_context_init(): call xios_context_initialize with COMM_LMDZ_PHY
add routine wxios_set_context() to get handle and set context to XIOS
wxios_domain_param(): change arguments and generate the domain in-place
add wxios_domain_param_unstructured(): generate domain for unstructured case

NB: access is via "domain group" (whereas it is via "domain" in

wxios_domain_param)

  • dynphy_lonlat/phy[std|mars|venus|titan]:
  • iniphysiq_mod.F90 : Remove call to init_dimphy (which is now done in

phy_common/physics_distribution_mod.F90)

EM

File size: 1.9 KB
Line 
1!
2!$Id: physics_distribution_mod.F90 2351 2015-08-25 15:14:59Z emillour $
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
16  IMPLICIT NONE
17    INTEGER,INTENT(IN) :: grid_type
18    INTEGER,INTENT(IN) :: nvertex
19    INTEGER,INTENT(IN) :: nbp           
20    INTEGER,INTENT(IN) :: nbp_lon
21    INTEGER,INTENT(IN) :: nbp_lat
22    INTEGER,INTENT(IN) :: nbp_lev
23    INTEGER,INTENT(IN) :: communicator
24
25
26    CALL init_grid_phy_lmdz(grid_type,nvertex, nbp_lon,nbp_lat,nbp_lev)
27    CALL init_phys_lmdz_para(nbp,nbp_lon, nbp_lat, communicator)
28!$OMP PARALLEL
29    CALL init_dimphy(klon_omp,nbp_lev)
30!$OMP END PARALLEL
31
32  END SUBROUTINE init_physics_distribution 
33
34!SUBROUTINE Init_Phys_lmdz(iim,jjp1,llm,nb_proc,distrib)
35!  USE mod_phys_lmdz_para, ONLY: Init_phys_lmdz_para!, klon_omp
36!  USE mod_grid_phy_lmdz, ONLY: Init_grid_phy_lmdz!, nbp_lev
37!  USE dimphy, ONLY : Init_dimphy
38!  USE infotrac_phy, ONLY : type_trac
39!#ifdef REPROBUS
40!  USE CHEM_REP, ONLY : Init_chem_rep_phys
41!#endif
42
43!  IMPLICIT NONE
44 
45!    INTEGER,INTENT(in) :: iim
46!    INTEGER,INTENT(in) :: jjp1
47!    INTEGER,INTENT(in) :: llm
48!    INTEGER,INTENT(in) :: nb_proc
49!    INTEGER,INTENT(in) :: distrib(0:nb_proc-1)
50
51
52!    CALL Init_grid_phy_lmdz(iim,jjp1,llm)
53!    CALL Init_phys_lmdz_para(iim,jjp1,nb_proc,distrib)
54!!$OMP PARALLEL
55!    CALL Init_dimphy(klon_omp,nbp_lev)
56!
57!! Initialization of Reprobus
58!    IF (type_trac == 'repr') THEN
59!#ifdef REPROBUS
60!       CALL Init_chem_rep_phys(klon_omp,nbp_lev)
61!#endif
62!    END IF
63!
64!!$OMP END PARALLEL
65 
66!END SUBROUTINE Init_Phys_lmdz 
67
68
69
70
71
72
73
74
75END MODULE physics_distribution_mod
76
Note: See TracBrowser for help on using the repository browser.