Changeset 3529 for LMDZ6/branches/IPSLCM6.0.15/libf
- Timestamp:
- May 30, 2019, 4:21:47 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/StratAer/traccoag_mod.F90
r3525 r3529 59 59 !---------------- 60 60 REAL :: m_aer_emiss_vol_daily ! daily injection mass emission 61 REAL :: sum_emi_so2 ! Test sum of all LON for budg_emi_so262 61 INTEGER :: it, k, i, ilon, ilev, itime, i_int, ieru 63 62 LOGICAL,DIMENSION(klon,klev) :: is_strato ! true = above tropopause, false = below … … 84 83 WRITE(lunout,*) 'in traccoag: date from phys_cal_mod =',year_cur,'-',mth_cur,'-',day_cur,'-',hour 85 84 WRITE(lunout,*) 'IN traccoag flag_sulf_emit: ',flag_sulf_emit 86 IF (flag_sulf_emit == 1) THEN87 WRITE(lunout,*) 'IN traccoag nErupt: ',nErupt88 WRITE(lunout,*) 'IN traccoag injdur: ',injdur89 WRITE(lunout,*) 'IN traccoag : year_emit_vol',year_emit_vol90 WRITE(lunout,*) 'IN traccoag : mth_emit_vol',mth_emit_vol91 WRITE(lunout,*) 'IN traccoag : day_emit_vol',day_emit_vol92 WRITE(lunout,*) 'IN traccoag : m_aer_emiss_vol',m_aer_emiss_vol93 WRITE(lunout,*) 'IN traccoag : altemiss_vol',altemiss_vol94 WRITE(lunout,*) 'IN traccoag : sigma_alt_vol',sigma_alt_vol95 WRITE(lunout,*) 'IN traccoag : ponde_lonlat_vol',ponde_lonlat_vol96 WRITE(lunout,*) 'IN traccoag : xlat_min_vol',xlat_min_vol97 WRITE(lunout,*) 'IN traccoag : xlat_max_vol',xlat_max_vol98 WRITE(lunout,*) 'IN traccoag : xlon_min_vol',xlon_min_vol99 WRITE(lunout,*) 'IN traccoag : xlon_max_vol',xlon_max_vol100 ELSEIF (flag_sulf_emit == 2) THEN101 WRITE(lunout,*) 'IN traccoag : m_aer_emiss_sai',m_aer_emiss_sai102 WRITE(lunout,*) 'IN traccoag : altemiss_sai',altemiss_sai103 WRITE(lunout,*) 'IN traccoag : sigma_alt_sai',sigma_alt_sai104 WRITE(lunout,*) 'IN traccoag : xlat_sai',xlat_sai105 WRITE(lunout,*) 'IN traccoag : xlon_sai',xlon_sai106 ELSEIF (flag_sulf_emit == 3) THEN107 WRITE(lunout,*) 'IN traccoag : m_aer_emiss_sai',m_aer_emiss_sai108 WRITE(lunout,*) 'IN traccoag : altemiss_sai',altemiss_sai109 WRITE(lunout,*) 'IN traccoag : sigma_alt_sai',sigma_alt_sai110 WRITE(lunout,*) 'IN traccoag : xlat_min_sai',xlat_min_sai111 WRITE(lunout,*) 'IN traccoag : xlat_max_sai',xlat_max_sai112 WRITE(lunout,*) 'IN traccoag : xlon_sai',xlon_sai113 ENDIF114 WRITE(lunout,*) 'IN traccoag : flag_nuc_rate_box = ',flag_nuc_rate_box115 IF (flag_nuc_rate_box) THEN116 WRITE(lunout,*) 'IN traccoag : nuclat_min = ',nuclat_min,', nuclat_max = ',nuclat_max117 WRITE(lunout,*) 'IN traccoag : nucpres_min = ',nucpres_min,', nucpres_max = ',nucpres_max118 ENDIF119 85 ENDIF 120 86 … … 190 156 ! stretch emission over one day of Pinatubo eruption 191 157 DO ieru=1, nErupt 192 IF (is_mpi_root) THEN193 sum_emi_so2 = 0.0 ! Init sum194 ENDIF195 158 IF (year_cur==year_emit_vol(ieru).AND.mth_cur==mth_emit_vol(ieru).AND.& 196 159 day_cur>=day_emit_vol(ieru).AND.day_cur<(day_emit_vol(ieru)+injdur)) THEN … … 201 164 'ponde_lonlat_vol(ieru)=',ponde_lonlat_vol(ieru),'(injdur*ponde_lonlat_vol(ieru))', & 202 165 (injdur*ponde_lonlat_vol(ieru)),'m_aer_emiss_vol_daily=',m_aer_emiss_vol_daily,'ieru=',ieru 203 WRITE(lunout,*) 'IN traccoag, dlon=',dlon204 166 DO i=1,klon 205 167 !Pinatubo eruption at 15.14N, 120.35E 206 168 dlat_loc=180./RPI/2.*(boundslat(i,1)-boundslat(i,3)) ! dlat = half difference of boundary latitudes 207 WRITE(lunout,*) 'IN traccoag, dlat=',dlat_loc208 169 IF ( xlat(i).GE.xlat_min_vol(ieru)-dlat_loc .AND. xlat(i).LT.xlat_max_vol(ieru)+dlat_loc .AND. & 209 170 xlon(i).GE.xlon_min_vol(ieru)-dlon .AND. xlon(i).LT.xlon_max_vol(ieru)+dlon ) THEN … … 259 220 budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol 260 221 ENDDO 261 sum_emi_so2 = sum_emi_so2 + budg_emi_so2(i) ! Sum all LON262 222 ENDIF ! emission grid cell 263 223 ENDDO ! klon loop 264 WRITE(lunout,*) "IN traccoag (ieru=",ieru,") global sum_emi_so2=",sum_emi_so2265 224 WRITE(lunout,*) "IN traccoag (ieru=",ieru,") m_aer_emiss_vol_daily=",m_aer_emiss_vol_daily 266 225 ENDIF ! emission period … … 274 233 ! SAI continuous emission o 275 234 dlat_loc=180./RPI/2.*(boundslat(i,1)-boundslat(i,3)) ! dlat = half difference of boundary latitudes 276 WRITE(lunout,*) "IN traccoag, dlon=",dlon277 WRITE(lunout,*) "IN traccoag, dlat=",dlat_loc278 235 IF ( xlat(i).GE.xlat_sai-dlat_loc .AND. xlat(i).LT.xlat_sai+dlat_loc .AND. & 279 236 & xlon(i).GE.xlon_sai-dlon .AND. xlon(i).LT.xlon_sai+dlon ) THEN 280 237 ! 281 WRITE(lunout,*) 'coordinates of SAI point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur282 238 ! compute altLMDz 283 239 altLMDz(:)=0.0 … … 346 302 ! SAI scenario with continuous emission 347 303 dlat_loc=180./RPI/2.*(boundslat(i,1)-boundslat(i,3)) ! dlat = half difference of boundary latitudes 348 WRITE(lunout,*) 'IN traccoag, dlat = ',dlat_loc349 304 theta_min = max(xlat(i)-dlat_loc,xlat_min_sai) 350 305 theta_max = min(xlat(i)+dlat_loc,xlat_max_sai)
Note: See TracChangeset
for help on using the changeset viewer.