Closed brhillman closed 4 years ago
Hi @brhillman , nice observation of this variable and the use in the call to cosp. After reviewing the cosp codes (cospsimulator_intr.F90 and cosp.F90), it appears to be fine to me.
real(r8), intent(in),optional :: snow_emis_in(pcols,pver) ! RRTM grid-box mean LW snow optical depth
dem_s_snow(1:ncol,1:pver) = snow_emis_in(1:ncol,1:pver) ! 10.5 micron grid-box mean optical depth of stratiform snow
In cosp.F90, line 442, eventually, it is converted to actual emissivity in the format just like you showed.
. gbx%dem_s_snow(j,k) = 1. - exp ( -1. * gbx%dem_s_snow(j,k))
I think the LW optical depth is passed in in the call for the purpose of being normalized by prec_ls later in cosp.F90.
I am also calling @zyuying 's attention to double check.
Hi @brhillman , @wlin7 is right. I agree that the variable name is misleading here.
The RRTMG interface incorrectly passes the longwave optical depth (absorption) for snow to COSP instead of the longwave emissivity. Lines 1548 to 1560 in
components/cam/src/physics/rrtmg/radiation.F90
compute the gridbox-mean snow optics from the shortwave and longwave optical depths:And then these are passed unmodified to COSP in lines 1572-1575:
An intermediate calculation is required that converts snow optical depth to emissivity, such as is done for longwave cloud emissivity on line 1548:
This should only affect COSP outputs (and probably just ISCCP simulator output, i.e. FISCCP1_COSP, CLDTOT_ISCCP, etc., although that hasn't been confirmed).