diff --git a/src/MNH/write_surf_mnh.f90 b/src/MNH/write_surf_mnh.f90
index a79ee316c62c6605365f1ac8ccb47f0a7c8e5377..f454f46b197204675030c740e1ae9a6803a7c448 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)