forked from wrf-model/WRF
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CMAQ-WRF coupling: cherry pick (wrf-model#1609)
* TYPE: new feature KEYWORDS: CMAQ, WRF-CMAQ coupled model SOURCE: David Wong, US EPA (wong.david-c@epa.gov) DESCRIPTION OF CHANGES: These modifications are for facilitating constructing a WRF-CMAQ coupled model without compromising creating a regular WRF executable. The WRF-CMAQ only interacts with the RRTMG SW option. The aerosol information from CMAQ (a chemistry transport model) will affect the aerosol optical depth,aerosol single scattering albedo and aerosol asymmetry parameter calculations within RRTMG model. Problem: A WRF-CMAQ coupled model was developed in US EPA in around 2008. The work has been published in a journal article (Wong et al. 2012). Since then, the coupled model has been applied to various studies and region to validate the effectiveness of the model. Throughout the WRF released cycle, the coupled has been updated manually into a subset of WRF version. The update process was tedious and error prone. With this PR, the manual update process can be eliminated. Wong, D. C., Pleim, J., Mathur, R., Binkowski, F., Otte, T., Gilliam, R., Pouliot, G., Xiu, A., and Kang, D., "WRF-CMAQ two-way coupled system with aerosol feedback: software development and preliminary results", Geosci. Model Dev., 5, 299-312, 2012. LIST OF MODIFIED FILES: modified: Makefile new file: Registry/registry.CMAQ modified: Registry/registry.em_shared_collection modified: arch/Config.pl modified: clean modified: configure modified: dyn_em/module_first_rk_step_part1.F modified: dyn_em/solve_em.F modified: main/Makefile modified: main/depend.common modified: phys/Makefile new file: phys/complex_number_module.F modified: phys/module_ra_rrtmg_sw.F new file: phys/module_ra_rrtmg_aero_optical_util_cmaq.F modified: phys/module_radiation_driver.F modified: share/module_check_a_mundo.F modified: wrftladj/module_first_rk_step_part1_ad.F modified: wrftladj/module_first_rk_step_part1_tl.F modified: wrftladj/solve_em_ad.F modified: wrftladj/solve_em_tl.F TESTS CONDUCTED: 1. WRF model was built before and after adding the code from this PR, and the results from the WRF model are identical. 2. The coupling model code was compiled by activating environment variable WRF_CMAQ and IOAPI: setenv WRF_CMAQ 1 setenv IOAPI /home/wdx/lib/x86_64/ifc-18.0/ioapi-3.2-2020220 (Note: ioapi_3.2-2020220 is another third-party library) 3. Normally compiled WRF code and coupled code were tested with two days of simulation, 2016/7/1 - 2016/7/2, verified by a bit-by-bit comparison of every variable whenever is appropriate. 4. All Jenkins tests are passing. RELEASE NOTE: The capability to couple WRF and CMAQ (an air quality model developed at the US EPA) is added. If one works with CMAQ, one can choose to compile WRF-CMAQ as a coupled model. As a coupled model, a user can run the WRF-CMAQ in an one-way fashion, i.e. meteorological information will be transferred to CMAQ directly to drive its calculation, or in a two-way fashion, i.e. the aerosol information from CMAQ will be fed back to the RRTMG radiation physics in WRF. For users who want to construct WRF-CMAQ coupled model with WRF version 4.4+ and CMAQ version after 4.3.3, please refer to https://www.epa.gov/cmaq/wrf-cmaq-model for latest instruction on how to use this capability. Co-authored-by: dwongepa <wong.david-c@epa.gov>
- Loading branch information
1 parent
6f6ab0b
commit 4fa2893
Showing
20 changed files
with
3,941 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# WRF-CMAQ coupled model | ||
rconfig integer wrf_cmaq_option namelist,wrf_cmaq 1 0 | ||
rconfig integer wrf_cmaq_freq namelist,wrf_cmaq 1 1 | ||
rconfig integer met_file_tstep namelist,wrf_cmaq 1 10000 | ||
|
||
rconfig logical direct_sw_feedback namelist,wrf_cmaq 1 .false. | ||
rconfig logical feedback_restart namelist,wrf_cmaq 1 .false. | ||
|
||
#state real mass_ws_i ikj twoway_feedback_data 1 - r "mass_ws_i" "Water soluble i mode" "ug/m**3" | ||
#state real mass_ws_j ikj twoway_feedback_data 1 - r "mass_ws_j" "Water soluble j mode" "ug/m**3" | ||
#state real mass_ws_k ikj twoway_feedback_data 1 - r "mass_ws_k" "Water soluble k mode" "ug/m**3" | ||
#state real mass_in_i ikj twoway_feedback_data 1 - r "mass_in_i" "Water insoluble i mode" "ug/m**3" | ||
#state real mass_in_j ikj twoway_feedback_data 1 - r "mass_in_j" "Water insoluble j mode" "ug/m**3" | ||
#state real mass_in_k ikj twoway_feedback_data 1 - r "mass_in_k" "Water insoluble k mode" "ug/m**3" | ||
#state real mass_ec_i ikj twoway_feedback_data 1 - r "mass_ec_i" "Elemental carbon i mode" "ug/m**3" | ||
#state real mass_ec_j ikj twoway_feedback_data 1 - r "mass_ec_j" "Elemental carbon j mode" "ug/m**3" | ||
#state real mass_ec_k ikj twoway_feedback_data 1 - r "mass_ec_k" "Elemental carbon k mode" "ug/m**3" | ||
#state real mass_ss_i ikj twoway_feedback_data 1 - r "mass_ss_i" "Seasalt i mode" "ug/m**3" | ||
#state real mass_ss_j ikj twoway_feedback_data 1 - r "mass_ss_j" "Seasalt j mode" "ug/m**3" | ||
#state real mass_ss_k ikj twoway_feedback_data 1 - r "mass_ss_k" "Seasalt k mode" "ug/m**3" | ||
#state real mass_h2o_i ikj twoway_feedback_data 1 - r "mass_h2o_i" "water i mode" "ug/m**3" | ||
#state real mass_h2o_j ikj twoway_feedback_data 1 - r "mass_h2o_j" "water j mode" "ug/m**3" | ||
#state real mass_h2o_k ikj twoway_feedback_data 1 - r "mass_h2o_k" "water k mode" "ug/m**3" | ||
#state real dgn_i ikj twoway_feedback_data 1 - r "dgn_i" "diameter i mode" "m" | ||
#state real dgn_j ikj twoway_feedback_data 1 - r "dgn_j" "diameter j mode" "m" | ||
#state real dgn_k ikj twoway_feedback_data 1 - r "dgn_k" "diameter k mode" "m" | ||
#state real sig_i ikj twoway_feedback_data 1 - r "sig_i" "standard deviations i mode" "" | ||
#state real sig_j ikj twoway_feedback_data 1 - r "sig_j" "standard deviations j mode" "" | ||
#state real sig_k ikj twoway_feedback_data 1 - r "sig_k" "standard deviations k mode" "" | ||
|
||
#state real prev_rainnc ij twoway_feedback_data 1 - r "prev_rainnc" "previous accumlated rainnc" "mm" | ||
#state real prev_rainc ij twoway_feedback_data 1 - r "prev_rainc" "previous accumlated rainc" "mm" | ||
|
||
#state real ozone ikj twoway_feedback_data 1 - r "OZONE" "ozone value" "" | ||
|
||
#state real sw_gtauxar_01 ikj misc 1 - hr "SW_GTAUXAR_01" "SW Optical depth of lamda = 0.388 um" "" | ||
#state real sw_gtauxar_02 ikj misc 1 - hr "SW_GTAUXAR_02" "SW Optical depth of lamda = 0.533 um" "" | ||
#state real sw_gtauxar_03 ikj misc 1 - hr "SW_GTAUXAR_03" "SW Optical depth of lamda = 0.702 um" "" | ||
#state real sw_gtauxar_04 ikj misc 1 - hr "SW_GTAUXAR_04" "SW Optical depth of lamda = 1.010 um" "" | ||
#state real sw_gtauxar_05 ikj misc 1 - hr "SW_GTAUXAR_05" "SW Optical depth of lamda = 1.271 um" "" | ||
#state real sw_ttauxar_01 ij misc 1 - hr "SW_TTAUXAR_01" "Optical depth sum of SW_GTAUXAR_01" "" | ||
#state real sw_ttauxar_02 ij misc 1 - hr "SW_TTAUXAR_02" "Optical depth sum of SW_GTAUXAR_02" "" | ||
#state real sw_ttauxar_03 ij misc 1 - hr "SW_TTAUXAR_03" "Optical depth sum of SW_GTAUXAR_03" "" | ||
#state real sw_ttauxar_04 ij misc 1 - hr "SW_TTAUXAR_04" "Optical depth sum of SW_GTAUXAR_04" "" | ||
#state real sw_ttauxar_05 ij misc 1 - hr "SW_TTAUXAR_05" "Optical depth sum of SW_GTAUXAR_05" "" | ||
#state real sw_asy_fac_01 ikj misc 1 - hr "SW_ASY_FAC_01" "Corresponding Asymmetry Factor of SW_GTAUXAR_01" "" | ||
#state real sw_asy_fac_02 ikj misc 1 - hr "SW_ASY_FAC_02" "Corresponding Asymmetry Factor of SW_GTAUXAR_02" "" | ||
#state real sw_asy_fac_03 ikj misc 1 - hr "SW_ASY_FAC_03" "Corresponding Asymmetry Factor of SW_GTAUXAR_03" "" | ||
#state real sw_asy_fac_04 ikj misc 1 - hr "SW_ASY_FAC_04" "Corresponding Asymmetry Factor of SW_GTAUXAR_04" "" | ||
#state real sw_asy_fac_05 ikj misc 1 - hr "SW_ASY_FAC_05" "Corresponding Asymmetry Factor of SW_GTAUXAR_05" "" | ||
#state real sw_ssa_01 ikj misc 1 - hr "SW_SSA_01" "Corresponding Single scattering Albedo of SW_GTAUXAR_01" "" | ||
#state real sw_ssa_02 ikj misc 1 - hr "SW_SSA_02" "Corresponding Single scattering Albedo of SW_GTAUXAR_02" "" | ||
#state real sw_ssa_03 ikj misc 1 - hr "SW_SSA_03" "Corresponding Single scattering Albedo of SW_GTAUXAR_03" "" | ||
#state real sw_ssa_04 ikj misc 1 - hr "SW_SSA_04" "Corresponding Single scattering Albedo of SW_GTAUXAR_04" "" | ||
#state real sw_ssa_05 ikj misc 1 - hr "SW_SSA_05" "Corresponding Single scattering Albedo of SW_GTAUXAR_05" "" | ||
|
||
#state real sw_zbbcddir ij misc 1 - hr "SW_ZBBCDDIR" "Clear sky downward direct shortwave flux" "W m-2" | ||
#state real sw_dirdflux ij misc 1 - hr "SW_DIRDFLUX" "Direct downward shortwave surface flux" "W m-2" | ||
#state real sw_difdflux ij misc 1 - hr "SW_DIFDFLUX" "Diffuse downward shortwave surface flux" "W m-2" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.