Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug fix: PEATCLSM water table depth #593

Merged
merged 3 commits into from
Jun 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -2732,9 +2732,9 @@ subroutine SetServices ( GC, RC )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'depth_to_water_table_from_surface',&
LONG_NAME = 'depth_to_water_table_from_surface_in_peat',&
UNITS = 'm' ,&
SHORT_NAME = 'WATERTABLED' ,&
SHORT_NAME = 'PEATCLSM_WATERLEVEL' ,&
DIMS = MAPL_DimsHorzOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand All @@ -2743,7 +2743,7 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'change_in_free_surface_water_reservoir_on_peat',&
UNITS = 'kg m-2 s-1' ,&
SHORT_NAME = 'FSWCHANGE' ,&
SHORT_NAME = 'PEATCLSM_FSWCHANGE' ,&
DIMS = MAPL_DimsHorzOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand Down Expand Up @@ -5125,8 +5125,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
real, pointer, dimension(:,:) :: RMELTBC002 => NULL()
real, pointer, dimension(:,:) :: RMELTOC001 => NULL()
real, pointer, dimension(:,:) :: RMELTOC002 => NULL()
real, pointer, dimension(:,:) :: WATERTABLED => NULL()
real, pointer, dimension(:,:) :: FSWCHANGE => NULL()
real, pointer, dimension(:,:) :: PEATCLSM_WATERLEVEL => NULL()
real, pointer, dimension(:,:) :: PEATCLSM_FSWCHANGE => NULL()

! CN model
real, pointer, dimension(:,:) :: CNLAI => NULL()
Expand Down Expand Up @@ -5386,8 +5386,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
real, pointer, dimension(:) :: RMELTBC002TILE => NULL()
real, pointer, dimension(:) :: RMELTOC001TILE => NULL()
real, pointer, dimension(:) :: RMELTOC002TILE => NULL()
real, pointer, dimension(:) :: WATERTABLEDTILE => NULL()
real, pointer, dimension(:) :: FSWCHANGETILE => NULL()
real, pointer, dimension(:) :: PEATCLSM_WATERLEVELTILE => NULL()
real, pointer, dimension(:) :: PEATCLSM_FSWCHANGETILE => NULL()

real, pointer, dimension(:) :: CNLAITILE => NULL()
real, pointer, dimension(:) :: CNTLAITILE => NULL()
Expand Down Expand Up @@ -6222,8 +6222,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetPointer(EXPORT , RMELTBC002 , 'RMELTBC002', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , RMELTOC001 , 'RMELTOC001', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , RMELTOC002 , 'RMELTOC002', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , WATERTABLED, 'WATERTABLED', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , FSWCHANGE , 'FSWCHANGE', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , PEATCLSM_WATERLEVEL, 'PEATCLSM_WATERLEVEL', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT , PEATCLSM_FSWCHANGE, 'PEATCLSM_FSWCHANGE', RC=STATUS); VERIFY_(STATUS)


IF(LSM_CHOICE > 1) THEN
Expand Down Expand Up @@ -6798,8 +6798,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
call MKTILE(RMELTBC002 ,RMELTBC002TILE ,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(RMELTOC001 ,RMELTOC001TILE ,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(RMELTOC002 ,RMELTOC002TILE ,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(WATERTABLED,WATERTABLEDTILE,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(FSWCHANGE ,FSWCHANGETILE ,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(PEATCLSM_WATERLEVEL,PEATCLSM_WATERLEVELTILE,NT,RC=STATUS); VERIFY_(STATUS)
call MKTILE(PEATCLSM_FSWCHANGE ,PEATCLSM_FSWCHANGETILE ,NT,RC=STATUS); VERIFY_(STATUS)

IF (LSM_CHOICE > 1) THEN
call MKTILE(CNLAI ,CNLAITILE ,NT,RC=STATUS); VERIFY_(STATUS)
Expand Down Expand Up @@ -7644,8 +7644,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
if(associated(RMELTBC002 ))call MAPL_LocStreamTransform(LOCSTREAM,RMELTBC002 ,RMELTBC002TILE, RC=STATUS); VERIFY_(STATUS)
if(associated(RMELTOC001 ))call MAPL_LocStreamTransform(LOCSTREAM,RMELTOC001 ,RMELTOC001TILE, RC=STATUS); VERIFY_(STATUS)
if(associated(RMELTOC002 ))call MAPL_LocStreamTransform(LOCSTREAM,RMELTOC002 ,RMELTOC002TILE, RC=STATUS); VERIFY_(STATUS)
if(associated(WATERTABLED))call MAPL_LocStreamTransform(LOCSTREAM,WATERTABLED,WATERTABLEDTILE,RC=STATUS); VERIFY_(STATUS)
if(associated(FSWCHANGE ))call MAPL_LocStreamTransform(LOCSTREAM,FSWCHANGE ,FSWCHANGETILE, RC=STATUS); VERIFY_(STATUS)
if(associated(PEATCLSM_WATERLEVEL))call MAPL_LocStreamTransform(LOCSTREAM,PEATCLSM_WATERLEVEL,PEATCLSM_WATERLEVELTILE,RC=STATUS); VERIFY_(STATUS)
if(associated(PEATCLSM_FSWCHANGE ))call MAPL_LocStreamTransform(LOCSTREAM,PEATCLSM_FSWCHANGE ,PEATCLSM_FSWCHANGETILE, RC=STATUS); VERIFY_(STATUS)

if(associated(CNLAI)) then
call MAPL_LocStreamTransform( LOCSTREAM,CNLAI ,CNLAITILE , RC=STATUS)
Expand Down Expand Up @@ -8179,8 +8179,8 @@ subroutine RUN2 ( GC, IMPORT, EXPORT, CLOCK, RC )
if(associated(RMELTBC002TILE )) deallocate(RMELTBC002TILE )
if(associated(RMELTOC001TILE )) deallocate(RMELTOC001TILE )
if(associated(RMELTOC002TILE )) deallocate(RMELTOC002TILE )
if(associated(WATERTABLEDTILE)) deallocate(WATERTABLEDTILE)
if(associated(FSWCHANGETILE )) deallocate(FSWCHANGETILE )
if(associated(PEATCLSM_WATERLEVELTILE)) deallocate(PEATCLSM_WATERLEVELTILE)
if(associated(PEATCLSM_FSWCHANGETILE )) deallocate(PEATCLSM_FSWCHANGETILE )
if(associated(CNLAITILE )) deallocate(CNLAITILE )
if(associated(CNTLAITILE )) deallocate(CNTLAITILE )
if(associated(CNSAITILE )) deallocate(CNSAITILE )
Expand Down Expand Up @@ -8516,9 +8516,9 @@ subroutine DOTYPE(type,RC)
VERIFY_(STATUS)
call MAPL_GetPointer(GEX(type), dum, 'RMELTOC002' , ALLOC=associated(RMELTOC002TILE ), notFoundOK=.true., RC=STATUS)
VERIFY_(STATUS)
call MAPL_GetPointer(GEX(type), dum, 'WATERTABLED', ALLOC=associated(WATERTABLEDTILE ),notFoundOK=.true., RC=STATUS)
call MAPL_GetPointer(GEX(type), dum, 'PEATCLSM_WATERLEVEL', ALLOC=associated(PEATCLSM_WATERLEVELTILE), notFoundOK=.true., RC=STATUS)
VERIFY_(STATUS)
call MAPL_GetPointer(GEX(type), dum, 'FSWCHANGE' , ALLOC=associated(FSWCHANGETILE ) , notFoundOK=.true., RC=STATUS)
call MAPL_GetPointer(GEX(type), dum, 'PEATCLSM_FSWCHANGE' , ALLOC=associated(PEATCLSM_FSWCHANGETILE ), notFoundOK=.true., RC=STATUS)
VERIFY_(STATUS)

IF (LSM_CHOICE > 1) THEN
Expand Down Expand Up @@ -9088,8 +9088,8 @@ subroutine DOTYPE(type,RC)
if(associated(RMELTBC002TILE)) call FILLOUT_TILE(GEX(type), 'RMELTBC002' , RMELTBC002TILE , XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(RMELTOC001TILE)) call FILLOUT_TILE(GEX(type), 'RMELTOC001' , RMELTOC001TILE , XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(RMELTOC002TILE)) call FILLOUT_TILE(GEX(type), 'RMELTOC002' , RMELTOC002TILE , XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(WATERTABLEDTILE))call FILLOUT_TILE(GEX(type), 'WATERTABLED', WATERTABLEDTILE, XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(FSWCHANGETILE)) call FILLOUT_TILE(GEX(type), 'FSWCHANGE' , FSWCHANGETILE , XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(PEATCLSM_WATERLEVELTILE)) call FILLOUT_TILE(GEX(type), 'PEATCLSM_WATERLEVEL', PEATCLSM_WATERLEVELTILE, XFORM, RC=STATUS);VERIFY_(STATUS)
if(associated(PEATCLSM_FSWCHANGETILE)) call FILLOUT_TILE(GEX(type), 'PEATCLSM_FSWCHANGE' , PEATCLSM_FSWCHANGETILE , XFORM, RC=STATUS);VERIFY_(STATUS)

if(associated(CNLAITILE)) then
call FILLOUT_TILE(GEX(type), 'CNLAI' , CNLAITILE , XFORM, RC=STATUS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -920,8 +920,8 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTBC002', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC001', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC002', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'WATERTABLED',CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FSWCHANGE', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_WATERLEVEL',CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_FSWCHANGE', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)

if (DO_GOSWIM /= 0) then
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RDU001', CHILD_ID = CATCH(1), RC=STATUS) ; VERIFY_(STATUS)
Expand Down Expand Up @@ -1292,8 +1292,8 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTBC002', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC001', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC002', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'WATERTABLED',CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FSWCHANGE', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_WATERLEVEL',CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_FSWCHANGE', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)

if (DO_GOSWIM /= 0) then
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RDU001', CHILD_ID = CATCHCN(1), RC=STATUS) ; VERIFY_(STATUS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -984,8 +984,8 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTBC002', CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC001', CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RMELTOC002', CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'WATERTABLED',CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FSWCHANGE' , CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_WATERLEVEL',CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'PEATCLSM_FSWCHANGE' ,CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)

if (DO_GOSWIM /= 0) then
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'RDU001', CHILD_ID = CATCHCN, RC=STATUS) ; VERIFY_(STATUS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ module GEOS_CatchCNCLM40GridCompMod
RHOFS => CATCH_SNWALB_RHOFS, &
SNWALB_VISMAX => CATCH_SNWALB_VISMAX, &
SNWALB_NIRMAX => CATCH_SNWALB_NIRMAX, &
SLOPE => CATCH_SNWALB_SLOPE
SLOPE => CATCH_SNWALB_SLOPE, &
PEATCLSM_POROS_THRESHOLD

USE clm_varpar, ONLY : &
NUM_ZON, NUM_VEG, VAR_COL, VAR_PFT, &
Expand All @@ -61,8 +62,8 @@ module GEOS_CatchCNCLM40GridCompMod
use MAPL_ConstantsMod,only: Tzero => MAPL_TICE, pi => MAPL_PI
use clm_time_manager, only: get_days_per_year, get_step_size
use pftvarcon, only: noveg
USE lsm_routines, ONLY : sibalb, catch_calc_soil_moist, &
catch_calc_zbar, catch_calc_watertabled, irrigation_rate, &
USE lsm_routines, ONLY : sibalb, catch_calc_soil_moist, &
catch_calc_zbar, catch_calc_peatclsm_waterlevel, irrigation_rate, &
gndtmp

implicit none
Expand Down Expand Up @@ -3730,9 +3731,9 @@ subroutine SetServices ( GC, RC )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'depth_to_water_table_from_surface',&
LONG_NAME = 'depth_to_water_table_from_surface_in_peat',&
UNITS = 'm' ,&
SHORT_NAME = 'WATERTABLED' ,&
SHORT_NAME = 'PEATCLSM_WATERLEVEL' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand All @@ -3741,7 +3742,7 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'change_in_free_surface_water_reservoir_on_peat',&
UNITS = 'kg m-2 s-1' ,&
SHORT_NAME = 'FSWCHANGE' ,&
SHORT_NAME = 'PEATCLSM_FSWCHANGE' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand Down Expand Up @@ -4904,8 +4905,8 @@ subroutine Driver ( RC )
real, pointer, dimension(:) :: RMELTOC001
real, pointer, dimension(:) :: RMELTOC002
real, pointer, dimension(:) :: IRRIGRATE
real, pointer, dimension(:) :: WATERTABLED
real, pointer, dimension(:) :: FSWCHANGE
real, pointer, dimension(:) :: PEATCLSM_WATERLEVEL
real, pointer, dimension(:) :: PEATCLSM_FSWCHANGE

! --------------------------------------------------------------------------
! Local pointers for tile variables
Expand Down Expand Up @@ -5536,8 +5537,8 @@ subroutine Driver ( RC )
call MAPL_GetPointer(EXPORT,RMELTBC002,'RMELTBC002', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,RMELTOC001,'RMELTOC001', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,RMELTOC002,'RMELTOC002', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,WATERTABLED ,'WATERTABLED', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,FSWCHANGE , 'FSWCHANGE', RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,PEATCLSM_WATERLEVEL,'PEATCLSM_WATERLEVEL',RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,PEATCLSM_FSWCHANGE ,'PEATCLSM_FSWCHANGE', RC=STATUS); VERIFY_(STATUS)
IF (RUN_IRRIG /= 0) call MAPL_GetPointer(EXPORT,IRRIGRATE ,'IRRIGRATE' , RC=STATUS); VERIFY_(STATUS)

NTILES = size(PS)
Expand Down Expand Up @@ -7449,9 +7450,16 @@ subroutine Driver ( RC )
if(associated(RMELTBC002)) RMELTBC002 = RMELT(:,7)
if(associated(RMELTOC001)) RMELTOC001 = RMELT(:,8)
if(associated(RMELTOC002)) RMELTOC002 = RMELT(:,9)
if(associated(FSWCHANGE)) FSWCHANGE = FSW_CHANGE
if(associated(WATERTABLED)) then
WATERTABLED = catch_calc_watertabled( BF1, BF2, CDCR2, POROS, WPWET, CATDEF )
if(associated(PEATCLSM_FSWCHANGE)) then
where (POROS >= PEATCLSM_POROS_THRESHOLD)
PEATCLSM_FSWCHANGE = FSW_CHANGE
elsewhere
PEATCLSM_FSWCHANGE = MAPL_UNDEF
end where
end if

if(associated(PEATCLSM_WATERLEVEL)) then
PEATCLSM_WATERLEVEL = catch_calc_peatclsm_waterlevel( BF1, BF2, CDCR2, POROS, WPWET, CATDEF )
endif

if(associated(TPSN1OUT)) then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ module GEOS_CatchCNCLM45GridCompMod
RHOFS => CATCH_SNWALB_RHOFS, &
SNWALB_VISMAX => CATCH_SNWALB_VISMAX, &
SNWALB_NIRMAX => CATCH_SNWALB_NIRMAX, &
SLOPE => CATCH_SNWALB_SLOPE
SLOPE => CATCH_SNWALB_SLOPE, &
PEATCLSM_POROS_THRESHOLD

USE clm_varpar, ONLY : &
NUM_ZON, NUM_VEG, VAR_COL, VAR_PFT, &
Expand All @@ -61,8 +62,8 @@ module GEOS_CatchCNCLM45GridCompMod
use MAPL_ConstantsMod,only: Tzero => MAPL_TICE, pi => MAPL_PI
use clm_time_manager, only: get_days_per_year, get_step_size
use pftvarcon, only: noveg
USE lsm_routines, ONLY : sibalb, catch_calc_soil_moist, &
catch_calc_zbar, catch_calc_watertabled, irrigation_rate, &
USE lsm_routines, ONLY : sibalb, catch_calc_soil_moist, &
catch_calc_zbar, catch_calc_peatclsm_waterlevel, irrigation_rate, &
gndtmp

use update_model_para4cn, only : upd_curr_date_time
Expand Down Expand Up @@ -3669,9 +3670,9 @@ subroutine SetServices ( GC, RC )
VERIFY_(STATUS)

call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'depth_to_water_table_from_surface',&
LONG_NAME = 'depth_to_water_table_from_surface_in_peat',&
UNITS = 'm' ,&
SHORT_NAME = 'WATERTABLED' ,&
SHORT_NAME = 'PEATCLSM_WATERLEVEL' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand All @@ -3680,7 +3681,7 @@ subroutine SetServices ( GC, RC )
call MAPL_AddExportSpec(GC ,&
LONG_NAME = 'change_in_free_surface_water_reservoir_on_peat',&
UNITS = 'kg m-2 s-1' ,&
SHORT_NAME = 'FSWCHANGE' ,&
SHORT_NAME = 'PEATCLSM_FSWCHANGE' ,&
DIMS = MAPL_DimsTileOnly ,&
VLOCATION = MAPL_VLocationNone ,&
RC=STATUS )
Expand Down Expand Up @@ -4852,8 +4853,8 @@ subroutine Driver ( RC )
real, pointer, dimension(:) :: RMELTOC001
real, pointer, dimension(:) :: RMELTOC002
real, pointer, dimension(:) :: IRRIGRATE
real, pointer, dimension(:) :: WATERTABLED
real, pointer, dimension(:) :: FSWCHANGE
real, pointer, dimension(:) :: PEATCLSM_WATERLEVEL
real, pointer, dimension(:) :: PEATCLSM_FSWCHANGE

! --------------------------------------------------------------------------
! Local pointers for tile variables
Expand Down Expand Up @@ -5538,8 +5539,8 @@ subroutine Driver ( RC )
call MAPL_GetPointer(EXPORT,RMELTBC002 ,'RMELTBC002' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,RMELTOC001 ,'RMELTOC001' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,RMELTOC002 ,'RMELTOC002' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,WATERTABLED ,'WATERTABLED' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,FSWCHANGE ,'FSWCHANGE' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,PEATCLSM_WATERLEVEL,'PEATCLSM_WATERLEVEL' , RC=STATUS); VERIFY_(STATUS)
call MAPL_GetPointer(EXPORT,PEATCLSM_FSWCHANGE ,'PEATCLSM_FSWCHANGE' , RC=STATUS); VERIFY_(STATUS)

IF (RUN_IRRIG /= 0) call MAPL_GetPointer(EXPORT,IRRIGRATE ,'IRRIGRATE' , RC=STATUS); VERIFY_(STATUS)

Expand Down Expand Up @@ -7702,9 +7703,16 @@ subroutine Driver ( RC )
if(associated(RMELTBC002)) RMELTBC002 = RMELT(:,7)
if(associated(RMELTOC001)) RMELTOC001 = RMELT(:,8)
if(associated(RMELTOC002)) RMELTOC002 = RMELT(:,9)
if(associated(FSWCHANGE)) FSWCHANGE = FSW_CHANGE
if(associated(WATERTABLED)) then
WATERTABLED = catch_calc_watertabled( BF1, BF2, CDCR2, POROS, WPWET, CATDEF )
if(associated(PEATCLSM_FSWCHANGE )) then
where (POROS >= PEATCLSM_POROS_THRESHOLD)
PEATCLSM_FSWCHANGE = FSW_CHANGE
elsewhere
PEATCLSM_FSWCHANGE = MAPL_UNDEF
end where
end if

if(associated(PEATCLSM_WATERLEVEL)) then
PEATCLSM_WATERLEVEL = catch_calc_peatclsm_waterlevel( BF1, BF2, CDCR2, POROS, WPWET, CATDEF )
endif

if(associated(TPSN1OUT)) then
Expand Down
Loading