Skip to content

Commit

Permalink
Merge pull request #593 from GEOS-ESM/bugfix/rreichle/water_table_depth
Browse files Browse the repository at this point in the history
bug fix: PEATCLSM water table depth
  • Loading branch information
sdrabenh authored Jun 15, 2022
2 parents 2ff0572 + 5c391fa commit 1046239
Show file tree
Hide file tree
Showing 7 changed files with 126 additions and 71 deletions.
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

0 comments on commit 1046239

Please sign in to comment.