Skip to content

Commit 9df6749

Browse files
committed
Change include mpi.h to use mpi
1 parent c189e33 commit 9df6749

File tree

13 files changed

+279
-49
lines changed

13 files changed

+279
-49
lines changed

ED/build/shell/dependency.mk

Lines changed: 208 additions & 0 deletions
Large diffs are not rendered by default.

ED/build/shell/sources.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SOURCES = ED/src/driver/ed_1st.F90 ED/src/driver/ed_driver.F90 ED/src/driver/ed_met_driver.f90 ED/src/driver/ed_model.F90 ED/src/dynamics/bdf2_solver.f90 ED/src/dynamics/canopy_struct_dynamics.f90 ED/src/dynamics/disturbance.f90 ED/src/dynamics/euler_driver.f90 ED/src/dynamics/events.f90 ED/src/dynamics/farq_katul.f90 ED/src/dynamics/farq_leuning.f90 ED/src/dynamics/fire.f90 ED/src/dynamics/forestry.f90 ED/src/dynamics/growth_balive.f90 ED/src/dynamics/heun_driver.f90 ED/src/dynamics/hybrid_driver.f90 ED/src/dynamics/lsm_hyd.f90 ED/src/dynamics/mortality.f90 ED/src/dynamics/multiple_scatter.f90 ED/src/dynamics/old_twostream_rad.f90 ED/src/dynamics/phenology_aux.f90 ED/src/dynamics/phenology_driv.f90 ED/src/dynamics/photosyn_driv.f90 ED/src/dynamics/plant_hydro.f90 ED/src/dynamics/radiate_driver.f90 ED/src/dynamics/reproduction.f90 ED/src/dynamics/rk4_copy_patch.f90 ED/src/dynamics/rk4_derivs.f90 ED/src/dynamics/rk4_driver.F90 ED/src/dynamics/rk4_integ_utils.f90 ED/src/dynamics/rk4_misc.f90 ED/src/dynamics/soil_respiration.f90 ED/src/dynamics/stem_resp_driv.f90 ED/src/dynamics/structural_growth.f90 ED/src/dynamics/twostream_rad.f90 ED/src/dynamics/vegetation_dynamics.f90 ED/src/init/ed_bigleaf_init.f90 ED/src/init/ed_init.F90 ED/src/init/ed_init_atm.F90 ED/src/init/ed_nbg_init.f90 ED/src/init/ed_params.f90 ED/src/init/ed_type_init.f90 ED/src/init/landuse_init.f90 ED/src/init/phenology_startup.f90 ED/src/io/average_utils.f90 ED/src/io/edio.f90 ED/src/io/ed_init_history.f90 ED/src/io/ed_load_namelist.f90 ED/src/io/ed_opspec.F90 ED/src/io/ed_print.F90 ED/src/io/ed_read_ed10_20_history.f90 ED/src/io/ed_read_ed21_history.f90 ED/src/io/ed_xml_config.f90 ED/src/io/h5_output.F90 ED/src/io/leaf_database.f90 ED/src/memory/c34constants.f90 ED/src/memory/canopy_air_coms.f90 ED/src/memory/canopy_layer_coms.f90 ED/src/memory/canopy_radiation_coms.f90 ED/src/memory/consts_coms.F90 ED/src/memory/decomp_coms.f90 ED/src/memory/detailed_coms.f90 ED/src/memory/disturb_coms.f90 ED/src/memory/ed_max_dims.F90 ED/src/memory/ed_mem_alloc.f90 ED/src/memory/ed_misc_coms.f90 ED/src/memory/ed_state_vars.F90 ED/src/memory/ed_var_tables.f90 ED/src/memory/ed_work_vars.f90 ED/src/memory/ename_coms.f90 ED/src/memory/fusion_fission_coms.f90 ED/src/memory/grid_coms.f90 ED/src/memory/hdf5_coms.f90 ED/src/memory/hydrology_coms.f90 ED/src/memory/hydrology_constants.f90 ED/src/memory/mem_polygons.f90 ED/src/memory/met_driver_coms.f90 ED/src/memory/pft_coms.f90 ED/src/memory/phenology_coms.f90 ED/src/memory/physiology_coms.f90 ED/src/memory/rk4_coms.f90 ED/src/memory/soil_coms.F90 ED/src/mpi/ed_mpass_init.F90 ED/src/mpi/ed_node_coms.f90 ED/src/mpi/ed_para_coms.f90 ED/src/mpi/ed_para_init.f90 ED/src/utils/allometry.f90 ED/src/utils/budget_utils.f90 ED/src/utils/charutils.f90 ED/src/utils/dateutils.f90 ED/src/utils/ed_cn_utils.f90 ED/src/utils/ed_filelist.F90 ED/src/utils/ed_grid.f90 ED/src/utils/ed_therm_lib.f90 ED/src/utils/fatal_error.F90 ED/src/utils/fuse_fiss_utils.f90 ED/src/utils/great_circle.f90 ED/src/utils/hdf5_utils.f90 ED/src/utils/hrzshade_utils.f90 ED/src/utils/invmondays.f90 ED/src/utils/lapse.f90 ED/src/utils/libxml2f90.f90_pp.f90 ED/src/utils/numutils.f90 ED/src/utils/radiate_utils.f90 ED/src/utils/random_utils.F90 ED/src/utils/rsys.F90 ED/src/utils/stable_cohorts.f90 ED/src/utils/therm_lib.f90 ED/src/utils/therm_lib8.f90 ED/src/utils/update_derived_utils.f90 ED/src/utils/utils_f.f90 ED/src/utils/utils_c.c

ED/src/driver/ed_1st.F90

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ subroutine ed_1st_master (ipara, nnodestotal,nslaves, headnode_num, max_threads,
2323
use ed_state_vars, only : allocate_edglobals & ! subroutine
2424
, filltab_alltypes ! ! subroutine
2525

26+
#if defined(RAMS_MPI)
27+
use mpi
28+
#endif
2629
implicit none
2730

2831
!----- Pre-compiled variables from MPI. ------------------------------------------------!
29-
#if defined(RAMS_MPI)
30-
include 'mpif.h'
31-
#endif
3232
!----- Arguments. ----------------------------------------------------------------------!
3333
integer , intent(in) :: ipara ! 0 if sequential run; 1 if parallel run
3434
integer , intent(in) :: nnodestotal ! total number of nodes on any run
@@ -176,10 +176,12 @@ end subroutine ed_1st_master
176176
!------------------------------------------------------------------------------------------!
177177
subroutine ed_1st_node()
178178
use ed_mem_alloc, only : ed_memory_allocation ! ! subroutine
179+
#if defined(RAMS_MPI)
180+
use mpi
181+
#endif
179182
implicit none
180183
!----- Pre-compiled variables from MPI. ------------------------------------------------!
181184
#if defined(RAMS_MPI)
182-
include 'mpif.h'
183185
!----- Local variable (MPI only). ------------------------------------------------------!
184186
integer :: ierr
185187
#endif

ED/src/driver/ed_driver.F90

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ subroutine ed_driver()
3636
use hrzshade_utils , only : init_cci_variables ! ! subroutine
3737
use canopy_radiation_coms, only : ihrzrad ! ! intent(in)
3838
use random_utils , only : init_random_seed ! ! subroutine
39-
implicit none
40-
!----- Included variables. -------------------------------------------------------------!
4139
#if defined(RAMS_MPI)
42-
include 'mpif.h' ! MPI commons
40+
use mpi ! MPI commons
4341
#endif
42+
implicit none
43+
44+
!----- Included variables. -------------------------------------------------------------!
4445
!----- Local variables. ----------------------------------------------------------------!
4546
character(len=12) :: c0
4647
character(len=12) :: c1

ED/src/driver/ed_model.F90

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,10 @@ subroutine ed_model()
9494
use vegetation_dynamics , only : veg_dynamics_driver ! ! sub-routine
9595
use ed_type_init , only : ed_init_viable ! ! sub-routine
9696
use soil_respiration , only : zero_litter_inputs ! ! sub-routine
97-
implicit none
98-
!----- Common blocks. ------------------------------------------------------------------!
9997
#if defined(RAMS_MPI)
100-
include 'mpif.h'
98+
use mpi
10199
#endif
100+
implicit none
102101
!----- Local variables. ----------------------------------------------------------------!
103102
type(simtime) :: daybefore
104103
character(len=28) :: fmthead

ED/src/driver/edmain.F90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
!------------------------------------------------------------------------------------------!
1515
program main
1616
!$ use omp_lib
17-
implicit none
17+
#if defined(RAMS_MPI)
18+
use mpi
19+
#endif
20+
implicit none
1821

1922
!---------------------------------------------------------------------------------------!
2023
! Local constants. !
@@ -49,10 +52,7 @@ program main
4952
integer, dimension(64) :: thread_use
5053
integer, dimension(64) :: cpu_use
5154
integer, external :: findmycpu
52-
!------ MPI interface. -----------------------------------------------------------------!
53-
#if defined(RAMS_MPI)
54-
include 'mpif.h'
55-
#endif
55+
5656
!---------------------------------------------------------------------------------------!
5757

5858

ED/src/init/ed_init.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,10 +319,10 @@ subroutine load_ecosystem_state()
319319
use ed_node_coms , only : mynum ! ! intent(in)
320320
#endif
321321

322-
implicit none
323322
#if defined(RAMS_MPI)
324-
include 'mpif.h'
323+
use mpi
325324
#endif
325+
implicit none
326326
!----- Local variables --------------------------------------------------------------!
327327
integer :: igr
328328
integer :: ping

ED/src/init/ed_init_atm.F90

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ subroutine ed_init_atm()
3333
, terminate_cohorts & ! subroutine
3434
, split_cohorts ! ! subroutine
3535
#if defined(RAMS_MPI)
36+
use mpi
3637
use ed_node_coms , only : nnodetot & ! intent(in)
3738
, mynum & ! intent(in)
3839
, sendnum & ! intent(in)
@@ -95,10 +96,6 @@ subroutine ed_init_atm()
9596
!----- Local variables (MPI only). -----------------------------------------------------!
9697
#if defined(RAMS_MPI)
9798
integer :: ierr
98-
#endif
99-
!----- Add the MPI common block. -------------------------------------------------------!
100-
#if defined(RAMS_MPI)
101-
include 'mpif.h'
10299
#endif
103100
!---------------------------------------------------------------------------------------!
104101

ED/src/io/ed_print.F90

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ subroutine print_fields(ifm,cgrid)
4848
use ed_var_tables, only : vt_info & ! intent(in)
4949
, num_var ! ! intent(in)
5050
use ed_max_dims , only : str_len_short ! ! intent(in)
51-
implicit none
51+
5252
!----- Standard common blocks. ------------------------------------------------------!
5353
#if defined(RAMS_MPI)
54-
include 'mpif.h'
54+
use mpi
5555
#endif
56+
implicit none
5657
!----- Arguments. -------------------------------------------------------------------!
5758
integer , intent(in) :: ifm
5859
type(edtype) , target :: cgrid

ED/src/io/h5_output.F90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ subroutine h5_output(vtype)
4848
, sitetype & ! structure
4949
, patchtype & ! structure
5050
, gdpy ! ! intent(in)
51-
implicit none
52-
53-
!------ Include standard common blocks. ------------------------------------------------!
51+
52+
!------ Include standard common blocks. ------------------------------------------------!
5453
#if defined(RAMS_MPI)
55-
include 'mpif.h'
54+
use mpi
5655
#endif
56+
implicit none
5757
!------ Arguments. ---------------------------------------------------------------------!
5858
character(len=*) , intent(in) :: vtype
5959
!------ Local variables. ---------------------------------------------------------------!

ED/src/memory/ed_state_vars.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12774,11 +12774,11 @@ subroutine filltab_alltypes
1277412774
#endif
1277512775
use ed_max_dims , only : maxgrds & ! intent(in)
1277612776
, maxmach ! ! intent(in)
12777-
implicit none
1277812777

1277912778
#if defined(RAMS_MPI)
12780-
include 'mpif.h'
12779+
use mpi
1278112780
#endif
12781+
implicit none
1278212782
!----- Local variables. -------------------------------------------------------------!
1278312783
type(edtype) , pointer :: cgrid
1278412784
type(polygontype) , pointer :: cpoly

ED/src/mpi/ed_mpass_init.F90

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ subroutine ed_masterput_processid(nproc,headnode_num,masterworks,par_run)
2828
, master_num & ! intent(out)
2929
, machs ! ! intent(out)
3030
#endif
31-
31+
#if defined(RAMS_MPI)
32+
use mpi
33+
#endif
3234
implicit none
3335
!----- Arguments. ----------------------------------------------------------------------!
3436
integer, intent(in) :: headnode_num
@@ -38,7 +40,6 @@ subroutine ed_masterput_processid(nproc,headnode_num,masterworks,par_run)
3840
integer :: nm
3941
#if defined(RAMS_MPI)
4042
integer :: ierr
41-
include 'mpif.h'
4243
!---------------------------------------------------------------------------------------!
4344
#endif
4445

@@ -359,6 +360,9 @@ subroutine ed_masterput_nl(par_run)
359360
, idetailed & ! intent(in)
360361
, patch_keep ! ! intent(in)
361362
use fusion_fission_coms , only : ifusion ! ! intent(in)
363+
#endif
364+
#if defined(RAMS_MPI)
365+
use mpi
362366
#endif
363367
implicit none
364368

@@ -369,7 +373,6 @@ subroutine ed_masterput_nl(par_run)
369373
integer :: ierr
370374
integer :: n
371375
!------ Pre-compiled options. ----------------------------------------------------------!
372-
include 'mpif.h'
373376
#endif
374377
!---------------------------------------------------------------------------------------!
375378

@@ -727,6 +730,9 @@ subroutine ed_masterput_met_header(par_run)
727730
, metvars_len ! ! intent(in)
728731
#endif
729732

733+
#if defined(RAMS_MPI)
734+
use mpi
735+
#endif
730736
implicit none
731737
!------ Arguments. ---------------------------------------------------------------------!
732738
integer , intent(in) :: par_run
@@ -737,7 +743,6 @@ subroutine ed_masterput_met_header(par_run)
737743
integer :: f
738744
integer :: v
739745
!------ Pre-compiled options. ----------------------------------------------------------!
740-
include 'mpif.h'
741746
!---------------------------------------------------------------------------------------!
742747
#endif
743748

@@ -813,6 +818,10 @@ subroutine ed_masterput_poly_dims(par_run,masterworks)
813818
, npolys_run ! ! intent(in)
814819
use mem_polygons , only : n_ed_region & ! intent(in)
815820
, n_poi ! ! intent(in)
821+
822+
#if defined(RAMS_MPI)
823+
use mpi
824+
#endif
816825
implicit none
817826
!----- Local constants. ----------------------------------------------------------------!
818827
integer , parameter :: nmethods = 3
@@ -838,7 +847,6 @@ subroutine ed_masterput_poly_dims(par_run,masterworks)
838847
real :: totalwork
839848
#if defined(RAMS_MPI)
840849
integer :: ierr
841-
include 'mpif.h'
842850
#endif
843851
!---------------------------------------------------------------------------------------!
844852

@@ -1122,6 +1130,9 @@ subroutine ed_masterput_worklist_info(par_run)
11221130
, py_off ! ! intent(in)
11231131
use mem_polygons , only : maxsite ! ! intent(in)
11241132
use ed_mem_alloc , only : ed_memory_allocation ! ! subroutine
1133+
#if defined(RAMS_MPI)
1134+
use mpi
1135+
#endif
11251136
implicit none
11261137
!------ Arguments. ---------------------------------------------------------------------!
11271138
integer , intent(in) :: par_run
@@ -1139,8 +1150,6 @@ subroutine ed_masterput_worklist_info(par_run)
11391150
integer :: mpiid
11401151
integer , dimension(:), allocatable :: iscratch
11411152
real , dimension(:), allocatable :: rscratch
1142-
!------ Pre-compiled options. ----------------------------------------------------------!
1143-
include 'mpif.h'
11441153
#endif
11451154
!---------------------------------------------------------------------------------------!
11461155

@@ -1311,12 +1320,14 @@ subroutine ed_nodeget_processid(init)
13111320
use ed_para_coms, only : nthreads ! ! intent(out)
13121321
#else
13131322
#endif
1323+
#if defined(RAMS_MPI)
1324+
use mpi
1325+
#endif
13141326
implicit none
13151327
!----- Arguments. ----------------------------------------------------------------------!
13161328
integer, intent(in) :: init
13171329
!----- Local variables. ----------------------------------------------------------------!
13181330
#if defined(RAMS_MPI)
1319-
include 'mpif.h'
13201331
integer, dimension(MPI_STATUS_SIZE) :: status
13211332
#endif
13221333
integer :: ierr
@@ -1599,6 +1610,7 @@ subroutine ed_nodeget_nl
15991610
, time2canopy & ! intent(out)
16001611
, min_patch_area ! ! intent(out)
16011612
use canopy_layer_coms , only : crown_mod ! ! intent(out)
1613+
16021614
use canopy_radiation_coms, only : icanrad & ! intent(out)
16031615
, ihrzrad & ! intent(out)
16041616
, ltrans_vis & ! intent(out)
@@ -1620,9 +1632,12 @@ subroutine ed_nodeget_nl
16201632
, patch_keep ! ! intent(out)
16211633
use fusion_fission_coms , only : ifusion ! ! intent(out)
16221634
#endif
1623-
implicit none
1635+
1636+
#if defined(RAMS_MPI)
1637+
use mpi
1638+
#endif
1639+
implicit none
16241640
#if defined(RAMS_MPI)
1625-
include 'mpif.h'
16261641
!----- Local variables. ----------------------------------------------------------------!
16271642
integer :: n
16281643
#endif
@@ -1996,9 +2011,11 @@ subroutine ed_nodeget_met_header()
19962011
, met_land_mask ! ! intent(out)
19972012
#endif
19982013

1999-
implicit none
20002014
#if defined(RAMS_MPI)
2001-
include 'mpif.h'
2015+
use mpi
2016+
#endif
2017+
implicit none
2018+
#if defined(RAMS_MPI)
20022019
!---- Local variables. -----------------------------------------------------------------!
20032020
integer :: ierr
20042021
integer :: nsize
@@ -2084,15 +2101,17 @@ subroutine ed_nodeget_poly_dims
20842101
use grid_coms , only : ngrids ! ! intent(in)
20852102
#endif
20862103

2087-
implicit none
2104+
#if defined(RAMS_MPI)
2105+
use mpi
2106+
#endif
2107+
implicit none
20882108

20892109
#if defined(RAMS_MPI)
20902110
!----- Local variables. ----------------------------------------------------------------!
20912111
integer :: ierr
20922112
integer :: ifm
20932113
integer :: nm
20942114
!------ Pre-compiled options. ----------------------------------------------------------!
2095-
include 'mpif.h'
20962115
!---------------------------------------------------------------------------------------!
20972116
do ifm=1,ngrids
20982117
do nm=1,nmachs
@@ -2131,11 +2150,11 @@ subroutine ed_nodeget_worklist_info
21312150
use ed_node_coms , only : master_num ! ! intent(in)
21322151
#endif
21332152

2134-
implicit none
21352153
#if defined(RAMS_MPI)
2136-
!------ Pre-compiled options. ----------------------------------------------------------!
2137-
include 'mpif.h'
2154+
!------ Pre-compiled options. ----------------------------------------------------------!
2155+
use mpi
21382156
#endif
2157+
implicit none
21392158
!------ Local variables. ---------------------------------------------------------------!
21402159
integer :: npolygons
21412160
integer :: ifm

ED/src/utils/fatal_error.F90

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
subroutine fatal_error(reason,subr,file)
99
use ed_node_coms , only : nnodetot & ! intent(in)
1010
, mynum ! ! intent(in)
11+
12+
#if defined(RAMS_MPI)
13+
use mpi_f08
14+
#endif
1115
implicit none
1216
!----- Arguments. ----------------------------------------------------------------------!
1317
character(len=*), intent(in) :: reason
@@ -18,9 +22,7 @@ subroutine fatal_error(reason,subr,file)
1822
logical :: slavenode
1923
!---------------------------------------------------------------------------------------!
2024

21-
#if defined(RAMS_MPI)
22-
include 'mpif.h'
23-
#endif
25+
2426

2527
!---------------------------------------------------------------------------------------!
2628
! Check which type of end we should use. For the main program, this should never !

0 commit comments

Comments
 (0)