diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index b881cdbfac..4d8ad454ba 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -3603,17 +3603,6 @@ sub setup_logic_luna {
if ( &value_is_true($nl->get_value('lnc_opt') ) && not &value_is_true( $nl_flags->{'use_cn'}) ) {
$log->fatal_error("Cannot turn lnc_opt to true when bgc=sp" );
}
- my $var = "jmaxb1";
- if ( &value_is_true( $nl_flags->{'use_luna'} ) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'use_luna'=>$nl_flags->{'use_luna'} );
- }
- my $val = $nl->get_value($var);
- if ( ! &value_is_true( $nl_flags->{'use_luna'} ) ) {
- if ( defined($val) ) {
- $log->fatal_error("Cannot set $var when use_luna is NOT on" );
- }
- }
}
#-------------------------------------------------------------------------------
@@ -4523,8 +4512,6 @@ sub setup_logic_canopyhydrology {
#
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'interception_fraction' );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'maximum_leaf_wetted_fraction' );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_clm5_fpi' );
}
@@ -4543,7 +4530,6 @@ sub setup_logic_snowpack {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'wind_dependent_snow_density');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'snow_overburden_compaction_method');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'lotmp_snowdensity_method');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'upplim_destruct_metamorph');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'reset_snow');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'reset_snow_glc');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'reset_snow_glc_ela');
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index 650b21cb8d..8eb8e2cccb 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -413,11 +413,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.true.
-1.0
-0.05
.false.
-0.25
-1.0
1
@@ -493,9 +489,6 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
'Slater2017'
'TruncatedAnderson1976'
-175.d00
-100.d00
-
0.08d00
.false.
@@ -551,10 +544,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-lnd/clm2/paramdata/ctsm60_params.c240822.nc
-lnd/clm2/paramdata/ctsm51_params.c240814.nc
-lnd/clm2/paramdata/clm50_params.c240814.nc
-lnd/clm2/paramdata/clm45_params.c240814.nc
+/glade/campaign/cgd/tss/people/oleson/modify_param/ctsm60_params.c241017.nc
+/glade/campaign/cgd/tss/people/oleson/modify_param/ctsm51_params.c241017.nc
+/glade/campaign/cgd/tss/people/oleson/modify_param/clm50_params.c241017.nc
+/glade/campaign/cgd/tss/people/oleson/modify_param/clm45_params.c241017.nc
@@ -605,9 +598,6 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.false.
.true.
-
-0.17
-
unset
diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml
index 417444914e..01fc6587ec 100644
--- a/bld/namelist_files/namelist_definition_ctsm.xml
+++ b/bld/namelist_files/namelist_definition_ctsm.xml
@@ -404,21 +404,11 @@ Max number of iterations used in subr. CanopyFluxes. For many years, 40 was the
Default: 40
-
-Fraction of intercepted precipitation
-
-
If TRUE use clm5 equation for fraction of intercepted precipitation
-
-Maximum fraction of leaf that may be wet prior to drip occuring
-
-
Scalar multiplier for base flow rate
@@ -712,11 +702,6 @@ Scalar of leaf respiration to vcmax
The maximum value to use for zeta under stable conditions
-
-baseline proportion of nitrogen allocated for electron transport (J)
-
-
Toggle to turn on the FATES model
@@ -2839,11 +2824,6 @@ TruncatedAnderson1976 -- Truncate the Anderson-1976 equation at the value for -1
Slater2017 ------------- Use equation from Slater that increases snow density for very cold temperatures (Arctic, Antarctic)
-
-Upper Limit on Destructive Metamorphism Compaction [kg/m3]
-
-
Snow compaction overburden exponential factor (1/K)
diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl
index 096409065f..64126ab347 100755
--- a/bld/unit_testers/build-namelist_test.pl
+++ b/bld/unit_testers/build-namelist_test.pl
@@ -1235,10 +1235,6 @@ sub cat_and_create_namelistinfile {
namelst=>"use_luna=.true., lnc_opt=.true.",
phys=>"clm5_0",
},
- "NOlunabutsetJmaxb1" =>{ options=>"-envxml_dir . -bgc sp",
- namelst=>"use_luna=.false., jmaxb1=1.0",
- phys=>"clm5_0",
- },
"envxml_not_dir" =>{ options=>"-envxml_dir myuser_nl_clm",
namelst=>"",
phys=>"clm5_0",
diff --git a/src/biogeophys/CanopyHydrologyMod.F90 b/src/biogeophys/CanopyHydrologyMod.F90
index 9ce9995ce6..166aa6d53d 100644
--- a/src/biogeophys/CanopyHydrologyMod.F90
+++ b/src/biogeophys/CanopyHydrologyMod.F90
@@ -49,6 +49,8 @@ module CanopyHydrologyMod
real(r8) :: snow_canopy_storage_scalar ! Canopy-storage-of-snow parameter (kg/m2)
real(r8) :: snowcan_unload_temp_fact ! Temperature canopy snow unload scaling (C2 in Eq. 14, Roesch et al. 2001) (K*s)
real(r8) :: snowcan_unload_wind_fact ! Wind canopy snow unload scaling (modifies 1.56e5, where 1.56e5 is C3 in Eq. 15, Roesch et al. 2001) (-)
+ real(r8) :: interception_fraction ! Fraction of intercepted precipitation (-)
+ real(r8) :: maximum_leaf_wetted_fraction ! Maximum fraction of leaf that may be wet (-)
end type params_type
type(params_type), private :: params_inst
!
@@ -67,8 +69,6 @@ module CanopyHydrologyMod
private :: BulkDiag_FracWet ! Determine fraction of vegetated surface that is wet
!
! !PRIVATE DATA MEMBERS:
- real(r8) :: interception_fraction ! Fraction of intercepted precipitation
- real(r8) :: maximum_leaf_wetted_fraction ! Maximum fraction of leaf that may be wet
logical, private :: use_clm5_fpi = .false. ! use clm5 fpi equation
character(len=*), parameter, private :: sourcefile = &
@@ -99,8 +99,6 @@ subroutine CanopyHydrology_readnl( NLFilename )
character(len=32) :: subname = 'CanopyHydrology_readnl' ! subroutine name
!-----------------------------------------------------------------------
namelist /clm_canopyhydrology_inparm/ &
- interception_fraction, &
- maximum_leaf_wetted_fraction, &
use_clm5_fpi
! ----------------------------------------------------------------------
@@ -125,15 +123,11 @@ subroutine CanopyHydrology_readnl( NLFilename )
end if
! Broadcast namelist variables read in
- call shr_mpi_bcast(interception_fraction, mpicom)
- call shr_mpi_bcast(maximum_leaf_wetted_fraction, mpicom)
call shr_mpi_bcast(use_clm5_fpi, mpicom)
if (masterproc) then
write(iulog,*) ' '
write(iulog,*) 'canopyhydrology settings:'
- write(iulog,*) ' interception_fraction = ',interception_fraction
- write(iulog,*) ' maximum_leaf_wetted_fraction = ',maximum_leaf_wetted_fraction
write(iulog,*) ' use_clm5_fpi = ',use_clm5_fpi
endif
@@ -162,6 +156,10 @@ subroutine readParams( ncid )
call readNcdioScalar(ncid, 'snowcan_unload_temp_fact', subname, params_inst%snowcan_unload_temp_fact)
! Wind canopy snow unload scaling (modifies 1.56e5, where 1.56e5 is C3 in Eq. 15, Roesch et al. 2001) (-)
call readNcdioScalar(ncid, 'snowcan_unload_wind_fact', subname, params_inst%snowcan_unload_wind_fact)
+ ! Fraction of intercepted precipitation (-)
+ call readNcdioScalar(ncid, 'interception_fraction', subname, params_inst%interception_fraction)
+ ! Maximum fraction of leaf that may be wet (-)
+ call readNcdioScalar(ncid, 'maximum_leaf_wetted_fraction', subname, params_inst%maximum_leaf_wetted_fraction)
end subroutine readParams
@@ -535,7 +533,7 @@ subroutine BulkFlux_CanopyInterceptionAndThroughfall(bounds, num_nolakep, filter
if (check_point_for_interception_and_excess(p)) then
! Coefficient of interception
if (use_clm5_fpi) then
- fpiliq = interception_fraction * tanh(elai(p) + esai(p))
+ fpiliq = params_inst%interception_fraction * tanh(elai(p) + esai(p))
else
fpiliq = 0.25_r8*(1._r8 - exp(-0.5_r8*(elai(p) + esai(p))))
end if
@@ -1170,7 +1168,7 @@ subroutine BulkDiag_FracWet(bounds, num_soilp, filter_soilp, &
if (h2ocan > 0._r8) then
vegt = frac_veg_nosno(p)*(elai(p) + esai(p))
fwet(p) = (h2ocan / (vegt * params_inst%liq_canopy_storage_scalar))**0.666666666666_r8
- fwet(p) = min (fwet(p),maximum_leaf_wetted_fraction) ! Check for maximum limit of fwet
+ fwet(p) = min (fwet(p),params_inst%maximum_leaf_wetted_fraction) ! Check for maximum limit of fwet
if (snocan(p) > 0._r8) then
fcansno(p) = (snocan(p) / (vegt * params_inst%snow_canopy_storage_scalar))**0.15_r8 ! must match snocanmx
fcansno(p) = min (fcansno(p),1.0_r8)
diff --git a/src/biogeophys/LunaMod.F90 b/src/biogeophys/LunaMod.F90
index dbd39daedf..3f5f7d0e3c 100644
--- a/src/biogeophys/LunaMod.F90
+++ b/src/biogeophys/LunaMod.F90
@@ -12,7 +12,7 @@ module LunaMod
use clm_varcon , only : rgas, tfrz,spval
use abortutils , only : endrun
use clm_varctl , only : iulog
- use clm_varpar , only : nlevcan
+ use clm_varpar , only : nlevcan, mxpft
use decompMod , only : bounds_type, subgrid_level_patch
use pftconMod , only : pftcon
use FrictionvelocityMod , only : frictionvel_type
@@ -33,7 +33,6 @@ module LunaMod
!------------------------------------------------------------------------------
! PUBLIC MEMBER FUNCTIONS:
- public :: LunaReadNML !subroutine to read in the Luna namelist
public :: Update_Photosynthesis_Capacity !subroutine to update the canopy nitrogen profile
public :: Acc24_Climate_LUNA !subroutine to accumulate 24 hr climates
public :: Acc240_Climate_LUNA !subroutine to accumulate 10 day climates
@@ -78,7 +77,6 @@ module LunaMod
real(r8), parameter :: CO2ref = 380.0_r8 ! reference CO2 concentration for calculation of reference NUE.
real(r8), parameter :: forc_pbot_ref = 101325.0_r8 ! reference air pressure for calculation of reference NUE
real(r8), parameter :: Q10Enz = 2.0_r8 ! Q10 value for enzyme decay rate
- real(r8) :: Jmaxb1 = 0.1_r8 ! the baseline proportion of nitrogen allocated for electron transport (J)
real(r8), parameter :: NMCp25 = 0.715_r8 ! estimated by assuming 80% maintenance respiration is used for photosynthesis enzyme maintenance
real(r8), parameter :: Trange1 = 5.0_r8 ! lower temperature limit (oC) for nitrogen optimization
real(r8), parameter :: Trange2 = 42.0_r8 ! upper temperature limit (oC) for nitrogen optimization
@@ -92,70 +90,11 @@ module LunaMod
contains
- !**********************************************************************************************************************************************************************
- ! Read in LUNA namelist
- subroutine LunaReadNML( NLFilename )
- !
- ! !DESCRIPTION:
- ! Read the namelist for LUNA
- !
- ! !USES:
- use fileutils , only : getavu, relavu, opnfil
- use shr_nl_mod , only : shr_nl_find_group_name
- use spmdMod , only : masterproc, mpicom
- use shr_mpi_mod , only : shr_mpi_bcast
- use clm_varctl , only : iulog
- use shr_log_mod , only : errMsg => shr_log_errMsg
- use abortutils , only : endrun
- !
- ! !ARGUMENTS:
- character(len=*), intent(in) :: NLFilename ! Namelist filename
- !
- ! !LOCAL VARIABLES:
- integer :: ierr ! error code
- integer :: unitn ! unit for namelist file
-
- character(len=*), parameter :: subname = 'lunaReadNML'
- character(len=*), parameter :: nmlname = 'luna'
- !-----------------------------------------------------------------------
- namelist /luna/ Jmaxb1
-
- ! Initialize options to default values, in case they are not specified in
- ! the namelist
-
-
- if (masterproc) then
- unitn = getavu()
- write(iulog,*) 'Read in '//nmlname//' namelist'
- call opnfil (NLFilename, unitn, 'F')
- call shr_nl_find_group_name(unitn, nmlname, status=ierr)
- if (ierr == 0) then
- read(unitn, nml=luna, iostat=ierr)
- if (ierr /= 0) then
- call endrun(msg="ERROR reading "//nmlname//"namelist"//errmsg(__FILE__, __LINE__))
- end if
- else
- call endrun(msg="ERROR could NOT find "//nmlname//"namelist"//errmsg(__FILE__, __LINE__))
- end if
- call relavu( unitn )
- end if
-
- call shr_mpi_bcast (Jmaxb1, mpicom)
-
- if (masterproc) then
- write(iulog,*) ' '
- write(iulog,*) nmlname//' settings:'
- write(iulog,nml=luna)
- write(iulog,*) ' '
- end if
-
- end subroutine lunaReadNML
-
!----------------------------------------------------------------------------
subroutine readParams( ncid )
!
! !USES:
- use ncdio_pio, only: file_desc_t
+ use ncdio_pio, only: file_desc_t,ncd_io
use paramUtilMod, only: readNcdioScalar
!
! !ARGUMENTS:
@@ -164,6 +103,10 @@ subroutine readParams( ncid )
!
! !LOCAL VARIABLES:
character(len=*), parameter :: subname = 'readParams_Luna'
+ character(len=100) :: errCode = '-Error reading in parameters file:'
+ logical :: readv ! has variable been read in or not
+ real(r8) :: temp1d(0:mxpft) ! temporary to read in parameter
+ character(len=100) :: tString ! temp. var for reading
!--------------------------------------------------------------------
! CO2 compensation point at 25°C at present day O2 levels
@@ -314,6 +257,7 @@ subroutine Update_Photosynthesis_Capacity(bounds, fn, filterp, &
c3psn => pftcon%c3psn , & ! photosynthetic pathway: 0. = c4, 1. = c3
slatop => pftcon%slatop , & ! specific leaf area at top of canopy, projected area basis [m^2/gC]
leafcn => pftcon%leafcn , & ! leaf C:N (gC/gN)
+ jmaxb1 => pftcon%jmaxb1 , & ! Coefficient determining the response of electron transport rate to light availability (-)
forc_pbot10 => atm2lnd_inst%forc_pbot240_downscaled_patch , & ! Input: [real(r8) (:) ] 10 day mean atmospheric pressure(Pa)
CO2_p240 => atm2lnd_inst%forc_pco2_240_patch , & ! Input: [real(r8) (:) ] 10-day mean CO2 partial pressure (Pa)
O2_p240 => atm2lnd_inst%forc_po2_240_patch , & ! Input: [real(r8) (:) ] 10-day mean O2 partial pressure (Pa)
@@ -439,8 +383,8 @@ subroutine Update_Photosynthesis_Capacity(bounds, fn, filterp, &
PNcbold = 0.0_r8
call NitrogenAllocation(FNCa,forc_pbot10(p), relh10, CO2a10, O2a10, PARi10, PARimx10, rb10v, hourpd, &
tair10, tleafd10, tleafn10, &
- Jmaxb1, PNlcold, PNetold, PNrespold, PNcbold, dayl_factor(p), o3coefjmax(p), &
- PNstoreopt, PNlcopt, PNetopt, PNrespopt, PNcbopt)
+ jmaxb1(ft), PNlcold, PNetold, PNrespold, PNcbold, dayl_factor(p), &
+ o3coefjmax(p), PNstoreopt, PNlcopt, PNetopt, PNrespopt, PNcbopt)
vcmx25_opt= PNcbopt * FNCa * Fc25
jmx25_opt= PNetopt * FNCa * Fj25
@@ -825,7 +769,7 @@ end subroutine Clear24_Climate_LUNA
!************************************************************************************************************************************************
!Use the LUNA model to calculate the Nitrogen partioning
subroutine NitrogenAllocation(FNCa,forc_pbot10, relh10, CO2a10,O2a10, PARi10,PARimx10,rb10, hourpd, tair10, tleafd10, tleafn10, &
- Jmaxb1, PNlcold, PNetold, PNrespold, PNcbold, dayl_factor,o3coefjmax, &
+ jmaxb1, PNlcold, PNetold, PNrespold, PNcbold, dayl_factor,o3coefjmax, &
PNstoreopt, PNlcopt, PNetopt, PNrespopt, PNcbopt)
implicit none
real(r8), intent (in) :: FNCa !Area based functional nitrogen content (g N/m2 leaf)
@@ -840,7 +784,7 @@ subroutine NitrogenAllocation(FNCa,forc_pbot10, relh10, CO2a10,O2a10, PARi10,PAR
real(r8), intent (in) :: tair10 !10-day running mean of the 2m temperature (oC)
real(r8), intent (in) :: tleafd10 !10-day running mean of daytime leaf temperature (oC)
real(r8), intent (in) :: tleafn10 !10-day running mean of nighttime leaf temperature (oC)
- real(r8), intent (in) :: Jmaxb1 !coefficient determining the response of electron transport rate to light availability (unitless)
+ real(r8), intent (in) :: jmaxb1 !coefficient determining the response of electron transport rate to light availability (unitless)
real(r8), intent (in) :: PNlcold !old value of the proportion of nitrogen allocated to light capture (unitless)
real(r8), intent (in) :: PNetold !old value of the proportion of nitrogen allocated to electron transport (unitless)
real(r8), intent (in) :: PNrespold !old value of the proportion of nitrogen allocated to respiration (unitless)
@@ -928,7 +872,7 @@ subroutine NitrogenAllocation(FNCa,forc_pbot10, relh10, CO2a10,O2a10, PARi10,PAR
tleafd10c = min(max(tleafd10, Trange1), Trange2) !constrain the physiological range
tleafn10c = min(max(tleafn10, Trange1), Trange2) !constrain the physiological range
ci = 0.7_r8 * CO2a10
- JmaxCoef = Jmaxb1 * dayl_factor * (1.0_r8 - exp(-params_inst%relhExp * max(relh10 - &
+ JmaxCoef = jmaxb1 * dayl_factor * (1.0_r8 - exp(-params_inst%relhExp * max(relh10 - &
params_inst%minrelh, 0.0_r8) / (1.0_r8 - params_inst%minrelh)))
do while (PNlcoldi .NE. PNlc .and. jj < 100)
Fc = VcmxTKattge(tair10, tleafd10c) * Fc25
diff --git a/src/biogeophys/SnowHydrologyMod.F90 b/src/biogeophys/SnowHydrologyMod.F90
index 9fb1a52dbc..57e9088ece 100644
--- a/src/biogeophys/SnowHydrologyMod.F90
+++ b/src/biogeophys/SnowHydrologyMod.F90
@@ -87,6 +87,7 @@ module SnowHydrologyMod
real(r8) :: scvng_fct_mlt_dst4 ! scavenging factor for dust species 4 inclusion in meltwater [frc]
real(r8) :: ceta ! Overburden compaction constant (kg/m3)
real(r8) :: snw_rds_min ! minimum allowed snow effective radius (also cold "fresh snow" value) [microns]
+ real(r8) :: upplim_destruct_metamorph ! Upper limit on destructive metamorphism compaction
end type params_type
type(params_type), private :: params_inst
@@ -151,7 +152,6 @@ module SnowHydrologyMod
integer :: overburden_compaction_method = -1
integer :: new_snow_density = LoTmpDnsSlater2017 ! Snow density type
- real(r8) :: upplim_destruct_metamorph = 100.0_r8 ! Upper Limit on Destructive Metamorphism Compaction [kg/m3]
real(r8) :: overburden_compress_Tfactor = 0.08_r8 ! snow compaction overburden exponential factor (1/K)
! ------------------------------------------------------------------------
@@ -211,8 +211,7 @@ subroutine SnowHydrology_readnl( NLFilename)
namelist /clm_snowhydrology_inparm/ &
wind_dependent_snow_density, snow_overburden_compaction_method, &
- lotmp_snowdensity_method, upplim_destruct_metamorph, &
- overburden_compress_Tfactor, &
+ lotmp_snowdensity_method, overburden_compress_Tfactor, &
reset_snow, reset_snow_glc, reset_snow_glc_ela, &
snow_dzmin_1, snow_dzmax_l_1, snow_dzmax_u_1, &
snow_dzmin_2, snow_dzmax_l_2, snow_dzmax_u_2
@@ -246,7 +245,6 @@ subroutine SnowHydrology_readnl( NLFilename)
call shr_mpi_bcast (wind_dependent_snow_density, mpicom)
call shr_mpi_bcast (snow_overburden_compaction_method, mpicom)
call shr_mpi_bcast (lotmp_snowdensity_method , mpicom)
- call shr_mpi_bcast (upplim_destruct_metamorph , mpicom)
call shr_mpi_bcast (overburden_compress_Tfactor, mpicom)
call shr_mpi_bcast (reset_snow , mpicom)
call shr_mpi_bcast (reset_snow_glc , mpicom)
@@ -333,6 +331,8 @@ subroutine readParams( ncid )
call readNcdioScalar(ncid, 'ceta', subname, params_inst%ceta)
! minimum allowed snow effective radius (also cold "fresh snow" value) [microns]
call readNcdioScalar(ncid, 'snw_rds_min', subname, params_inst%snw_rds_min)
+ ! Upper limit on destructive metamorphism compaction (kg/m3)
+ call readNcdioScalar(ncid, 'upplim_destruct_metamorph', subname, params_inst%upplim_destruct_metamorph)
end subroutine readParams
@@ -1972,7 +1972,8 @@ subroutine SnowCompaction(bounds, num_snowc, filter_snowc, &
! Settling as a result of destructive metamorphism
ddz1 = -c3*dexpf
- if (bi > upplim_destruct_metamorph) ddz1 = ddz1*exp(-46.0e-3_r8*(bi-upplim_destruct_metamorph))
+ if (bi > params_inst%upplim_destruct_metamorph) ddz1 = &
+ ddz1*exp(-46.0e-3_r8*(bi-params_inst%upplim_destruct_metamorph))
! Liquid water term
diff --git a/src/main/controlMod.F90 b/src/main/controlMod.F90
index f65c8c7f47..3b2409344d 100644
--- a/src/main/controlMod.F90
+++ b/src/main/controlMod.F90
@@ -119,7 +119,6 @@ subroutine control_init(dtime)
!
! !USES:
use CNMRespMod , only : CNMRespReadNML
- use LunaMod , only : LunaReadNML
use CNNDynamicsMod , only : CNNDynamicsReadNML
use CNPhenologyMod , only : CNPhenologyReadNML
use landunit_varcon , only : max_lunit
@@ -584,7 +583,6 @@ subroutine control_init(dtime)
call SnowHydrology_readnl ( NLFilename )
call UrbanReadNML ( NLFilename )
call HumanIndexReadNML ( NLFilename )
- call LunaReadNML ( NLFilename )
! ----------------------------------------------------------------------
! Broadcast all control information if appropriate
diff --git a/src/main/pftconMod.F90 b/src/main/pftconMod.F90
index b987879c03..4f8a7f16fc 100644
--- a/src/main/pftconMod.F90
+++ b/src/main/pftconMod.F90
@@ -164,6 +164,7 @@ module pftconMod
real(r8), allocatable :: wood_density (:) ! wood density (kg/m3)
real(r8), allocatable :: crit_onset_gdd_sf(:)! scale factor for crit_onset_gdd
real(r8), allocatable :: ndays_on(:) ! number of days to complete leaf onset
+ real(r8), allocatable :: jmaxb1(:) ! Coefficient determining the response of electron transport rate to light availability
! crop
@@ -506,6 +507,7 @@ subroutine InitAllocate (this)
allocate( this%wood_density (0:mxpft) )
allocate( this%crit_onset_gdd_sf (0:mxpft) )
allocate( this%ndays_on (0:mxpft) )
+ allocate( this%jmaxb1 (0:mxpft) )
end subroutine InitAllocate
@@ -1017,6 +1019,9 @@ subroutine InitRead(this)
call ncd_io('medlynintercept', this%medlynintercept, 'read', ncid, readvar=readv)
if ( .not. readv ) call endrun(msg=' ERROR: error in reading in pft data'//errMsg(sourcefile, __LINE__))
+ call ncd_io('jmaxb1', this%jmaxb1, 'read', ncid, readvar=readv)
+ if ( .not. readv ) call endrun(msg=' ERROR: error in reading in pft data'//errMsg(sourcefile, __LINE__))
+
call ncd_io('mxmat', this%mxmat, 'read', ncid, readvar=readv)
if ( .not. readv ) call endrun(msg=' ERROR: error in reading in pft data'//errMsg(sourcefile, __LINE__))
@@ -1596,6 +1601,7 @@ subroutine Clean(this)
deallocate( this%taper)
deallocate( this%crit_onset_gdd_sf)
deallocate( this%ndays_on)
+ deallocate( this%jmaxb1)
end subroutine Clean
end module pftconMod