From bccf2503f82ee5ba8c63c82336f15add3e055556 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Chi-Tu=C3=A2n=20Pham?= <chi-tuan.pham@edf.fr>
Date: Tue, 28 Jan 2025 14:46:30 +0100
Subject: [PATCH] [telemac2d][telemac3d][gaia] Fix #989: time series files in
 longitude/latitude (1 argument forgotten for GAIA + arguments for T2D and T3D
 called with optional syntax)

---
 sources/gaia/gaia_init.F           | 9 +++++++--
 sources/gaia/interface_gaia.f      | 3 ++-
 sources/telemac2d/telemac2d_init.F | 8 +++++---
 sources/telemac3d/telemac3d_init.F | 8 +++++---
 4 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/sources/gaia/gaia_init.F b/sources/gaia/gaia_init.F
index 30bb41198d..615d95a575 100644
--- a/sources/gaia/gaia_init.F
+++ b/sources/gaia/gaia_init.F
@@ -6,7 +6,7 @@
      & DELTAR,CF_TEL,KS_TEL,CODE,U3D,V3D,T_TEL,DT_TEL,CHARR_TEL,
      & SUSP_TEL,THETAW_TEL,HW_TEL,TW_TEL,UW_TEL,SURFROL_TEL,SURFDIS_TEL,
      & YAGOUT,XMVE_TEL,GRAV_TEL,DAT_TEL,TIM_TEL,PROTYP_TEL,LATIT_TEL,
-     & LONGIT_TEL)
+     & LONGIT_TEL,KEEP_LONLAT_TEL)
 !
 !***********************************************************************
 ! GAIA
@@ -47,6 +47,8 @@
 !>@param[in]     PROTYP_TEL Spatial projection type in calling program
 !>@param[in]     LATIT_TEL Latitude of origin point in calling program
 !>@param[in]     LONGIT_TEL Longitude of origin point in calling program
+!>@param[in]     KEEP_LONLAT_TEL If YES and PROTYP = 3, results are written
+!                          in longitude/latitude, not Mercator projection
 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 !
@@ -82,6 +84,7 @@
       INTEGER,           INTENT(IN)    :: DAT_TEL(3),TIM_TEL(3)
       INTEGER,           INTENT(IN)    :: PROTYP_TEL
       DOUBLE PRECISION,  INTENT(IN)    :: LATIT_TEL,LONGIT_TEL
+      LOGICAL,           INTENT(IN)    :: KEEP_LONLAT_TEL
 !
 !!-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       INTEGER                       :: I,K,IELEB,KP1,IVAR
@@ -789,7 +792,9 @@
       CALL OUTHIST_PREPARE('GAI   ',GAI_FILES(GAICOO),
      &                     GAI_FILES(GAIHI2),MESH,NELEM,NPOIN,
      &                     MARDAT,MARTIM,MAXVAR,SORLEO,TEXTE,VARSOR,1,
-     &                     PROTYP_TEL,LATIT_TEL,LONGIT_TEL)
+     &                     PROTYP=PROTYP_TEL,LATIT=LATIT_TEL,
+     &                     LONGIT=LONGIT_TEL,
+     &                     KEEP_LONLAT=KEEP_LONLAT_TEL)
 
 !     PREPARES RESULTS
       CALL PREDES(0,AT0,.TRUE.,CODE,LISTCOUNT)
diff --git a/sources/gaia/interface_gaia.f b/sources/gaia/interface_gaia.f
index 23ed2dc076..6ff398bd1f 100644
--- a/sources/gaia/interface_gaia.f
+++ b/sources/gaia/interface_gaia.f
@@ -216,7 +216,7 @@
      & CODE,U3D,V3D,T_TEL,DT_TEL,CHARR_TEL,SUSP_TEL,
      & THETAW_TEL,HW_TEL,TW_TEL,UW_TEL,SURFROL_TEL,SURFDIS_TEL,
      & YAGOUT,XMVE_TEL,GRAV_TEL,DAT_TEL,TIM_TEL,PROTYP_TEL,LATIT_TEL,
-     & LONGIT_TEL)
+     & LONGIT_TEL,KEEP_LONLAT_TEL)
       USE BIEF_DEF
       IMPLICIT NONE
       INTEGER,           INTENT(IN)    :: GRAFCOUNT,LISTCOUNT
@@ -237,6 +237,7 @@
       INTEGER,           INTENT(IN)    :: DAT_TEL(3),TIM_TEL(3)
       INTEGER,           INTENT(IN)    :: PROTYP_TEL
       DOUBLE PRECISION,  INTENT(IN)    :: LATIT_TEL,LONGIT_TEL
+      LOGICAL,           INTENT(IN)    :: KEEP_LONLAT_TEL
       END SUBROUTINE
       END INTERFACE
 !
diff --git a/sources/telemac2d/telemac2d_init.F b/sources/telemac2d/telemac2d_init.F
index 6950b70c9d..03cad01b37 100644
--- a/sources/telemac2d/telemac2d_init.F
+++ b/sources/telemac2d/telemac2d_init.F
@@ -1164,12 +1164,14 @@
         CALL OUTHIST_PREPARE('T2D001',T2D_FILES(T2DCO1),
      &                       T2D_FILES(T2DHI1),MESH,NELEM,NPOIN,
      &                       MARDAT,MARTIM,MAXVAR,SORLEO,TEXTE,VARSOR,1,
-     &                       PROTYP,LAMBD0,PHI0)
+     &                       PROTYP=PROTYP,LATIT=LAMBD0,LONGIT=PHI0,
+     &                       KEEP_LONLAT=KEEP_LONLAT)
 
         CALL OUTHIST_PREPARE('T2D002', T2D_FILES(T2DCO2),
      &                       T2D_FILES(T2DHI2),MESH,NELEM,NPOIN,
      &                       MARDAT,MARTIM,MAXVAR,SORLEO,TEXTE,VARSOR,1,
-     &                       PROTYP,LAMBD0,PHI0)
+     &                       PROTYP=PROTYP,LATIT=LAMBD0,LONGIT=PHI0,
+     &                       KEEP_LONLAT=KEEP_LONLAT)
 !
 !=======================================================================
 !
@@ -1475,7 +1477,7 @@
      &      LEOPRD,LISPRD,NIT,U,V,H,ZF,CF,CF,CF,CHESTR,CODE1,
      &      U,V,AT,DT,GAIA_CHARR,GAIA_SUSP,
      &      DIRMOY,HM0,TPR5,ORBVEL,SURFROL,SURFDIS,.TRUE.,
-     &      ROEAU,GRAV,MARDAT,MARTIM,PROTYP,LAMBD0,PHI0)
+     &      ROEAU,GRAV,MARDAT,MARTIM,PROTYP,LAMBD0,PHI0,KEEP_LONLAT)
           IF(DEBUG.GT.0) WRITE(LU,*) 'BACK FROM GAIA_INIT'
           CALL CONFIG_CODE(1)
           LEOPRD_CHARR=LEOPRD
diff --git a/sources/telemac3d/telemac3d_init.F b/sources/telemac3d/telemac3d_init.F
index dda27d2d99..6ab72b121b 100644
--- a/sources/telemac3d/telemac3d_init.F
+++ b/sources/telemac3d/telemac3d_init.F
@@ -1030,13 +1030,15 @@
       CALL OUTHIST_PREPARE('T3D2DH',T3D_FILES(T3DCOO),
      &                     T3D_FILES(T3DHI2),MESH2D,NELEM2,NPOIN2,
      &                     MARDAT,MARTIM,MAXVAR,SORG2D,TEXTE,VARSOR,1,
-     &                     PROTYP,LATIT,LONGIT)
+     &                     PROTYP=PROTYP,LATIT=LATIT,LONGIT=LONGIT,
+     &                     KEEP_LONLAT=KEEP_LONLAT)
 !
 !     3D TIME SERIES FILE
       CALL OUTHIST_PREPARE('T3D3DH',T3D_FILES(T3DCOO),
      &                     T3D_FILES(T3DHI3),MESH2D,NELEM2,NPOIN2,
      &                     MARDAT,MARTIM,MAXVA3,SORG3D,TEXT3,VARSO3,
-     &                     NPLAN,PROTYP,LATIT,LONGIT)
+     &                     NPLAN,PROTYP=PROTYP,LATIT=LATIT,
+     &                     LONGIT=LONGIT,KEEP_LONLAT=KEEP_LONLAT)
 !
 !     PREPARES THE 2D AND 3D OUTPUT FOR INITIAL CONDITIONS
 !
@@ -1468,7 +1470,7 @@
      &   GRAPRD,LISPRD,NIT,U2D,V2D,H,ZF,UETCAR,DELTAR,CF,RUGOF,CODE1,
      &   U,V,AT,DT,CHARR_TEL,SUSP_TEL,
      &   DIRMOY,HM0,TPR5,ORBVEL,SURFROL,SURFDIS,.TRUE.,
-     &   RHO0,GRAV,MARDAT,MARTIM,PROTYP,LATIT,LONGIT)
+     &   RHO0,GRAV,MARDAT,MARTIM,PROTYP,LATIT,LONGIT,KEEP_LONLAT)
         IF(DEBUG.GT.0) WRITE(LU,*) 'BACK FROM GAIA_INIT'
         CALL CONFIG_CODE(1)
 !
-- 
GitLab