Skip to content
Snippets Groups Projects
Commit 466a1832 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 05/04/2018: IO: PREP_SURFEX: open output file later when domain dimensions are known

parent e192c8dd
No related branches found
No related tags found
No related merge requests found
......@@ -12,19 +12,20 @@
MODULE MODI_PREP_SURF_MNH
! #############################
INTERFACE
SUBROUTINE PREP_SURF_MNH(HATMFILE,HATMFILETYPE)
SUBROUTINE PREP_SURF_MNH(HATMFILE,HATMFILETYPE,OINIFILEOPEN)
!
CHARACTER(LEN=28), INTENT(IN) :: HATMFILE ! name of the Atmospheric file
CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
CHARACTER(LEN=28),INTENT(IN) :: HATMFILE ! name of the Atmospheric file
CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
LOGICAL, OPTIONAL,INTENT(IN) :: OINIFILEOPEN! Open the INI file here (or not)
!
END SUBROUTINE PREP_SURF_MNH
!
END INTERFACE
END MODULE MODI_PREP_SURF_MNH
!
! #######################################################
SUBROUTINE PREP_SURF_MNH(HATMFILE,HATMFILETYPE)
! #######################################################
! ############################################################
SUBROUTINE PREP_SURF_MNH(HATMFILE,HATMFILETYPE,OINIFILEOPEN)
! ############################################################
!
!!**** *PREP_SURF_MNH* - calls surface field preparation
!!
......@@ -56,6 +57,7 @@ USE MODD_LUNIT_n, ONLY : CINIFILE, TINIFILE
USE MODD_MNH_SURFEX_n
USE MODD_TIME_n, ONLY : TDTCUR
!
USE MODE_FM, ONLY : IO_FILE_OPEN_ll
USE MODE_PREP_CTL, ONLY : PREP_CTL
!
USE MODI_INIT_PGD_SURF_ATM
......@@ -68,8 +70,9 @@ IMPLICIT NONE
!* 0.1 Declarations of arguments
! -------------------------
!
CHARACTER(LEN=28), INTENT(IN) :: HATMFILE ! name of the Atmospheric file
CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
CHARACTER(LEN=28),INTENT(IN) :: HATMFILE ! name of the Atmospheric file
CHARACTER(LEN=6), INTENT(IN) :: HATMFILETYPE! type of the Atmospheric file
LOGICAL, OPTIONAL,INTENT(IN) :: OINIFILEOPEN! Open the INI file here (or not)
!
!* 0.2 Declarations of local variables
! -------------------------------
......@@ -99,6 +102,10 @@ CALL INIT_PGD_SURF_ATM(YSURF_CUR,'MESONH','PRE',HATMFILE,YATMFILETYPE, &
TDTCUR%TDATE%YEAR, TDTCUR%TDATE%MONTH, &
TDTCUR%TDATE%DAY, TDTCUR%TIME )
CALL PREP_SURF_ATM(YSURF_CUR,'MESONH',HATMFILE,YATMFILETYPE,HATMFILE,YATMFILETYPE,YLCTL)
IF (PRESENT(OINIFILEOPEN)) THEN
!This is done here because model dimensions were not known before this call (for PREP_SURFEX)
IF (OINIFILEOPEN) CALL IO_FILE_OPEN_ll(TINIFILE)
END IF
CALL WRITE_SURF_ATM_n(YSURF_CUR,'MESONH','PRE',.FALSE.)
CALL WRITE_DIAG_SURF_ATM_n(YSURF_CUR,'MESONH','PRE')
!
......
......@@ -57,6 +57,7 @@ USE MODE_MODELN_HANDLER
USE MODE_SPLITTINGZ_ll
!
USE MODI_OPEN_PRC_FILES
USE MODI_PREP_SURF_MNH
USE MODI_READ_ALL_NAMELISTS
USE MODI_VERSION
!
......@@ -180,11 +181,10 @@ CALL READ_ALL_NAMELISTS(YSURF_CUR,'MESONH','PRE',.FALSE.)
CALL GOTO_SURFEX(1)
!
CALL IO_FILE_ADD2LIST(TINIFILE,TRIM(CINIFILE),'PREPSURFEX','WRITE',KLFITYPE=1,KLFIVERB=1)
!
CALL IO_FILE_OPEN_ll(TINIFILE)
!The open is done later in PREP_SURF_MNH when domain dimensions are known
!
TFILE_SURFEX => TINIFILE
CALL PREP_SURF_MNH(YATMFILE,YATMFILETYPE)
CALL PREP_SURF_MNH(YATMFILE,YATMFILETYPE,OINIFILEOPEN=.TRUE.)
NULLIFY(TFILE_SURFEX)
!
!-------------------------------------------------------------------------------
......
......@@ -87,7 +87,7 @@ TYPE(TFILEDATA), INTENT(IN) :: TPFILE ! File to write
!* 1. TEST ON MODEL INDEX
! -------------------
! KMI may be 0
IF (KMI<0 .OR. KMI>JPMODELMAX) CALL PRINT_MSG(NVERB_FATAL,'GEN','WRITE_HGRID_n','KMI<0 .OR. KMI>JPMODELMAX')
IF (KMI<0 .OR. KMI>JPMODELMAX) CALL PRINT_MSG(NVERB_FATAL,'GEN','WRITE_HGRID','KMI<0 .OR. KMI>JPMODELMAX')
IF (KMI/=0) THEN
CALL WRITE_HGRID_n(TPFILE)
RETURN
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment