@@ -44,6 +44,7 @@ module CNDriverMod
4444 use SoilWaterRetentionCurveMod , only : soil_water_retention_curve_type
4545 use CLMFatesInterfaceMod , only : hlm_fates_interface_type
4646 use CropReprPoolsMod , only : nrepr
47+ use SoilHydrologyType , only: soilhydrology_type
4748 !
4849 ! !PUBLIC TYPES:
4950 implicit none
@@ -1013,7 +1014,7 @@ subroutine CNDriverLeaching(bounds, &
10131014 c13_cnveg_carbonstate_inst ,c14_cnveg_carbonstate_inst , &
10141015 c13_cnveg_carbonflux_inst ,c14_cnveg_carbonflux_inst , &
10151016 c13_soilbiogeochem_carbonstate_inst ,c14_soilbiogeochem_carbonstate_inst ,&
1016- c13_soilbiogeochem_carbonflux_inst ,c14_soilbiogeochem_carbonflux_inst )
1017+ c13_soilbiogeochem_carbonflux_inst ,c14_soilbiogeochem_carbonflux_inst , soilhydrology_inst )
10171018 !
10181019 ! !DESCRIPTION:
10191020 ! Update the nitrogen leaching rate as a function of soluble mineral N and total soil water outflow.
@@ -1028,6 +1029,8 @@ subroutine CNDriverLeaching(bounds, &
10281029 use clm_time_manager , only: is_first_step_of_this_run_segment,is_beg_curr_year,is_end_curr_year,get_curr_date
10291030 use CNSharedParamsMod , only: use_matrixcn
10301031 use SoilBiogeochemDecompCascadeConType, only: use_soil_matrixcn
1032+ use SoilNitrogenMovementMod , only: SoilNitrogenMovement
1033+ use clm_varctl, only : use_nvmovement
10311034 !
10321035 ! !ARGUMENTS:
10331036 type (bounds_type) , intent (in ) :: bounds
@@ -1045,6 +1048,7 @@ subroutine CNDriverLeaching(bounds, &
10451048 type (cnveg_carbonflux_type) , intent (inout ) :: cnveg_carbonflux_inst
10461049 type (cnveg_carbonstate_type) , intent (inout ) :: cnveg_carbonstate_inst
10471050 type (soilstate_type) , intent (inout ) :: soilstate_inst
1051+ type (soilhydrology_type) , intent (in ) :: soilhydrology_inst
10481052 type (soilbiogeochem_state_type) , intent (inout ) :: soilbiogeochem_state_inst
10491053 type (soilbiogeochem_carbonflux_type) , intent (inout ) :: soilbiogeochem_carbonflux_inst
10501054 type (soilbiogeochem_carbonstate_type) , intent (inout ) :: soilbiogeochem_carbonstate_inst
@@ -1062,8 +1066,16 @@ subroutine CNDriverLeaching(bounds, &
10621066 type (soilbiogeochem_carbonflux_type) , intent (inout ) :: c14_soilbiogeochem_carbonflux_inst
10631067 integer p,fp,yr,mon,day,sec
10641068 !- ----------------------------------------------------------------------
1065-
1066- ! Mineral nitrogen dynamics (deposition, fixation, leaching)
1069+
1070+ ! soil nitrate fast aqueous movement, leaching will be evaluted here
1071+ if (use_nitrif_denitrif .and. use_nvmovement) then
1072+ call t_startf(' SoilNitrogenMovementMod' )
1073+ call SoilNitrogenMovement(bounds, num_bgc_soilc, filter_bgc_soilc, waterstatebulk_inst, &
1074+ soilstate_inst, soilhydrology_inst, soilbiogeochem_nitrogenflux_inst, soilbiogeochem_nitrogenstate_inst)
1075+ call t_stopf(' SoilNitrogenMovementMod' )
1076+ end if
1077+
1078+ ! Mineral nitrogen dynamics: deposition, fixation. If use_nvmoment false, also leaching.
10671079
10681080 call t_startf(' SoilBiogeochemNLeaching' )
10691081 call SoilBiogeochemNLeaching(bounds, num_bgc_soilc, filter_bgc_soilc, &
0 commit comments