Index: trunk/NEMOGCM/EXTERNAL/XMLIO_SERVER/src/XMLIO/mod_attribut.f90
===================================================================
--- trunk/NEMOGCM/EXTERNAL/XMLIO_SERVER/src/XMLIO/mod_attribut.f90	(revision 2767)
+++ trunk/NEMOGCM/EXTERNAL/XMLIO_SERVER/src/XMLIO/mod_attribut.f90	(revision 2782)
@@ -11,15 +11,15 @@
     INTEGER :: dim(7)
     INTEGER :: ndim
-    INTEGER,POINTER :: integer0_ptr
+    INTEGER :: integer0_ptr
     INTEGER,POINTER :: integer1_ptr(:)
     INTEGER,POINTER :: integer2_ptr(:,:)
-    REAL,POINTER    :: real0_ptr
+    REAL    :: real0_ptr
     REAL,POINTER    :: real1_ptr(:)
     REAL,POINTER    :: real2_ptr(:,:)
-    LOGICAL,POINTER :: logical0_ptr
+    LOGICAL :: logical0_ptr
     LOGICAL,POINTER :: logical1_ptr(:)
     LOGICAL,POINTER :: logical2_ptr(:,:)
     
-    CHARACTER(LEN=str_len),POINTER :: string0_ptr
+    CHARACTER(LEN=str_len) :: string0_ptr
     CHARACTER(LEN=str_len),POINTER :: string1_ptr(:)
     CHARACTER(LEN=str_len),POINTER :: string2_ptr(:,:)
@@ -81,5 +81,5 @@
     SELECT CASE(attrib%type)
        CASE (integer0)
-         DEALLOCATE(attrib%integer0_ptr)
+!!$         DEALLOCATE(attrib%integer0_ptr)
        CASE (integer1)
          DEALLOCATE(attrib%integer1_ptr)
@@ -87,5 +87,5 @@
          DEALLOCATE(attrib%integer2_ptr)
        CASE (real0)
-         DEALLOCATE(attrib%real0_ptr)
+!!$         DEALLOCATE(attrib%real0_ptr)
        CASE (real1)
          DEALLOCATE(attrib%real1_ptr)
@@ -93,5 +93,5 @@
          DEALLOCATE(attrib%real2_ptr)
        CASE (logical0)
-         DEALLOCATE(attrib%logical0_ptr)
+!!$         DEALLOCATE(attrib%logical0_ptr)
        CASE (logical1)
          DEALLOCATE(attrib%logical1_ptr)
@@ -99,5 +99,5 @@
          DEALLOCATE(attrib%logical2_ptr)
        CASE (string0)
-         DEALLOCATE(attrib%string0_ptr)
+!!$         DEALLOCATE(attrib%string0_ptr)
        CASE (string1)
          DEALLOCATE(attrib%string1_ptr)
@@ -112,5 +112,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    INTEGER,TARGET :: value
+    INTEGER :: value
     
     TYPE(attribut) :: attr_int0
@@ -118,5 +118,5 @@
     attr_int0%name=attr_name
     attr_int0%type=integer0
-    attr_int0%integer0_ptr=>value
+    attr_int0%integer0_ptr=value
     
   END FUNCTION attr_int0
@@ -126,5 +126,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    INTEGER,TARGET :: value(:)
+    INTEGER,TARGET, INTENT(INOUT) :: value(:)
     
     TYPE(attribut) :: attr_int1
@@ -140,5 +140,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    INTEGER,TARGET :: value(:,:)
+    INTEGER,TARGET, INTENT(INOUT) :: value(:,:)
     
     TYPE(attribut) :: attr_int2
@@ -155,5 +155,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    REAL,TARGET :: value
+    REAL :: value
     
     TYPE(attribut) :: attr_real0
@@ -161,5 +161,5 @@
     attr_real0%name=attr_name
     attr_real0%type=real0
-    attr_real0%real0_ptr=>value
+    attr_real0%real0_ptr=value
     
   END FUNCTION attr_real0
@@ -169,5 +169,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    REAL,TARGET :: value(:)
+    REAL,TARGET, INTENT(INOUT) :: value(:)
     
     TYPE(attribut) :: attr_real1
@@ -183,5 +183,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    REAL,TARGET :: value(:,:)
+    REAL,TARGET, INTENT(INOUT) :: value(:,:)
     
     TYPE(attribut) :: attr_real2
@@ -197,5 +197,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    LOGICAL,TARGET :: value
+    LOGICAL :: value
     
     TYPE(attribut) :: attr_logical0
@@ -203,5 +203,5 @@
     attr_logical0%name=attr_name
     attr_logical0%type=logical0
-    attr_logical0%logical0_ptr=>value
+    attr_logical0%logical0_ptr=value
     
   END FUNCTION attr_logical0
@@ -211,5 +211,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    LOGICAL,TARGET :: value(:)
+    LOGICAL,TARGET, INTENT(INOUT) :: value(:)
     
     TYPE(attribut) :: attr_logical1
@@ -225,5 +225,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    LOGICAL,TARGET :: value(:,:)
+    LOGICAL,TARGET, INTENT(INOUT) :: value(:,:)
     
     TYPE(attribut) :: attr_logical2
@@ -240,5 +240,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    CHARACTER(LEN=*),TARGET :: value
+    CHARACTER(LEN=*) :: value
     TYPE(attribut) :: attr_string0
 
@@ -246,6 +246,6 @@
       attr_string0%name=attr_name
       attr_string0%type=string0
-      attr_string0%string_len=LEN(value)
-      attr_string0%string0_ptr=>value
+      attr_string0%string_len=LEN_TRIM(value)
+      attr_string0%string0_ptr=value
     
   END FUNCTION attr_string0
@@ -255,5 +255,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    CHARACTER(LEN=*),TARGET :: value(:)
+    CHARACTER(LEN=*),TARGET, INTENT(INOUT) :: value(:)
     
     TYPE(attribut) :: attr_string1
@@ -270,5 +270,5 @@
     IMPLICIT NONE
     INTEGER :: attr_name
-    CHARACTER(LEN=*),TARGET :: value(:,:)
+    CHARACTER(LEN=*),TARGET, INTENT(INOUT) :: value(:,:)
     
     TYPE(attribut) :: attr_string2
