diff --git a/drivers/hrldas/EnergyVarOutTransferMod.F90 b/drivers/hrldas/EnergyVarOutTransferMod.F90 index a2162e42..00658527 100644 --- a/drivers/hrldas/EnergyVarOutTransferMod.F90 +++ b/drivers/hrldas/EnergyVarOutTransferMod.F90 @@ -136,13 +136,11 @@ subroutine EnergyVarOutTransfer(noahmp, NoahmpIO) NoahmpIO%CHB2XY (I,J) = noahmp%energy%state%ExchCoeffSh2mBare NoahmpIO%Q2MVXY (I,J) = noahmp%energy%state%SpecHumidity2mVeg /(1.0-noahmp%energy%state%SpecHumidity2mVeg) ! spec humidity to mixing ratio NoahmpIO%Q2MBXY (I,J) = noahmp%energy%state%SpecHumidity2mBare/(1.0-noahmp%energy%state%SpecHumidity2mBare) + NoahmpIO%ALBEDO (I,J) = noahmp%energy%state%AlbedoSfc NoahmpIO%IRRSPLH (I,J) = NoahmpIO%IRRSPLH(I,J) + & (noahmp%energy%flux%HeatLatentIrriEvap * noahmp%config%domain%MainTimeStep) NoahmpIO%TSLB (I,1:NumSoilLayer,J) = noahmp%energy%state%TemperatureSoilSnow(1:NumSoilLayer) NoahmpIO%TSNOXY (I,-NumSnowLayerMax+1:0,J) = noahmp%energy%state%TemperatureSoilSnow(-NumSnowLayerMax+1:0) - if ( noahmp%energy%state%AlbedoSfc > -999 ) then - NoahmpIO%ALBEDO(I,J) = noahmp%energy%state%AlbedoSfc - endif ! New Calculation of total Canopy/Stomatal Conductance Based on Bonan et al. (2011), Inverse of Canopy Resistance (below) LeafAreaIndSunlit = max(noahmp%energy%state%LeafAreaIndSunlit, 0.0) diff --git a/drivers/hrldas/NoahmpInitMainMod.F90 b/drivers/hrldas/NoahmpInitMainMod.F90 index af11f3b1..7a590791 100644 --- a/drivers/hrldas/NoahmpInitMainMod.F90 +++ b/drivers/hrldas/NoahmpInitMainMod.F90 @@ -187,12 +187,12 @@ subroutine NoahmpInitMain(NoahmpIO) NoahmpIO%LAI(I,J) = 0.0 NoahmpIO%LAI(I,J) = max(NoahmpIO%LAI(I,J), 0.05) ! at least start with 0.05 for arbitrary initialization (v3.7) NoahmpIO%XSAIXY(I,J) = max(0.1*NoahmpIO%LAI(I,J), 0.05) ! MB: arbitrarily initialize SAI using input LAI (v3.7) - if ( NoahmpIO%SF_URBAN_PHYSICS == 0 ) then + if ( urbanpt_flag .eqv. .true. ) then NoahmpIO%LFMASSXY(I,J) = NoahmpIO%LAI(I,J) * 1000.0 / & - max(NoahmpIO%SLA_TABLE(NoahmpIO%IVGTYP(I,J)),1.0) ! use LAI to initialize (v3.7) + max(NoahmpIO%SLA_TABLE(NoahmpIO%NATURAL_TABLE),1.0)! use LAI to initialize (v3.7) else NoahmpIO%LFMASSXY(I,J) = NoahmpIO%LAI(I,J) * 1000.0 / & - max(NoahmpIO%SLA_TABLE(NoahmpIO%NATURAL_TABLE),1.0)! use LAI to initialize (v3.7) + max(NoahmpIO%SLA_TABLE(NoahmpIO%IVGTYP(I,J)),1.0) ! use LAI to initialize (v3.7) endif NoahmpIO%STMASSXY(I,J) = NoahmpIO%XSAIXY(I,J) * 1000.0 / 3.0 ! use SAI to initialize (v3.7) NoahmpIO%RTMASSXY(I,J) = 500.0 ! these are all arbitrary and probably should be diff --git a/src/EnergyMainGlacierMod.F90 b/src/EnergyMainGlacierMod.F90 index 25958bcd..3fc0bf07 100644 --- a/src/EnergyMainGlacierMod.F90 +++ b/src/EnergyMainGlacierMod.F90 @@ -163,7 +163,7 @@ subroutine EnergyMainGlacier(noahmp) if ( RadSwDownRefHeight > 0.0 ) then AlbedoSfc = RadSwReflSfc / RadSwDownRefHeight else - AlbedoSfc = -999.9 + AlbedoSfc = undefined_real endif end associate diff --git a/src/EnergyMainMod.F90 b/src/EnergyMainMod.F90 index e8774023..0bd1df9f 100644 --- a/src/EnergyMainMod.F90 +++ b/src/EnergyMainMod.F90 @@ -340,7 +340,7 @@ subroutine EnergyMain(noahmp) if ( RadSwDownRefHeight > 0.0 ) then AlbedoSfc = RadSwReflSfc / RadSwDownRefHeight else - AlbedoSfc = -999.9 + AlbedoSfc = undefined_real endif end associate diff --git a/utility/Machine.F90 b/utility/Machine.F90 index 6209deb8..f5d8f2b2 100644 --- a/utility/Machine.F90 +++ b/utility/Machine.F90 @@ -18,9 +18,9 @@ module Machine integer, public, parameter :: kind_noahmp = 4 ! single precision #endif - integer, public, parameter :: undefined_int = -99999 ! undefined integer for variable initialization - real(kind=kind_noahmp), public, parameter :: undefined_real = -99999.0 ! undefined real for variable initializatin - integer, public, parameter :: undefined_int_neg = -99999 ! undefined integer negative for variable initialization - real(kind=kind_noahmp), public, parameter :: undefined_real_neg = -99999.0 ! undefined real negative for variable initializatin + integer, public, parameter :: undefined_int = -9999 ! undefined integer for variable initialization + real(kind=kind_noahmp), public, parameter :: undefined_real = -9999.0 ! undefined real for variable initializatin + integer, public, parameter :: undefined_int_neg = -9999 ! undefined integer negative for variable initialization + real(kind=kind_noahmp), public, parameter :: undefined_real_neg = -9999.0 ! undefined real negative for variable initializatin end module Machine