Builds configured with -chem none set in CAM_CONFIG_OPTS fail at compile-time after merging the E3SM master into our ECP master. This affects our current configuration of SP single-moment builds, which use prescribed aerosols (until is complete at least). There are two issues, the first being the same issue as reported in https://github.com/ACME-Climate/ACME/issues/1795. The fix is to surround the new blocks of code with #ifdef CPP directives, and will be fixed by https://github.com/ACME-Climate/ACME/pull/1819.
The other issue is that chem_init in components/cam/src/chemistry/pp_none/chemistry.F90 declares species_class as intent(in), but it is declared as intent(inout) in aero_model_init. This caused the build to fail for me using the Intel compiler. The fix is simply to change species_class to intent(inout) in chem_init.
Builds configured with
-chem none
set inCAM_CONFIG_OPTS
fail at compile-time after merging the E3SM master into our ECP master. This affects our current configuration of SP single-moment builds, which use prescribed aerosols (until is complete at least). There are two issues, the first being the same issue as reported in https://github.com/ACME-Climate/ACME/issues/1795. The fix is to surround the new blocks of code with#ifdef
CPP directives, and will be fixed by https://github.com/ACME-Climate/ACME/pull/1819.The other issue is that
chem_init
incomponents/cam/src/chemistry/pp_none/chemistry.F90
declaresspecies_class
asintent(in)
, but it is declared asintent(inout)
inaero_model_init
. This caused the build to fail for me using the Intel compiler. The fix is simply to changespecies_class
tointent(inout)
inchem_init
.