diff -b original_code/gad_diagnostics_init.F new_code/gad_diagnostics_init.F 209c209,211 < WRITE(GAD_DIAG_SUFX,'(A,I2.2)') 'Tr',tracerId + 1-GAD_TR1 --- > C WRITE(GAD_DIAG_SUFX,'(A,I2.2)') 'Tr',tracerId + 1-GAD_TR1 > WRITE(GAD_DIAG_SUFX,'(A,A2)') 'Tr', > & GAD_iolabel(tracerId + 1-GAD_TR1) diff -b original_code/GAD.h new_code/GAD.h 97a98,106 > C GAD_iolabel :: Sequence of two character io labels used to identify > C :: different tracers for GAD io and diagnostics. Size > C :: limit needs to be consistent with label generation > C :: algorithm (usually make_default_dlabel_list). > INTEGER GAD_iolabel_nmax > PARAMETER ( GAD_iolabel_nmax = 3843 ) > CHARACTER*2 GAD_iolabel(GAD_iolabel_nmax) > COMMON /GAD_PARM_C/ > & GAD_iolabel diff -b original_code/gad_init.F new_code/gad_init.F 87a88,91 > C Set up the two character io labels for GAD > CALL GAD_MAKE_DLABEL_LIST( GAD_iolabel, > & GAD_iolabel_nmax ) > Only in new_code/: gad_make_dlabel_list.F Only in new_code/: make_default_dlabel_list.F diff -b original_code/ptracers_diagnostics_fill.F new_code/ptracers_diagnostics_fill.F 44c44,45 < DO N = 1,MIN(99,PTRACERS_numInUse) --- > C DO N = 1,MIN(99,PTRACERS_numInUse) > DO N = 1,PTRACERS_numInUse 47c48,49 < WRITE(diagname,'(A4,I2.2)') 'TRAC',N --- > C WRITE(diagname,'(A4,I2.2)') 'TRAC',N > WRITE(diagname,'(A4,A2)') 'TRAC',PTRACER_iolabel(N) 52c54,55 < WRITE(diagname,'(A5,I2.2)') 'UTRAC',N --- > C WRITE(diagname,'(A5,I2.2)') 'UTRAC',N > WRITE(diagname,'(A5,A2)') 'UTRAC',PTRACER_iolabel(N) 72c75,76 < WRITE(diagname,'(A5,I2.2)') 'VTRAC',N --- > C WRITE(diagname,'(A5,I2.2)') 'VTRAC',N > WRITE(diagname,'(A5,A2)') 'VTRAC',PTRACER_iolabel(N) 92c96,97 < WRITE(diagname,'(A5,I2.2)') 'WTRAC',N --- > C WRITE(diagname,'(A5,I2.2)') 'WTRAC',N > WRITE(diagname,'(A5,A2)') 'WTRAC',PTRACER_iolabel(N) diff -b original_code/ptracers_diagnostics_init.F new_code/ptracers_diagnostics_init.F 64c64,65 < DO iTrc=1,MIN(99,PTRACERS_num) --- > C DO iTrc=1,MIN(99,PTRACERS_num) > DO iTrc=1,PTRACERS_num 67c68,69 < WRITE(locName,'(A,I2,A)') 'Tracer ',iTrc --- > C WRITE(locName,'(A,I2,A)') 'Tracer ',iTrc > WRITE(locName,'(A,A2,A)') 'Tracer ',PTRACER_iolabel(iTrc) 89c91,92 < WRITE(diagName,'(A,I2.2,A)') 'TRAC',iTrc,' ' --- > C WRITE(diagName,'(A,I2.2,A)') 'TRAC',iTrc,' ' > WRITE(diagName,'(A,A2,A)') 'TRAC',PTRACER_iolabel(iTrc),' ' 96c99,100 < WRITE(diagName,'(A,I2.2,A)') 'UTRAC',iTrc,' ' --- > C WRITE(diagName,'(A,I2.2,A)') 'UTRAC',iTrc,' ' > WRITE(diagName,'(A,A2,A)') 'UTRAC',PTRACER_iolabel(iTrc),' ' 104c108,109 < WRITE(diagName,'(A,I2.2,A)') 'VTRAC',iTrc,' ' --- > C WRITE(diagName,'(A,I2.2,A)') 'VTRAC',iTrc,' ' > WRITE(diagName,'(A,A2,A)') 'VTRAC',PTRACER_iolabel(iTrc),' ' 112c117,118 < WRITE(diagName,'(A,I2.2,A)') 'WTRAC',iTrc,' ' --- > C WRITE(diagName,'(A,I2.2,A)') 'WTRAC',iTrc,' ' > WRITE(diagName,'(A,A2,A)') 'WTRAC',PTRACER_iolabel(iTrc),' ' 124a131 > diagSufx(3:4) = PTRACER_iolabel(iTrc) diff -b original_code/PTRACERS.h new_code/PTRACERS.h 46a47 > CHARACTER*2 PTRACERS_iolabel(PTRACERS_num) 77c78,79 < & PTRACERS_pickup_write_mnc, PTRACERS_pickup_read_mnc --- > & PTRACERS_pickup_write_mnc, PTRACERS_pickup_read_mnc, > & PTRACERS_iolabel diff -b original_code/ptracers_init_fixed.F new_code/ptracers_init_fixed.F 72a73,76 > C Set up the two character io labels for PTRACERS > CALL PTRACERS_MAKE_DLABEL_LIST( PTRACERS_iolabel, > & PTRACERS_numInUse ) > Only in new_code/: ptracers_make_dlabel_list.F diff -b original_code/ptracers_write_state.F new_code/ptracers_write_state.F 93c93,94 < WRITE(pref,'(A7,I2.2)') 'PTRACER',iTracer --- > C WRITE(pref,'(A7,I2.2)') 'PTRACER',iTracer > WRITE(pref,'(A7,A2)') 'PTRACER',PTRACER_iolabel(iTracer)