From a31398b81aa458e5a2cbe511efa4cb90562e1766 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Wed, 29 May 2024 14:45:44 +0200 Subject: [PATCH] Philippe 29/05/2024: IO_Fieldlist_1field_write: manage model number internally (remove corresponding dummy argument) --- src/LIB/SURCOUCHE/src/mode_io_field_write.f90 | 103 +++++++++--------- 1 file changed, 51 insertions(+), 52 deletions(-) diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 index 71525031b..49974d8a9 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 @@ -4348,23 +4348,18 @@ USE MODD_IO, ONLY: ISP USE MODD_OUT_n, ONLY: LOUT_BIGBOX_WRITE, NOUT_FIELDLIST, NOUT_NBOXES, TOUT_BOXES USE MODD_PRECISION, ONLY: CDFINT -USE MODE_MODELN_HANDLER, ONLY: GET_CURRENT_MODEL_INDEX - IMPLICIT NONE TYPE(TFILEDATA), INTENT(IN) :: TPOUTPUT !Output file -INTEGER :: IMI INTEGER :: JBOX INTEGER :: JI INTEGER(KIND=CDFINT) :: IGROUPID_ROOT TYPE(TFILEDATA) :: TZOUTPUT -! -IMI = GET_CURRENT_MODEL_INDEX() -! + IF ( LOUT_BIGBOX_WRITE ) THEN DO JI = 1, SIZE( NOUT_FIELDLIST ) - CALL IO_Fieldlist_1field_write( TPOUTPUT, IMI, TFIELDLIST(NOUT_FIELDLIST(JI)), 0, TOUT_BOXES(0) ) + CALL IO_Fieldlist_1field_write( TPOUTPUT, TFIELDLIST(NOUT_FIELDLIST(JI)), 0, TOUT_BOXES(0) ) END DO END IF @@ -4390,12 +4385,12 @@ IF ( NOUT_NBOXES > 0 ) THEN ! Write fields common to all boxes DO JI = 1, SIZE( NOUT_FIELDLIST ) - CALL IO_Fieldlist_1field_write( TZOUTPUT, IMI, TFIELDLIST(NOUT_FIELDLIST(JI)), JBOX, TOUT_BOXES(JBOX) ) + CALL IO_Fieldlist_1field_write( TZOUTPUT, TFIELDLIST(NOUT_FIELDLIST(JI)), JBOX, TOUT_BOXES(JBOX) ) END DO ! Write box-specific fields DO JI = 1, SIZE( TOUT_BOXES(JBOX)%NFIELDLIST_SUPP ) - CALL IO_Fieldlist_1field_write( TZOUTPUT, IMI, TFIELDLIST(TOUT_BOXES(JBOX)%NFIELDLIST_SUPP(JI)), JBOX, TOUT_BOXES(JBOX) ) + CALL IO_Fieldlist_1field_write( TZOUTPUT, TFIELDLIST(TOUT_BOXES(JBOX)%NFIELDLIST_SUPP(JI)), JBOX, TOUT_BOXES(JBOX) ) END DO ! Restore the root group (not really necessary but cleaner) @@ -4406,21 +4401,25 @@ END IF END SUBROUTINE IO_Fieldlist_write -SUBROUTINE IO_Fieldlist_1field_write( TPOUTPUT, KMI, TPFIELD, KBOXID, TPBOX ) +SUBROUTINE IO_Fieldlist_1field_write( TPOUTPUT, TPFIELD, KBOXID, TPBOX ) USE MODD_FIELD, ONLY: TFIELDDATA, TFIELDMETADATA USE MODD_OUT_n, ONLY: CMAINDOMAINNAME, TOUTBOXMETADATA +USE MODE_MODELN_HANDLER, ONLY: GET_CURRENT_MODEL_INDEX + TYPE(TFILEDATA), INTENT(IN) :: TPOUTPUT !Output file -INTEGER, INTENT(IN) :: KMI TYPE(TFIELDDATA), INTENT(IN) :: TPFIELD INTEGER, INTENT(IN) :: KBOXID TYPE(TOUTBOXMETADATA), INTENT(INOUT) :: TPBOX INTEGER :: IIINF, IJINF, IKINF INTEGER :: IISUP, IJSUP, IKSUP +INTEGER :: IMI TYPE(TFIELDMETADATA) :: TZFIELDMD +IMI = GET_CURRENT_MODEL_INDEX() + TZFIELDMD = TFIELDMETADATA( TPFIELD ) !Copy only metadata (TZFIELDMD is of TYPE(TFIELDMETADATA)) NDIMS: SELECT CASE (TPFIELD%NDIMS) @@ -4437,12 +4436,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X0D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X0D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X0D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X0D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_X0D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_X0D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 0D real fields' ) @@ -4455,12 +4454,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N0D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N0D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N0D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N0D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_N0D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_N0D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 0D integer fields' ) @@ -4473,12 +4472,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_L0D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_L0D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_L0D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_L0D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_L0D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_L0D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 0D logical fields' ) @@ -4491,12 +4490,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_C0D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_C0D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_C0D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_C0D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_C0D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_C0D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 0D character fields' ) @@ -4509,12 +4508,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_T0D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_T0D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_T0D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_T0D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_T0D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_T0D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 0D date/time fields' ) @@ -4569,15 +4568,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X1D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X1D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X1D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X1D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TPFIELD%CDIR /= 'XX' .AND. TPFIELD%CDIR /= 'YY' .AND. TPFIELD%CDIR /= 'ZZ' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_X1D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_X1D(IMI)%DATA) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X1D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X1D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, KBOXID = KBOXID ) END IF ELSE @@ -4592,15 +4591,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N1D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N1D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N1D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N1D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TPFIELD%CDIR /= 'XX' .AND. TPFIELD%CDIR /= 'YY' .AND. TPFIELD%CDIR /= 'ZZ' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_N1D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_N1D(IMI)%DATA) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N1D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N1D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, KBOXID = KBOXID ) END IF ELSE @@ -4615,13 +4614,13 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_L1D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_L1D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_L1D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_L1D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TPFIELD%CDIR /= 'XX' .AND. TPFIELD%CDIR /= 'YY' .AND. TPFIELD%CDIR /= 'ZZ' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_L1D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_L1D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', 'CDIR=XX, YY or ZZ not allowed for 1D logical fields' ) END IF @@ -4637,12 +4636,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_C1D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_C1D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_C1D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_C1D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_C1D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_C1D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 1D character fields' ) @@ -4655,12 +4654,12 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_T1D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_T1D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_T1D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_T1D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN - CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_T1D(KMI)%DATA) + CALL IO_Field_write(TPOUTPUT,TPFIELD,TPFIELD%TFIELD_T1D(IMI)%DATA) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': CLBTYPE/=NONE not allowed for 1D date/time fields' ) @@ -4694,15 +4693,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X2D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X2D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X2D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X2D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X2D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X2D(IMI)%DATA ) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X2D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X2D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, & KYOBOX = IJINF, KYEBOX = IJSUP, & KBOXID = KBOXID ) @@ -4719,15 +4718,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N2D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N2D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N2D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N2D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_N2D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_N2D(IMI)%DATA ) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N2D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N2D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, & KYOBOX = IJINF, KYEBOX = IJSUP, & KBOXID = KBOXID ) @@ -4765,15 +4764,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X3D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X3D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X3D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X3D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X3D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X3D(IMI)%DATA ) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X3D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X3D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, & KYOBOX = IJINF, KYEBOX = IJSUP, & KZOBOX = IKINF, KZEBOX = IKSUP, & @@ -4792,15 +4791,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N3D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N3D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_N3D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_N3D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_N3D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_N3D(IMI)%DATA ) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N3D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_N3D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, & KYOBOX = IJINF, KYEBOX = IJSUP, & KZOBOX = IKINF, KZEBOX = IKSUP, & @@ -4840,15 +4839,15 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X4D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X4D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X4D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X4D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X4D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X4D(IMI)%DATA ) ELSE - CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X4D(KMI)%DATA, & + CALL IO_Field_write_BOX( TPOUTPUT, TZFIELDMD, 'OTHER', TPFIELD%TFIELD_X4D(IMI)%DATA, & KXOBOX = IIINF, KXEBOX = IISUP, & KYOBOX = IJINF, KYEBOX = IJSUP, & KZOBOX = IKINF, KZEBOX = IKSUP, & @@ -4879,13 +4878,13 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X5D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X5D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X5D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X5D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X5D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X5D(IMI)%DATA ) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', '5D REAL not (yet) fully implemented' ) END IF @@ -4914,13 +4913,13 @@ NDIMS: SELECT CASE (TPFIELD%NDIMS) call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X6D is NOT allocated ' ) END IF - IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X6D(KMI)%DATA) ) THEN + IF ( .NOT.ASSOCIATED(TPFIELD%TFIELD_X6D(IMI)%DATA) ) THEN call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', trim(tpfield%cmnhname)// & ': TFIELD_X6D%DATA is NOT associated' ) END IF IF ( TPFIELD%CLBTYPE == 'NONE' ) THEN IF ( TZFIELDMD%CDIR /= 'XY' ) THEN - CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X6D(KMI)%DATA ) + CALL IO_Field_write( TPOUTPUT, TPFIELD, TPFIELD%TFIELD_X6D(IMI)%DATA ) ELSE call Print_msg( NVERB_ERROR, 'IO', 'IO_Fieldlist_1field_write', '6D REAL not (yet) fully implemented' ) END IF -- GitLab