Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
58ff458
1st version of SNICR snow albedo scheme
tslin2 Jun 22, 2023
6690216
update snicar for glacier temperature
tslin2 Jun 22, 2023
a806140
revise SNICAR and add aerosol compoments
tslin2 Aug 8, 2023
d714d77
snicar updated for revision
tslin2 Aug 8, 2023
28ee3cd
updating snow aerosol processes
tslin2 Aug 14, 2023
9d6ced1
add surface albedo as output and add energy check for snicar
tslin2 Aug 23, 2023
7a49de1
use fresh snow age for zero snow layer
tslin2 Aug 30, 2023
3997e4c
move snicar aging to surface albedo
tslin2 Sep 1, 2023
f7ed60d
fix issues for snicar
tslin2 Sep 9, 2023
04fdcc8
bug fix for snowlayer, fveg and update vis/nir and direct/diffuse fra…
tslin2 Sep 29, 2023
1d094aa
change default shape to hexagonal
tslin2 Oct 27, 2023
6a586a0
update dust and parameters
tslin2 Nov 7, 2023
7a6dcd5
updated parameters
tslin2 Nov 10, 2023
126f8c0
remove path and add data for SNICAR
tslin2 Jan 3, 2024
44bef28
Merge pull request #116 from NCAR/develop
cenlinhe Mar 6, 2024
929fd87
Merge branch 'snicar_lin' into develop
cenlinhe Mar 11, 2024
c3a92ae
Merge pull request #13 from cenlinhe/develop
cenlinhe Mar 11, 2024
626363b
Merge pull request #12 from cenlinhe/snicar_lin
cenlinhe Mar 11, 2024
4399294
bug fix for doubled vegfrac
cenlinhe Mar 11, 2024
611e19d
bug fix
cenlinhe Mar 11, 2024
d118daf
bug fix for aerosol mass initialization
cenlinhe Mar 12, 2024
8e0ba67
bug fix for dust5 optics initialization
cenlinhe Mar 12, 2024
8cba61a
bug fix for glacier snow water for aerosol
cenlinhe Mar 14, 2024
fa2d209
Merge pull request #124 from NCAR/develop
cenlinhe Apr 18, 2024
cfb0ee4
Merge pull request #171 from NCAR/develop
cenlinhe Jan 6, 2025
5c1c0a3
Merge pull request #14 from cenlinhe/master
cenlinhe Feb 1, 2025
7fcd0c6
Merge branch 'snicar_impl' into develop
cenlinhe Apr 21, 2025
277f9f5
Merge pull request #17 from cenlinhe/develop
cenlinhe Apr 22, 2025
556ad5c
bug fix and re-format for SNICAR implementation
cenlinhe Apr 27, 2025
3f113b5
add SNICAR to LIS driver
cenlinhe Apr 27, 2025
c208c27
rename SNICAR optics variables
cenlinhe Apr 28, 2025
6646198
add swdown fraction forcing variable
cenlinhe Apr 28, 2025
4c677bd
bug fix for variable dimension
cenlinhe Apr 29, 2025
5e2e5ab
bug fix for soil albedo initialzation
cenlinhe Apr 29, 2025
54b4cec
loose SWEmin threshold for SNICAR
cenlinhe Apr 29, 2025
e4a7ec9
update solar band number initialization
cenlinhe Apr 29, 2025
738c77c
minor bug fix and reformating
cenlinhe May 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion drivers/hrldas/ConfigVarInTransferMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,23 @@ subroutine ConfigVarInTransfer(noahmp, NoahmpIO)
noahmp%config%nmlist%OptSnowCompaction = NoahmpIO%IOPT_COMPACT
noahmp%config%nmlist%OptWetlandModel = NoahmpIO%IOPT_WETLAND

if ( noahmp%config%nmlist%OptSnowAlbedo == 3 ) then ! SNICAR namelist
noahmp%config%nmlist%OptSnicarSnowShape = NoahmpIO%SNICAR_SNOWSHAPE_OPT
noahmp%config%nmlist%OptSnicarRTSolver = NoahmpIO%SNICAR_RTSOLVER_OPT
noahmp%config%nmlist%OptSnicarBandNum = NoahmpIO%SNICAR_BANDNUMBER_OPT
noahmp%config%nmlist%OptSnicarSolarSpec = NoahmpIO%SNICAR_SOLARSPEC_OPT
noahmp%config%nmlist%OptSnicarSnwOptic = NoahmpIO%SNICAR_SNOWOPTICS_OPT
noahmp%config%nmlist%OptSnicarDustOptic = NoahmpIO%SNICAR_DUSTOPTICS_OPT
noahmp%config%nmlist%FlagSnicarSnowBCIntmix = NoahmpIO%SNICAR_SNOWBC_INTMIX
noahmp%config%nmlist%FlagSnicarSnowDustIntmix = NoahmpIO%SNICAR_SNOWDUST_INTMIX
noahmp%config%nmlist%FlagSnicarUseAerosol = NoahmpIO%SNICAR_USE_AEROSOL
noahmp%config%nmlist%FlagSnicarUseOC = NoahmpIO%SNICAR_USE_OC
noahmp%config%nmlist%FlagSnicarAerosolReadTable = NoahmpIO%SNICAR_AEROSOL_READTABLE
endif

! config domain variable
noahmp%config%domain%SurfaceType = 1
noahmp%config%domain%NumSwRadBand = 2
noahmp%config%domain%NumSwRadBand = NoahmpIO%NUMRAD
noahmp%config%domain%SoilColor = 4
noahmp%config%domain%NumCropGrowStage = 8
noahmp%config%domain%FlagSoilProcess = NoahmpIO%calculate_soil
Expand Down Expand Up @@ -95,6 +109,14 @@ subroutine ConfigVarInTransfer(noahmp, NoahmpIO)
noahmp%config%domain%RunoffSlopeType = NoahmpIO%SLOPETYP
noahmp%config%domain%DepthSoilTempBottom = NoahmpIO%ZBOT_TABLE

if ( noahmp%config%nmlist%OptSnowAlbedo == 3 ) then ! SNICAR variables
noahmp%config%domain%NumTempSnwAgeSnicar = NoahmpIO%idx_T_max
noahmp%config%domain%NumTempGradSnwAgeSnicar = NoahmpIO%idx_Tgrd_max
noahmp%config%domain%NumDensitySnwAgeSnicar = NoahmpIO%idx_rhos_max
noahmp%config%domain%NumSnicarRadBand = NoahmpIO%snicar_numrad_snw
noahmp%config%domain%NumRadiusSnwMieSnicar = NoahmpIO%idx_Mie_snw_mx
endif

! the following initialization cannot be done in ConfigVarInitMod
! because the NumSoilLayer and NumSnowLayerMax are initialized with input values in this module
if ( .not. allocated(noahmp%config%domain%DepthSoilLayer) ) &
Expand Down
84 changes: 66 additions & 18 deletions drivers/hrldas/EnergyVarInTransferMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,19 @@ subroutine EnergyVarInTransfer(noahmp, NoahmpIO)
integer :: SoilLayerIndex

! -------------------------------------------------------------------------
associate( &
I => noahmp%config%domain%GridIndexI ,&
J => noahmp%config%domain%GridIndexJ ,&
VegType => noahmp%config%domain%VegType ,&
SoilType => noahmp%config%domain%SoilType ,&
CropType => noahmp%config%domain%CropType ,&
SoilColor => noahmp%config%domain%SoilColor ,&
FlagUrban => noahmp%config%domain%FlagUrban ,&
NumSnowLayerMax => noahmp%config%domain%NumSnowLayerMax ,&
NumSoilLayer => noahmp%config%domain%NumSoilLayer ,&
NumSwRadBand => noahmp%config%domain%NumSwRadBand &
associate( &
I => noahmp%config%domain%GridIndexI ,&
J => noahmp%config%domain%GridIndexJ ,&
VegType => noahmp%config%domain%VegType ,&
SoilType => noahmp%config%domain%SoilType ,&
CropType => noahmp%config%domain%CropType ,&
SoilColor => noahmp%config%domain%SoilColor ,&
FlagUrban => noahmp%config%domain%FlagUrban ,&
NumSnowLayerMax => noahmp%config%domain%NumSnowLayerMax ,&
NumSoilLayer => noahmp%config%domain%NumSoilLayer ,&
NumSwRadBand => noahmp%config%domain%NumSwRadBand ,&
NumSnicarRadBand => noahmp%config%domain%NumSnicarRadBand ,&
NumRadiusSnwMieSnicar => noahmp%config%domain%NumRadiusSnwMieSnicar &
)
! -------------------------------------------------------------------------

Expand All @@ -60,6 +62,8 @@ subroutine EnergyVarInTransfer(noahmp, NoahmpIO)
noahmp%energy%state%TemperatureSoilSnow(1:NumSoilLayer) = NoahmpIO%TSLB (I,1:NumSoilLayer,J)
noahmp%energy%state%PressureAtmosCO2 = NoahmpIO%CO2_TABLE * noahmp%forcing%PressureAirRefHeight
noahmp%energy%state%PressureAtmosO2 = NoahmpIO%O2_TABLE * noahmp%forcing%PressureAirRefHeight
noahmp%energy%state%AlbedoSoilDir(1:NumSwRadBand) = NoahmpIO%ALBSOILDIRXY(I,1:NumSwRadBand,J)
noahmp%energy%state%AlbedoSoilDif(1:NumSwRadBand) = NoahmpIO%ALBSOILDIFXY(I,1:NumSwRadBand,J)
! vegetation treatment for USGS land types (playa, lava, sand to bare)
if ( (VegType == 25) .or. (VegType == 26) .or. (VegType == 27) ) then
noahmp%energy%state%VegFrac = 0.0
Expand Down Expand Up @@ -129,23 +133,67 @@ subroutine EnergyVarInTransfer(noahmp, NoahmpIO)
noahmp%energy%param%AlbedoLakeFrz (1:NumSwRadBand) = NoahmpIO%ALBLAK_TABLE(1:NumSwRadBand)
noahmp%energy%param%ScatterCoeffSnow (1:NumSwRadBand) = NoahmpIO%OMEGAS_TABLE(1:NumSwRadBand)

if ( noahmp%config%nmlist%OptSnowAlbedo == 3 ) then ! SNICAR variables
noahmp%energy%param%RadSwWgtDif (1:NumSnicarRadBand) = NoahmpIO%flx_wgt_dif(1:NumSnicarRadBand)
noahmp%energy%param%RadSwWgtDir (1:NumSnicarRadBand) = NoahmpIO%flx_wgt_dir(1:NumSnicarRadBand)
noahmp%energy%param%SsAlbBCphi (1:NumSnicarRadBand) = NoahmpIO%ss_alb_bc1 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmBCphi (1:NumSnicarRadBand) = NoahmpIO%asm_prm_bc1 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassBCphi (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_bc1 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbBCpho (1:NumSnicarRadBand) = NoahmpIO%ss_alb_bc2 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmBCpho (1:NumSnicarRadBand) = NoahmpIO%asm_prm_bc2 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassBCpho (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_bc2 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbOCphi (1:NumSnicarRadBand) = NoahmpIO%ss_alb_oc1 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmOCphi (1:NumSnicarRadBand) = NoahmpIO%asm_prm_oc1 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassOCphi (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_oc1 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbOCpho (1:NumSnicarRadBand) = NoahmpIO%ss_alb_oc2 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmOCpho (1:NumSnicarRadBand) = NoahmpIO%asm_prm_oc2 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassOCpho (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_oc2 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbDustB1 (1:NumSnicarRadBand) = NoahmpIO%ss_alb_dst1 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmDustB1 (1:NumSnicarRadBand) = NoahmpIO%asm_prm_dst1 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassDustB1 (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_dst1 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbDustB2 (1:NumSnicarRadBand) = NoahmpIO%ss_alb_dst2 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmDustB2 (1:NumSnicarRadBand) = NoahmpIO%asm_prm_dst2 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassDustB2 (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_dst2 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbDustB3 (1:NumSnicarRadBand) = NoahmpIO%ss_alb_dst3 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmDustB3 (1:NumSnicarRadBand) = NoahmpIO%asm_prm_dst3 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassDustB3 (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_dst3 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbDustB4 (1:NumSnicarRadBand) = NoahmpIO%ss_alb_dst4 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmDustB4 (1:NumSnicarRadBand) = NoahmpIO%asm_prm_dst4 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassDustB4 (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_dst4 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbDustB5 (1:NumSnicarRadBand) = NoahmpIO%ss_alb_dst5 (1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmDustB5 (1:NumSnicarRadBand) = NoahmpIO%asm_prm_dst5 (1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassDustB5 (1:NumSnicarRadBand) = NoahmpIO%ext_cff_mss_dst5 (1:NumSnicarRadBand)
noahmp%energy%param%SsAlbSnwRadDir (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%ss_alb_snw_drc (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmSnwRadDir (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%asm_prm_snw_drc (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassSnwRadDir(1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%ext_cff_mss_snw_drc(1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
noahmp%energy%param%SsAlbSnwRadDif (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%ss_alb_snw_dfs (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
noahmp%energy%param%AsyPrmSnwRadDif (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%asm_prm_snw_dfs (1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
noahmp%energy%param%ExtCffMassSnwRadDif(1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand) = &
NoahmpIO%ext_cff_mss_snw_dfs(1:NumRadiusSnwMieSnicar,1:NumSnicarRadBand)
endif

do SoilLayerIndex = 1, size(SoilType)
noahmp%energy%param%SoilQuartzFrac(SoilLayerIndex) = NoahmpIO%QUARTZ_TABLE(SoilType(SoilLayerIndex))
noahmp%energy%param%SoilQuartzFrac(SoilLayerIndex) = NoahmpIO%QUARTZ_TABLE(SoilType(SoilLayerIndex))
enddo

! spatial varying soil input
if ( noahmp%config%nmlist%OptSoilProperty == 4 ) then
noahmp%energy%param%SoilQuartzFrac(1:NumSoilLayer) = NoahmpIO%QUARTZ_3D(I,1:NumSoilLayer,J)
noahmp%energy%param%SoilQuartzFrac(1:NumSoilLayer) = NoahmpIO%QUARTZ_3D(I,1:NumSoilLayer,J)
endif

if ( FlagUrban .eqv. .true. ) noahmp%energy%param%SoilHeatCapacity = 3.0e6

if ( CropType > 0 ) then
noahmp%energy%param%ConductanceLeafMin = NoahmpIO%BPI_TABLE (CropType)
noahmp%energy%param%Co2MmConst25C = NoahmpIO%KC25I_TABLE(CropType)
noahmp%energy%param%O2MmConst25C = NoahmpIO%KO25I_TABLE(CropType)
noahmp%energy%param%Co2MmConstQ10 = NoahmpIO%AKCI_TABLE (CropType)
noahmp%energy%param%O2MmConstQ10 = NoahmpIO%AKOI_TABLE (CropType)
noahmp%energy%param%ConductanceLeafMin = NoahmpIO%BPI_TABLE (CropType)
noahmp%energy%param%Co2MmConst25C = NoahmpIO%KC25I_TABLE(CropType)
noahmp%energy%param%O2MmConst25C = NoahmpIO%KO25I_TABLE(CropType)
noahmp%energy%param%Co2MmConstQ10 = NoahmpIO%AKCI_TABLE (CropType)
noahmp%energy%param%O2MmConstQ10 = NoahmpIO%AKOI_TABLE (CropType)
endif

end associate
Expand Down
8 changes: 8 additions & 0 deletions drivers/hrldas/EnergyVarOutTransferMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ subroutine EnergyVarOutTransfer(noahmp, NoahmpIO)
NumSoilLayer => noahmp%config%domain%NumSoilLayer ,&
NumSnowLayerMax => noahmp%config%domain%NumSnowLayerMax ,&
NumSnowLayerNeg => noahmp%config%domain%NumSnowLayerNeg ,&
NumSwRadBand => noahmp%config%domain%NumSwRadBand ,&
IndicatorIceSfc => noahmp%config%domain%IndicatorIceSfc &
)
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -142,6 +143,13 @@ subroutine EnergyVarOutTransfer(noahmp, NoahmpIO)
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)

NoahmpIO%ALBSOILDIRXY(I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSoilDir(1:NumSwRadBand)
NoahmpIO%ALBSOILDIFXY(I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSoilDif(1:NumSwRadBand)
NoahmpIO%ALBSFCDIRXY (I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSfcDir (1:NumSwRadBand)
NoahmpIO%ALBSFCDIFXY (I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSfcDif (1:NumSwRadBand)
NoahmpIO%ALBSNOWDIRXY(I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSnowDir(1:NumSwRadBand)
NoahmpIO%ALBSNOWDIFXY(I,1:NumSwRadBand,J) = noahmp%energy%state%AlbedoSnowDif(1:NumSwRadBand)

! 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)
LeafAreaIndShade = max(noahmp%energy%state%LeafAreaIndShade, 0.0)
Expand Down
29 changes: 29 additions & 0 deletions drivers/hrldas/ForcingVarInTransferMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,35 @@ subroutine ForcingVarInTransfer(noahmp, NoahmpIO)
noahmp%forcing%PrecipNonConvRefHeight = noahmp%forcing%PrecipNonConvRefHeight + PrecipOtherRefHeight
noahmp%forcing%PrecipSnowRefHeight = noahmp%forcing%PrecipSnowRefHeight + PrecipOtherRefHeight * NoahmpIO%SR(I,J)

! downward solar radiation direct/diffuse and visible/NIR partition
noahmp%forcing%RadSwDirFrac = NoahmpIO%RadSwDirFrac(I,J)
noahmp%forcing%RadSwVisFrac = NoahmpIO%RadSwVisFrac(I,J)

! SNICAR aerosol deposition flux forcing
if ( noahmp%config%nmlist%OptSnowAlbedo == 3 ) then
if ( noahmp%config%nmlist%FlagSnicarAerosolReadTable .eqv. .true. ) then
noahmp%forcing%DepBChydropho = NoahmpIO%DepBChydropho_TABLE
noahmp%forcing%DepBChydrophi = NoahmpIO%DepBChydrophi_TABLE
noahmp%forcing%DepOChydropho = NoahmpIO%DepOChydropho_TABLE
noahmp%forcing%DepOChydrophi = NoahmpIO%DepOChydrophi_TABLE
noahmp%forcing%DepDust1 = NoahmpIO%DepDust1_TABLE
noahmp%forcing%DepDust2 = NoahmpIO%DepDust2_TABLE
noahmp%forcing%DepDust3 = NoahmpIO%DepDust3_TABLE
noahmp%forcing%DepDust4 = NoahmpIO%DepDust4_TABLE
noahmp%forcing%DepDust5 = NoahmpIO%DepDust5_TABLE
else
noahmp%forcing%DepBChydropho = NoahmpIO%DepBChydrophoXY(I,J)
noahmp%forcing%DepBChydrophi = NoahmpIO%DepBChydrophiXY(I,J)
noahmp%forcing%DepOChydropho = NoahmpIO%DepOChydrophoXY(I,J)
noahmp%forcing%DepOChydrophi = NoahmpIO%DepOChydrophiXY(I,J)
noahmp%forcing%DepDust1 = NoahmpIO%DepDust1XY(I,J)
noahmp%forcing%DepDust2 = NoahmpIO%DepDust2XY(I,J)
noahmp%forcing%DepDust3 = NoahmpIO%DepDust3XY(I,J)
noahmp%forcing%DepDust4 = NoahmpIO%DepDust4XY(I,J)
noahmp%forcing%DepDust5 = NoahmpIO%DepDust5XY(I,J)
endif
endif

end associate

end subroutine ForcingVarInTransfer
Expand Down
8 changes: 5 additions & 3 deletions drivers/hrldas/ForcingVarOutTransferMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ subroutine ForcingVarOutTransfer(noahmp, NoahmpIO)
type(NoahmpIO_type), intent(inout) :: NoahmpIO

! -------------------------------------------------------------------------
associate( &
I => noahmp%config%domain%GridIndexI ,&
J => noahmp%config%domain%GridIndexJ &
associate( &
I => noahmp%config%domain%GridIndexI ,&
J => noahmp%config%domain%GridIndexJ &
)
! -------------------------------------------------------------------------

Expand All @@ -36,6 +36,8 @@ subroutine ForcingVarOutTransfer(noahmp, NoahmpIO)
NoahmpIO%FORCPLSM (I,J) = noahmp%forcing%PressureAirRefHeight
NoahmpIO%FORCWLSM (I,J) = sqrt(noahmp%forcing%WindEastwardRefHeight**2 + &
noahmp%forcing%WindNorthwardRefHeight**2)
NoahmpIO%RadSwDirFrac(I,J) = noahmp%forcing%RadSwDirFrac
NoahmpIO%RadSwVisFrac(I,J) = noahmp%forcing%RadSwVisFrac

end associate

Expand Down
4 changes: 2 additions & 2 deletions drivers/hrldas/NoahmpDriverMainMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,8 @@ subroutine NoahmpDriverMain(NoahmpIO)
else
noahmp%config%domain%IndicatorIceSfc = 0 ! land soil point.
call NoahmpMain(noahmp)
endif ! glacial split ends
endif ! glacial split ends

!---------------------------------------------------------------------
! Transfer 1-D Noah-MP column variables to 2-D output variables
!---------------------------------------------------------------------
Expand Down
Loading