Skip to content

Commit

Permalink
Merge pull request NOAA-EMC#20 from lwcugb/feature/cmaq54_li
Browse files Browse the repository at this point in the history
Feature/cmaq54 li
  • Loading branch information
drnimbusrain authored Oct 21, 2023
2 parents 8067154 + 5e768a6 commit 5803ed7
Show file tree
Hide file tree
Showing 21 changed files with 1,846 additions and 1,408 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[submodule "src/model/CMAQ"]
path = src/model/CMAQ
url = https://github.com/USEPA/CMAQ
branch = 5.2.1
branch = 5.4+
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ target_compile_definitions(CCTM PUBLIC SUBST_FILES_ID="FILES_CTM.EXT"
SUBST_PE_COMM="PE_COMM.EXT"
SUBST_COMM=NOOP_COMM
SUBST_BARRIER=NOOP_BARRIER
SUBST_HI_LO_BND_PE=NOOP_HI_LO_BND_PE
SUBST_SUBGRID_INDEX=NOOP_SUBGRID_INDEX
AQCHEM=DUMMY_AQCHEM
CONVCLD_ACM=DUMMY_CONVCLD_ACM
Expand All @@ -105,6 +106,7 @@ target_compile_definitions(CCTM PUBLIC SUBST_FILES_ID="FILES_CTM.EXT"
WR_INIT=DUMMY_WR_INIT
verbose_aero
verbose_gas
verbose_cio
# mpas
_AQM_)

Expand Down
40 changes: 28 additions & 12 deletions aqm_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ list(APPEND aqm_aqmio_files
list(APPEND aqm_ioapi_files
src/io/ioapi/FDESC3.EXT
src/io/ioapi/PARMS3.EXT
src/io/ioapi/IODECL3.EXT
src/io/ioapi/crlf.F
src/io/ioapi/currec.f
src/io/ioapi/currstep.f
Expand All @@ -59,16 +60,19 @@ list(APPEND aqm_ioapi_files
src/io/ioapi/upcase.f
src/io/ioapi/wkday.F
src/io/ioapi/yr2day.F
src/io/ioapi/daymon.F
src/io/ioapi/m3exit.F90
src/io/ioapi/m3mesg.F90
src/io/ioapi/m3msg2.F90
src/io/ioapi/m3warn.F90
src/io/ioapi/m3err.F
src/io/ioapi/m3utilio.F90
)

set(CCTM_ROOT "src/model/CMAQ/CCTM/src")
set(AERO "${CCTM_ROOT}/aero/aero6")
set(BIOG "${CCTM_ROOT}/biog/beis4")
set(MEGAN "${CCTM_ROOT}/biog/megan3")
set(CLOUD "${CCTM_ROOT}/cloud/acm_ae6")
set(DEPV "${CCTM_ROOT}/depv/m3dry")
set(EMIS "${CCTM_ROOT}/emis/emis")
Expand All @@ -86,12 +90,14 @@ set(STENEX "${CCTM_ROOT}/STENEX/noop")
set(UTIL "${CCTM_ROOT}/util/util")
set(VDIFF "${CCTM_ROOT}/vdiff/acm2_m3dry")
set(DRIV "${CCTM_ROOT}/driver")
set(CIO "${CCTM_ROOT}/cio")
set(localCCTM "src/model/src")
list(APPEND aqm_CCTM_files
${AERO}/AERO_DATA.F
${AERO}/aero_driver.F
${AERO}/aero_nml_modes.F
${AERO}/AEROMET_DATA.F
${AERO}/AERO_EMIS.F
${AERO}/AEROSOL_CHEMISTRY.F
${AERO}/aero_subs.F
${AERO}/coags.f
Expand All @@ -111,6 +117,13 @@ list(APPEND aqm_CCTM_files
${BIOG}/parsline.f
${BIOG}/tmpbeis.F
${BIOG}/wrdaymsg.f
${MEGAN}/MEGAN_DEFN.F
${MEGAN}/megan_gspro.F
${MEGAN}/megan_hrno_mod.F
${MEGAN}/megan_fx_mod.f90
${MEGAN}/BDSNP_MOD.F
${MEGAN}/MAP_CV2CB6_AE7.EXT
${MEGAN}/SPC_CB6_AE7.EXT
${CLOUD}/hlconst.F
${CLOUD}/cldproc_acm.F
${CLOUD}/getalpha.F
Expand Down Expand Up @@ -144,12 +157,14 @@ list(APPEND aqm_CCTM_files
${EMIS}/UDTYPES.F
${EMIS}/biog_emis_param_module.F
${EMIS}/CMAQ_Control_DESID.nml
#${EMIS}/desid_module.F
${EMIS}/desid_param_module.F
${EMIS}/desid_util.F
${EMIS}/desid_vars.F
${EMIS}/desid_module.F
${EMIS}/lus_data_module.F
${EMIS}/stack_group_data_module.F
# ${EMIS}/PT3D_DEFN.F
${EMIS}/PTMET.F
${GAS}/../../reactive_tracers/DEGRADE_PARAMETERS.F
${GAS}/../../reactive_tracers/DEGRADE_ROUTINES.F
${GAS}/hrdata_mod.F
Expand Down Expand Up @@ -219,10 +234,11 @@ list(APPEND aqm_CCTM_files
${STENEX}/noop_util_module.f
${UTIL}/findex.f
${UTIL}/log_header.F
${UTIL}/get_env_mod.f90
#${UTIL}/get_env_mod.f90
${UTIL}/setup_logdev.F
${UTIL}/subhdomain.F
${UTIL}/UTILIO_DEFN.F
#${UTIL}/RUNTIME_VARS.F
${UTIL}/util_family_module.F
${UTIL}/CMAQ_Control_Misc.nml
${DRIV}/ELMO_PROC.F
Expand All @@ -237,22 +253,22 @@ list(APPEND aqm_CCTM_files
${VDIFF}/VDIFF_DATA.F
${VDIFF}/VDIFF_DIAG.F
${VDIFF}/VDIFF_MAP.F
#${VDIFF}/vdiffacmx.F
#${VDIFF}/vdiffproc.F
${VDIFF}/../../biog/megan3/BDSNP_MOD.F
${VDIFF}/vdiffproc.F
#${CIO}/centralized_io_module.F
${localCCTM}/o3totcol.f
${localCCTM}/AERO_EMIS.F
${localCCTM}/RUNTIME_VARS.F
#${localCCTM}/AERO_EMIS.F
#${localCCTM}/PTMAP.F
#${localCCTM}/PT3D_DATA_MOD.F
#${localCCTM}/PT3D_DEFN.F
#${localCCTM}/PT3D_FIRE_DEFN.F
#${localCCTM}/PT3D_STKS_DEFN.F
${localCCTM}/PT3D_DEFN.F
${localCCTM}/PT3D_FIRE_DEFN.F
${localCCTM}/PT3D_STKS_DEFN.F
${localCCTM}/vdiffacmx.F
${localCCTM}/ASX_DATA_MOD.F
${localCCTM}/DUST_EMIS.F
${localCCTM}/AERO_PHOTDATA.F
${localCCTM}/vdiffacmx.F
#${localCCTM}/phot.F
${localCCTM}/phot.F
${localCCTM}/RUNTIME_VARS.F
${localCCTM}/get_env_mod.f90
${localCCTM}/centralized_io_module.F
${localCCTM}/centralized_io_util_module.F
)
21 changes: 19 additions & 2 deletions src/aqm_comp_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ module aqm_comp_mod
use aqm_prod_mod
use aqm_internal_mod
use cmaq_model_mod
USE CENTRALIZED_IO_MODULE !(CMAQ)
USE ELMO_PROC !(CMAQ)
USE RUNTIME_VARS, ONLY: STDATE, STTIME !(CMAQ)


implicit none

Expand Down Expand Up @@ -147,6 +151,7 @@ subroutine aqm_comp_advance(model, rc)
type(ESMF_Time) :: currTime
type(ESMF_TimeInterval) :: timeStep
type(aqm_config_type), pointer :: config => null()
logical, save :: first_step = .true. !(add new)

! -- begin
rc = ESMF_SUCCESS
Expand Down Expand Up @@ -176,8 +181,11 @@ subroutine aqm_comp_advance(model, rc)
return ! bail out

! -- set model internal timestep vector (HHMMSS)
tstep( 1 ) = config % ctm_tstep ! TSTEP(1) = local output step
tstep( 2 ) = tstep( 1 ) ! TSTEP(2) = sciproc sync. step (chem)
!tstep( 1 ) = config % ctm_tstep ! TSTEP(1) = local output step
!tstep( 2 ) = tstep( 1 ) ! TSTEP(2) = sciproc sync. step (chem)
!test different tstep(1) and tstep(2)
tstep( 1 ) = 1 * 10000 ! TSTEP(1) = local output step
tstep( 2 ) = config % ctm_tstep ! TSTEP(2) = sciproc sync. step (chem)
tstep( 3 ) = tstep( 2 ) ! TSTEP(3) = twoway model time step

call ESMF_TimeGet(currTime, yy=yy, mm=mm, dd=dd, h=h, m=m, s=s, &
Expand All @@ -198,6 +206,15 @@ subroutine aqm_comp_advance(model, rc)
file=__FILE__)) &
return ! bail out

!Initiliaze IO Arrays and Open Files (CMAQ)
if (first_step) then
first_step = .false.
!update STDATE(default is 1995192) and STTIME here for restart
STDATE = jdate
STTIME = jtime
call centralized_io_init
endif

! -- advance CMAQ
call cmaq_model_advance(jdate, jtime, tstep, rc=localrc)
if (aqm_rc_check(localrc, file=__FILE__, line=__LINE__)) then
Expand Down
Loading

0 comments on commit 5803ed7

Please sign in to comment.