anchor.diff:  	README(IPP(I)) = "//{ABSOLUTED PATH OF THE FILES}*{NCOPYFILE(I)}  // NCOPYFILE."
   	README(IPP(I)) = "//$ENDCOPYFILE" 
    
  -	README(IPP(I)) ="\N//******************************************************************************************************"C
  -	README(IPP(I)) = "//$ELEVATION"
  -	README(IPP(I))=  "//"//'"'//"THE ELEVATION IS USED TO INPUT ELEVATION DATA FOR GENERATE PRISM/BRICK ELEMENT."//'"'
  -	README(IPP(I)) = "//NOTE THAT,THE BASE 2D ELEMENT MUST BE LINEAR."  
  -    README(IPP(I)) = "//{NNODE,NLAYER,[NSUBLAYER(NLAYER)]}    //ڵزÿϸֲ"  
  -	README(IPP(I)) = "//A:{INODE,X,Y,Z(NLAYER+1)}  // 3+NLAYER+1/.Z IS IN A2Z ORDER(Z1<=Z2<=...<=Z(NLYAER+1))"
  -    README(IPP(I)) = "//B:A*{NNODE}  // NNODE."
  -	README(IPP(I)) = "//$ENDELEVATION"
  -    
  +
   	README(IPP(I)) ="\N//******************************************************************************************************"C
   	README(IPP(I)) = "//$ELEVATION"
   	README(IPP(I))=  "//"//'"'//"THE ELEVATION IS USED TO INPUT ELEVATION DATA FOR GENERATE PRISM/BRICK ELEMENT."//'"'
  
positive.code:         INTEGER::SHAPE=3
          INTEGER::V(4)=0
          INTEGER::HKEY=-1
          CHARACTER(64)::CKEY=""
          INTEGER::ISTRISURFACE=-1
          REAL(8)::NOR(3)=0.D0
          INTEGER::NEL=0
          INTEGER,ALLOCATABLE::ELEMENT(:)        
      ENDTYPE
  
negative.code: 			ALLOCATE(XYZ1(3,PHYSICALGROUP(IGP1).NTRINODEL2G),TRI1(3,N1),FACENOR1(3,N1))
  			DO CONCURRENT (J=1:PHYSICALGROUP(IGP1).NTRINODEL2G)
  				XYZ1(:,J)=NODE(PHYSICALGROUP(IGP1).TRINODEL2G(J)).XY
              ENDDO
  			
              N1=0
  			DO CONCURRENT (J=1:PHYSICALGROUP(IGP1).NTRISURFACE)
  				N1=N1+1
                  IF(FACE(PHYSICALGROUP(IGP1).TRISURFACE(J)).ISTRISURFACE>0) THEN
  				    TRI1(:,N1)=PHYSICALGROUP(IGP1).TRINODEG2L(FACE(PHYSICALGROUP(IGP1).TRISURFACE(J)).V(1:3))
                  ELSE
                      TRI1(:,N1)=PHYSICALGROUP(IGP1).TRINODEG2L(FACE(PHYSICALGROUP(IGP1).TRISURFACE(J)).V(3:1:-1))
                  ENDIF
                  FACENOR1(:,N1)=FACE(PHYSICALGROUP(IGP1).TRISURFACE(J)).UNORMAL*SIGN(1,FACE(PHYSICALGROUP(IGP1).TRISURFACE(J)).ISTRISURFACE)
  			ENDDO
  			DO CONCURRENT (J=1:PHYSICALGROUP(IGP1).NQUASURFACE)
  				N1=N1+1
  				TRI1(:,N1)=PHYSICALGROUP(IGP1).TRINODEG2L(FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).V(1:3))
  				                
                  N1=N1+1
  				TRI1(1:2,N1)=PHYSICALGROUP(IGP1).TRINODEG2L(FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).V(3:4))
  				TRI1(3,N1)=PHYSICALGROUP(IGP1).TRINODEG2L(FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).V(1))
                  DO K=-1,0
                      IF(FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).ISTRISURFACE<0) THEN
                          AR1=TRI1(3:1:-1,N1+K)
                          TRI1(:,N1+K)=AR1
                      ENDIF                
                      FACENOR1(:,N1+K)=FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).UNORMAL*SIGN(1,FACE(PHYSICALGROUP(IGP1).QUASURFACE(J)).ISTRISURFACE)
  			    ENDDO
              ENDDO
  			!COMPUTE FACE NORMAL
  			
  			!CALL stla_face_normal_compute ( PHYSICALGROUP(IGP1).NTRINODEL2G,N1, XYZ1(:,:), TRI1(:,:), FACENOR1(:,:) )
  			CALL stla_write (STLFILE1, PHYSICALGROUP(IGP1).NTRINODEL2G,N1, XYZ1(:,:), TRI1(:,:), FACENOR1(:,:) )
          ENDIF
          
  