SUBROUTINE RALSCT(SI,KM,NBDD,TAUR) CFPP$ NOCONCUR R C******************************************************************** C SETUP COMMON BLOCK 'SWAER' FOR RAYLEIGH SCATTERING C OPTICAL PROPERTIES IN EIGHT UV+VIS BANDS AND FOUR NIR BANDS. C BAND: 1. 0.175-0.225 (UV-C) 2. 0.225-0.245;0.260-0.280 (UV-C) C 3. 0.245-0.260 (UV-C) 4. 0.280-0.295 (UV-B) C 5. 0.295-0.310 (UV-B) 6. 0.310-0.320 (UV-B) C 7. 0.320-0.400 (UV-A) 8. 0.400-0.700 (PAR) C 9. 2.27 - 4.0 (NIR) 10. 1.22 - 2.27 (NIR) C 11. 0.70 - 1.22 (NIR) 12. 0.70 - 4.0 (NIR) C C TAUR - RAYLEIGH SCATTERING OPTICAL DEPTH - KM*NBD C******************************************************************** C USE MACHINE , ONLY : kind_rad use module_radsw_parameters ! USE RNDDTA , ONLY : nbly implicit none ! integer km, nbdd ! real (kind=kind_rad) TAURAY(NBD) ! real (kind=kind_rad) SI(KM+1), TAUR(KM,NBDD) integer k, n C C --- TAURAY(NBD) C DATA TAURAY 1 / 7.006, 2.117, 2.453, 1.398 2, 1.133, .9532, .6104, .1096 3, .289E-3, .375E-2, .354E-1, .128E-1 / C 1 / 6.262, 1.848, 2.370, 1.357 C 2, 1.133, .9532, .6104, .1096 C 3, .723E-4, .868E-3, .103E-1, .838E-2 / C C===> ... COMPUTE LAYER DISTRIBUTIONS OF RAYLEIGH SCATTERING C DO N=1,NBD DO K=1,KM TAUR(K,N) = TAURAY(N) * (SI(KM+1-K)-SI(KM+2-K)) ENDDO ENDDO ! RETURN END SUBROUTINE GAEROS(SI,SL,KM,KMP1,NAEE,NBDD,NDMM &, HAER,IDM) CFPP$ NOCONCUR R C******************************************************************** C SETUP COMMON BLOCK 'SWAER' FOR AEROSOLS AND RAYLEIGH SCATTERING C OPTICAL PROPERTIES IN EIGHT UV+VIS BANDS AND FOUR NIR BANDS. C BAND: 1. 0.175-0.225 (UV-C) 2. 0.225-0.245;0.260-0.280 (UV-C) C 3. 0.245-0.260 (UV-C) 4. 0.280-0.295 (UV-B) C 5. 0.295-0.310 (UV-B) 6. 0.310-0.320 (UV-B) C 7. 0.320-0.400 (UV-A) 8. 0.400-0.700 (PAR) C 9. 2.27 - 4.0 (NIR) 10. 1.22 - 2.27 (NIR) C 11. 0.70 - 1.22 (NIR) 12. 0.70 - 4.0 (NIR) C REF: WMO REPORT WCP-112 (1986) C OPAC (BULL. AM. METEO. SOC., 1998) C C 1999-10-13 Y.H. UPDATED TO OPAC DATA (1998) C C THERE ARE SEVEN TYPICAL VERTICAL STRUCTURES: C 1.ANTARCTIC, 2.ARCTIC, 3.CONTINENT, 4.MARITIME, 5.DESERT, C 6.MARITIME WITH MINERAL OVERLAY, 7.CONTINENT WITH MINERAL OVERLAY C C SIGREF - REF. SIGMA LEVEL - NDM*NAE C ARRAYS IN THE COMMON BLOCK: C HAER - SCALE HEIGHT OF AEROSOLS KM NDM*NAE C IDM - DOMAIN INDEX - L*NAE C******************************************************************** C USE MACHINE , ONLY : kind_rad use module_radsw_parameters ! USE RNDDTA , ONLY : nbly implicit none ! integer km, kmp1, ndmm, naee, nbdd ! real (kind=kind_rad) SIGREF(NDM,NAE),SIGLN(KMP1),haer1(ndm,nae) ! real (kind=kind_rad) SI(KMP1), SL(KM), HAER(NDMM,NAEE) integer IDM(KM,NAEE), IDOM, k, iaer, n C C --- SIGREF(NDM,NAE) C DATA SIGREF 1 / 0.261, 0.193, 0.193, .0058, 0.000, 2 0.785, 0.193, 0.193, .0058, 0.000, 3 0.785, 0.193, 0.193, .0058, 0.000, 4 0.785, 0.193, 0.193, .0058, 0.000, 5 0.463, 0.193, 0.193, .0058, 0.000, 6 0.785, 0.648, 0.193, .0058, 0.000, 7 0.785, 0.648, 0.193, .0058, 0.000 / C C --- SCALE HEIGHT OF AEROSOL OF EACH DOMAIN AND PROFILE C DATA HAER1 1 / 8.0, 0.0, 8.0, 0.0, 0.0, 2 0.0, 0.0, 8.0, 0.0, 0.0, 3 8.0, 0.0, 8.0, 0.0, 0.0, 4 1.0, 0.0, 8.0, 0.0, 0.0, 5 2.0, 0.0, 8.0, 0.0, 0.0, 6 1.0, 0.0, 8.0, 0.0, 0.0, 7 8.0, 0.0, 8.0, 0.0, 0.0 / ! if (NDM .NE. NDMM .OR. NAE .NE. NAEE) then print *,' parameters in gaeros not OK -- run aborted' call abort endif haer = haer1 C DO 60 IAER=1,NAE IDOM = 1 DO 50 K=KM,1,-1 IF (SI(KMP1-K+1) .LT. SIGREF(IDOM,IAER)) THEN IDOM = IDOM + 1 IF (IDOM.EQ.2 .AND. 1 SIGREF(2,IAER).EQ.SIGREF(3,IAER)) THEN IDOM = 3 END IF END IF IDM (K,IAER) = IDOM 50 CONTINUE 60 CONTINUE C RETURN END