diff --git a/cime/machines/config_batch.xml b/cime/machines/config_batch.xml index c4dd376141..c55601b711 100644 --- a/cime/machines/config_batch.xml +++ b/cime/machines/config_batch.xml @@ -94,6 +94,15 @@ + + + --partition=lr2 + --account={{ project }} + --exclusive + + + + diff --git a/cime/machines/config_compilers.xml b/cime/machines/config_compilers.xml index 95d6f4b1f8..5b1c02377f 100644 --- a/cime/machines/config_compilers.xml +++ b/cime/machines/config_compilers.xml @@ -475,6 +475,12 @@ for mct, etc. -DHAVE_PAPI + + -lnetcdff -lnetcdf -mkl + -DHAVE_VPRINTF -DHAVE_GETTIMEOFDAY + + + /glade/apps/opt/lib netcdf diff --git a/cime/machines/config_machines.xml b/cime/machines/config_machines.xml index f204333824..c0549b4808 100644 --- a/cime/machines/config_machines.xml +++ b/cime/machines/config_machines.xml @@ -305,6 +305,72 @@ + + Lawrencium LR2 cluster at LBL, OS is Linux (intel), batch system is SLURM + LINUX + intel + openmpi,mpi-serial + /global/scratch/$ENV{USER} + $CESMSCRATCHROOT/$CASE/run + $CESMSCRATCHROOT/$CASE/bld + /global/scratch/$ENV{USER}/cesm_input_datasets/ + /global/scratch/$ENV{USER}/cesm_input_datasets/atm/datm7 + $CESMSCRATCHROOT/cesm_archive/$CASE + csm/$CASE + $CESMSCRATCHROOT/cesm_baselines + /$CESMSCRATCHROOT/cesm_tools/cprnc/cprnc + squeue + + sbatch + jnjohnson at lbl dot gov and rgknox at same + 12 + 12 + TRUE + + + lr_normal + + + 00:59:00 + + + + mpirun + + -np {{ num_tasks }} + -npernode {{ tasks_per_node }} + + + + mpirun + + -np {{ num_tasks }} + -npernode {{ tasks_per_node }} + + + + + + + NERSC XC30, os is CNL, 24 pes/node, batch system is PBS intel,gnu,cray diff --git a/cime/machines/env_mach_specific.lawrencium-lr2 b/cime/machines/env_mach_specific.lawrencium-lr2 new file mode 100755 index 0000000000..3de47efa2d --- /dev/null +++ b/cime/machines/env_mach_specific.lawrencium-lr2 @@ -0,0 +1,37 @@ +#! /bin/csh -f + +set CESM_REPO = `./xmlquery CCSM_REPOTAG -value` +if($status == 0) then + set COMPILER = `./xmlquery COMPILER -value` + set MPILIB = `./xmlquery MPILIB -value` + set DEBUG = `./xmlquery DEBUG -value` + set OS = `./xmlquery OS -value` + set PROFILE_PAPI_ENABLE = `./xmlquery PROFILE_PAPI_ENABLE -value` + set PROJECT = `./xmlquery PROJECT -value` +else + echo $0 using settings from environment: +endif +echo "COMPILER=$COMPILER" +echo "MPILIB=$MPILIB" +echo "DEBUG=$DEBUG" +echo "OS=$OS" +echo "PROJECT=$PROJECT" + +source /etc/profile.d/modules.csh +module purge +module load cmake +module load perl xml-libxml switch + +if ( $COMPILER == "intel" ) then + module load intel/2015.0.090 + module load openmpi + module load netcdf/4.3.2-intel-p + module load mkl +endif + +setenv NETCDF_PATH $NETCDF_DIR +#------------------------------------------------------------------------------- + +limit coredumpsize 1000000 +limit stacksize unlimited + diff --git a/components/clm/src/ED/biogeochem/EDGrowthFunctionsMod.F90 b/components/clm/src/ED/biogeochem/EDGrowthFunctionsMod.F90 index a497df202a..27ed64cdd0 100755 --- a/components/clm/src/ED/biogeochem/EDGrowthFunctionsMod.F90 +++ b/components/clm/src/ED/biogeochem/EDGrowthFunctionsMod.F90 @@ -140,7 +140,7 @@ real(r8) function tree_lai( cohort_in ) if( cohort_in%status_coh == 2 ) then ! are the leaves on? slat = 1000.0_r8 * pftcon%slatop(cohort_in%pft) ! m2/g to m2/kg - cohort_in%c_area = c_area(cohort_in) ! call the tree area + cohort_in%c_area = c_area(cohort_in) ! call the tree area leafc_per_unitarea = cohort_in%bl/(cohort_in%c_area/cohort_in%n) !KgC/m2 if(leafc_per_unitarea > 0.0_r8)then tree_lai = leafc_per_unitarea * slat !kg/m2 * m2/kg = unitless LAI diff --git a/components/clm/src/ED/main/EDInitMod.F90 b/components/clm/src/ED/main/EDInitMod.F90 index 3390053c3f..8e6201ba38 100755 --- a/components/clm/src/ED/main/EDInitMod.F90 +++ b/components/clm/src/ED/main/EDInitMod.F90 @@ -335,6 +335,8 @@ subroutine init_cohorts( patch_in ) do pft = 1,numpft_ed !FIX(RF,032414) - turning off veg dynamics + if(EDecophyscon%initd(pft)>1.0E-7) then + allocate(temp_cohort) ! temporary cohort temp_cohort%pft = pft @@ -378,6 +380,8 @@ subroutine init_cohorts( patch_in ) deallocate(temp_cohort) ! get rid of temporary cohort + endif + enddo !numpft call fuse_cohorts(patch_in) diff --git a/components/clm/src/ED/main/EDTypesMod.F90 b/components/clm/src/ED/main/EDTypesMod.F90 index 1362b0480a..c609a763da 100755 --- a/components/clm/src/ED/main/EDTypesMod.F90 +++ b/components/clm/src/ED/main/EDTypesMod.F90 @@ -34,7 +34,7 @@ module EDTypesMod integer , parameter :: SENES = 10 ! Window of time over which we track temp for cold sensecence (days) real(r8), parameter :: DINC_ED = 1.0_r8 ! size of LAI bins. integer , parameter :: N_DIST_TYPES = 2 ! number of disturbance types (mortality, fire) - integer , parameter :: numpft_ed = 2 ! number of PFTs used in ED. + integer , parameter :: numpft_ed = 10 ! number of PFTs used in ED. ! SPITFIRE integer , parameter :: NLSC = 5 ! number carbon compartments in above ground litter array