From d5d6211fe39604d5bab63ab66e473f48563a8d4b Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Fri, 30 Jun 2017 13:08:46 +0200 Subject: [PATCH] Philippe 30/06/2017: IO: use IO_READ_FIELD for several fields in initialisation --- src/MNH/ini_segn.f90 | 98 +++++++++++++++++++------------------------ src/MNH/ini_sizen.f90 | 81 +++++++++++++---------------------- src/MNH/init_mnh.f90 | 26 ++++++------ 3 files changed, 86 insertions(+), 119 deletions(-) diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90 index a6ec286e7..68c6209b1 100644 --- a/src/MNH/ini_segn.f90 +++ b/src/MNH/ini_segn.f90 @@ -14,15 +14,16 @@ ! INTERFACE ! -SUBROUTINE INI_SEG_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD,PTSTEP_ALL) -INTEGER, INTENT(IN) :: KMI ! Model index - -CHARACTER(LEN=16), INTENT(OUT) :: HLUOUT ! name of the listing- - ! output of nested models -CHARACTER (LEN=28), INTENT(OUT) :: HINIFILE! name of - ! the initial file -CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD -REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models +SUBROUTINE INI_SEG_n(KMI,HLUOUT,TPINIFILE,HINIFILEPGD,PTSTEP_ALL) +! +USE MODD_IO_ll, ONLY : TFILEDATA +! +INTEGER, INTENT(IN) :: KMI !Model index +CHARACTER (LEN=*), INTENT(OUT) :: HLUOUT !Name for output-listing of nested models +TYPE(TFILEDATA), INTENT(OUT) :: TPINIFILE !Initial file +CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD +REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models +! END SUBROUTINE INI_SEG_n ! END INTERFACE @@ -33,7 +34,7 @@ END MODULE MODI_INI_SEG_n ! ! ! ############################################################# - SUBROUTINE INI_SEG_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD,PTSTEP_ALL) + SUBROUTINE INI_SEG_n(KMI,HLUOUT,TPINIFILE,HINIFILEPGD,PTSTEP_ALL) ! ############################################################# ! !!**** *INI_SEG_n * - routine to read and update the descriptor files for @@ -200,14 +201,11 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -INTEGER, INTENT(IN) :: KMI ! Model index - -CHARACTER(LEN=16), INTENT(OUT) :: HLUOUT ! name of the listing- - ! output of nested models -CHARACTER (LEN=28), INTENT(OUT) :: HINIFILE! name of - ! the initial file -CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD -REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models +INTEGER, INTENT(IN) :: KMI !Model index +CHARACTER (LEN=*), INTENT(OUT) :: HLUOUT !Name for output-listing of nested models +TYPE(TFILEDATA), INTENT(OUT) :: TPINIFILE !Initial file +CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD +REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models ! !* 0.1 declarations of local variables ! @@ -220,10 +218,6 @@ INTEGER :: ILUOUT ! Logical unit number ! associated with CLUOUT ! INTEGER :: IRESP,ILUSEG,ININAR ! File management variables -INTEGER :: IGRID,ILENCH ! " -CHARACTER(LEN=100) :: YCOMMENT ! " -CHARACTER(LEN=2) :: YDIR ! Type of the data field in LFIFM file -CHARACTER (LEN=16) :: YRECFM ! Name of the desired field in LFIFM file CHARACTER (LEN=5) :: YCONF ! Local variables which have LOGICAL :: GFLAT ! the same definition as the LOGICAL :: GUSERV,GUSERC,GUSERR,GUSERI ! variables in module MODD_CONF, @@ -259,13 +253,12 @@ CHARACTER (LEN=4) :: YSCONV CHARACTER (LEN=4) :: YCLOUD CHARACTER (LEN=4) :: YELEC CHARACTER (LEN=3) :: YEQNSYS -TYPE(TFILEDATA) :: TZFILE TYPE(FD_ll), POINTER :: TZFD ! !------------------------------------------------------------------------------- ! -!* 1. OPEN OUPUT-LISTING FILE AND EXSEG FILE -! -------------------------------------- +!* 1. OPEN OUPTUT-LISTING FILE AND EXSEG FILE +! --------------------------------------- ! WRITE(YMI,'(I2.0)') KMI HLUOUT='OUTPUT_LISTING'//ADJUSTL(YMI) @@ -287,7 +280,6 @@ IF (CPROGRAM=='MESONH') THEN ! ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL '.OR. CPROGRAM=='SPEC ') THEN YINIFILE = CINIFILE_n - HINIFILE = CINIFILE_n HINIFILEPGD = CINIFILEPGD_n YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des' CALL FMOPEN_ll(CINIFILE_n,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP) @@ -297,7 +289,6 @@ ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL '.OR. CPROGRAM=='SPEC ') THEN ! ELSE IF (CPROGRAM=='DIAG ') THEN YINIFILE = CINIFILE_n - HINIFILE = CINIFILE_n YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des' CALL FMOPEN_ll(CINIFILE_n,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP) CALL FMLOOK_ll(YEXSEG,CLUOUT0,ILUSEG,IRESP) @@ -350,8 +341,8 @@ IF (CPROGRAM=='MESONH') THEN CALL SET_CONFIO_ll() END IF HINIFILEPGD=CINIFILEPGD_n - HINIFILE=CINIFILE_n - CALL FMOPEN_ll(HINIFILE,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP) + YINIFILE=CINIFILE_n + CALL FMOPEN_ll(YINIFILE,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP) END IF ! !------------------------------------------------------------------------------- @@ -359,7 +350,7 @@ END IF !* 4. READ DESFM FILE ! --------------- ! -YDESFM=TRIM(ADJUSTL(HINIFILE))//'.des' +YDESFM=TRIM(ADJUSTL(YINIFILE))//'.des' ! CALL READ_DESFM_n(KMI,YDESFM,HLUOUT,YCONF,GFLAT,GUSERV,GUSERC, & GUSERR,GUSERI,GUSECI,GUSERS,GUSERG,GUSERH,GUSECHEM,GUSECHAQ,& @@ -394,30 +385,30 @@ END IF !* 6. READ in the LFI file SOME VARIABLES of MODD_CONF ! ------------------------------------------------ ! -TZFILE%CNAME = HINIFILE -!TZFILE%CTYPE = '' +TPINIFILE%CNAME = YINIFILE +!TPINIFILE%CTYPE = '' CALL PRINT_MSG(NVERB_WARNING,'IO','INI_SEG_n','filetype not (yet) set') -TZFD=>GETFD(TRIM(ADJUSTL(TZFILE%CNAME))//'.lfi') -IF (.NOT.ASSOCIATED(TZFD)) CALL PRINT_MSG(NVERB_FATAL,'IO','INI_SEG_n','file '//TRIM(TZFILE%CNAME)//' not found') +TZFD=>GETFD(TRIM(ADJUSTL(TPINIFILE%CNAME))//'.lfi') +IF (.NOT.ASSOCIATED(TZFD)) CALL PRINT_MSG(NVERB_FATAL,'IO','INI_SEG_n','file '//TRIM(TPINIFILE%CNAME)//' not found') IF (LIOCDF4 .AND. .NOT.LLFIREAD) THEN - TZFILE%CFORMAT = 'NETCDF4' - IF (ISP == TZFD%OWNER) TZFILE%NNCID = TZFD%CDF%NCID + TPINIFILE%CFORMAT = 'NETCDF4' + IF (ISP == TZFD%OWNER) TPINIFILE%NNCID = TZFD%CDF%NCID ELSE - TZFILE%CFORMAT = 'LFI' - TZFILE%NLFINPRAR = 0 - IF (ISP == TZFD%OWNER) TZFILE%NLFIFLU = TZFD%FLU + TPINIFILE%CFORMAT = 'LFI' + TPINIFILE%NLFINPRAR = 0 + IF (ISP == TZFD%OWNER) TPINIFILE%NLFIFLU = TZFD%FLU ENDIF -TZFILE%CMODE = 'READ' -TZFILE%NLFITYPE = 2 -TZFILE%NLFIVERB = NVERB -CALL IO_READ_FIELD(TZFILE,'MASDEV',IMASDEV) +TPINIFILE%CMODE = 'READ' +TPINIFILE%NLFITYPE = 2 +TPINIFILE%NLFIVERB = NVERB +CALL IO_READ_FIELD(TPINIFILE,'MASDEV',IMASDEV) ! IF (CPROGRAM=='MESONH' .OR. CPROGRAM=='SPAWN ') THEN IF (IMASDEV > 49) THEN - CALL IO_READ_FIELD(TZFILE,'COUPLING',LCOUPLING) + CALL IO_READ_FIELD(TPINIFILE,'COUPLING',LCOUPLING) IF (LCOUPLING) THEN WRITE(ILUOUT,*) 'Error with the initial file' - WRITE(ILUOUT,*) 'The file',HINIFILE,' was created with LCOUPLING=.TRUE.' + WRITE(ILUOUT,*) 'The file',YINIFILE,' was created with LCOUPLING=.TRUE.' WRITE(ILUOUT,*) 'You can not use it as initial file, only as coupling file' WRITE(ILUOUT,*) 'Run PREP_REAL_CASE with LCOUPLING=.FALSE.' !callabortstop @@ -429,9 +420,9 @@ IF (CPROGRAM=='MESONH' .OR. CPROGRAM=='SPAWN ') THEN END IF ! ! Read the storage type - CALL IO_READ_FIELD(TZFILE,'STORAGE_TYPE',CSTORAGE_TYPE) + CALL IO_READ_FIELD(TPINIFILE,'STORAGE_TYPE',CSTORAGE_TYPE) IF (IRESP /= 0) THEN - WRITE(ILUOUT,FMT=9002) YRECFM,IRESP + WRITE(ILUOUT,FMT=9002) 'STORAGE_TYPE',IRESP !callabortstop CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP) CALL ABORT @@ -439,18 +430,18 @@ END IF END IF IF (KMI == 1) THEN ! Read the geometry kind - CALL IO_READ_FIELD(TZFILE,'CARTESIAN',LCARTESIAN) + CALL IO_READ_FIELD(TPINIFILE,'CARTESIAN',LCARTESIAN) ! Read the thinshell approximation - CALL IO_READ_FIELD(TZFILE,'THINSHELL',LTHINSHELL) + CALL IO_READ_FIELD(TPINIFILE,'THINSHELL',LTHINSHELL) ! IF (IMASDEV>=46) THEN - CALL IO_READ_FIELD(TZFILE,'L1D',L1D) + CALL IO_READ_FIELD(TPINIFILE,'L1D',L1D) IF (IRESP/=0) L1D=.FALSE. ! - CALL IO_READ_FIELD(TZFILE,'L2D',L2D) + CALL IO_READ_FIELD(TPINIFILE,'L2D',L2D) IF (IRESP/=0) L2D=.FALSE. ! - CALL IO_READ_FIELD(TZFILE,'PACK',LPACK) + CALL IO_READ_FIELD(TPINIFILE,'PACK',LPACK) IF (IRESP/=0) LPACK=.TRUE. ELSE L1D=.FALSE. @@ -458,7 +449,7 @@ IF (KMI == 1) THEN LPACK=.TRUE. END IF IF (IMASDEV>=410) THEN - CALL IO_READ_FIELD(TZFILE,'LBOUSS',LBOUSS) + CALL IO_READ_FIELD(TPINIFILE,'LBOUSS',LBOUSS) END IF ! END IF @@ -488,7 +479,6 @@ CALL READ_EXSEG_n(KMI,YEXSEG,HLUOUT,YCONF,GFLAT,GUSERV,GUSERC, & IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='DIAG ' .OR. CPROGRAM=='SPEC ' & .OR. CPROGRAM=='REAL ') THEN CINIFILE_n = YINIFILE - HINIFILE = YINIFILE CCPLFILE(:) = ' ' NMODEL=1 LSTEADYLS=.TRUE. diff --git a/src/MNH/ini_sizen.f90 b/src/MNH/ini_sizen.f90 index 3a94236b6..92d2bed1e 100644 --- a/src/MNH/ini_sizen.f90 +++ b/src/MNH/ini_sizen.f90 @@ -13,14 +13,14 @@ ! INTERFACE ! - SUBROUTINE INI_SIZE_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD) +SUBROUTINE INI_SIZE_n(KMI,HLUOUT,TPINIFILE,HINIFILEPGD) ! - INTEGER, INTENT(IN) :: KMI ! Model Index - CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name for output-listing - ! of nested models - CHARACTER (LEN=*), INTENT(IN) :: HINIFILE ! name of - ! the initial file - CHARACTER (LEN=*), INTENT(IN) :: HINIFILEPGD +USE MODD_IO_ll, ONLY : TFILEDATA +! +INTEGER, INTENT(IN) :: KMI !Model Index +CHARACTER (LEN=*), INTENT(IN) :: HLUOUT !Name for output-listing of nested models +TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file +CHARACTER (LEN=*), INTENT(IN) :: HINIFILEPGD ! END SUBROUTINE INI_SIZE_n ! @@ -28,9 +28,9 @@ END INTERFACE ! END MODULE MODI_INI_SIZE_n !----------------------------------------------------------------- -! ########################################## - SUBROUTINE INI_SIZE_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD) -! ########################################## +! ####################################################### + SUBROUTINE INI_SIZE_n(KMI,HLUOUT,TPINIFILE,HINIFILEPGD) +! ####################################################### ! !! !!**** *INI_SIZE_n* - routine to initialize the sizes ratio positions of nested model _n @@ -118,7 +118,7 @@ USE MODD_NESTING, ONLY: CMY_NAME, CDAD_NAME, NDAD, NDXRATIO_ALL, NDYRATIO_ALL, & USE MODD_DIM_n, ONLY: NIMAX_ll, NJMAX_ll, NKMAX USE MODD_LBC_n, ONLY: CLBCX, CLBCY USE MODD_LUNIT_n, ONLY: CLUOUT, CINIFILE,CINIFILEPGD -USE MODD_IO_ll, ONLY : GSMONOPROC +USE MODD_IO_ll, ONLY : GSMONOPROC, TFILEDATA ! USE MODE_ll USE MODE_IO_ll @@ -135,22 +135,15 @@ IMPLICIT NONE ! !* 0.1 declarations of arguments ! -INTEGER, INTENT(IN) :: KMI ! Model Index -CHARACTER (LEN=*), INTENT(IN) :: HLUOUT ! name for output-listing - ! of nested models -CHARACTER (LEN=*), INTENT(IN) :: HINIFILE ! name of - ! the initial file -CHARACTER (LEN=*), INTENT(IN) :: HINIFILEPGD +INTEGER, INTENT(IN) :: KMI !Model Index +CHARACTER (LEN=*), INTENT(IN) :: HLUOUT !Name for output-listing of nested models +TYPE(TFILEDATA), INTENT(IN) :: TPINIFILE !Initial file +CHARACTER (LEN=*), INTENT(IN) :: HINIFILEPGD ! !* 0.2 declarations of local variables ! INTEGER :: IRESP ! Return code of FM routines INTEGER :: ILUOUT ! Logical unit number of output-listing -CHARACTER(LEN=2) :: YDIR ! Type of the data field in LFIFM file -INTEGER :: IGRID ! C-grid indicator in LFIFM file -INTEGER :: ILENCH ! Length of comment string in LFIFM file -CHARACTER (LEN=100) :: YCOMMENT! comment string in LFIFM file -CHARACTER (LEN=16) :: YRECFM ! Name of the desired field in LFIFM file INTEGER :: IJPHEXT ! !------------------------------------------------------------------------------- @@ -160,7 +153,7 @@ INTEGER :: IJPHEXT ! CALL FMLOOK_ll(HLUOUT,HLUOUT,ILUOUT,IRESP) CLUOUT = HLUOUT -CINIFILE=HINIFILE +CINIFILE=TPINIFILE%CNAME CINIFILEPGD=HINIFILEPGD ! !------------------------------------------------------------------------------- @@ -170,22 +163,18 @@ CINIFILEPGD=HINIFILEPGD ! !* 2.0 Retrieve DAD_NAME and MY_NAME to check the DAD model identity ! -YRECFM = 'MY_NAME' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,CMY_NAME(KMI),IGRID,ILENCH,YCOMMENT,IRESP) +CALL IO_READ_FIELD(TPINIFILE,'MY_NAME',CMY_NAME(KMI),IRESP) IF (IRESP /= 0) THEN - WRITE(ILUOUT,FMT=9000) YRECFM,IRESP + WRITE(ILUOUT,FMT=9000) 'MY_NAME',IRESP !callabortstop CALL CLOSE_ll(CLUOUT,IOSTAT=IRESP) CALL ABORT STOP END IF ! -YRECFM = 'DAD_NAME' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,CDAD_NAME(KMI),IGRID,ILENCH,YCOMMENT,IRESP) +CALL IO_READ_FIELD(TPINIFILE,'DAD_NAME',CDAD_NAME(KMI),IRESP) IF (IRESP /= 0) THEN - WRITE(ILUOUT,FMT=9000) YRECFM,IRESP + WRITE(ILUOUT,FMT=9000) 'DAD_NAME',IRESP !callabortstop CALL CLOSE_ll(CLUOUT,IOSTAT=IRESP) CALL ABORT @@ -215,26 +204,15 @@ END IF !* 3.1 Read dimensions in initial file and initialize subdomain ! dimensions and parallel variables ! -YRECFM='IMAX' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,NIMAX_ll,IGRID,ILENCH,YCOMMENT,IRESP) -! -YRECFM='JMAX' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,NJMAX_ll,IGRID,ILENCH,YCOMMENT,IRESP) -! -YRECFM='KMAX' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,NKMAX,IGRID,ILENCH,YCOMMENT,IRESP) -! -YRECFM='JPHEXT' -YDIR='--' -CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,IJPHEXT,IGRID,ILENCH,YCOMMENT,IRESP) +CALL IO_READ_FIELD(TPINIFILE,'IMAX', NIMAX_ll) +CALL IO_READ_FIELD(TPINIFILE,'JMAX', NJMAX_ll) +CALL IO_READ_FIELD(TPINIFILE,'KMAX', NKMAX) +CALL IO_READ_FIELD(TPINIFILE,'JPHEXT',IJPHEXT) ! IF ( IJPHEXT .NE. JPHEXT ) THEN WRITE(ILUOUT,FMT=*) ' INI_SIZE_N : JPHEXT in namelist NAM_CONF ( or default or .des value )& & JPHEXT=',JPHEXT - WRITE(ILUOUT,FMT=*)' different from LFI file=',HINIFILE ,' value JPHEXT=',IJPHEXT + WRITE(ILUOUT,FMT=*)' different from LFI file=',TPINIFILE%CNAME ,' value JPHEXT=',IJPHEXT WRITE(ILUOUT,FMT=*) '-> JOB ABORTED' CALL CLOSE_ll(CLUOUT,IOSTAT=IRESP) CALL ABORT @@ -261,11 +239,10 @@ ENDIF ! read the nested model location in its father's grid ! and compute the coordinates of the corner points IF (LEN_TRIM(CDAD_NAME(KMI))>0) THEN - YDIR='--' - CALL FMREAD(HINIFILE,'DXRATIO',HLUOUT,YDIR,NDXRATIO_ALL(KMI),IGRID,ILENCH,YCOMMENT,IRESP) - CALL FMREAD(HINIFILE,'DYRATIO',HLUOUT,YDIR,NDYRATIO_ALL(KMI),IGRID,ILENCH,YCOMMENT,IRESP) - CALL FMREAD(HINIFILE,'XOR',HLUOUT,YDIR,NXOR_ALL(KMI),IGRID,ILENCH,YCOMMENT,IRESP) - CALL FMREAD(HINIFILE,'YOR',HLUOUT,YDIR,NYOR_ALL(KMI),IGRID,ILENCH,YCOMMENT,IRESP) + CALL IO_READ_FIELD(TPINIFILE,'DXRATIO',NDXRATIO_ALL(KMI)) + CALL IO_READ_FIELD(TPINIFILE,'DYRATIO',NDYRATIO_ALL(KMI)) + CALL IO_READ_FIELD(TPINIFILE,'XOR',NXOR_ALL(KMI)) + CALL IO_READ_FIELD(TPINIFILE,'YOR',NYOR_ALL(KMI)) NXEND_ALL(KMI)=NXOR_ALL(KMI)-1 + NIMAX_ll/NDXRATIO_ALL(KMI) +2*JPHEXT NYEND_ALL(KMI)=NYOR_ALL(KMI)-1 + NJMAX_ll/NDYRATIO_ALL(KMI) +2*JPHEXT ELSE diff --git a/src/MNH/init_mnh.f90 b/src/MNH/init_mnh.f90 index de7c186f5..1e623dffe 100644 --- a/src/MNH/init_mnh.f90 +++ b/src/MNH/init_mnh.f90 @@ -80,11 +80,12 @@ ! !* 0. DECLARATIONS ! ------------ -USE MODD_PARAMETERS USE MODD_CONF -USE MODD_LUNIT -USE MODD_LBC_n, ONLY: CLBCX,CLBCY ! only for spawning purpose USE MODD_DYN_n, ONLY: CPRESOPT,NITR ! only for spawning purpose +USE MODD_IO_ll, ONLY: TFILEDATA +USE MODD_LBC_n, ONLY: CLBCX,CLBCY ! only for spawning purpose +USE MODD_LUNIT +USE MODD_PARAMETERS ! USE MODE_IO_ll USE MODE_ll @@ -112,11 +113,10 @@ IMPLICIT NONE !* 0.1 Local variables ! INTEGER :: JMI ! Loop index -CHARACTER (LEN=16), DIMENSION(JPMODELMAX) :: YLUOUT ! Name for output-listing +CHARACTER(LEN=16), DIMENSION(JPMODELMAX) :: YLUOUT ! Name for output-listing ! of nested models -CHARACTER (LEN=28), DIMENSION(JPMODELMAX) :: YINIFILE ! names of - ! the initial files -CHARACTER (LEN=28), DIMENSION(JPMODELMAX) :: YINIFILEPGD +TYPE(TFILEDATA), DIMENSION(JPMODELMAX) :: TZINIFILE ! Initial files +CHARACTER (LEN=28),DIMENSION(JPMODELMAX) :: YINIFILEPGD INTEGER :: ILUOUT0,IRESP ! Logical unit number for ! output-listing common ! to all models and return @@ -174,11 +174,11 @@ IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='DIAG ' .OR. CPROGRAM=='SPEC ' .OR. CPRO END IF ! CALL GOTO_MODEL(1) -CALL INI_SEG_n(1,YLUOUT(1),YINIFILE(1),YINIFILEPGD(1),ZTSTEP_ALL) +CALL INI_SEG_n(1,YLUOUT(1),TZINIFILE(1),YINIFILEPGD(1),ZTSTEP_ALL) ! DO JMI=2,NMODEL CALL GOTO_MODEL(JMI) - CALL INI_SEG_n(JMI,YLUOUT(JMI),YINIFILE(JMI),YINIFILEPGD(JMI),ZTSTEP_ALL) + CALL INI_SEG_n(JMI,YLUOUT(JMI),TZINIFILE(JMI),YINIFILEPGD(JMI),ZTSTEP_ALL) END DO ! IF (CPROGRAM=='SPAWN ') THEN @@ -196,14 +196,14 @@ IF (CPROGRAM=='DIAG') CALL RESET_EXSEG(YLUOUT(1)) ! DO JMI=1,NMODEL CALL GOTO_MODEL(JMI) - CALL INI_SIZE_n(JMI,YLUOUT(JMI),YINIFILE(JMI),YINIFILEPGD(JMI)) + CALL INI_SIZE_n(JMI,YLUOUT(JMI),TZINIFILE(JMI),YINIFILEPGD(JMI)) END DO ! IF (CPROGRAM=='SPAWN ') THEN DPTR_CLBCX=>CLBCX DPTR_CLBCY=>CLBCY CALL INI_PARAZ_ll(IINFO_ll) - CALL INI_SIZE_SPAWN(DPTR_CLBCX,DPTR_CLBCY,CPRESOPT,NITR,YINIFILE(1)) + CALL INI_SIZE_SPAWN(DPTR_CLBCX,DPTR_CLBCY,CPRESOPT,NITR,TZINIFILE(1)%CNAME) END IF ! ! INITIALIZE data structures of ComLib @@ -237,11 +237,11 @@ DO JMI=1,NMODEL CALL GO_TOMODEL_ll(JMI,IINFO_ll) CALL GOTO_MODEL(JMI) IF (CPROGRAM/='SPEC ') THEN - CALL INI_MODEL_n(JMI,YLUOUT(JMI),YINIFILE(JMI),YINIFILEPGD(JMI)) + CALL INI_MODEL_n(JMI,YLUOUT(JMI),TZINIFILE(JMI)%CNAME,YINIFILEPGD(JMI)) !Call necessary to update the TFIELDLIST pointers to the data CALL FIELDLIST_GOTO_MODEL(JMI,JMI) ELSE - CALL INI_SPECTRE_n(JMI,YLUOUT(JMI),YINIFILE(JMI)) + CALL INI_SPECTRE_n(JMI,YLUOUT(JMI),TZINIFILE(JMI)%CNAME) END IF END DO ! -- GitLab