- Timestamp:
- Jun 3, 2016, 3:04:40 PM (8 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90
r2518 r2536 137 137 !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0) 138 138 ! 139 REAL, SAVE, ALLOCATABLE :: stratomask(:,:) 140 !$OMP THREADPRIVATE(stratomask) 139 141 REAL, SAVE, ALLOCATABLE :: tausum_aero(:,:,:) 140 142 !$OMP THREADPRIVATE(tausum_aero) … … 463 465 ! allocate(tausum_aero(klon,nwave,naero_spc)) 464 466 ! allocate(tau3d_aero(klon,klev,nwave,naero_spc)) 467 allocate(stratomask(klon,klev)) 465 468 !--correction mini bug OB 466 469 allocate(tausum_aero(klon,nwave,naero_tot)) … … 670 673 deallocate(topsw0_aero,solsw0_aero) 671 674 deallocate(topswcf_aero,solswcf_aero) 675 deallocate(stratomask) 672 676 deallocate(tausum_aero) 673 677 deallocate(tau3d_aero) -
LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r2517 r2536 850 850 ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(14), & 851 851 "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 9) /)) /) 852 853 854 855 852 ! 856 853 TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), & … … 1032 1029 TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), & 1033 1030 'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 9) /)) 1031 TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), & 1032 'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 9) /)) 1034 1033 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1035 1034 -
LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
r2530 r2536 112 112 o_swtoacf_zero, o_swsrfcf_zero, & 113 113 o_topswai, o_solswai, o_scdnc, & 114 o_cldncl, o_reffclws, o_reffclwc, &114 o_cldncl, o_reffclws, o_reffclwc, o_stratomask,& 115 115 o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, & 116 116 o_lcc3dstra, o_reffclwtop, o_ec550aer, & … … 230 230 toplwad_aero, toplwad0_aero, sollwad_aero, & 231 231 sollwad0_aero, toplwai_aero, sollwai_aero, & 232 scdnc, cldncl, reffclws, reffclwc, cldnvi, &232 scdnc, cldncl, reffclws, reffclwc, cldnvi, stratomask,& 233 233 lcc, lcc3d, lcc3dcon, lcc3dstra, reffclwtop, & 234 234 ec550aer, flwc, fiwc, t_seri, theta, q_seri, & … … 1037 1037 CALL histwrite_phy(o_zfull,zphi/RG) 1038 1038 1039 CALL histwrite_phy(o_stratomask, stratomask) 1040 1039 1041 IF (vars_defined) THEN 1040 1042 zx_tmp_fi3d(:,1)= pphis(:)/RG -
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2534 r2536 3079 3079 CALL readaerosolstrato(debut) 3080 3080 ELSE 3081 abort_message='flag_aerosol_strat must equal 1 for rrtm=0' 3081 abort_message='flag_aerosol_strat must equal 1 for rrtm=0' 3082 3082 call abort_physic(modname,abort_message,1) 3083 3083 ENDIF 3084 3084 ELSE 3085 3085 #ifdef CPP_RRTM 3086 CALL readaerosolstrato_rrtm(debut) 3086 IF (flag_aerosol_strat.EQ.1) THEN 3087 CALL readaerosolstrato1_rrtm(debut) 3088 ELSEIF (flag_aerosol_strat.EQ.2) THEN 3089 CALL stratosphere_mask(t_seri, pplay, latitude_deg) 3090 CALL readaerosolstrato2_rrtm(debut) 3091 ELSE 3092 abort_message='flag_aerosol_strat must equal 1 or 2 for rrtm=1' 3093 call abort_physic(modname,abort_message,1) 3094 ENDIF 3087 3095 #else 3088 3096 abort_message='You should compile with -rrtm if running ' & … … 3093 3101 ENDIF 3094 3102 !--fin STRAT AEROSOL 3095 3096 3103 3097 3104 ! On prend la somme des fractions nuageuses et des contenus en eau -
LMDZ5/trunk/libf/phylmd/stratosphere_mask.F90
r2527 r2536 1 SUBROUTINE stratosphere_mask(t_seri, pplay, xlat , is_strato)1 SUBROUTINE stratosphere_mask(t_seri, pplay, xlat) 2 2 3 3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 27 27 28 28 USE dimphy 29 !!USE phys_local_var_mod, ONLY: p_tropopause 29 USE phys_local_var_mod, ONLY: stratomask 30 30 31 31 IMPLICIT NONE … … 34 34 REAL,DIMENSION(klon,klev),INTENT(IN) :: pplay ! pression pour le mileu de chaque couche (en Pa) 35 35 REAL,DIMENSION(klon),INTENT(IN) :: xlat ! latitudes pour chaque point 36 37 LOGICAL,DIMENSION(klon,klev),INTENT(OUT) :: is_strato38 36 39 37 REAL, PARAMETER :: plimu=45000. … … 84 82 DO k=1, klev 85 83 IF (pplay(i,k).LT.tp(i)) THEN 86 is_strato(i,k)=.TRUE.84 stratomask(i,k)=1.0 87 85 ELSE 88 is_strato(i,k)=.FALSE.86 stratomask(i,k)=0.0 89 87 ENDIF 90 88 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.