Skip to content

Commit

Permalink
Merge branch 'steveghan/atm/iediagnostics' (PR #1400)
Browse files Browse the repository at this point in the history
Add aerosol and cloud history for diagnosing aerosol effects on cloud...

radiative forcing

Add aerosol and cloud history for diagnosing relationships that drive
aerosol effects on cloud radiative forcing. The additional fields are
calculated if namelist option do_aerocom_ind3 =.true. and written
every 3 hours if atm_in contains:
mfilt          = 1,8
nhtfrq         = 0,-3
fincl2 = 'AODVIS:A', 'angstrm:A','cod:A', 'cdr:A', 'cdnc:A', 'cdnum:A',
'icnum:A',  'clt:A', 'lcc:A', 'lwp:A', 'iwp:A', 'icc:A', 'icnc:A',
'icr:A', 'LHFLX:A', 'SHFLX:A', 'OMEGA500:A', 'rh700:A', 'colrv:A',
'ccn:A', 'ccn.1bl:A', 'ccn.3bl:A', 'ptop:A', 'ttop:A', 'rwp:A','lwp2:A',
'iwp2:A', 'autoconv:A','accretn:A', 'FSUTOA_d1:A', 'FSUTOAC_d1:A',
'FSUTOA:A', 'FSUTOAC:A', 'FLUT:A', 'FLUTC:A','TH7001000', 'PRECL:A'
rad_diag_1             = 'A:Q:H2O', 'N:O2:O2', 'N:CO2:CO2', 'A:O3:O3',
'N:N2O:N2O', 'N:CH4:CH4', 'N:CFC11:CFC11', 'N:CFC12:CFC12'

[BFB]
[NML]

* steveghan/atm/iediagnostics:
  Modified "use abortutils" to "use cam_abortutils"
  mods to set do_aerocom_ind3 with namelist - Steve Ghan 4-11-2017
  aerosol indirect effects diagnostics mods - Steve Ghan 4-11-2017
  aerosol indirect effects diagnostics - Steve Ghan 4-11-2017

Conflicts:
	components/cam/src/physics/cam/phys_control.F90
  • Loading branch information
singhbalwinder committed Jun 2, 2017
1 parent 7bb9d20 commit e24264f
Show file tree
Hide file tree
Showing 1,585 changed files with 65,285 additions and 41,954 deletions.
48 changes: 36 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ cmake_minimum_required(VERSION 2.8)
include(ExternalProject)
set(CIME_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")

list(APPEND CMAKE_MODULE_PATH ${CIME_CMAKE_MODULE_DIRECTORY})
include(CIME_initial_setup)

project(cime_tests Fortran C)

# We rely on pio for cmake utilities like findnetcdf.cmake, so that we don't
# need to duplicate this cmake code
list(APPEND CMAKE_MODULE_PATH "${CIME_ROOT}/externals/pio2/cmake")
list(APPEND CMAKE_MODULE_PATH "${CIME_ROOT}/src/externals/pio2/cmake")

list(APPEND CMAKE_MODULE_PATH ${CIME_CMAKE_MODULE_DIRECTORY})
include(CIME_utils)
find_package(NetCDF COMPONENTS C Fortran)
include_directories(${NetCDF_C_INCLUDE_DIRS} ${NetCDF_Fortran_INCLUDE_DIRS})
Expand All @@ -19,16 +21,23 @@ include_directories(${NetCDF_C_INCLUDE_DIRS} ${NetCDF_Fortran_INCLUDE_DIRS})
# ------------------------------------------------------------------------
# Build mct
# ------------------------------------------------------------------------
set(MCT_ROOT "${CIME_ROOT}/externals/mct")
set(MCT_ROOT "${CIME_ROOT}/src/externals/mct")

if (USE_MPI_SERIAL)
set(ENABLE_MPI_SERIAL "--enable-mpiserial")
else()
set(ENABLE_MPI_SERIAL "")
endif()

ExternalProject_add(mct_project
PREFIX ${CMAKE_CURRENT_BINARY_DIR}
SOURCE_DIR ${MCT_ROOT}
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/mct
CONFIGURE_COMMAND ${MCT_ROOT}/configure --enable-debugging --prefix=${CMAKE_CURRENT_BINARY_DIR} CFLAGS=${CFLAGS} FCFLAGS=${FFLAGS} SRCDIR=${MCT_ROOT} DEBUG="-g"
BUILD_COMMAND $(MAKE)
CONFIGURE_COMMAND ${MCT_ROOT}/configure ${ENABLE_MPI_SERIAL} --enable-debugging --prefix=${CMAKE_CURRENT_BINARY_DIR} CC=${CMAKE_C_COMPILER} FC=${CMAKE_Fortran_COMPILER} CFLAGS=${CFLAGS} FCFLAGS=${FFLAGS} SRCDIR=${MCT_ROOT} DEBUG="-g"
BUILD_COMMAND $(MAKE) SRCDIR=${MCT_ROOT}
# Leave things in <BINARY_DIR> rather than "installing", because we have
# no need to move things around inside of the CMake binary directory.
# no need to move things around inside of the CMake binary directory. Also,
# mpi-serial doesn't install properly in the out-of-source build
INSTALL_COMMAND :
)
# This copy_makefiles step is needed because mct currently doesn't support an
Expand All @@ -43,12 +52,27 @@ ExternalProject_add_step(mct_project copy_makefiles
COMMAND mkdir -p mpeu
COMMAND cp -p <SOURCE_DIR>/mpeu/Makefile mpeu/
)
if (USE_MPI_SERIAL)
ExternalProject_add_step(mct_project copy_mpi_serial_files
DEPENDEES configure
DEPENDERS build
WORKING_DIRECTORY <BINARY_DIR>
COMMAND mkdir -p mpi-serial
COMMAND cp -p <SOURCE_DIR>/mpi-serial/Makefile mpi-serial/
COMMAND cp <SOURCE_DIR>/mpi-serial/mpif.h mpi-serial/
COMMAND cp <SOURCE_DIR>/mpi-serial/mpi.h mpi-serial/
)
endif()

# Tell cmake to look for libraries & mod files here, because this is where we built libraries
include_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mct)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mpeu)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mct)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mpeu)
if (USE_MPI_SERIAL)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mpi-serial)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mpi-serial)
endif()

# ------------------------------------------------------------------------
# Done MCT build
Expand All @@ -58,14 +82,14 @@ link_directories(${CMAKE_CURRENT_BINARY_DIR}/mct/mpeu)

# csm_share (we don't build it here because it seems to be built differently
# by different tests?)
set(SHARE_ROOT "${CIME_ROOT}/share/csm_share")
add_subdirectory(${SHARE_ROOT}/shr csm_share)
set(SHARE_ROOT "${CIME_ROOT}/src/share")
add_subdirectory(${SHARE_ROOT}/util csm_share)
include_directories(${SHARE_ROOT}/include)

# esmf_wrf_timemgr not built here because it depends on csm_share.
add_subdirectory(${CIME_ROOT}/share/esmf_wrf_timemgr esmf_wrf_timemgr)
include_directories(${CIME_ROOT}/share/esmf_wrf_timemgr)
add_subdirectory(${SHARE_ROOT}/esmf_wrf_timemgr esmf_wrf_timemgr)
include_directories(${SHARE_ROOT}/esmf_wrf_timemgr)

# Now the actual test directories.
add_subdirectory(driver_cpl/unit_test)
add_subdirectory(share/csm_share/test/unit)
add_subdirectory(${CIME_ROOT}/src/drivers/mct/unit_test)
add_subdirectory(${SHARE_ROOT}/test/unit)
Loading

0 comments on commit e24264f

Please sign in to comment.