diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 index 84bb172aa144ef0103d988dcaf43e6d329546b7e..45e3c0054be93125a0745fb8d275a527e6e8b90e 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 @@ -55,13 +55,14 @@ SUBROUTINE IO_Bakout_struct_prepare( KSUP, PSEGLEN ) !################################################### ! USE MODD_BAKOUT -USE MODD_CONF, ONLY: NMODEL -USE MODD_DYN, ONLY: XSEGLEN -USE MODD_DYN_n, ONLY: DYN_MODEL -USE MODD_FIELD, ONLY: TFIELDLIST -USE MODD_NESTING, ONLY: NDAD -USE MODD_OUT_n, ONLY: OUT_MODEL -USE MODD_VAR_ll, ONLY: IP +USE MODD_CONF, ONLY: NMODEL +USE MODD_DYN, ONLY: XSEGLEN +USE MODD_DYN_n, ONLY: DYN_MODEL +USE MODD_FIELD, ONLY: TFIELDLIST +USE MODD_NESTING, ONLY: NDAD +USE MODD_SUB_MODEL_N, ONLY: NFILE_BACKUP_CURRENT, NFILE_OUTPUT_CURRENT, SUB_MODEL_MODEL +USE MODD_OUT_n, ONLY: OUT_GOTO_MODEL, OUT_MODEL +USE MODD_VAR_ll, ONLY: IP use mode_field, only: Find_field_id_from_mnhname @@ -587,6 +588,11 @@ DEALLOCATE(XBAK_TIME) DEALLOCATE(XOUT_TIME) DEALLOCATE(COUT_VAR) ! +! Set/initialize the pointers (necessary to use them now without OUT_MODEL(1)%...) +CALL OUT_GOTO_MODEL( 1, 1 ) +NFILE_BACKUP_CURRENT => SUB_MODEL_MODEL(1)%NFILE_BACKUP_CURRENT +NFILE_OUTPUT_CURRENT => SUB_MODEL_MODEL(1)%NFILE_OUTPUT_CURRENT +! CONTAINS ! !######################################################################### @@ -738,7 +744,7 @@ FUNCTION IO_Is_backup_time( KMI, KTCOUNT, KNUMBAK ) RESULT( OBAK ) KNUMBAK = NNEGUNDEF ! No more backups to do - IF ( NFILE_BACKUP_CURRENT >= OUT_MODEL(KMI)%NBAK_NUMB ) RETURN + IF ( NFILE_BACKUP_CURRENT >= NBAK_NUMB ) RETURN ! Check if it is time for a regular backup IF ( NBAK_STEPFREQ > 0 .AND. KTCOUNT >= NBAK_STEPFREQFIRST ) THEN @@ -782,7 +788,7 @@ FUNCTION IO_Is_output_time( KMI, KTCOUNT, KNUMOUT ) RESULT( OOUT ) KNUMOUT = NNEGUNDEF ! No more outputs to do - IF ( NFILE_OUTPUT_CURRENT >= OUT_MODEL(KMI)%NOUT_NUMB ) RETURN + IF ( NFILE_OUTPUT_CURRENT >= NOUT_NUMB ) RETURN ! Check if it is time for a regular output IF ( NOUT_STEPFREQ > 0 .AND. KTCOUNT >= NOUT_STEPFREQFIRST ) THEN