Files
2018-08-28 00:46:26 -04:00

73 lines
2.6 KiB
Fortran

! $Id: rdmonot.f,v 1.1 2009/06/09 21:51:53 daven Exp $
SUBROUTINE RDMONOT( GMONOT )
!
!******************************************************************************
! Subroutine RDMONOT reads baseline monoterpene emission values from
! Guenther et al. (1995), as a function of Olson landtype area.
! (bdf, bmy, 7/6/01, 7/20/04)
!
! Arguments as Output:
! ============================================================================
! (1 ) GMONOT: Monoterpene emissions for each landtype [atoms C/cm2 leaf/s]
!
! NOTES:
! (1 ) Now read updated file "monotemis.v4-13.table" (bdf, bmy, 6/6/01)
! (2 ) Now reference DATA_DIR from "CMN_SETUP. (bmy, 6/6/01)
! (3 ) Now use IOERROR to trap I/O errors (bmy, 6/6/01)
! (4 ) IUNIT=65 is now a parameter (bmy, 7/6/01)
! (5 ) Now read file "monotemis.v4-13.table" from the
! DATA_DIR/biogenic_200203 directory (bmy, 3/29/02)
! (6 ) Removed obsolete code from March 2002. Now reference IU_FILE and
! IOERROR from "file_mod.f". Now use IU_FILE as the file unit number
! instead of IUNIT. (bmy, 6/27/02)
! (7 ) Now references DATA_DIR from "directory_mod.f" (bmy, 7/20/04)
!******************************************************************************
!
! References to F90 modules
USE DIRECTORY_MOD, ONLY : DATA_DIR
USE FILE_MOD, ONLY : IU_FILE, IOERROR
IMPLICIT NONE
# include "CMN_SIZE" ! Size parameters
! Arguments
REAL*8, INTENT(OUT) :: GMONOT(NVEGTYPE)
! Local variables
INTEGER :: N, T, IOS
CHARACTER(LEN=255) :: FILENAME
!=================================================================
! RDMONOT begins here!
!=================================================================
! Monoterpene file name
FILENAME = TRIM( DATA_DIR ) //
& 'biogenic_200203/monotemis.v4-13.table'
! Echo output
WRITE( 6, 100 ) TRIM( FILENAME )
100 FORMAT( ' - RDMONOT: Reading ', a )
! Open file
OPEN( IU_FILE, FILE=TRIM( FILENAME ), STATUS='OLD',
& FORM='FORMATTED', IOSTAT=IOS )
IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'rdmonot:1' )
! Read header line
READ( IU_FILE, * )
IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'rdmonot:2' )
! Loop over vegetation types and read emissions [atoms C/cm2 leaf/s]
DO N = 1, NVEGTYPE
READ( IU_FILE, *, IOSTAT=IOS ) T, GMONOT(N)
IF ( IOS /= 0 ) CALL IOERROR( IOS, IU_FILE, 'rdmonot:3' )
ENDDO
! Close IU_FILE
CLOSE( IU_FILE )
! Return to calling program
END SUBROUTINE RDMONOT