Index: XIOS/dev/branch_yushan_merged/src/interface/fortran_attr/iinterpolate_domain_attr.F90
===================================================================
--- XIOS/dev/branch_yushan_merged/src/interface/fortran_attr/iinterpolate_domain_attr.F90	(revision 1131)
+++ XIOS/dev/branch_yushan_merged/src/interface/fortran_attr/iinterpolate_domain_attr.F90	(revision 1205)
@@ -12,5 +12,5 @@
 
   SUBROUTINE xios(set_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -19,4 +19,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
       INTEGER  , OPTIONAL, INTENT(IN) :: order
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -28,10 +30,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(set_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(set_interpolate_domain_attr)
 
   SUBROUTINE xios(set_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -39,4 +43,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode
       INTEGER  , OPTIONAL, INTENT(IN) :: order
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -46,10 +52,12 @@
 
       CALL xios(set_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(set_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(set_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -57,4 +65,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: mode_
       INTEGER  , OPTIONAL, INTENT(IN) :: order_
+      LOGICAL  , OPTIONAL, INTENT(IN) :: quantity_
+      LOGICAL (KIND=C_BOOL) :: quantity__tmp
       LOGICAL  , OPTIONAL, INTENT(IN) :: renormalize_
       LOGICAL (KIND=C_BOOL) :: renormalize__tmp
@@ -73,4 +83,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        quantity__tmp = quantity_
+        CALL cxios_set_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr, quantity__tmp)
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         renormalize__tmp = renormalize_
@@ -93,5 +109,5 @@
 
   SUBROUTINE xios(get_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -100,4 +116,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
       INTEGER  , OPTIONAL, INTENT(OUT) :: order
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -109,10 +127,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(get_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(get_interpolate_domain_attr)
 
   SUBROUTINE xios(get_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -120,4 +140,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode
       INTEGER  , OPTIONAL, INTENT(OUT) :: order
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL (KIND=C_BOOL) :: quantity_tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL (KIND=C_BOOL) :: renormalize_tmp
@@ -127,10 +149,12 @@
 
       CALL xios(get_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(get_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(get_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -138,4 +162,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: mode_
       INTEGER  , OPTIONAL, INTENT(OUT) :: order_
+      LOGICAL  , OPTIONAL, INTENT(OUT) :: quantity_
+      LOGICAL (KIND=C_BOOL) :: quantity__tmp
       LOGICAL  , OPTIONAL, INTENT(OUT) :: renormalize_
       LOGICAL (KIND=C_BOOL) :: renormalize__tmp
@@ -154,4 +180,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        CALL cxios_get_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr, quantity__tmp)
+        quantity_ = quantity__tmp
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         CALL cxios_get_interpolate_domain_renormalize &
@@ -174,5 +206,5 @@
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr)  &
-    ( interpolate_domain_id, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_id, mode, order, quantity, renormalize, weight_filename, write_weight )
 
     IMPLICIT NONE
@@ -183,4 +215,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order
       LOGICAL(KIND=C_BOOL) :: order_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL(KIND=C_BOOL) :: quantity_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL(KIND=C_BOOL) :: renormalize_tmp
@@ -193,10 +227,12 @@
       (interpolate_domain_id,interpolate_domain_hdl)
       CALL xios(is_defined_interpolate_domain_attr_hdl_)   &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(is_defined_interpolate_domain_attr)
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)  &
-    ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+    ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+     )
 
     IMPLICIT NONE
@@ -206,4 +242,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order
       LOGICAL(KIND=C_BOOL) :: order_tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity
+      LOGICAL(KIND=C_BOOL) :: quantity_tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize
       LOGICAL(KIND=C_BOOL) :: renormalize_tmp
@@ -214,10 +252,12 @@
 
       CALL xios(is_defined_interpolate_domain_attr_hdl_)  &
-      ( interpolate_domain_hdl, mode, order, renormalize, weight_filename, write_weight )
+      ( interpolate_domain_hdl, mode, order, quantity, renormalize, weight_filename, write_weight  &
+       )
 
   END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl)
 
   SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_)   &
-    ( interpolate_domain_hdl, mode_, order_, renormalize_, weight_filename_, write_weight_ )
+    ( interpolate_domain_hdl, mode_, order_, quantity_, renormalize_, weight_filename_, write_weight_  &
+     )
 
     IMPLICIT NONE
@@ -227,4 +267,6 @@
       LOGICAL, OPTIONAL, INTENT(OUT) :: order_
       LOGICAL(KIND=C_BOOL) :: order__tmp
+      LOGICAL, OPTIONAL, INTENT(OUT) :: quantity_
+      LOGICAL(KIND=C_BOOL) :: quantity__tmp
       LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize_
       LOGICAL(KIND=C_BOOL) :: renormalize__tmp
@@ -246,4 +288,10 @@
       ENDIF
 
+      IF (PRESENT(quantity_)) THEN
+        quantity__tmp = cxios_is_defined_interpolate_domain_quantity &
+      (interpolate_domain_hdl%daddr)
+        quantity_ = quantity__tmp
+      ENDIF
+
       IF (PRESENT(renormalize_)) THEN
         renormalize__tmp = cxios_is_defined_interpolate_domain_renormalize &
