From 75a31ac1c96781cd17ceaa8c7fa412ca3fa93d4f Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Fri, 28 Feb 2020 17:01:07 +0100
Subject: [PATCH] Sylvie D. 28/02/2020: Ecoclimap SG add STREAM type of IO and
 compatibility check of number of 20 vegtypes possible (before, only 19
 vegtypes was possible with ecoclimap 2)

---
 src/LIB/SURCOUCHE/src/mode_fm.f90               | 5 +++++
 src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 | 5 ++++-
 src/SURFEX/init_isban.F90                       | 6 +++++-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90
index 55f00cfea..3500af4ae 100644
--- a/src/LIB/SURCOUCHE/src/mode_fm.f90
+++ b/src/LIB/SURCOUCHE/src/mode_fm.f90
@@ -13,6 +13,7 @@
 !                                 of NNCID and NLFIFLU to the nc4 and lfi subroutines
 !  Philippe Wautelet: 21/01/2019: add LIO_ALLOW_NO_BACKUP and LIO_NO_WRITE to modd_io_ll
 !                                 to allow to disable writes (for bench purposes)
+!  Sylvie Donnier: 28/02/2020: correction for use of ECOCLIMAP SG type STREAM needed
 !-----------------------------------------------------------------
 
 MODULE MODE_FM
@@ -129,6 +130,10 @@ SELECT CASE(TPFILE%CTYPE)
       CALL OPEN_ll(TPFILE,IOSTAT=IRESP,FORM=TPFILE%CFORM,MODE='GLOBAL')
     ELSE IF (TPFILE%CACCESS=='DIRECT') THEN
       CALL OPEN_ll(TPFILE,IOSTAT=IRESP,FORM=TPFILE%CFORM,ACCESS=TPFILE%CACCESS,RECL=TPFILE%NRECL,MODE='GLOBAL')
+! modif ECOSG
+    ELSE IF  (TPFILE%CACCESS=='STREAM') THEN
+      CALL OPEN_ll(TPFILE,IOSTAT=IRESP,FORM=TPFILE%CFORM,ACCESS=TPFILE%CACCESS,MODE='GLOBAL')
+! fin modif ECOSG
     ELSE
       CALL OPEN_ll(TPFILE,IOSTAT=IRESP,FORM=TPFILE%CFORM,MODE='GLOBAL')
     END IF
diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
index adb220393..048674922 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
@@ -11,6 +11,7 @@
 !                          to allow to disable writes (for bench purposes)
 !  P. Wautelet 12/03/2019: add TMAINFILE field in TFILEDATA
 !  P. Wautelet 11/02/2020: bugfix: TDADFILE was wrongly constructed for output files
+!  S. Donnier  28/02/2020: bugfix: type STREAM needed for use of ECOCLIMAP SG
 !-----------------------------------------------------------------
 MODULE MODE_IO_MANAGE_STRUCT
 !
@@ -714,7 +715,9 @@ IF(     PRESENT(HACCESS) .AND. TRIM(HTYPE)/='SURFACE_DATA') &
 IF(.NOT.PRESENT(HACCESS) .AND. TRIM(HTYPE)=='SURFACE_DATA') &
     CALL PRINT_MSG(NVERB_ERROR,'IO','IO_FILE_ADD2LIST','optional argument HACCESS is necessary for '//TRIM(HTYPE)//' files')
 IF(PRESENT(HACCESS)) THEN
-  IF(HACCESS/='DIRECT' .AND. HACCESS/='SEQUENTIAL') &
+! modif ECOSG
+  IF(HACCESS/='DIRECT' .AND. HACCESS/='SEQUENTIAL' .AND. HACCESS/='STREAM') &
+! fin modif
     CALL PRINT_MSG(NVERB_ERROR,'IO','IO_FILE_ADD2LIST','HACCESS should be DIRECT or SEQUENTIAL and not '//TRIM(HACCESS))
 END IF
 !
diff --git a/src/SURFEX/init_isban.F90 b/src/SURFEX/init_isban.F90
index 4bdbb57e1..283b107f5 100644
--- a/src/SURFEX/init_isban.F90
+++ b/src/SURFEX/init_isban.F90
@@ -59,6 +59,7 @@ SUBROUTINE INIT_ISBA_n (DTCO, OREAD_BUDGETC, UG, U, USS, GCP, IM, DTZ,&
 !!      P.Tulet        06/16 : add MEGAN coupling  
 !!      J.Pianezzej    02/2019 : correction for use of MEGAN
 !  P. Wautelet 21/11/2019: initialize YSNOW_SCHEME
+!       S. Donnier     02/2020 : correction for ECOCLIMAP SG (20 vegtypes possible)
 !!
 !-------------------------------------------------------------------------------
 !
@@ -371,7 +372,10 @@ ISIZE_LMEB_PATCH=COUNT(IM%O%LMEB_PATCH(:))
 !*       2.2    Check:
 !               ------
 !
-IF ( IM%O%CPHOTO/='NON' .AND. IM%O%NPATCH/=12 .AND. IM%O%NPATCH/=19 )THEN
+! modif ECOSG
+!IF ( IM%O%CPHOTO/='NON' .AND. IM%O%NPATCH/=12 .AND. IM%O%NPATCH/=19 )THEN
+IF ( IM%O%CPHOTO/='NON' .AND. IM%O%NPATCH/=12 .AND. IM%O%NPATCH/=19  .AND. IM%O%NPATCH/=20 )THEN
+! fin modif ECOSG
   CALL ABOR1_SFX('INIT_ISBAN: INCONSISTENCY BETWEEN CPHOTO AND NPATCH')
 ENDIF
 !
-- 
GitLab