From c9d84ee577891429c647b03e8dcc786604c685b3 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Wed, 6 Mar 2019 10:38:23 +0100
Subject: [PATCH] Philippe 06/03/2019: correct XZWS entry

---
 src/LIB/SURCOUCHE/src/mode_field.f90 | 18 +++++++++---------
 src/MNH/modd_fieldn.f90              | 15 ++++++---------
 2 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index 86eb6589f..f96940dbb 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -4,12 +4,13 @@
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 ! Original version:
-!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 ! Modifications:
-!  Philippe Wautelet: 29/01/2019 : small bug correction (null pointers) in FIELDLIST_GOTO_MODEL if NESPGD or PGD
-!  Philippe Wautelet: 01/02/2019 : bug correction in case XRT is not associated
-!                   02/2019 C.Lac add rain fraction as an output field
-!!      Bielli S. 02/2019  Sea salt : significant sea wave height influences salt emission; 5 salt modes
+!  P. Wautelet 29/01/2019: small bug correction (null pointers) in FIELDLIST_GOTO_MODEL if NESPGD or PGD
+!  P. Wautelet 01/02/2019: bug correction in case XRT is not associated
+!  C. Lac         02/2019: add rain fraction as an output field
+!  S. Bielli      02/2019: sea salt: significant sea wave height influences salt emission; 5 salt modes
+!  P. Wautelet 06/03/2019: correct ZWS entry
 !-----------------------------------------------------------------
 MODULE MODE_FIELD
 !
@@ -898,7 +899,7 @@ IDX = IDX+1
 !
 IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
 TFIELDLIST(IDX)%CMNHNAME   = 'ZWS'
-TFIELDLIST(IDX)%CSTDNAME   = 'surface_altitude'
+TFIELDLIST(IDX)%CSTDNAME   = 'sea_surface_wave_significant_height'
 TFIELDLIST(IDX)%CLONGNAME  = 'ZWS'
 TFIELDLIST(IDX)%CUNITS     = 'm'
 TFIELDLIST(IDX)%CDIR       = 'XY'
@@ -3863,6 +3864,7 @@ END IF
 !
 ! MODD_FIELD_n variables
 !
+CALL FIND_FIELD_ID_FROM_MNHNAME('ZWS',  IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XZWS
 CALL FIND_FIELD_ID_FROM_MNHNAME('UT',   IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XUT
 CALL FIND_FIELD_ID_FROM_MNHNAME('VT',   IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XVT
 CALL FIND_FIELD_ID_FROM_MNHNAME('WT',   IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XWT
@@ -4175,9 +4177,7 @@ IF( KFROM/=KTO) THEN
 !
 ! MODD_FIELD_n variables
 !
-! *** BEGIN SB ADD HS ***
-CALL FIND_FIELD_ID_FROM_MNHNAME('ZWS',   IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XZWS
-! *** END SB ADD HS ***
+CALL FIND_FIELD_ID_FROM_MNHNAME('ZWS',  IID,IRESP); XZWS   => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
 CALL FIND_FIELD_ID_FROM_MNHNAME('UT',   IID,IRESP); XUT    => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
 CALL FIND_FIELD_ID_FROM_MNHNAME('VT',   IID,IRESP); XVT    => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
 CALL FIND_FIELD_ID_FROM_MNHNAME('WT',   IID,IRESP); XWT    => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
diff --git a/src/MNH/modd_fieldn.f90 b/src/MNH/modd_fieldn.f90
index 7a91f15cc..1bfaab894 100644
--- a/src/MNH/modd_fieldn.f90
+++ b/src/MNH/modd_fieldn.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !MNH_LIC for details. version 1.
@@ -51,6 +51,7 @@
 !!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !!                   02/2019 C.Lac add rain fraction as an output field
 !!      Bielli S. 02/2019  Sea salt : significant sea wave height influences salt emission; 5 salt modes
+!  P. Wautelet 06/03/2019: correct XZWS entry
 !!
 !-------------------------------------------------------------------------------
 !
@@ -61,6 +62,7 @@ USE MODD_PARAMETERS, ONLY: JPMODELMAX
 IMPLICIT NONE
 
 TYPE FIELD_t
+  REAL, DIMENSION(:,:),   POINTER :: XZWS=>NULL()    ! significant sea wave
 !  REAL, DIMENSION(:,:,:), POINTER :: XUT=>NULL(),XVT=>NULL(),XWT=>NULL()
                                       ! U,V,W  at time t
   REAL, DIMENSION(:,:,:), POINTER :: XRUS=>NULL(),XRVS=>NULL(),XRWS=>NULL()
@@ -82,8 +84,6 @@ TYPE FIELD_t
   REAL, DIMENSION(:,:,:), POINTER :: XRTKES=>NULL()   ! Source of kinetic energy
                                                      ! (rho e)
 !  REAL, DIMENSION(:,:,:), POINTER :: XPABST=>NULL()   ! absolute pressure at
-  REAL, DIMENSION(:,:),   POINTER :: XZWS=>NULL()    ! significant sea wave
-  REAL, DIMENSION(:,:),   POINTER :: XZWSS=>NULL()    ! significant sea wave
 !                                                     ! time t
 !  REAL, DIMENSION(:,:,:,:), POINTER :: XRT=>NULL()    ! Moist variables (rho Rn) 
 !                                                     ! at time t
@@ -112,13 +112,12 @@ END TYPE FIELD_t
 
 TYPE(FIELD_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: FIELD_MODEL
 
+REAL, DIMENSION(:,:),   POINTER :: XZWS=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XUT=>NULL(),XVT=>NULL(),XWT=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XRUS=>NULL(),XRVS=>NULL(),XRWS=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XRUS_PRES=>NULL(),XRVS_PRES=>NULL(),XRWS_PRES=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XTHT=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XRTHS=>NULL()
-REAL, DIMENSION(:,:),   POINTER :: XZWS=>NULL()
-REAL, DIMENSION(:,:),   POINTER :: XZWSS=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XRTHS_CLD=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XSUPSAT=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: XNACT=>NULL()
@@ -154,6 +153,7 @@ INTEGER, INTENT(IN) :: KFROM, KTO
 INTEGER :: IID,IRESP
 !
 ! Save current state for allocated arrays
+!FIELD_MODEL(KFROM)%XZWS=>XZWS !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XUT=>XUT !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XVT=>XVT !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XWT=>XWT !Done in FIELDLIST_GOTO_MODEL
@@ -164,8 +164,6 @@ FIELD_MODEL(KFROM)%XRWS=>XRWS
 !FIELD_MODEL(KFROM)%XRVS_PRES=>XRVS_PRES !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XRWS_PRES=>XRWS_PRES !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XTHT=>XTHT !Done in FIELDLIST_GOTO_MODEL
-FIELD_MODEL(KFROM)%XZWS=>XZWS
-FIELD_MODEL(KFROM)%XZWSS=>XZWSS
 FIELD_MODEL(KFROM)%XRTHS=>XRTHS
 !FIELD_MODEL(KFROM)%XRTHS_CLD=>XRTHS_CLD !Done in FIELDLIST_GOTO_MODEL
 !FIELD_MODEL(KFROM)%XSUPSAT=>XSUPSAT !Done in FIELDLIST_GOTO_MODEL
@@ -191,6 +189,7 @@ FIELD_MODEL(KFROM)%XPABSM=>XPABSM
 FIELD_MODEL(KFROM)%XRCM=>XRCM
 !
 ! Current model is set to model KTO
+!XZWS=>FIELD_MODEL(KTO)%XZWS !Done in FIELDLIST_GOTO_MODEL
 !XUT=>FIELD_MODEL(KTO)%XUT !Done in FIELDLIST_GOTO_MODEL
 !XVT=>FIELD_MODEL(KTO)%XVT !Done in FIELDLIST_GOTO_MODEL
 !XWT=>FIELD_MODEL(KTO)%XWT !Done in FIELDLIST_GOTO_MODEL
@@ -200,8 +199,6 @@ XRWS=>FIELD_MODEL(KTO)%XRWS
 !XRUS_PRES=>FIELD_MODEL(KTO)%XRUS_PRES !Done in FIELDLIST_GOTO_MODEL
 !XRVS_PRES=>FIELD_MODEL(KTO)%XRVS_PRES !Done in FIELDLIST_GOTO_MODEL
 !XRWS_PRES=>FIELD_MODEL(KTO)%XRWS_PRES !Done in FIELDLIST_GOTO_MODEL
-XZWS=>FIELD_MODEL(KTO)%XZWS
-XZWSS=>FIELD_MODEL(KTO)%XZWSS
 !XTHT=>FIELD_MODEL(KTO)%XTHT !Done in FIELDLIST_GOTO_MODEL
 XRTHS=>FIELD_MODEL(KTO)%XRTHS
 !XRTHS_CLD=>FIELD_MODEL(KTO)%XRTHS_CLD !Done in FIELDLIST_GOTO_MODEL
-- 
GitLab