Skip to content

Merra2 aerosol and climatological IN/CCN for microphysics (MG3)#381

Merged
climbfuji merged 18 commits into
NCAR:masterfrom
AnningCheng-NOAA:MG3_v1
Apr 10, 2020
Merged

Merra2 aerosol and climatological IN/CCN for microphysics (MG3)#381
climbfuji merged 18 commits into
NCAR:masterfrom
AnningCheng-NOAA:MG3_v1

Conversation

@AnningCheng-NOAA
Copy link
Copy Markdown
Contributor

@AnningCheng-NOAA AnningCheng-NOAA commented Jan 21, 2020

add the two options for IN/CCN activation and have total three options now: iccn=0 for temperature dependence, iccn=1 for climatological IN/CCN, and iccn=2 for MERRA2 aersol
add the option to enable RRTMg aerosol attenuation to be determined from prescribed MERRA2 climatology
add aerosol optical depth outputs for total, dust, black carbon, organic carbon, sulfate, and sea salt
add 4 regression tests completed in HERA and DELL: 1) SAS+GFDL with enabled RRTMg aerosol attenuation from prescribed MERRA2 climatology (fv3_gocart_clm in rt.conf_csaw), 2) CSAW+MG3 with with enabled RRTMg aerosol attenuation from prescribed MERRA2 climatology (fv3_gfsv16_csawmg in rt.conf_csaw), 3) CSAW+MG3 with enabled RRTMg aerosol attenuation from OPAC (fv3_gfsv16_csawmgt in rt.conf_csaw), and 4) CSAW+MG3 with climatological IN/CCN with enabled RRTMg aerosol attenuation from prescribed MERRA2 climatology (fv3_csawmg)
Associated PRs:
fv3atm #46
#381
ufs-weather-model #90

Copy link
Copy Markdown
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not familiar enough with the science to review the large amount of code changes in physics/radiation_aerosols.f. From a CCPP side of things, I deferred questions about doxygen changes in physics/radiation_aerosols.f to @mzhangw and @JulieSchramm. The changes to the other files are quite straightforward and good.

!> The initialization program is to set up necessary parameters and
!! working arrays.
!!
!>\param NLAY number of model vertical layers (not used)
!>\param me print message control flag
!>\section aer_init_gen_al aer_init General Algorithm
!>\section gen_al General Algorithm
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not a doxygen expert, and I would like to let @mzhangw and @JulieSchramm look at this change and the other doxygen changes for the scientific documentation in this file.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mzhangw looked at the doxygen changes and is happy with them.

@@ -1336,56 +1143,56 @@ subroutine set_aercoef
endif

!> - ending wave num for 61 aerosol spectral bands
read(NIAERCM,21) cline
read(NIAERCM,21) cline
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several places in this file where trailing whitespaces are added. In case you need to make changes for doxygen anyway, let's remove them as well. If you don't need to make changes based on the review by our doxygen experts, then don't worry and we will fix them another time.

@mzhangw
Copy link
Copy Markdown
Contributor

mzhangw commented Mar 30, 2020 via email

Copy link
Copy Markdown
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved - there are two follow-up changes that I am going to make when merging this into NCAR dtc/develop so that it comes back to master right away with the next commit (please do not make any of these changes, since it would require rerunning the tests):

  • remove trailing whitespaces in radiation_aerosols.f
  • in aerinterp.f: do not stop the model when the netCDF aerosol input files are not found, instead assign a meaningful error message to CCPP's errmsg and return with an errflg > 0 so that the host model (and not the physics) gets controls over how to stop the model properly.

@mzhangw @llpcarson @grantfirl @AnningCheng-NOAA @DusanJovic-NOAA @junwang-noaa

Comment thread physics/aerinterp.F90
fname=trim("aeroclim.m"//'01'//".nc")
inquire (file = fname, exist = file_exist)
if (.not. file_exist ) then
print *, 'fname not found, abort'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment for future cleanup (@climbfuji will do with the next commit): look into using the CCPP error handling mechanism to return with a properly set error message and error flag, do not abort the model'.

Please do not change this now, it would require rerunning all the tests.

!> The initialization program is to set up necessary parameters and
!! working arrays.
!!
!>\param NLAY number of model vertical layers (not used)
!>\param me print message control flag
!>\section aer_init_gen_al aer_init General Algorithm
!>\section gen_al General Algorithm
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mzhangw looked at the doxygen changes and is happy with them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants