Skip to content

Commit

Permalink
1. Removed some variables that were obsolete, in a desperate attempt …
Browse files Browse the repository at this point in the history
…to speed up the runs.

2. Decreased the number of variables to 1100, which is closer to the actual number of 
   variables.
3. Changed the buffer creation/extraction slightly, and added some sanity checks to make 
   sure 4-D variables weren't messed up.  Still checking it, though...
  • Loading branch information
Marcos Longo committed Mar 21, 2012
1 parent 9291361 commit eb4c96e
Show file tree
Hide file tree
Showing 37 changed files with 472 additions and 1,383 deletions.
23 changes: 11 additions & 12 deletions BRAMS/build/bin/dependency.mk
Original file line number Diff line number Diff line change
Expand Up @@ -562,8 +562,8 @@ phenology_startup.o: grid_coms.mod phenology_aux.mod phenology_coms.mod
average_utils.o: allometry.mod canopy_radiation_coms.mod consts_coms.mod
average_utils.o: ed_max_dims.mod ed_misc_coms.mod ed_state_vars.mod
average_utils.o: grid_coms.mod pft_coms.mod therm_lib.mod
ed_init_full_history.o: allometry.mod c34constants.mod ed_max_dims.mod
ed_init_full_history.o: ed_misc_coms.mod ed_node_coms.mod ed_state_vars.mod
ed_init_full_history.o: allometry.mod ed_max_dims.mod ed_misc_coms.mod
ed_init_full_history.o: ed_node_coms.mod ed_state_vars.mod
ed_init_full_history.o: fusion_fission_coms.mod grid_coms.mod
ed_init_full_history.o: hdf5_coms.mod phenology_startup.mod soil_coms.mod
ed_load_namelist.o: canopy_air_coms.mod canopy_layer_coms.mod
Expand Down Expand Up @@ -593,12 +593,11 @@ ed_xml_config.o: ed_max_dims.mod ed_misc_coms.mod fusion_fission_coms.mod
ed_xml_config.o: grid_coms.mod hydrology_coms.mod met_driver_coms.mod
ed_xml_config.o: pft_coms.mod phenology_coms.mod physiology_coms.mod
ed_xml_config.o: rk4_coms.mod soil_coms.mod
edio.o: c34constants.mod consts_coms.mod ed_max_dims.mod ed_misc_coms.mod
edio.o: ed_node_coms.mod ed_state_vars.mod grid_coms.mod pft_coms.mod
edio.o: soil_coms.mod therm_lib.mod
h5_output.o: an_header.mod c34constants.mod ed_max_dims.mod ed_misc_coms.mod
h5_output.o: ed_node_coms.mod ed_state_vars.mod ed_var_tables.mod
h5_output.o: fusion_fission_coms.mod grid_coms.mod hdf5_coms.mod
edio.o: consts_coms.mod ed_max_dims.mod ed_misc_coms.mod ed_node_coms.mod
edio.o: ed_state_vars.mod grid_coms.mod pft_coms.mod soil_coms.mod therm_lib.mod
h5_output.o: an_header.mod ed_max_dims.mod ed_misc_coms.mod ed_node_coms.mod
h5_output.o: ed_state_vars.mod ed_var_tables.mod fusion_fission_coms.mod
h5_output.o: grid_coms.mod hdf5_coms.mod
leaf_database.o: grid_coms.mod hdf5_utils.mod soil_coms.mod
canopy_air_coms.o: consts_coms.mod therm_lib.mod therm_lib8.mod
canopy_radiation_coms.o: ed_max_dims.mod
Expand All @@ -610,10 +609,10 @@ ed_mem_alloc.o: ed_max_dims.mod ed_mem_grid_dim_defs.mod ed_node_coms.mod
ed_mem_alloc.o: ed_state_vars.mod ed_work_vars.mod grid_coms.mod
ed_mem_alloc.o: mem_polygons.mod
ed_misc_coms.o: ed_max_dims.mod
ed_state_vars.o: c34constants.mod disturb_coms.mod ed_max_dims.mod
ed_state_vars.o: ed_misc_coms.mod ed_node_coms.mod ed_var_tables.mod
ed_state_vars.o: fusion_fission_coms.mod grid_coms.mod met_driver_coms.mod
ed_state_vars.o: phenology_coms.mod soil_coms.mod
ed_state_vars.o: disturb_coms.mod ed_max_dims.mod ed_misc_coms.mod
ed_state_vars.o: ed_node_coms.mod ed_var_tables.mod fusion_fission_coms.mod
ed_state_vars.o: grid_coms.mod met_driver_coms.mod phenology_coms.mod
ed_state_vars.o: soil_coms.mod
ed_var_tables.o: ed_max_dims.mod
ed_work_vars.o: ed_max_dims.mod
ename_coms.o: ed_max_dims.mod
Expand Down
213 changes: 161 additions & 52 deletions BRAMS/src/mpi/mpass_full.f90

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions BRAMS/src/mpi/mpass_init.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1432,16 +1432,16 @@ subroutine nodeget_grid_dimens()

!----- Assigning the node_mod shortcuts with the appropiate values. --------------------!
do ng=1,ngrids
mmxp(ng)=nodemxp(mynum,ng)
mmyp(ng)=nodemyp(mynum,ng)
mmzp(ng)=nodemzp(mynum,ng)
mia(ng)=nodeia(mynum,ng)
miz(ng)=nodeiz(mynum,ng)
mja(ng)=nodeja(mynum,ng)
mjz(ng)=nodejz(mynum,ng)
mi0(ng)=nodei0(mynum,ng)
mj0(ng)=nodej0(mynum,ng)
mibcon(ng)=nodeibcon(mynum,ng)
mmxp(ng) = nodemxp(mynum,ng)
mmyp(ng) = nodemyp(mynum,ng)
mmzp(ng) = nodemzp(mynum,ng)
mia(ng) = nodeia(mynum,ng)
miz(ng) = nodeiz(mynum,ng)
mja(ng) = nodeja(mynum,ng)
mjz(ng) = nodejz(mynum,ng)
mi0(ng) = nodei0(mynum,ng)
mj0(ng) = nodej0(mynum,ng)
mibcon(ng) = nodeibcon(mynum,ng)
end do
write (unit=*,fmt='(a)') '---------------------------------------------------------'
write (unit=*,fmt='(a,1x,i5)') 'In nodeget_grid_dimens, mynum=',mynum
Expand Down
10 changes: 6 additions & 4 deletions BRAMS/src/mpi/paral.f90
Original file line number Diff line number Diff line change
Expand Up @@ -248,12 +248,14 @@ subroutine master_getanl(vtype)
select case (trim(vtype))
!----- Instantaneous variables, use var_p pointer --------------------------------!
case ('LITE')
call ex_full_buff(vtab_r(nv,ng)%var_p,scratch%scr1,fdzp,nnxp(ng),nnyp(ng) &
,fdep,mlon,mlat,ioff,joff)
call ex_full_buff(vtab_r(nv,ng)%var_p,scratch%scr1,npts,fdzp,nnxp(ng) &
,nnyp(ng),fdep,mlon,mlat,ioff,joff,iwest,ieast &
,jsouth,jnorth)
!----- Averaged variables, use var_m pointer -------------------------------------!
case ('MEAN','BOTH')
call ex_full_buff(vtab_r(nv,ng)%var_m,scratch%scr1,fdzp,nnxp(ng),nnyp(ng) &
,fdep,mlon,mlat,ioff,joff)
call ex_full_buff(vtab_r(nv,ng)%var_m,scratch%scr1,npts,fdzp,nnxp(ng) &
,nnyp(ng),fdep,mlon,mlat,ioff,joff,iwest,ieast &
,jsouth,jnorth)
end select
end do varloop
end do machloop
Expand Down
107 changes: 54 additions & 53 deletions ED/Template/Template/plot_daily.r
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,16 @@ tsplot04 = list(vnam="mcopft" ,desc="Maintenance costs" ,unit="kgC/m2/

#----- Size (DBH) and age structure of cohort level variables. ----------------------------#
npsas = 10
psas01 = list(vnam="beamextco",desc="Downward direct light" ,unit="--" , plt=T)
psas02 = list(vnam="gppco" ,desc="Gross primary productivity",unit="kgC/plant/yr", plt=T)
psas03 = list(vnam="respco" ,desc="Total plant respiration" ,unit="kgC/plant/yr", plt=T)
psas04 = list(vnam="nppco" ,desc="Net primary productivity" ,unit="kgC/plant/yr", plt=T)
psas05 = list(vnam="mcostco" ,desc="Maintenance costs" ,unit="kgC/plant/yr", plt=T)
psas06 = list(vnam="ncbmortco",desc="Mortality due to Neg. CB" ,unit="1/yr" , plt=T)
psas07 = list(vnam="agbco" ,desc="Above-ground biomass" ,unit="kgC/plant" , plt=T)
psas08 = list(vnam="fsoco" ,desc="Fraction of open stomata" ,unit="--" , plt=T)
psas09 = list(vnam="nplantco" ,desc="Plant density" ,unit="plant/m2" , plt=T)
psas10 = list(vnam="laico" ,desc="Leaf area index" ,unit="m2/m2" , plt=T)
psas01 = list(vnam="lightbeamco",desc="Downward direct light" ,unit="--" , plt=T)
psas02 = list(vnam="gppco" ,desc="Gross primary product." ,unit="kgC/plant/yr", plt=T)
psas03 = list(vnam="respco" ,desc="Total plant respiration" ,unit="kgC/plant/yr", plt=T)
psas04 = list(vnam="nppco" ,desc="Net primary productivity",unit="kgC/plant/yr", plt=T)
psas05 = list(vnam="mcostco" ,desc="Maintenance costs" ,unit="kgC/plant/yr", plt=T)
psas06 = list(vnam="ncbmortco" ,desc="Mortality due to Neg. CB",unit="1/yr" , plt=T)
psas07 = list(vnam="agbco" ,desc="Above-ground biomass" ,unit="kgC/plant" , plt=T)
psas08 = list(vnam="fsoco" ,desc="Fraction of open stomata",unit="--" , plt=T)
psas09 = list(vnam="nplantco" ,desc="Plant density" ,unit="plant/m2" , plt=T)
psas10 = list(vnam="laico" ,desc="Leaf area index" ,unit="m2/m2" , plt=T)
#----- Similar to Hovmoller diagrams. -----------------------------------------------------#
nhov = 4
hovdi01 = list(vnam = c("gpp","plresp","hetresp","nep")
Expand Down Expand Up @@ -297,7 +297,7 @@ for (ipy in 1:nplaces){
p$soil.temp = NULL
p$soil.moist = NULL
#----- Cohort level lists. -------------------------------------------------------------#
p$beamextco = list()
p$lightbeamco = list()
p$gppco = list()
p$respco = list()
p$nppco = list()
Expand Down Expand Up @@ -466,23 +466,24 @@ for (year in yeara:yearz){
hetresppanow = myday$DMEAN.RH.PA[apa:zpa]

#----- Load the other cohort-level variables. --------------------------------#
pftconow = myday$PFT[aco:zco]
nplantconow = myday$NPLANT[aco:zco]
agbconow = myday$AGB.CO[aco:zco]
laiconow = myday$LAI.CO[aco:zco]
gppconow = myday$DMEAN.GPP.CO[aco:zco]
respconow = myday$DMEAN.LEAF.RESP.CO [aco:zco] +
myday$DMEAN.ROOT.RESP.CO [aco:zco] +
growth.resp.fac[myday$PFT[aco:zco]] *
( myday$DMEAN.GPP.CO [aco:zco] -
myday$DMEAN.LEAF.RESP.CO[aco:zco] -
myday$DMEAN.ROOT.RESP.CO[aco:zco] )
nppconow = gppconow-respconow
mcostconow = myday$LEAF.MAINTENANCE [aco:zco] +
myday$ROOT.MAINTENANCE [aco:zco]
ncbmortconow = myday$MORT.RATE.CO[aco:zco,2]
fsoconow = myday$DMEAN.FS.OPEN.CO[aco:zco]
beamextconow = myday$DMEAN.BEAMEXT.LEVEL[aco:zco]
pftconow = myday$PFT[aco:zco]
nplantconow = myday$NPLANT[aco:zco]
agbconow = myday$AGB.CO[aco:zco]
laiconow = myday$LAI.CO[aco:zco]
gppconow = myday$DMEAN.GPP.CO[aco:zco]
respconow = ( myday$DMEAN.LEAF.RESP.CO [aco:zco]
+ myday$DMEAN.ROOT.RESP.CO [aco:zco]
+ growth.resp.fac[myday$PFT[aco:zco]]
* ( myday$DMEAN.GPP.CO [aco:zco]
- myday$DMEAN.LEAF.RESP.CO[aco:zco]
- myday$DMEAN.ROOT.RESP.CO[aco:zco] )
)
nppconow = gppconow-respconow
mcostconow = myday$LEAF.MAINTENANCE [aco:zco] +
myday$ROOT.MAINTENANCE [aco:zco]
ncbmortconow = myday$MORT.RATE.CO[aco:zco,2]
fsoconow = myday$DMEAN.FS.OPEN.CO[aco:zco]
lightbeamconow = myday$DMEAN.LIGHTBEAM.LEVEL[aco:zco]
#-----------------------------------------------------------------------------#


Expand Down Expand Up @@ -540,33 +541,33 @@ for (year in yeara:yearz){
monyear = paste("m",cmonth,"y",year,sep="")
if (day == firstday){
#----- Binding the current cohorts. ---------------------------------------#
p$beamextco[[monyear]] = beamextconow * ndaysi
p$gppco[[monyear]] = gppconow * ndaysi
p$respco[[monyear]] = respconow * ndaysi
p$nppco[[monyear]] = nppconow * ndaysi
p$mcostco[[monyear]] = mcostconow * ndaysi
p$ncbmortco[[monyear]] = ncbmortconow * ndaysi
p$agbco[[monyear]] = agbconow * ndaysi
p$fsoco[[monyear]] = fsoconow * ndaysi
p$nplantco[[monyear]] = nplantconow * ndaysi
p$dbhco[[monyear]] = dbhconow * ndaysi
p$laico[[monyear]] = laiconow * ndaysi
p$lightbeamco[[monyear]] = lightbeamconow * ndaysi
p$gppco [[monyear]] = gppconow * ndaysi
p$respco [[monyear]] = respconow * ndaysi
p$nppco [[monyear]] = nppconow * ndaysi
p$mcostco [[monyear]] = mcostconow * ndaysi
p$ncbmortco [[monyear]] = ncbmortconow * ndaysi
p$agbco [[monyear]] = agbconow * ndaysi
p$fsoco [[monyear]] = fsoconow * ndaysi
p$nplantco [[monyear]] = nplantconow * ndaysi
p$dbhco [[monyear]] = dbhconow * ndaysi
p$laico [[monyear]] = laiconow * ndaysi
#----- The following variables are not averaged. --------------------------#
p$pftco[[monyear]] = pftconow
p$ageco[[monyear]] = ageconow
p$areaco[[monyear]] = areaconow
p$pftco [[monyear]] = pftconow
p$ageco [[monyear]] = ageconow
p$areaco [[monyear]] = areaconow
}else{
p$beamextco[[monyear]] = p$beamextco[[monyear]] + beamextconow * ndaysi
p$gppco[[monyear]] = p$gppco[[monyear]] + gppconow * ndaysi
p$respco[[monyear]] = p$respco[[monyear]] + respconow * ndaysi
p$nppco[[monyear]] = p$nppco[[monyear]] + nppconow * ndaysi
p$mcostco[[monyear]] = p$mcostco[[monyear]] + mcostconow * ndaysi
p$ncbmortco[[monyear]] = p$ncbmortco[[monyear]] + ncbmortconow * ndaysi
p$agbco[[monyear]] = p$agbco[[monyear]] + agbconow * ndaysi
p$fsoco[[monyear]] = p$fsoco[[monyear]] + fsoconow * ndaysi
p$nplantco[[monyear]] = p$nplantco[[monyear]] + nplantconow * ndaysi
p$dbhco[[monyear]] = p$dbhco[[monyear]] + dbhconow * ndaysi
p$laico[[monyear]] = p$laico[[monyear]] + laiconow * ndaysi
p$lightbeamco[[monyear]] = p$lightbeamco[[monyear]] + lightbeamconow*ndaysi
p$gppco [[monyear]] = p$gppco [[monyear]] + gppconow *ndaysi
p$respco [[monyear]] = p$respco [[monyear]] + respconow *ndaysi
p$nppco [[monyear]] = p$nppco [[monyear]] + nppconow *ndaysi
p$mcostco [[monyear]] = p$mcostco [[monyear]] + mcostconow *ndaysi
p$ncbmortco [[monyear]] = p$ncbmortco [[monyear]] + ncbmortconow *ndaysi
p$agbco [[monyear]] = p$agbco [[monyear]] + agbconow *ndaysi
p$fsoco [[monyear]] = p$fsoco [[monyear]] + fsoconow *ndaysi
p$nplantco [[monyear]] = p$nplantco [[monyear]] + nplantconow *ndaysi
p$dbhco [[monyear]] = p$dbhco [[monyear]] + dbhconow *ndaysi
p$laico [[monyear]] = p$laico [[monyear]] + laiconow *ndaysi
} #end if month=sasmonth
#-----------------------------------------------------------------------------#

Expand Down
80 changes: 38 additions & 42 deletions ED/Template/Template/plot_monthly.r
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,9 @@ for (place in myplaces){

#----- Cohort level lists. -------------------------------------------------------------#
lightco = list()
beamextco = list()
diffextco = list()
lightbeamco = list()
lightdiffco = list()
parlco = list()
lambdaco = list()
gppco = list()
gpplco = list()
respco = list()
Expand Down Expand Up @@ -781,9 +780,8 @@ for (place in myplaces){
ncbmortconow = mymont$MMEAN.MORT.RATE[,2]
fsoconow = mymont$MMEAN.FS.OPEN.CO
lightconow = mymont$MMEAN.LIGHT.LEVEL
lambdaconow = mymont$MMEAN.LAMBDA.LIGHT.CO
beamextconow = mymont$MMEAN.BEAMEXT.LEVEL
diffextconow = mymont$MMEAN.BEAMEXT.LEVEL
lightbeamconow = mymont$MMEAN.LIGHT.LEVEL.BEAM
lightdiffconow = mymont$MMEAN.LIGHT.LEVEL.DIFF
parlconow = mymont$MMEAN.PAR.L

baliveconow = mymont$BALIVE
Expand Down Expand Up @@ -842,9 +840,8 @@ for (place in myplaces){
ncbmortconow = NA
fsoconow = NA
lightconow = NA
lambdaconow = NA
beamextconow = NA
diffextconow = NA
lightbeamconow = NA
lightdiffconow = NA
parlconow = NA
demandconow = NA
supplyconow = NA
Expand Down Expand Up @@ -1130,39 +1127,38 @@ for (place in myplaces){
cmonth = substring(100+month,2,3)
labwhen = paste("y",cyear,"m",cmonth,sep="")
#----- Binding the current cohorts. ------------------------------------------#
lightco [[labwhen]] = lightconow
beamextco[[labwhen]] = beamextconow
diffextco[[labwhen]] = diffextconow
parlco [[labwhen]] = parlconow
lambdaco [[labwhen]] = lambdaconow
gppco [[labwhen]] = gppconow
gpplco [[labwhen]] = gpplconow
respco [[labwhen]] = respconow
nppco [[labwhen]] = nppconow
cbrbarco [[labwhen]] = cbrbarconow
cbalco [[labwhen]] = cbalconow
mcostco [[labwhen]] = mcostconow
ncbmortco[[labwhen]] = ncbmortconow
agbco [[labwhen]] = agbconow
fsoco [[labwhen]] = fsoconow
nplantco [[labwhen]] = nplantconow * areaconow
heightco [[labwhen]] = heightconow
baco [[labwhen]] = nplantconow * baconow * areaconow
pftco [[labwhen]] = pftconow
dbhco [[labwhen]] = dbhconow
laico [[labwhen]] = laiconow
waico [[labwhen]] = waiconow
taico [[labwhen]] = taiconow
ageco [[labwhen]] = ageconow
areaco [[labwhen]] = areaconow
demandco [[labwhen]] = demandconow
supplyco [[labwhen]] = supplyconow
baliveco [[labwhen]] = baliveconow
bdeadco [[labwhen]] = bdeadconow
bleafco [[labwhen]] = bleafconow
brootco [[labwhen]] = brootconow
bswoodco [[labwhen]] = bswoodconow
bstoreco [[labwhen]] = bstoreconow
lightco [[labwhen]] = lightconow
lightbeamco [[labwhen]] = lightbeamconow
lightdiffco [[labwhen]] = lightdiffconow
parlco [[labwhen]] = parlconow
gppco [[labwhen]] = gppconow
gpplco [[labwhen]] = gpplconow
respco [[labwhen]] = respconow
nppco [[labwhen]] = nppconow
cbrbarco [[labwhen]] = cbrbarconow
cbalco [[labwhen]] = cbalconow
mcostco [[labwhen]] = mcostconow
ncbmortco [[labwhen]] = ncbmortconow
agbco [[labwhen]] = agbconow
fsoco [[labwhen]] = fsoconow
nplantco [[labwhen]] = nplantconow * areaconow
heightco [[labwhen]] = heightconow
baco [[labwhen]] = nplantconow * baconow * areaconow
pftco [[labwhen]] = pftconow
dbhco [[labwhen]] = dbhconow
laico [[labwhen]] = laiconow
waico [[labwhen]] = waiconow
taico [[labwhen]] = taiconow
ageco [[labwhen]] = ageconow
areaco [[labwhen]] = areaconow
demandco [[labwhen]] = demandconow
supplyco [[labwhen]] = supplyconow
baliveco [[labwhen]] = baliveconow
bdeadco [[labwhen]] = bdeadconow
bleafco [[labwhen]] = bleafconow
brootco [[labwhen]] = brootconow
bswoodco [[labwhen]] = bswoodconow
bstoreco [[labwhen]] = bstoreconow
} #end if month=sasmonth
#--------------------------------------------------------------------------------#

Expand Down
Loading

0 comments on commit eb4c96e

Please sign in to comment.