Welcome, Guest
Username: Password: Remember me

TOPIC: Observation Points

Observation Points 6 years 7 months ago #29462

  • Thompf
  • Thompf's Avatar
Dear all,
I think I have a common issue with telemac. I want to extract on some user defined points (with given coordinates or node numbers) the water level in a high temporal resolution (higher than the defined printout period). For writing high temporal resolved discharges on defined "cross sections" is already a solution existing, but for "observation points" unfortunately not.

I think they way is to edit the "fluxpr_telemac2d"-subroutine, but I'm not a fortran expert (not even an advanced learner) and I think someone of you had the same issue and got already a solution.

Maybe to implement such observation points would be a huge benefit for the next telemac revision. :-)

Thanking you in anticipation
Thomas
The administrator has disabled public write access.

Observation Points 6 years 7 months ago #29467

  • riadh
  • riadh's Avatar
Hello Thomas
This feature exists for long time ago. You can use it by adding the keyword LIST OF POINTS and you can even give a name to your observation points by the use of the keyword NAMES OF POINTS.
This will generate all the graphical variables you asked in your steering file.
You can edit all these variables as well as the output frequency be editing the subroutine preres_telemac2d.f

with my kind regards

Riadh
The administrator has disabled public write access.

Observation Points 6 years 7 months ago #29468

  • Thompf
  • Thompf's Avatar
Dear Riadh,
Thank you for your quick reply. With the keyword "LIST OF POINTS" only the node number of the points can be set, is it easy to implement to use the coordinates too? This would be helpful for our proceeding, because we want to use such defined points in other modelling software too.

Thanks
Thomas
The administrator has disabled public write access.

Observation Points 6 years 6 months ago #30032

  • liuy
  • liuy's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 13
Hi,riadh
Thanks for your reply, I have use the keyword "LIST OF POINTS",and try to specify the output frequency in preres_telemac2d.f. After some diagnoses of the output frequency,it seems the output time should be the Lowest Common Multiple of GRAPHIC PRINTOUT PERIOD and the timestep set in preres_telemac2d.f.
My code are :
IF(MOD(AT,60.0).LT.EPSS.AND.NPTS.GT.0) THEN
   'DO SOME OUTPUT'
ENDIF
For example ,dt=1,GRAPHIC PRINTOUT PERIOD =100, and the output timestep are 60(setup in preres_telemac2d.f),the result in listing file can output correctly in 300,600,900s...,but shows zero in 60,120,180s ...
I try to set a high frequency output of POINTS and low frequency of the GRAPHY PRINTOUT to save the storage space.
Any of your help will be appreciated!
Thanks.
liuy
The administrator has disabled public write access.

Observation Points 6 years 7 months ago #29469

  • riadh
  • riadh's Avatar
Hello Thomas

Ye it is not that difficult to implement it with coordinates. You have to use subroutine proxim.f that looks for the nearest node to the introduced coodinates.
This should give accurate observations for refined meshes. If the elements are coarse and your observation point is in the middle of such big elements, you will have results of the closest node, which could be far from you expectations.

That's why, you have to refine the mesh in the vicinity of the observation points.

The other way to do, is to interpolate exactly at the observation points which could be a little bit more complicated to implement.

with my best regards

Riadh
The administrator has disabled public write access.

Observation Points 6 years 6 months ago #30044

  • riadh
  • riadh's Avatar
Hello Liuy

You can use rather these changes to have an output every timestep.
instead of :
IF(LT.EQ.NIT.AND.NPTS.GT.0) THEN
replace it
IF(NPTS.GT.0) THEN

and then comment the line
IF(SORLEO(I)) THEN

the last line manages the output based on the period of listing output.

I hope that this helps

with my best regards

Riadh
The administrator has disabled public write access.

Observation Points 6 years 6 months ago #30046

  • liuy
  • liuy's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 13
Thank you Riadh.
I change my code as follow:
IF(MOD(AT,60.0).LT.DT*1.0.AND.NPTS.GT.0) THEN
        DO I=5,5 !MAXVAR
!         BEWARE : HERE SORLEO IS USED INSTEAD OF SORIMP
!          IF(SORLEO(I)) THEN
!            WRITE(LU,*) TEXTE(I)(1:16)
            DO N=1,NPTS
!             IN PARALLEL POINT DOES NOT ALWAYS EXIST, MAYBE ELSEWHERE
              IF(NCSIZE.GT.1) THEN
                HHH = 0.D0
                IF(LIST_PTS(N).GT.0) HHH=VARSOR%ADR(I)%P%R(LIST_PTS(N))
                HIH = HHH
                HIH = P_DMIN(HIH)
                HAH = HHH
                HAH = P_DMAX(HAH)
                WRITE(LU,80) NAME_PTS(N),AT,HIH+HAH
              ELSE
                WRITE(LU,*) NAME_PTS(N),' : ',
     &                                    VARSOR%ADR(I)%P%R(LIST_PTS(N))
              ENDIF
            ENDDO
!          ENDIF
        ENDDO
      ENDIF

the INITIAL ELEVATION of my model are 0.5, the output are:
T1                                  60.00000      -0.1187366-138
T1                                  120.0000      -0.1167662-138
T1                                  180.0000      -0.1223926-138
T1                                  240.0000      -0.1291072-138
T1                                  300.0000       0.5000000
T1                                  360.0000      -0.1982001-138
T1                                  420.0000      -0.2169379-138
T1                                  480.0000      -0.2274244-138
T1                                  540.0000      -0.2326000-138
as i said before , GRAPHIC PRINTOUT PERIOD = 100 . seems the model didn't update VARSOR in every timestep.

thanks.
liuy
The administrator has disabled public write access.

Observation Points 6 years 6 months ago #30049

  • riadh
  • riadh's Avatar
Liuy
I will check the varsor structre later. to help you out, you can simply replace varsor by the name of variables you want to print (for instance H%R(LIST_PTS(N)) for water depth, U%R and V%R for velocities etc.)

kind regards

Riadh ATA
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.