Changeset 5655 for LMDZ6/trunk
- Timestamp:
- May 15, 2025, 7:24:01 PM (3 weeks ago)
- Location:
- LMDZ6/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/DefLists/field_def_lmdz.xml
r5614 r5655 165 165 <field id="cloud_cover_sw" long_name="Ecrad SW cloud cover" unit="-" /> 166 166 <field id="cloud_cover_sw_s2" long_name="Ecrad SW cloud cover 2e call" unit="-" /> 167 <field id="ZFLUX_DIR_SUN" long_name="ZFLUX_DIR_SUN" unit="W/m2" /> 168 <field id="ZFLUX_DIR_SUN_s2" long_name="ZFLUX_DIR_SUN_s2" unit="W/m2" /> 167 169 <field id="sols_s2" long_name="Solar rad. at surf. 2e call" unit="W/m2" /> 168 170 <field id="sols0_s2" long_name="Solar rad. at surf." unit="W/m2" /> … … 1026 1028 <field id="rlu_s2" long_name="LW upward radiation" unit="W m-2" /> 1027 1029 <field id="rld_s2" long_name="LW downward radiation" unit="W m-2" /> 1030 <field id="ZFLUX_DIR" long_name="Direct-beam shortwave radiation" unit="W m-2" /> 1031 <field id="ZFLUX_DIR_CLEAR" long_name="Direct-beam CS shortwave radiation" unit="W m-2" /> 1032 <field id="ZFLUX_DIR_s2" long_name="Direct-beam shortwave radiation" unit="W m-2" /> 1033 <field id="ZFLUX_DIR_CLEAR_s2" long_name="Direct-beam CS shortwave radiation" unit="W m-2" /> 1028 1034 <field id="kz" long_name="Kz melange" unit="m2/s" enabled="FALSE" /> 1029 1035 <field id="evu" long_name="Eddy viscosity coefficient for Momentum Variables" unit="m2 s-1" /> -
LMDZ6/trunk/libf/phylmd/ecrad/lmdz/radiation_scheme_mod.f90
r5268 r5655 160 160 161 161 ! Direct component of surface flux into horizontal plane 162 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR(KLON )163 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON )162 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR(KLON,KLEV+1) 163 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON,KLEV+1) 164 164 ! As PFLUX_DIR but into a plane perpendicular to the sun 165 165 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_INTO_SUN(KLON) … … 585 585 !PFLUX_SW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%sw_up_clear(KIDIA:KFDIA,KLEV+1) 586 586 !PFLUX_LW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%lw_up_clear(KIDIA:KFDIA,KLEV+1) 587 PFLUX_DIR(KIDIA:KFDIA) = flux%sw_dn_direct(KIDIA:KFDIA,KLEV+1) 588 PFLUX_DIR_CLEAR(KIDIA:KFDIA) = flux%sw_dn_direct_clear(KIDIA:KFDIA,KLEV+1) 587 ! Direct component of flux into horizontal plane 588 PFLUX_DIR(KIDIA:KFDIA,:) = flux%sw_dn_direct(KIDIA:KFDIA,:) 589 PFLUX_DIR_CLEAR(KIDIA:KFDIA,:) = flux%sw_dn_direct_clear(KIDIA:KFDIA,:) 589 590 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = 0.0_JPRB 590 591 WHERE (PMU0(KIDIA:KFDIA) > EPSILON(1.0_JPRB)) 591 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA) / PMU0(KIDIA:KFDIA) 592 ! Direct Surface component of flux into a plane perpendicular to the sun 593 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA,KLEV+1) / PMU0(KIDIA:KFDIA) 592 594 END WHERE 593 595 ! Top-of-atmosphere downwelling flux … … 849 851 850 852 ! Direct component of surface flux into horizontal plane 851 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR(KLON )852 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON )853 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR(KLON,KLEV+1) 854 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON,KLEV+1) 853 855 ! As PFLUX_DIR but into a plane perpendicular to the sun 854 856 REAL(KIND=JPRB), INTENT(OUT) :: PFLUX_DIR_INTO_SUN(KLON) … … 1283 1285 !PFLUX_SW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%sw_up_clear(KIDIA:KFDIA,KLEV+1) 1284 1286 !PFLUX_LW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%lw_up_clear(KIDIA:KFDIA,KLEV+1) 1285 PFLUX_DIR(KIDIA:KFDIA ) = flux%sw_dn_direct(KIDIA:KFDIA,KLEV+1)1286 PFLUX_DIR_CLEAR(KIDIA:KFDIA ) = flux%sw_dn_direct_clear(KIDIA:KFDIA,KLEV+1)1287 PFLUX_DIR(KIDIA:KFDIA,:) = flux%sw_dn_direct(KIDIA:KFDIA,:) 1288 PFLUX_DIR_CLEAR(KIDIA:KFDIA,:) = flux%sw_dn_direct_clear(KIDIA:KFDIA,:) 1287 1289 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = 0.0_JPRB 1288 1290 WHERE (PMU0(KIDIA:KFDIA) > EPSILON(1.0_JPRB)) 1289 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA ) / PMU0(KIDIA:KFDIA)1291 PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA,KLEV+1) / PMU0(KIDIA:KFDIA) 1290 1292 END WHERE 1291 1293 ! Top-of-atmosphere downwelling flux -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r5627 r5655 826 826 !AI Ecrad 3Deffect 827 827 #ifdef CPP_ECRAD 828 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_SUN = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 829 'ZFLUX_DIR_SUN', 'Direct radiation into a plane perpendicular to the sun', 'W m-2', (/ ('', i=1, 10) /)) 830 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_SUN_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 831 'ZFLUX_DIR_SUN_s2', 'Direct radiation into a plane perpendicular to the sun', 'W m-2', (/ ('', i=1, 10) /)) 832 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 833 'ZFLUX_DIR', 'Direct radiation', 'W m-2', (/ ('', i=1, 10) /)) 834 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 835 'ZFLUX_DIR_s2', 'Direct radiation', 'W m-2', (/ ('', i=1, 10) /)) 836 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_CLEAR = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 837 'ZFLUX_DIR_CLEAR', 'Direct radiation', 'W m-2', (/ ('', i=1, 10) /)) 838 TYPE(ctrl_out), SAVE :: o_ZFLUX_DIR_CLEAR_s2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 839 'ZFLUX_DIR_CLEAR_s2', 'Direct radiation', 'W m-2', (/ ('', i=1, 10) /)) 828 840 TYPE(ctrl_out), SAVE :: o_cloud_cover_sw = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), & 829 841 'cloud_cover_sw', 'Ecrad SW cloud cover', '-', (/ ('', i=1, 10) /)) -
LMDZ6/trunk/libf/phylmd/phys_output_var_mod.f90
r5483 r5655 179 179 !$OMP THREADPRIVATE(cloud_cover_sw, cloud_cover_sw_s2) 180 180 181 ! Direct-beam shortwave into a horizontal plane 182 REAL, SAVE, ALLOCATABLE :: ZFLUX_DIR(:,:), ZFLUX_DIR_CLEAR(:,:), & 183 & ZFLUX_DIR_s2(:,:), ZFLUX_DIR_CLEAR_s2(:,:) 184 !$OMP THREADPRIVATE(ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_s2, ZFLUX_DIR_CLEAR_s2) 185 REAL, SAVE, ALLOCATABLE :: ZFLUX_DIR_SUN(:), ZFLUX_DIR_SUN_s2(:) 186 !$OMP THREADPRIVATE(ZFLUX_DIR_SUN, ZFLUX_DIR_SUN_s2) 187 181 188 CONTAINS 182 189 … … 252 259 ALLOCATE(icc3dstra(klon, klev)) 253 260 254 261 ! cloud_cover_sw, cloud_cover_sw_s2 from Ecrad 255 262 ALLOCATE(cloud_cover_sw(klon)) 256 263 ALLOCATE(cloud_cover_sw_s2(klon)) 264 ALLOCATE(ZFLUX_DIR(klon,klev+1)) 265 ALLOCATE(ZFLUX_DIR_CLEAR(klon,klev+1)) 266 ALLOCATE(ZFLUX_DIR_s2(klon,klev+1)) 267 ALLOCATE(ZFLUX_DIR_CLEAR_s2(klon,klev+1)) 268 ALLOCATE(ZFLUX_DIR_SUN(klon)) 269 ALLOCATE(ZFLUX_DIR_SUN_s2(klon)) 257 270 258 271 END SUBROUTINE phys_output_var_init … … 308 321 !AI cloud_cover_sw, cloud_cover_sw_s2 from Ecrad 309 322 DEALLOCATE(cloud_cover_sw, cloud_cover_sw_s2) 323 DEALLOCATE(ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_s2, ZFLUX_DIR_CLEAR_s2) 324 DEALLOCATE(ZFLUX_DIR_SUN, ZFLUX_DIR_SUN_s2) 310 325 311 326 END SUBROUTINE phys_output_var_end -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r5627 r5655 257 257 o_LWupSFC_s2, o_LWdnSFC_s2, o_rlu_s2, o_rld_s2, & 258 258 o_rlucs_s2, o_rldcs_s2, o_rsu_s2, o_rsd_s2, & 259 o_rsucs_s2, o_rsdcs_s2 259 o_rsucs_s2, o_rsdcs_s2, o_ZFLUX_DIR, o_ZFLUX_DIR_s2, & 260 o_ZFLUX_DIR_CLEAR, o_ZFLUX_DIR_CLEAR_s2, & 261 o_ZFLUX_DIR_SUN, o_ZFLUX_DIR_SUN_s2 260 262 #endif 261 263 … … 324 326 sollwdown_s2,lwdn0_s2,lwup_s2,lwdn_s2,lwup0_s2,lwdn0_s2 325 327 USE phys_output_var_mod, ONLY: cloud_cover_sw, & 326 cloud_cover_sw_s2 328 cloud_cover_sw_s2, ZFLUX_DIR, ZFLUX_DIR_s2, & 329 ZFLUX_DIR_CLEAR, ZFLUX_DIR_CLEAR_s2, ZFLUX_DIR_SUN, ZFLUX_DIR_SUN_s2 327 330 #endif 328 331 … … 1282 1285 CALL histwrite_phy(o_rlucs_s2, lwup0_s2) 1283 1286 CALL histwrite_phy(o_rldcs_s2, lwdn0_s2) 1287 CALL histwrite_phy(o_ZFLUX_DIR, ZFLUX_DIR) 1288 CALL histwrite_phy(o_ZFLUX_DIR_s2, ZFLUX_DIR_s2) 1289 CALL histwrite_phy(o_ZFLUX_DIR_CLEAR, ZFLUX_DIR_CLEAR) 1290 CALL histwrite_phy(o_ZFLUX_DIR_CLEAR_s2, ZFLUX_DIR_CLEAR_s2) 1291 CALL histwrite_phy(o_ZFLUX_DIR_SUN, ZFLUX_DIR_SUN) 1292 CALL histwrite_phy(o_ZFLUX_DIR_SUN_s2, ZFLUX_DIR_SUN_s2) 1284 1293 ENDIF !ok_3Deffect 1285 1294 #endif -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r5645 r5655 94 94 USE lmdz_cloud_optics_prop_ini, ONLY : cloud_optics_prop_ini 95 95 USE phys_output_var_mod, ONLY : cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv 96 USE phys_output_var_mod, ONLY : cloud_cover_sw, cloud_cover_sw_s2 96 USE phys_output_var_mod, ONLY : cloud_cover_sw, cloud_cover_sw_s2, ZFLUX_DIR, ZFLUX_DIR_CLEAR, & 97 & ZFLUX_DIR_s2, ZFLUX_DIR_CLEAR_s2, ZFLUX_DIR_SUN, ZFLUX_DIR_SUN_s2 97 98 98 99 … … 4648 4649 ZLWFT0_i, ZFLDN0, ZFLUP0, & 4649 4650 ZSWFT0_i, ZFSDN0, ZFSUP0, & 4651 ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_SUN, & 4650 4652 cloud_cover_sw) 4651 4653 … … 4726 4728 ZLWFT0_i, ZFLDN0, ZFLUP0, & 4727 4729 ZSWFT0_i, ZFSDN0, ZFSUP0, & 4730 ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_SUN, & 4728 4731 cloud_cover_sw) 4729 4732 ENDIF !ok_4xCO2atm … … 4772 4775 ZLWFT0_i, ZFLDN0, ZFLUP0, & 4773 4776 ZSWFT0_i, ZFSDN0, ZFSUP0, & 4777 ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_SUN, & 4774 4778 cloud_cover_sw_s2) 4775 4779 ENDIF ! ok_3Deffect -
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r5325 r5655 45 45 ZLWFT0_i, ZFLDN0, ZFLUP0, & 46 46 ZSWFT0_i, ZFSDN0, ZFSUP0, & 47 ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, & 47 48 cloud_cover_sw) 48 49 … … 333 334 REAL(KIND=8) ZAEROSOL_OLD(KLON,6,KLEV), & ! 334 335 ZAEROSOL(KLON,KLEV,naero_spc) ! 336 ! Interm 337 REAL(KIND=8), dimension(klon,klev+1) :: ZFLUX_DIR_i, & ! Direct compt of surf flux into horizontal plane 338 ZFLUX_DIR_CLEAR_i ! CS Direct 335 339 ! OUTPUTS 336 REAL(KIND=8) ZFLUX_DIR(klon), & ! Direct compt of surf flux into horizontal plane337 ZFLUX_DIR_CLEAR(klon), &! CS Direct338 ZFLUX_DIR_INTO_SUN(klon), & !339 ZFLUX_UV(klon), & ! UV flux340 ZFLUX_PAR(klon), & ! photosynthetically active radiation similarly341 ZFLUX_PAR_CLEAR(klon), & ! CS photosynthetically342 ZFLUX_SW_DN_TOA(klon), & ! DN SW flux at TOA343 ZEMIS_OUT(klon)! effective broadband emissivity344 345 REAL(KIND=8) ZLWDERIVATIVE(klon,klev+1) ! LW derivatives 346 REAL(KIND=8) ZSWDIFFUSEBAND(klon,NSW), & ! SW DN flux in diffuse albedo band347 ZSWDIRECTBAND(klon,NSW) ! SW DN flux in direct albedo band340 REAL(KIND=8), dimension(klon,klev+1) :: ZFLUX_DIR, & ! Direct compt of surf flux into horizontal plane 341 ZFLUX_DIR_CLEAR ! CS Direct 342 REAL(KIND=8), dimension(klon) :: ZFLUX_DIR_INTO_SUN, & ! 343 ZFLUX_UV, & ! UV flux 344 ZFLUX_PAR, & ! photosynthetically active radiation similarly 345 ZFLUX_PAR_CLEAR, & ! CS photosynthetically 346 ZFLUX_SW_DN_TOA(klon), & ! DN SW flux at TOA 347 ZEMIS_OUT ! effective broadband emissivity 348 REAL(KIND=8), dimension(klon,klev+1) :: ZLWDERIVATIVE ! LW derivatives 349 350 ! REAL(KIND=8) ZSWDIFFUSEBAND(klon,NSW), & ! SW DN flux in diffuse albedo band 351 ! ZSWDIRECTBAND(klon,NSW) ! SW DN flux in direct albedo band 348 352 REAL(KIND=8) SOLARIRAD 349 353 REAL(KIND=8) seuilmach … … 1392 1396 & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), & 1393 1397 ! Surf Direct flux : ATTENTION 1394 & ZFLUX_DIR , ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &1398 & ZFLUX_DIR_i, ZFLUX_DIR_CLEAR_i, ZFLUX_DIR_INTO_SUN, & 1395 1399 ! UV and para flux 1396 1400 & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, & … … 1436 1440 & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), & 1437 1441 ! Surf Direct flux : ATTENTION 1438 & ZFLUX_DIR , ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &1442 & ZFLUX_DIR_i, ZFLUX_DIR_CLEAR_i, ZFLUX_DIR_INTO_SUN, & 1439 1443 ! UV and para flux 1440 1444 & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, & … … 1496 1500 ZFLDNC0(i,k+1)= -1.*ZFLCCDWN_i(i,klev+1-k) 1497 1501 ZFLUPC0(i,k+1)= ZFLCCUP_i(i,klev+1-k) 1502 ! Direct flux 1503 ZFLUX_DIR(i,k+1) = ZFLUX_DIR_i(i,klev+1-k) 1504 ZFLUX_DIR_CLEAR = ZFLUX_DIR_CLEAR_i(i,klev+1-k) 1498 1505 IF (ok_volcan) THEN 1499 1506 ZSWADAERO(i,k+1)=ZSWADAERO(i,klev+1-k)*fract(i) !--NL
Note: See TracChangeset
for help on using the changeset viewer.