Changeset 2537 for trunk/LMDZ.GENERIC
- Timestamp:
- Jun 16, 2021, 7:23:04 PM (4 years ago)
- Location:
- trunk/LMDZ.GENERIC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/README
r2520 r2537 1660 1660 - We also removed the old (obsolete) parameterizations (CKD and PPC) from the code 1661 1661 1662 1662 ==16/06/2021 == MT 1663 - Add the Surface SW spectrum in diagspecVI netcdf output file (useful as a diagnostic of surface radiation condition for e.g. habitability studies) -
trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
r2470 r2537 11 11 fluxsurf_sw,fluxsurfabs_sw,fluxtop_lw, & 12 12 fluxabs_sw,fluxtop_dn, & 13 OLR_nu,OSR_nu, 13 OLR_nu,OSR_nu,GSR_nu, & 14 14 int_dtaui,int_dtauv, & 15 15 tau_col,cloudfrac,totcloudfrac, & … … 91 91 REAL,INTENT(OUT) :: fluxabs_sw(ngrid) ! SW flux absorbed by the planet (W/m2). 92 92 REAL,INTENT(OUT) :: fluxtop_dn(ngrid) ! Incident top of atmosphere SW flux (W/m2). 93 REAL,INTENT(OUT) :: OLR_nu(ngrid,L_NSPECTI) ! Outgoing LW radition in each band (Normalized to the band width (W/m2/cm-1). 94 REAL,INTENT(OUT) :: OSR_nu(ngrid,L_NSPECTV) ! Outgoing SW radition in each band (Normalized to the band width (W/m2/cm-1). 93 REAL,INTENT(OUT) :: OLR_nu(ngrid,L_NSPECTI) ! Outgoing LW radiation in each band (Normalized to the band width (W/m2/cm-1). 94 REAL,INTENT(OUT) :: OSR_nu(ngrid,L_NSPECTV) ! Outgoing SW radiation in each band (Normalized to the band width (W/m2/cm-1). 95 REAL,INTENT(OUT) :: GSR_nu(ngrid,L_NSPECTV) ! Surface SW radiation in each band (Normalized to the band width (W/m2/cm-1). 95 96 REAL,INTENT(OUT) :: tau_col(ngrid) ! Diagnostic from aeropacity. 96 97 REAL,INTENT(OUT) :: albedo_equivalent(ngrid) ! Spectrally Integrated Albedo. For Diagnostic. By MT2015 … … 285 286 OLR_nu(:,:) = 0. 286 287 OSR_nu(:,:) = 0. 288 GSR_nu(:,:) = 0. 287 289 288 290 !-------------------------------------------------- … … 911 913 end do 912 914 do nw=1,L_NSPECTV 913 !GSR_nu(ig,nw)=nfluxgndv_nu(nw)915 GSR_nu(ig,nw)=nfluxgndv_nu(nw)/DWNV(nw) 914 916 OSR_nu(ig,nw)=nfluxoutv_nu(nw)/DWNV(nw) !JL Normalize to the bandwidth 915 917 end do -
trunk/LMDZ.GENERIC/libf/phystd/phys_state_var_mod.F90
r2485 r2537 66 66 real,dimension(:,:),allocatable,save :: OLR_nu ! Outgoing LW radiation in each band (Normalized to the band width (W/m2/cm-1)). 67 67 real,dimension(:,:),allocatable,save :: OSR_nu ! Outgoing SW radiation in each band (Normalized to the band width (W/m2/cm-1)). 68 real,dimension(:,:),allocatable,save :: GSR_nu ! Surface SW (or 'Ground' SW) radiation in each band (Normalized to the band width (W/m2/cm-1)). 68 69 real,dimension(:,:),allocatable,save :: zdtlw ! LW heating tendencies (K/s). 69 70 real,dimension(:,:),allocatable,save :: zdtsw ! SW heating tendencies (K/s). 70 71 !real,dimension(:),allocatable,save :: sensibFlux ! Turbulent flux given by the atmosphere to the surface (W.m-2). 71 !$OMP THREADPRIVATE(OLR_nu,OSR_nu, zdtlw,zdtsw)72 !$OMP THREADPRIVATE(OLR_nu,OSR_nu,GSR_nu,zdtlw,zdtsw) 72 73 73 74 real,dimension(:,:,:),allocatable,save :: int_dtauv ! VI optical thickness of layers within narrowbands for diags (). … … 179 180 ALLOCATE(OLR_nu(klon,L_NSPECTI)) 180 181 ALLOCATE(OSR_nu(klon,L_NSPECTV)) 182 ALLOCATE(GSR_nu(klon,L_NSPECTV)) 181 183 ALLOCATE(int_dtaui(klon,klev,L_NSPECTI)) 182 184 ALLOCATE(int_dtauv(klon,klev,L_NSPECTV)) … … 269 271 DEALLOCATE(OLR_nu) 270 272 DEALLOCATE(OSR_nu) 273 DEALLOCATE(GSR_nu) 271 274 DEALLOCATE(int_dtaui) 272 275 DEALLOCATE(int_dtauv) -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r2485 r2537 405 405 real fluxsurfabs_sw1(ngrid) ! For SW/LW flux. 406 406 real tau_col1(ngrid) ! For aerosol optical depth diagnostic. 407 real OLR_nu1(ngrid,L_NSPECTI), OSR_nu1(ngrid,L_NSPECTV) ! For Outgoing Radiation diagnostics. 407 real OLR_nu1(ngrid,L_NSPECTI) ! Clear sky TOA LW radiation in each IR band 408 real OSR_nu1(ngrid,L_NSPECTV) ! Clear sky TOA SW radiation in each VI band 409 real GSR_nu1(ngrid,L_NSPECTV) ! Clear sky Surface SW radiation in each VI band 408 410 real int_dtaui1(ngrid,nlayer,L_NSPECTI),int_dtauv1(ngrid,nlayer,L_NSPECTV) ! For optical thickness diagnostics. 409 411 real tf, ntf … … 905 907 zdtlw,zdtsw,fluxsurf_lw,fluxsurf_sw, & 906 908 fluxsurfabs_sw,fluxtop_lw, & 907 fluxabs_sw,fluxtop_dn,OLR_nu,OSR_nu, 909 fluxabs_sw,fluxtop_dn,OLR_nu,OSR_nu,GSR_nu, & 908 910 int_dtaui,int_dtauv, & 909 911 tau_col,cloudfrac,totcloudfrac, & … … 916 918 clearsky=.true. 917 919 call callcorrk(ngrid,nlayer,pq,nq,qsurf, & 918 albedo,albedo_equivalent1,emis,mu0,pplev,pplay,pt, 920 albedo,albedo_equivalent1,emis,mu0,pplev,pplay,pt, & 919 921 tsurf,fract,dist_star,aerosol,muvar, & 920 922 zdtlw1,zdtsw1,fluxsurf_lw1,fluxsurf_sw1, & 921 923 fluxsurfabs_sw1,fluxtop_lw1, & 922 fluxabs_sw1,fluxtop_dn,OLR_nu1,OSR_nu1, 924 fluxabs_sw1,fluxtop_dn,OLR_nu1,OSR_nu1,GSR_nu1, & 923 925 int_dtaui1,int_dtauv1, & 924 926 tau_col1,cloudfrac,totcloudfrac, & … … 941 943 zdtsw(ig,1:nlayer) = ntf*zdtsw1(ig,1:nlayer) + tf*zdtsw(ig,1:nlayer) 942 944 943 OSR_nu(ig,1:L_NSPECTV) = ntf*OSR_nu1(ig,1:L_NSPECTV) + tf*OSR_nu(ig,1:L_NSPECTV) 945 OSR_nu(ig,1:L_NSPECTV) = ntf*OSR_nu1(ig,1:L_NSPECTV) + tf*OSR_nu(ig,1:L_NSPECTV) 946 GSR_nu(ig,1:L_NSPECTV) = ntf*GSR_nu1(ig,1:L_NSPECTV) + tf*GSR_nu(ig,1:L_NSPECTV) 944 947 OLR_nu(ig,1:L_NSPECTI) = ntf*OLR_nu1(ig,1:L_NSPECTI) + tf*OLR_nu(ig,1:L_NSPECTI) 945 948 if (diagdtau) then … … 2314 2317 call writediagspecIR(ngrid,"OLR3D","OLR(lon,lat,band)","W/m^2/cm^-1",3,OLR_nu) 2315 2318 call writediagspecVI(ngrid,"OSR3D","OSR(lon,lat,band)","W/m^2/cm^-1",3,OSR_nu) 2319 call writediagspecVI(ngrid,"GSR3D","GSR(lon,lat,band)","W/m^2/cm^-1",3,GSR_nu) 2316 2320 endif 2317 2321
Note: See TracChangeset
for help on using the changeset viewer.