! $Id: load_ciraq_model.f90 2022-11-02 09:51:28Z ychen $ !****m* fsi/load_ciraq_model * ! ! NAME ! load_ciraq_model - This module load the CIRAQ model dataset ! ! SYNOPSIS ! use load_ciraq_model ! ! DESCRIPTION ! This module load the CIRAQ model dataset ! ! AUTHOR ! Yong Chen, NOAA/NESDIS/STAR, yong.chen@noaa.gov ! ! COPYRIGHT ! Copyright (c) 2022-2023 Yong Chen ! For further details please refer to the file COPYRIGHT ! which you should have received as part of this distribution. ! !**** MODULE load_ciraq_model USE typesizes, ONLY: wp => EightByteReal IMPLICIT NONE LOGICAL, SAVE, PUBLIC :: Benmode_read = .false. REAL(wp), DIMENSION(12,19,31), SAVE, PUBLIC :: am, bm PUBLIC :: read_ciraq_model CONTAINS SUBROUTINE read_ciraq_model(mfile) CHARACTER(len=*), INTENT(inout) :: mfile ! Coefficients file LOGICAL, SAVE :: Benmode_read = .false. REAL(wp), DIMENSION(12,19,31), SAVE :: am, bm INTEGER :: i, j, k INTEGER :: fid LOGICAL :: found CHARACTER(len=*), PARAMETER :: & filepath(9) = (/ 'data/BENMOD ', & '../data/BENMOD ', & '../../data/BENMOD ', & '../../../data/BENMOD ', & '../../../../data/BENMOD ', & '*/data/BENMOD ', & '*/*/data/BENMOD ', & '*/*/*/data/BENMOD ', & '*/*/*/*/data/BENMOD ' /) IF (.not. Benmode_read) THEN INQUIRE(File=mfile, Exist=Found) IF (.NOT. Found) THEN DO i=1,9 INQUIRE(File=filepath(i), Exist=Found) IF (Found) THEN mfile = filepath(i) EXIT ENDIF ENDDO ENDIF open(fid,file=mfile,status='old') do i=1,12 ! Months(12) [Jan, ..., December] do j=1,19 ! Latitude(19) [-90S,-80S,...-10S,EQ,+10N...,+80N,+90N] do k=1,31 ! Height_T/P(37) / Height_q(16) [120] read(fid,*)am(i,j,k),bm(i,j,k) bm(i,j,k)=log(bm(i,j,k)) end do end do end do close(fid) Benmode_read = .true. ENDIF END SUBROUTINE read_ciraq_model END MODULE load_ciraq_model