From 9fc7dce74f4728d911b89eb02a0c9943328a5cde Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 1 Dec 2023 09:20:56 +0100
Subject: [PATCH] Philippe 01/12/2023: stations: add temperature field (field
 already existing but not computed nor written)

---
 src/MNH/stationn.f90       | 5 +++--
 src/MNH/write_stationn.f90 | 6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/MNH/stationn.f90 b/src/MNH/stationn.f90
index 6ef64ccf5..7f5d3f9d9 100644
--- a/src/MNH/stationn.f90
+++ b/src/MNH/stationn.f90
@@ -77,7 +77,7 @@ END MODULE MODI_STATION_n
 !  P. Wautelet  13/09/2019: budget: simplify and modernize date/time management
 !  R. Schoetter    11/2019: use LCARTESIAN instead of LSTATLAT for multiproc in cartesian
 !  P. Wautelet     04/2022: restructure stations for better performance, reduce memory usage and correct some problems/bugs
-!
+!  P. Wautelet  01/12/2023: compute temperature (XT field)
 ! --------------------------------------------------------------------------
 !
 !*      0. DECLARATIONS
@@ -85,7 +85,7 @@ END MODULE MODI_STATION_n
 !
 USE MODD_ALLSTATION_n,  ONLY: LDIAG_SURFRAD_STAT
 USE MODD_CONF,          ONLY: LCARTESIAN
-USE MODD_CST,           ONLY: XPI
+USE MODD_CST,           ONLY: XCPD, XP00, XPI, XRD
 USE MODD_GRID,          ONLY: XBETA, XLON0, XRPK
 USE MODD_PARAMETERS,    ONLY: JPVEXT
 USE MODD_PARAM_n,       ONLY: CRAD
@@ -158,6 +158,7 @@ STATION: DO JS = 1, NUMBSTAT_LOC
   TSTATIONS(JS)%XW (1,IN) = TSTATIONS(JS)%INTERP_HOR_FROM_MASSPOINT( PW(:,:,JK) )
   TSTATIONS(JS)%XTH(1,IN) = TSTATIONS(JS)%INTERP_HOR_FROM_MASSPOINT( PTH(:,:,JK) )
   TSTATIONS(JS)%XP (1,IN) = TSTATIONS(JS)%INTERP_HOR_FROM_MASSPOINT( PP(:,:,JK) )
+  TSTATIONS(JS)%XT (1,IN) = TSTATIONS(JS)%XTH(1,IN) * ( TSTATIONS(JS)%XP (1,IN) / XP00 ) **( XRD / XCPD )
 
   DO JSV=1,SIZE(PR,4)
     TSTATIONS(JS)%XR(1,IN,JSV) = TSTATIONS(JS)%INTERP_HOR_FROM_MASSPOINT( PR(:,:,JK,JSV) )
diff --git a/src/MNH/write_stationn.f90 b/src/MNH/write_stationn.f90
index cbdaa5748..144cc302c 100644
--- a/src/MNH/write_stationn.f90
+++ b/src/MNH/write_stationn.f90
@@ -13,6 +13,7 @@
 !  P. Wautelet 03/03/2021: budgets: add tbudiachrometadata type (useful to pass more information to Write_diachro)
 !  P. Wautelet 04/02/2022: use TSVLIST to manage metadata of scalar variables
 !  P. Wautelet    04/2022: restructure stations for better performance, reduce memory usage and correct some problems/bugs
+!  P. Wautelet 01/12/2023: write temperature field
 ! --------------------------------------------------------------------------
 !      ###########################
 MODULE MODE_WRITE_STATION_n
@@ -70,7 +71,7 @@ type(tfieldmetadata_base), dimension(:), allocatable :: tzfields
 !
 !----------------------------------------------------------------------------
 !
-IPROC = 6 + SIZE(TPSTATION%XR,3) + SIZE(TPSTATION%XSV,3)
+IPROC = 7 + SIZE(TPSTATION%XR,3) + SIZE(TPSTATION%XSV,3)
 
 IF ( CTURB == 'TKEL' ) IPROC = IPROC + 1
 IF (LDIAG_SURFRAD_STAT) THEN
@@ -99,8 +100,9 @@ else
   call Add_point( 'MER_WIND', 'Meridional wind', 'm s-1', tpstation%xmer(1,:) )
 end if
 
-call Add_point( 'W',  'Air vertical speed',    'm s-1', tpstation%xw(1,:)  )
+call Add_point( 'W',  'Air vertical speed',    'm s-1', tpstation%xw (1,:) )
 call Add_point( 'Th', 'Potential temperature', 'K',     tpstation%xth(1,:) )
+call Add_point( 'T',  'Temperature',           'K',     tpstation%xt (1,:) )
 
 if ( ldiag_surfrad_stat ) call Add_diag_surfrad_data( tpstation )
 
-- 
GitLab