diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index deb862876c0a66efa00a58b020a31bfae498ef09..6f96aad63ac4728a8ee23dffe89f1a9306d61b07 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -439,7 +439,7 @@ TFIELDLIST(IDX)%CLONGNAME  = 'MesoNH: XHAT'
 TFIELDLIST(IDX)%CUNITS     = 'm'
 TFIELDLIST(IDX)%CDIR       = 'XX'
 TFIELDLIST(IDX)%CCOMMENT   = 'Position x in the conformal or cartesian plane'
-TFIELDLIST(IDX)%NGRID      = 2
+TFIELDLIST(IDX)%NGRID      = 4
 TFIELDLIST(IDX)%NTYPE      = TYPEREAL
 TFIELDLIST(IDX)%NDIMS      = 1
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X1D(IMODEL))
@@ -453,7 +453,7 @@ TFIELDLIST(IDX)%CLONGNAME  = 'MesoNH: YHAT'
 TFIELDLIST(IDX)%CUNITS     = 'm'
 TFIELDLIST(IDX)%CDIR       = 'YY'
 TFIELDLIST(IDX)%CCOMMENT   = 'Position y in the conformal or cartesian plane'
-TFIELDLIST(IDX)%NGRID      = 3
+TFIELDLIST(IDX)%NGRID      = 4
 TFIELDLIST(IDX)%NTYPE      = TYPEREAL
 TFIELDLIST(IDX)%NDIMS      = 1
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X1D(IMODEL))
@@ -481,7 +481,7 @@ TFIELDLIST(IDX)%CLONGNAME  = 'MesoNH: DXHAT'
 TFIELDLIST(IDX)%CUNITS     = 'm'
 TFIELDLIST(IDX)%CDIR       = 'XX'
 TFIELDLIST(IDX)%CCOMMENT   = 'Horizontal stretching in x'
-TFIELDLIST(IDX)%NGRID      = 2
+TFIELDLIST(IDX)%NGRID      = 4
 TFIELDLIST(IDX)%NTYPE      = TYPEREAL
 TFIELDLIST(IDX)%NDIMS      = 1
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X1D(IMODEL))
@@ -495,7 +495,7 @@ TFIELDLIST(IDX)%CLONGNAME  = 'MesoNH: DYHAT'
 TFIELDLIST(IDX)%CUNITS     = 'm'
 TFIELDLIST(IDX)%CDIR       = 'YY'
 TFIELDLIST(IDX)%CCOMMENT   = 'Horizontal stretching in y'
-TFIELDLIST(IDX)%NGRID      = 3
+TFIELDLIST(IDX)%NGRID      = 4
 TFIELDLIST(IDX)%NTYPE      = TYPEREAL
 TFIELDLIST(IDX)%NDIMS      = 1
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X1D(IMODEL))
@@ -1786,7 +1786,7 @@ TFIELDLIST(IDX)%NDIMS      = 0
 IDX = IDX+1
 !
 !
-IF (CPROGRAM == 'MESONH') THEN
+IF (TRIM(CPROGRAM) == 'MESONH' .OR. TRIM(CPROGRAM) == 'DIAG') THEN
 !
 IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
 TFIELDLIST(IDX)%CMNHNAME   = 'US_PRES'
@@ -1961,11 +1961,6 @@ TFIELDLIST(IDX)%NDIMS      = 3
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
 IDX = IDX+1
 !
-END IF ! CPROGRAM=MESONH
-!
-!
-IF (CPROGRAM == 'MESONH' .OR. TRIM(CPROGRAM) == 'DIAG') THEN
-!
 IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
 TFIELDLIST(IDX)%CMNHNAME   = 'CIT'
 TFIELDLIST(IDX)%CSTDNAME   = ''
@@ -2009,7 +2004,7 @@ ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
 IDX = IDX+1
 !
 !
-IF (CPROGRAM=='MESONH') THEN
+IF (TRIM(CPROGRAM)=='MESONH' .OR. TRIM(CPROGRAM)=='DIAG') THEN
 !
 IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
 TFIELDLIST(IDX)%CMNHNAME   = 'DTHRAD'
@@ -2167,7 +2162,7 @@ TFIELDLIST(IDX)%NDIMS      = 2
 ALLOCATE(TFIELDLIST(IDX)%TFIELD_X2D(IMODEL))
 IDX = IDX+1
 !
-END IF !CPROGRAM=MESONH
+END IF !CPROGRAM=MESONH .OR. DIAG
 !
 !
 IF (TRIM(CPROGRAM) /= 'PGD' .AND. TRIM(CPROGRAM) /= 'NESPGD' .AND. TRIM(CPROGRAM) /= 'SPAWN') THEN