From c3ef34b5489305428ca1ab72d9ab0b7b018c1f33 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 20 Apr 2018 16:25:21 +0200
Subject: [PATCH] Philippe 20/04/2018: IO: PGD: bug correction: several
 variables were not set

---
 src/MNH/write_surf_mnh.f90 | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/MNH/write_surf_mnh.f90 b/src/MNH/write_surf_mnh.f90
index a79ee316c..f454f46b1 100644
--- a/src/MNH/write_surf_mnh.f90
+++ b/src/MNH/write_surf_mnh.f90
@@ -169,7 +169,9 @@ USE MODE_FIELD,         ONLY: TFIELDDATA,TYPEREAL
 USE MODE_MSG
 USE MODE_WRITE_SURF_MNH_TOOLS
 !
+USE MODD_CONF,          ONLY: CPROGRAM
 USE MODD_CONF_n,        ONLY: CSTORAGE_TYPE
+USE MODD_GRID
 USE MODD_IO_ll,         ONLY: TFILE_SURFEX
 !
 IMPLICIT NONE
@@ -202,6 +204,26 @@ ELSE
   CALL PREPARE_METADATA_WRITE_SURF(HREC,'--',HCOMMENT,0,TYPEREAL,0,'WRITE_SURFX0_MNH',TZFIELD)
   CALL IO_WRITE_FIELD(TFILE_SURFEX,TZFIELD,PFIELD,KRESP)
   !
+  IF (TRIM(CPROGRAM)=='PGD') THEN
+    !Store these variables (necessary for PREP_PGD program when writing netCDF files)
+    SELECT CASE(TRIM(HREC))
+      CASE('LON0')
+        XLON0 = PFIELD
+      CASE('LAT0')
+        XLAT0 = PFIELD
+      CASE('BETA')
+        XBETA = PFIELD
+      CASE('RPK')
+        XRPK = PFIELD
+      CASE('LONORI')
+        XLONORI = PFIELD
+      CASE('LATORI')
+        XLATORI = PFIELD
+      CASE DEFAULT
+        !Nothing to do
+    END SELECT
+  END IF
+  !
   IF (KRESP /=0) THEN
     WRITE ( YMSG, '( I5 )' ) KRESP
     CALL PRINT_MSG(NVERB_ERROR,'IO','WRITE_SURFX0_MNH','error when writing article '//TRIM(HREC)//' KRESP='//YMSG)
-- 
GitLab