!-------------------------------------------------------------------------------
! MODULE GFDLCO2 — kernel GFDL/NCEP de geracao das funcoes de transmissao de CO2
! (CO2O3 e dependencias), extraido VERBATIM de WRF v4.8 phys/module_ra_gfdleta.F
! linhas 7982-9755 (rotinas ANTEMP,COEINT,CO2INS,CO2INT,CO2IN1,CO2PTZ,QUADSR,
! SIGP,SINTR2,CO2O3). Unicas mudancas: (1) o guard fatal de RATIO/=1.0 no
! CO2INT foi removido — o COEINT original (Schwarzkopf-Fels) recebe RAT e faz o
! escalonamento de concentracao (RATIO em unidades de 330 ppmv); (2) IWORDSIZE/
! RWORDSIZE (macros cpp do WRF) viraram parameters; (3) shims wrf_* externos.
! Regenerar: sed -n '7982,9755p' module_ra_gfdleta.F + patch do item (1).
!-------------------------------------------------------------------------------
      MODULE GFDLCO2
      INTEGER, PARAMETER :: IWORDSIZE=4, RWORDSIZE=4
      INTEGER, SAVE, DIMENSION(3) :: LTOP
      REAL, SAVE, ALLOCATABLE, DIMENSION(:,:) :: CO251,CDT51,CDT58,C2D51, &
                                                 C2D58,CO258
      REAL, SAVE, ALLOCATABLE, DIMENSION(:)   :: STEMP,GTEMP,CO231,CO238, &
                                                 C2D31,C2D38,CDT31,CDT38, &
                                                 CO271,CO278,C2D71,C2D78, &
                                                 CDT71,CDT78
      REAL, SAVE, ALLOCATABLE, DIMENSION(:)   :: CO2M51,CO2M58,CDTM51,CDTM58, &
                                                 C2DM51,C2DM58
      REAL, SAVE, DIMENSION(109)     :: PA, XA, CA, ETA, SEXPV
      REAL, SAVE, DIMENSION(109,109) :: TRANSA
      REAL, SAVE :: CORE,UEXP,SEXP
      CONTAINS
