93d92 < REAL(f4), PRIVATE, ALLOCATABLE :: STOMS(:,:) 97,98d95 < REAL(f4), PRIVATE, POINTER :: TOMS1(:,:) < REAL(f4), PRIVATE, POINTER :: TOMS2(:,:) 227c224 < CALL ERROR_STOP ( 'Cannot get pointer to TOMS1_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) 229,243d225 < !----------------------------------------------------------------- < ! Read TOMS O3 columns first day [dobsons] < !----------------------------------------------------------------- < CALL HCO_GetPtr( am_I_Root, 'TOMS1_O3_COL', TOMS1, RC ) < IF ( RC /= GIGC_SUCCESS ) THEN < CALL ERROR_STOP ( 'Cannot get pointer to TOMS1_O3_COL', LOC ) < ENDIF < !----------------------------------------------------------------- < ! Read TOMS O3 columns last day [dobsons] < !----------------------------------------------------------------- < CALL HCO_GetPtr( am_I_Root, 'TOMS2_O3_COL', TOMS2, RC ) < IF ( RC /= GIGC_SUCCESS ) THEN < CALL ERROR_STOP ( 'Cannot get pointer to TOMS2_O3_COL', LOC ) < ENDIF < 250c232 < CALL ERROR_STOP ( 'Cannot get pointer to DTOMS1_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) 258c240 < CALL ERROR_STOP ( 'Cannot get pointer to DTOMS2_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) 413c395,397 < ! Calc difference --- > IF ( DAY <= 15 ) THEN > > ! Interpolate O3 to current day (w/in 1st half of month) 419c403,407 < STOMS(I,J) = (TOMS2(I,J)-TOMS1(I,J))/30.0_fp --- > IF ( TOMS(I,J) > -999e+0_f4 .AND. > & DTOMS1(I,J) > -999e+0_f4 ) THEN > TO3_DAILY(I,J) = TOMS(I,J) > & + DTOMS1(I,J) * ( DAY - 15 ) > ENDIF 422a411,413 > > ELSE > 429c420,424 < TO3_DAILY(I,J) = TOMS1(I,J) + (DAY - 1) * STOMS(I,J) --- > IF ( TOMS(I,J) > -999e+0_f4 .AND. > & DTOMS2(I,J) > -999e+0_f4 ) THEN > TO3_DAILY(I,J) = TOMS(I,J) > & + DTOMS2(I,J) * ( DAY - 15 ) > ENDIF 433a429,430 > ENDIF > 524,526d520 < IF (.not. ALLOCATED( STOMS) ) < & ALLOCATE( STOMS( IIPAR, JJPAR ), STAT=RC ) < IF ( RC /= GIGC_SUCCESS ) CALL ALLOC_ERR( 'STOMS' ) 533,534d526 < TOMS1 => NULL() < TOMS2 => NULL() 565d556 < IF ( ALLOCATED( STOMS ) ) DEALLOCATE( STOMS ) 571,572d561 < TOMS1 => NULL() < TOMS2 => NULL()