92a93 > REAL(f4), PRIVATE, ALLOCATABLE :: STOMS(:,:) 95a97,98 > REAL(f4), PRIVATE, POINTER :: TOMS1(:,:) > REAL(f4), PRIVATE, POINTER :: TOMS2(:,:) 224c227 < CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to TOMS1_O3_COL', LOC ) 225a229,243 > !----------------------------------------------------------------- > ! 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 > 232c250 < CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to DTOMS1_O3_COL', LOC ) 240c258 < CALL ERROR_STOP ( 'Cannot get pointer to TOMS_O3_COL', LOC ) --- > CALL ERROR_STOP ( 'Cannot get pointer to DTOMS2_O3_COL', LOC ) 395,397c413 < IF ( DAY <= 15 ) THEN < < ! Interpolate O3 to current day (w/in 1st half of month) --- > ! Calc difference 403,407c419 < 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 --- > STOMS(I,J) = (TOMS2(I,J)-TOMS1(I,J))/30.0_fp 411,413d422 < < ELSE < 420,424c429 < 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 --- > TO3_DAILY(I,J) = TOMS1(I,J) + (DAY - 1) * STOMS(I,J) 429,430d433 < ENDIF < 520a524,526 > IF (.not. ALLOCATED( STOMS) ) > & ALLOCATE( STOMS( IIPAR, JJPAR ), STAT=RC ) > IF ( RC /= GIGC_SUCCESS ) CALL ALLOC_ERR( 'STOMS' ) 526a533,534 > TOMS1 => NULL() > TOMS2 => NULL() 556a565 > IF ( ALLOCATED( STOMS ) ) DEALLOCATE( STOMS ) 561a571,572 > TOMS1 => NULL() > TOMS2 => NULL()