diff --git a/model/src/wmesmfmd.F90 b/model/src/wmesmfmd.F90
index ff00c59f1..fc626e53c 100644
--- a/model/src/wmesmfmd.F90
+++ b/model/src/wmesmfmd.F90
@@ -187,7 +187,7 @@ module WMESMFMD
 !/
 !/ Public module methods
 !/
-      public SetServices
+      public SetServices, SetVM
 !/
 !/ Private module parameters
 !/
@@ -774,6 +774,34 @@ subroutine InitializeP1 ( gcomp, impState, expState, extClock, rc )
             if (ESMF_LogFoundError(rc, PASSTHRU)) return
           end if
         end if
+
+        call NUOPC_CompAttributeGet(gcomp, name="mask_value_water", &
+          value=cvalue, isPresent=isPresent, isSet=isSet, rc=rc)
+        if (ESMF_LogFoundError(rc, PASSTHRU)) return
+        if (isPresent .and. isSet) then
+          maskvaluewater = ESMF_UtilString2Int(cvalue, rc=rc)
+          if (ESMF_LogFoundError(rc, PASSTHRU)) return
+          if (verbosity.gt.0) then
+            write(logmsg,*) maskvaluewater
+            call ESMF_LogWrite(trim(cname)//': mask_value_water = '// &
+              trim(logmsg), ESMF_LOGMSG_INFO, rc=rc)
+            if (ESMF_LogFoundError(rc, PASSTHRU)) return
+          end if
+        end if
+
+        call NUOPC_CompAttributeGet(gcomp, name="mask_value_land", &
+          value=cvalue, isPresent=isPresent, isSet=isSet, rc=rc)
+        if (ESMF_LogFoundError(rc, PASSTHRU)) return
+        if (isPresent .and. isSet) then
+          maskvalueland = ESMF_UtilString2Int(cvalue, rc=rc)
+          if (ESMF_LogFoundError(rc, PASSTHRU)) return
+          if (verbosity.gt.0) then
+            write(logmsg,*) maskvalueland
+            call ESMF_LogWrite(trim(cname)//': mask_value_land = '// &
+              trim(logmsg), ESMF_LOGMSG_INFO, rc=rc)
+            if (ESMF_LogFoundError(rc, PASSTHRU)) return
+          end if
+        end if
       end if
 !
 ! -------------------------------------------------------------------- /