Skip to content

Commit 6232bb3

Browse files
authored
Merge pull request #539 from glemieux/glemieux-default-modules-private
Conversion of modules from public to private by default
2 parents 0cf63a9 + 8efc24f commit 6232bb3

28 files changed

+1076
-1013
lines changed

biogeochem/EDCanopyStructureMod.F90

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ subroutine canopy_structure( currentSite , bc_in )
119119
use EDParamsMod, only : ED_val_comp_excln
120120
use EDtypesMod , only : ncwd
121121
use EDTypesMod , only : min_patch_area
122-
use EDTypesMod , only : val_check_ed_vars
123122
use FatesInterfaceMod, only : bc_in_type
124123
!
125124
! !ARGUMENTS

biogeochem/EDCohortDynamicsMod.F90

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ module EDCohortDynamicsMod
5959

6060
use PRTGenericMod, only : prt_carbon_allom_hyp
6161
use PRTGenericMod, only : prt_cnp_flex_allom_hyp
62-
use PRTGenericMod, only : InitPRTVartype
6362
use PRTGenericMod, only : prt_vartypes
6463
use PRTGenericMod, only : all_carbon_elements
6564
use PRTGenericMod, only : carbon12_element

biogeochem/EDPhysiologyMod.F90

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ module EDPhysiologyMod
3232
use EDTypesMod , only : num_vegtemp_mem
3333
use EDTypesMod , only : maxpft
3434
use EDTypesMod , only : ed_site_type, ed_patch_type, ed_cohort_type
35-
use EDTypesMod , only : dump_cohort
3635
use EDTypesMod , only : first_leaf_aclass
3736
use EDTypesMod , only : leaves_on
3837
use EDTypesMod , only : leaves_off

biogeophys/FatesPlantHydraulicsMod.F90

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -931,7 +931,6 @@ subroutine updateSizeDepTreeHydStates(currentSite,ccohort)
931931
!
932932
! !USES:
933933
use FatesUtilsMod , only : check_var_real
934-
use EDTypesMod , only : dump_cohort
935934
use EDTypesMod , only : AREA
936935

937936
! !ARGUMENTS:
@@ -973,11 +972,6 @@ subroutine updateSizeDepTreeHydStates(currentSite,ccohort)
973972
ccohort_hydr%v_aroot_layer_init(j)/ccohort_hydr%v_aroot_layer(j)
974973
ccohort_hydr%th_aroot(j) = constrain_water_contents(th_aroot_uncorr(j), small_theta_num, ft, 4)
975974
ccohort_hydr%errh2o_growturn_aroot(j) = ccohort_hydr%th_aroot(j) - th_aroot_uncorr(j)
976-
!call check_var_real(ccohort_hydr%errh2o_growturn_aroot(j),'ccohort_hydr%errh2o_growturn_aroot(j)',err_code)
977-
!if ((abs(ccohort_hydr%errh2o_growturn_aroot(j)) > 1.0_r8) .or. &
978-
! err_code == 1 .or. err_code == 10) then
979-
! call dump_cohort(cCohort)
980-
!end if
981975
enddo
982976

983977
! Storing mass balance error
@@ -1428,7 +1422,6 @@ subroutine UpdateH2OVeg(nsites,sites,bc_out)
14281422
! ----------------------------------------------------------------------------------
14291423

14301424
use EDTypesMod, only : AREA
1431-
use EDTypesMod , only : dump_cohort
14321425

14331426
! Arguments
14341427
integer, intent(in) :: nsites
@@ -2264,8 +2257,7 @@ subroutine hydraulics_bc ( nsites, sites,bc_in,bc_out,dtime )
22642257
!s
22652258
! !USES:
22662259
use EDTypesMod , only : AREA
2267-
use FatesUtilsMod , only : check_var_real
2268-
use EDTypesMod , only : dump_cohort
2260+
use FatesUtilsMod , only : check_var_real
22692261

22702262
! ARGUMENTS:
22712263
! -----------------------------------------------------------------------------------

fire/SFParamsMod.F90

Lines changed: 43 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,68 +7,57 @@ module SFParamsMod
77
use FatesParametersInterface, only : param_string_length
88

99
implicit none
10+
private ! Modules are private by default
1011
save
11-
! private - if we allow this module to be private, it does not allow the protected values below to be
12-
! seen outside of this module.
1312

1413
!
1514
! this is what the user can use for the actual values
1615
!
17-
real(r8),protected :: SF_val_fdi_a
18-
real(r8),protected :: SF_val_fdi_b
19-
real(r8),protected :: SF_val_fdi_alpha
20-
real(r8),protected :: SF_val_miner_total
21-
real(r8),protected :: SF_val_fuel_energy
22-
real(r8),protected :: SF_val_part_dens
23-
real(r8),protected :: SF_val_miner_damp
24-
real(r8),protected :: SF_val_max_durat
25-
real(r8),protected :: SF_val_durat_slope
26-
real(r8),protected :: SF_val_drying_ratio
27-
real(r8),protected :: SF_val_CWD_frac(NCWD)
28-
real(r8),protected :: SF_val_max_decomp(NFSC)
29-
real(r8),protected :: SF_val_SAV(NFSC)
30-
real(r8),protected :: SF_val_FBD(NFSC)
31-
real(r8),protected :: SF_val_min_moisture(NFSC)
32-
real(r8),protected :: SF_val_mid_moisture(NFSC)
33-
real(r8),protected :: SF_val_low_moisture_Coeff(NFSC)
34-
real(r8),protected :: SF_val_low_moisture_Slope(NFSC)
35-
real(r8),protected :: SF_val_mid_moisture_Coeff(NFSC)
36-
real(r8),protected :: SF_val_mid_moisture_Slope(NFSC)
37-
38-
character(len=param_string_length),parameter :: SF_name_fdi_a = "fates_fire_fdi_a"
39-
character(len=param_string_length),parameter :: SF_name_fdi_b = "fates_fire_fdi_b"
40-
character(len=param_string_length),parameter :: SF_name_fdi_alpha = "fates_fire_fdi_alpha"
41-
character(len=param_string_length),parameter :: SF_name_miner_total = "fates_fire_miner_total"
42-
character(len=param_string_length),parameter :: SF_name_fuel_energy = "fates_fire_fuel_energy"
43-
character(len=param_string_length),parameter :: SF_name_part_dens = "fates_fire_part_dens"
44-
character(len=param_string_length),parameter :: SF_name_miner_damp = "fates_fire_miner_damp"
45-
character(len=param_string_length),parameter :: SF_name_max_durat = "fates_fire_max_durat"
46-
character(len=param_string_length),parameter :: SF_name_durat_slope = "fates_fire_durat_slope"
47-
character(len=param_string_length),parameter :: SF_name_drying_ratio = "fates_fire_drying_ratio"
48-
character(len=param_string_length),parameter :: SF_name_CWD_frac = "fates_CWD_frac"
49-
character(len=param_string_length),parameter :: SF_name_max_decomp = "fates_max_decomp"
50-
character(len=param_string_length),parameter :: SF_name_SAV = "fates_fire_SAV"
51-
character(len=param_string_length),parameter :: SF_name_FBD = "fates_fire_FBD"
52-
character(len=param_string_length),parameter :: SF_name_min_moisture = "fates_fire_min_moisture"
53-
character(len=param_string_length),parameter :: SF_name_mid_moisture = "fates_fire_mid_moisture"
54-
character(len=param_string_length),parameter :: SF_name_low_moisture_Coeff = "fates_fire_low_moisture_Coeff"
55-
character(len=param_string_length),parameter :: SF_name_low_moisture_Slope = "fates_fire_low_moisture_Slope"
56-
character(len=param_string_length),parameter :: SF_name_mid_moisture_Coeff = "fates_fire_mid_moisture_Coeff"
57-
character(len=param_string_length),parameter :: SF_name_mid_moisture_Slope = "fates_fire_mid_moisture_Slope"
16+
real(r8),protected, public :: SF_val_fdi_a
17+
real(r8),protected, public :: SF_val_fdi_b
18+
real(r8),protected, public :: SF_val_fdi_alpha
19+
real(r8),protected, public :: SF_val_miner_total
20+
real(r8),protected, public :: SF_val_fuel_energy
21+
real(r8),protected, public :: SF_val_part_dens
22+
real(r8),protected, public :: SF_val_miner_damp
23+
real(r8),protected, public :: SF_val_max_durat
24+
real(r8),protected, public :: SF_val_durat_slope
25+
real(r8),protected, public :: SF_val_drying_ratio
26+
real(r8),protected, public :: SF_val_CWD_frac(NCWD)
27+
real(r8),protected, public :: SF_val_max_decomp(NFSC)
28+
real(r8),protected, public :: SF_val_SAV(NFSC)
29+
real(r8),protected, public :: SF_val_FBD(NFSC)
30+
real(r8),protected, public :: SF_val_min_moisture(NFSC)
31+
real(r8),protected, public :: SF_val_mid_moisture(NFSC)
32+
real(r8),protected, public :: SF_val_low_moisture_Coeff(NFSC)
33+
real(r8),protected, public :: SF_val_low_moisture_Slope(NFSC)
34+
real(r8),protected, public :: SF_val_mid_moisture_Coeff(NFSC)
35+
real(r8),protected, public :: SF_val_mid_moisture_Slope(NFSC)
36+
37+
character(len=param_string_length),parameter, public :: SF_name_fdi_a = "fates_fire_fdi_a"
38+
character(len=param_string_length),parameter, public :: SF_name_fdi_b = "fates_fire_fdi_b"
39+
character(len=param_string_length),parameter, public :: SF_name_fdi_alpha = "fates_fire_fdi_alpha"
40+
character(len=param_string_length),parameter, public :: SF_name_miner_total = "fates_fire_miner_total"
41+
character(len=param_string_length),parameter, public :: SF_name_fuel_energy = "fates_fire_fuel_energy"
42+
character(len=param_string_length),parameter, public :: SF_name_part_dens = "fates_fire_part_dens"
43+
character(len=param_string_length),parameter, public :: SF_name_miner_damp = "fates_fire_miner_damp"
44+
character(len=param_string_length),parameter, public :: SF_name_max_durat = "fates_fire_max_durat"
45+
character(len=param_string_length),parameter, public :: SF_name_durat_slope = "fates_fire_durat_slope"
46+
character(len=param_string_length),parameter, public :: SF_name_drying_ratio = "fates_fire_drying_ratio"
47+
character(len=param_string_length),parameter, public :: SF_name_CWD_frac = "fates_CWD_frac"
48+
character(len=param_string_length),parameter, public :: SF_name_max_decomp = "fates_max_decomp"
49+
character(len=param_string_length),parameter, public :: SF_name_SAV = "fates_fire_SAV"
50+
character(len=param_string_length),parameter, public :: SF_name_FBD = "fates_fire_FBD"
51+
character(len=param_string_length),parameter, public :: SF_name_min_moisture = "fates_fire_min_moisture"
52+
character(len=param_string_length),parameter, public :: SF_name_mid_moisture = "fates_fire_mid_moisture"
53+
character(len=param_string_length),parameter, public :: SF_name_low_moisture_Coeff = "fates_fire_low_moisture_Coeff"
54+
character(len=param_string_length),parameter, public :: SF_name_low_moisture_Slope = "fates_fire_low_moisture_Slope"
55+
character(len=param_string_length),parameter, public :: SF_name_mid_moisture_Coeff = "fates_fire_mid_moisture_Coeff"
56+
character(len=param_string_length),parameter, public :: SF_name_mid_moisture_Slope = "fates_fire_mid_moisture_Slope"
5857

5958
public :: SpitFireRegisterParams
6059
public :: SpitFireReceiveParams
61-
62-
private :: SpitFireParamsInit
63-
private :: SpitFireRegisterScalars
64-
private :: SpitFireReceiveScalars
65-
66-
private :: SpitFireRegisterNCWD
67-
private :: SpitFireReceiveNCWD
68-
69-
private :: SpitFireRegisterNFSC
70-
private :: SpitFireReceiveNFSC
71-
60+
7261
contains
7362
!-----------------------------------------------------------------------
7463
subroutine SpitFireParamsInit()

functional_unit_testing/parteh/f_wrapper_modules/FatesCohortWrapMod.F90

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ module FatesCohortWrapMod
2222

2323
use EDPftvarcon, only : EDPftvarcon_inst
2424

25-
use PRTGenericMod, only : InitPRTVartype
2625
use PRTGenericMod, only : prt_vartypes
2726
use PRTGenericMod, only : leaf_organ
2827
use PRTGenericMod, only : all_carbon_elements
@@ -74,12 +73,10 @@ module FatesCohortWrapMod
7473
use FatesGlobals , only : fates_log
7574
use shr_log_mod , only : errMsg => shr_log_errMsg
7675

77-
78-
7976
implicit none
77+
private ! Modules are private by default
8078

81-
82-
type ed_cohort_type
79+
type, public :: ed_cohort_type
8380

8481
integer :: pft ! pft number
8582
integer :: parteh_model ! The PARTEH allocation hypothesis used
@@ -109,10 +106,17 @@ module FatesCohortWrapMod
109106

110107
! Global Instances
111108

112-
type(ed_cohort_type), pointer :: cohort_array(:)
113-
integer :: numcohort
109+
type(ed_cohort_type), pointer, public :: cohort_array(:)
110+
integer, public :: numcohort
114111

115112
character(len=*), parameter, private :: sourcefile = __FILE__
113+
114+
! Make necessary procedures public
115+
public :: CohortInitAlloc
116+
public :: CohortPySet
117+
public :: WrapDailyPRT
118+
public :: WrapQueryVars
119+
public :: WrapQueryDiagnostics
116120

117121
contains
118122

functional_unit_testing/parteh/f_wrapper_modules/FatesPARTEHWrapMod.F90

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@ module FatesPARTEHWrapMod
2222
use iso_c_binding, only : c_char
2323

2424
implicit none
25+
private
2526

2627
character(len=*), parameter, private :: sourcefile = __FILE__
2728

29+
! Make necessary procedures public
30+
31+
public :: SPMapPyset
32+
2833
contains
2934

3035

functional_unit_testing/parteh/f_wrapper_modules/FatesPFTWrapMod.F90

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ module EDPftvarcon
1010
use iso_c_binding, only : i4 => c_int
1111
use iso_c_binding, only : c_char
1212

13-
integer,parameter :: SHR_KIND_CS = 80 ! short char
13+
implicit none
14+
private ! Modules are private by default
15+
16+
integer,parameter,public :: SHR_KIND_CS = 80 ! short char
1417

1518
type, public :: EDPftvarcon_inst_type
1619

@@ -106,24 +109,27 @@ module EDPftvarcon
106109

107110
end type EDPftvarcon_inst_type
108111

109-
type pftptr_var
112+
type, public :: pftptr_var
110113
real(r8), dimension(:), pointer :: rp_1d
111114
real(r8), dimension(:,:), pointer :: rp_2d
112115
character(len=shr_kind_cs) :: var_name
113116
end type pftptr_var
114117

115-
type EDPftvarcon_ptr_type
118+
type, public :: EDPftvarcon_ptr_type
116119
type(pftptr_var), allocatable :: var(:)
117120
end type EDPftvarcon_ptr_type
118121

119122
type(EDPftvarcon_inst_type), public :: EDPftvarcon_inst ! ED ecophysiological constants structure
120123
type(EDPftvarcon_ptr_type), public :: EDPftvarcon_ptr ! Pointer structure for obj-oriented id
121124

122-
integer :: numparm ! Number of different PFT parameters
123-
integer :: num_pft ! Number of PFTs
124-
integer :: num_organs ! Number of organs
125-
125+
integer, public :: numparm ! Number of different PFT parameters
126+
integer, public :: num_pft ! Number of PFTs
127+
integer, public :: num_organs ! Number of organs
126128

129+
! Make necessary procedures public
130+
public :: EDPftvarconPySet
131+
public :: EDPftvarconAlloc
132+
127133
contains
128134

129135

functional_unit_testing/parteh/f_wrapper_modules/FatesWrapMod.F90

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,71 @@ module EDTypesMod
99
use iso_c_binding, only: fates_r8 => c_double
1010
use iso_c_binding, only: fates_int => c_int
1111

12-
integer(fates_int), parameter :: nlevleaf = 40
13-
real(fates_r8), parameter :: dinc_ed = 1.0_fates_r8
14-
integer(fates_int), parameter :: nclmax = 4
12+
implicit none
13+
private
14+
15+
integer(fates_int), parameter, public :: nlevleaf = 40
16+
real(fates_r8), parameter, public :: dinc_ed = 1.0_fates_r8
17+
integer(fates_int), parameter, public :: nclmax = 4
1518

1619
end module EDTypesMod
1720

1821

1922
module shr_log_mod
2023

21-
use iso_c_binding, only : c_char
22-
use iso_c_binding, only : c_int
24+
use iso_c_binding, only : c_char
25+
use iso_c_binding, only : c_int
26+
27+
implicit none
28+
private
29+
30+
! Make necessary producers public
31+
public :: shr_log_errMsg
2332

24-
contains
33+
contains
2534

26-
function shr_log_errMsg(source, line) result(ans)
35+
function shr_log_errMsg(source, line) result(ans)
2736
character(kind=c_char,len=*), intent(in) :: source
2837
integer(c_int), intent(in) :: line
2938
character(kind=c_char,len=128) :: ans
3039

3140
ans = "source: " // trim(source) // " line: "
32-
end function shr_log_errMsg
41+
end function shr_log_errMsg
3342

3443
end module shr_log_mod
3544

3645
module FatesInterfaceMod
3746

3847
use iso_c_binding, only: fates_r8 => c_double
39-
real(fates_r8), parameter :: hlm_freq_day = 1.0_fates_r8/365.0_fates_r8
48+
49+
implicit none
50+
private
51+
52+
real(fates_r8), parameter, public :: hlm_freq_day = 1.0_fates_r8/365.0_fates_r8
4053

4154
end module FatesInterfaceMod
4255

4356

4457
module FatesGlobals
4558

46-
contains
47-
48-
integer function fates_log()
49-
fates_log = 6 ! usually stdout
50-
end function fates_log
51-
52-
subroutine fates_endrun(msg)
59+
implicit none
60+
private
61+
62+
! Make necessary producers public
63+
public :: fates_log
64+
public :: fates_endrun
65+
66+
contains
67+
68+
integer function fates_log()
69+
fates_log = 6 ! usually stdout
70+
end function fates_log
5371

54-
implicit none
55-
character(len=*), intent(in) :: msg ! string to be printed
56-
stop
57-
end subroutine fates_endrun
72+
subroutine fates_endrun(msg)
73+
74+
implicit none
75+
character(len=*), intent(in) :: msg ! string to be printed
76+
stop
77+
end subroutine fates_endrun
5878

5979
end module FatesGlobals

0 commit comments

Comments
 (0)