-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug in the lidar simulator (COSP1.4 and COSP2) #262
Comments
The scientists who should evaluate this are Brian Medeiros and Jen Kay. Cheryl, do you know their github logins? |
@zyuying got in touch with us before posting the issue. I'll take a closer look at the suggested change this afternoon. |
I have taken a close look. As far as I can tell, this should be fine. The physical basis of the change makes sense, bringing snow into the backscatter and optical depth that COSP uses in the lidar simulator. I'm not sure why the snow was not already included. If @zyuying has any input on that, I'd be interested to hear it. |
@brianpm, As for COSP1.4, the snow was accounted for as liquid in the phase component of backscatter and optical depth. It has to do with the "npart" indices. The snow index is 5. For COSP2, the snow is not accounted for at all in the separated liquid/ice backscatter and optical depth. |
Hi @zyuying , I just made a Pull Request with your changes, which can be found here: If you can verify that the COSP outputs should change, and that my modifications to Also, I should note that CAM currently only uses COSP2. For COSP1.4, you'll need to make an issue and/or pull request to this repo: https://github.com/CFMIP/COSPv1 Thanks! |
@nusbaume - It appears that this change has not been applied to the cam_development branch yet. Should it be there? |
@cacraigucar yes, it should! Not sure how it slipped through the cracks. Regardless, it's a small code change, but does change answers for COSP simulations. Do you want to include it in your misc PR or should I open a new PR for it? |
I'm not sure about whether I'm going to include everything together or not. I'm still going through the issues to see what all needs to be done and then will determine what makes sense to put together. This is not the only one which has fallen through the cracks. |
Sounds good! I'll plan to wait until your misc PR is opened, and if this particular issues isn't present then I will just go ahead and open a separate PR for it then. |
Greg Cesana from GISS/Columbia Univ. recently reported a bug in the lidar simulator in COSP1.4 and COSP2. For COSP1.4, “snow” has been mistakenly added to liquid in COSP1.4. For COPS2, “snow” is not accounted for at all. This will have potentially large impact on cloud phase diagnostics from the lidar simulator. So we need to fix it.
For COSP2, to fix the bug, we only need to change the line 463-468 in cosp_optics.F90
from
betatot_ice(1:npoints,icol,1:nlev) = betatot_ice(1:npoints,icol,1:nlev)+ &
kp_part(1:npoints,1:nlev,INDX_LSICE)*alpha_part(1:npoints,1:nlev,INDX_LSICE)+ &
kp_part(1:npoints,1:nlev,INDX_CVICE)*alpha_part(1:npoints,1:nlev,INDX_CVICE)
tautot_ice(1:npoints,icol,1:nlev) = tautot_ice(1:npoints,icol,1:nlev) + &
tau_part(1:npoints,1:nlev,INDX_LSICE) + &
tau_part(1:npoints,1:nlev,INDX_CVICE)
to
betatot_ice(1:npoints,icol,1:nlev) = betatot_ice(1:npoints,icol,1:nlev)+ &
kp_part(1:npoints,1:nlev,INDX_LSICE)*alpha_part(1:npoints,1:nlev,INDX_LSICE)+ &
kp_part(1:npoints,1:nlev,INDX_CVICE)*alpha_part(1:npoints,1:nlev,INDX_CVICE)+ &
kp_part(1:npoints,1:nlev,INDX_LSSNOW)*alpha_part(1:npoints,1:nlev,INDX_LSSNOW)
tautot_ice(1:npoints,icol,1:nlev) = tautot_ice(1:npoints,icol,1:nlev) + &
tau_part(1:npoints,1:nlev,INDX_LSICE) + &
tau_part(1:npoints,1:nlev,INDX_CVICE) + &
tau_part(1:npoints,1:nlev,INDX_LSSNOW)
For COSP1.4, we need to change the line 484-491 in lidar_simulator.F90
from
DO i = 2, npart,2
betatot_ice(:,:) = betatot_ice(:,:)+ kp_part(:,:,i)*alpha_part(:,:,i)
tautot_ice(:,:) = tautot_ice(:,:) + tau_part(:,:,i)
ENDDO ! i
DO i = 1, npart,2
betatot_liq(:,:) = betatot_liq(:,:)+ kp_part(:,:,i)*alpha_part(:,:,i)
tautot_liq(:,:) = tautot_liq(:,:) + tau_part(:,:,i)
ENDDO ! i
to
DO i = 2, npart,2
betatot_ice(:,:) = betatot_ice(:,:)+ kp_part(:,:,i)*alpha_part(:,:,i)
tautot_ice(:,:) = tautot_ice(:,:) + tau_part(:,:,i)
ENDDO ! i
betatot_ice(:,:) = betatot_ice(:,:)+ kp_part(:,:,5)*alpha_part(:,:,5)
tautot_ice(:,:) = tautot_ice(:,:) + tau_part(:,:,5)
DO i = 1, npart-1,2
betatot_liq(:,:) = betatot_liq(:,:)+ kp_part(:,:,i)*alpha_part(:,:,i)
tautot_liq(:,:) = tautot_liq(:,:) + tau_part(:,:,i)
ENDDO ! i
Yuying Zhang (LLNL)
The text was updated successfully, but these errors were encountered: