@@ -291,6 +291,9 @@ subroutine lidar_optics(npoints, ncolumns, nlev, npart, ice_type, lidar_freq, lg
291291 polpartLSICE0 = (/- 1.0176e-8_wp , 1.7615e-6_wp , - 1.0480e-4_wp , 0.0019_wp , 0.0460_wp / ), &
292292 polpartCVICE1 = (/ 1.3615e-8_wp , - 2.04206e-6_wp , 7.51799e-5_wp , 0.00078213_wp , 0.0182131_wp / ), &
293293 polpartLSICE1 = (/ 1.3615e-8_wp , - 2.04206e-6_wp , 7.51799e-5_wp , 0.00078213_wp , 0.0182131_wp / )
294+ ! ICE-RF parameterization
295+ REAL (WP),PARAMETER ,dimension (6 ) :: &
296+ a_plates = (/ 2.068242e-7_wp , - 1.028329e+6_wp , 3.402644e+4_wp , 2.548990e+4_wp , - 2.334362e+3_wp , 88.1488 / )
294297 ! ##############################################################################
295298
296299 ! Which LIDAR frequency are we using?
@@ -343,8 +346,6 @@ subroutine lidar_optics(npoints, ncolumns, nlev, npart, ice_type, lidar_freq, lg
343346 polpart(INDX_LSICE,1 :5 ) = polpartLSICE1
344347 polpart(INDX_CVICE,1 :5 ) = polpartCVICE1
345348 endif
346- if (ice_type .eq. 2 ) then
347- endif
348349
349350 ! Effective radius particles:
350351 rad_part(1 :npoints,1 :nlev,INDX_LSLIQ) = ls_radliq(1 :npoints,1 :nlev)
@@ -394,24 +395,59 @@ subroutine lidar_optics(npoints, ncolumns, nlev, npart, ice_type, lidar_freq, lg
394395 ! ##############################################################################
395396 ! *) Particles alpha, beta and optical thickness
396397 ! ##############################################################################
397- ! Polynomials kp_lidar derived from Mie theory
398- do i = 1 , npart
399- do j = 1 , nlev
400- do k = 1 , npoints
401- if (rad_part(k,j,i) .gt. 0._wp ) then
402- x = rad_part(k,j,i)* 1.0e6_wp
403- kp_part(k,j,i) = &
404- polpart(i,1 )* x** 4 &
405- + polpart(i,2 )* x** 3 &
406- + polpart(i,3 )* x** 2 &
407- + polpart(i,4 )* x &
408- + polpart(i,5 )
409- else
410- kp_part(k,j,i) = 0._wp
411- endif
398+ if (ice_type .eq. 2 ) then
399+ ! Polynomials kp_lidar derived from Mie theory
400+ do i = 1 , 3 , 2
401+ do j = 1 , nlev
402+ do k = 1 , npoints
403+ if (rad_part(k,j,i) .gt. 0._wp ) then
404+ x = rad_part(k,j,i)* 1.0e6_wp
405+ kp_part(k,j,i) = &
406+ polpart(i,1 )* x** 4 &
407+ + polpart(i,2 )* x** 3 &
408+ + polpart(i,3 )* x** 2 &
409+ + polpart(i,4 )* x &
410+ + polpart(i,5 )
411+ else
412+ kp_part(k,j,i) = 0._wp
413+ endif
414+ enddo
415+ enddo
416+ enddo
417+ ! Ice hydrometeors with Baran's parameterization
418+ do i = 2 , 4 , 2
419+ do j = 1 , nlev
420+ do k = 1 , npoints
421+ if (rad_part(k,j,i) .gt. 0._wp ) then
422+ x = rad_part(k,j,i)* 1.0e6_wp
423+ kp_part(k,j,i) = (a_plates(1 ) + a_plates(2 )* x + a_plates(3 )* x** 2 ) / &
424+ (1._wp + a_plates(4 )* x + a_plates(5 )* x** 2 + a_plates(6 )* x** 3 )
425+ else
426+ kp_part(k,j,i) = 0._wp
427+ endif
428+ enddo
429+ enddo
430+ enddo
431+ else
432+ ! Polynomials kp_lidar derived from Mie theory
433+ do i = 1 , npart
434+ do j = 1 , nlev
435+ do k = 1 , npoints
436+ if (rad_part(k,j,i) .gt. 0._wp ) then
437+ x = rad_part(k,j,i)* 1.0e6_wp
438+ kp_part(k,j,i) = &
439+ polpart(i,1 )* x** 4 &
440+ + polpart(i,2 )* x** 3 &
441+ + polpart(i,3 )* x** 2 &
442+ + polpart(i,4 )* x &
443+ + polpart(i,5 )
444+ else
445+ kp_part(k,j,i) = 0._wp
446+ endif
447+ enddo
412448 enddo
413449 enddo
414- enddo
450+ endif
415451
416452 ! Initialize (if necessary)
417453 if (lparasol) then
0 commit comments