MODULE WRITEOUT USE PARAMS USE DATAFILES USE SYNSPEC USE RETVPARAM USE MOLCPARAM USE ISOTOPE IMPLICIT NONE LOGICAL :: F_WRTK = .FALSE. LOGICAL :: F_WRTSA = .FALSE. LOGICAL :: F_WRTGASFILES = .FALSE. INTEGER :: GASOUTTYPE = 0 CONTAINS !---------------------------------------------------------------------- SUBROUTINE MIXOUT(KZMAXLAY, KVERT) ! --- CREATES FILE OF REVISED MIXING RATIOS - REVISED FEB 19, 1992 IMPLICIT NONE INTEGER :: KZMAXLAY, KVERT INTEGER :: I, K, J REAL(DOUBLE), DIMENSION(LAYMAX) :: GASMIX CHARACTER :: GNAME*7 CALL FILEOPEN( 17, 1 ) CALL FILEOPEN( 22, 1 ) DO I = 1, MOLTOTAL GNAME = NAME(I) ! --- SEE IF THIS GAS ID HAS BEEN USED FOR A ISOTOPE - IF SO CHANGE THE NAME DO K = 1, NISOSEP IF( I .EQ. NEWID(K) ) GNAME = NEWNAME(K) ENDDO ! --- SEE IF THIS GAS IS A RETRIEVAL GAS DO J = 1, NRET IF (GNAME == NAME(IGAS(J))) GOTO 11 END DO ! --- NOT A RETRIEVAL GAS GASMIX(:KZMAXLAY) = XGAS(J,:KZMAXLAY) GO TO 13 ! --- RETRIEVAL GAS, UPDATE MIXING RATIOS 11 CONTINUE GASMIX(:KZMAXLAY) = X(J,:KZMAXLAY) ! --- OUTPUT OF MIXING RATIOS & PARTIAL COLUMNS 13 CONTINUE WRITE (17, 501) GNAME WRITE (17, 883) (GASMIX(K),K=1,KMAX) WRITE (22, 501) GNAME WRITE (22, 883) (GASMIX(K)*CCC(KVERT,K),K=1,KMAX) END DO CALL FILECLOSE( 17, 1 ) CALL FILECLOSE( 22, 1 ) RETURN ! 111 FORMAT(/,' OUTPUT FILE OPEN ERROR IN MIXOUT-UNIT 17'/,' Filename: "',A,'"') ! 222 FORMAT(/,' INPUT FILE OPEN ERROR IN MIXOUT-UNIT 12'/,' Filename: "',A,'"') 501 FORMAT(A7) ! 503 FORMAT(8E10.4) ! --- Use next format statement to write fixed format like ! from fastcode ! 883 FORMAT(8(E10.4)) ! 883 FORMAT(8(E10.4,1x)) 883 FORMAT(6(ES12.4)) RETURN END SUBROUTINE MIXOUT END MODULE WRITEOUT