Changeset 2428 for LMDZ5/trunk/libf/phylmd/cosp/cosp_output_write_mod.F90
- Timestamp:
- Jan 27, 2016, 10:42:32 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cosp/cosp_output_write_mod.F90
r2345 r2428 18 18 19 19 SUBROUTINE cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, & 20 cfg, gbx, vgrid, sglidar, stlidar, isccp) 20 cfg, gbx, vgrid, sglidar, sgradar, stlidar, stradar, & 21 isccp, misr, modis) 21 22 22 23 USE ioipsl … … 35 36 type(cosp_gridbox) :: gbx ! Gridbox information. Input for COSP 36 37 type(cosp_sglidar) :: sglidar ! Output from lidar simulator 38 type(cosp_sgradar) :: sgradar ! Output from radar simulator 37 39 type(cosp_isccp) :: isccp ! Output from ISCCP simulator 38 40 type(cosp_lidarstats) :: stlidar ! Summary statistics from lidar simulator 41 type(cosp_radarstats) :: stradar 42 type(cosp_misr) :: misr ! Output from MISR 43 type(cosp_modis) :: modis ! Outputs from Modis 39 44 type(cosp_vgrid) :: vgrid ! Information on vertical grid of stats 40 45 … … 126 131 enddo 127 132 133 ! AI 11 / 2015 134 135 where(stlidar%parasolrefl == R_UNDEF) stlidar%parasolrefl = 0.0 136 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = 0.0 137 where(stlidar%cldlayerphase == R_UNDEF) stlidar%cldlayerphase = 0.0 138 where(stlidar%lidarcldphase == R_UNDEF) stlidar%lidarcldphase = 0.0 139 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = 0.0 140 141 128 142 print*,'Appel histwrite2d_cosp' 129 143 CALL histwrite2d_cosp(o_cllcalipso,stlidar%cldlayer(:,1)) … … 132 146 CALL histwrite2d_cosp(o_cltcalipso,stlidar%cldlayer(:,4)) 133 147 CALL histwrite3d_cosp(o_clcalipso,stlidar%lidarcld,nvert) 148 CALL histwrite3d_cosp(o_clcalipsotmp,stlidar%lidarcldtmp(:,:,1),nverttemp) 149 150 CALL histwrite2d_cosp(o_cllcalipsoice,stlidar%cldlayerphase(:,1,1)) 151 CALL histwrite2d_cosp(o_clhcalipsoice,stlidar%cldlayerphase(:,3,1)) 152 CALL histwrite2d_cosp(o_clmcalipsoice,stlidar%cldlayerphase(:,2,1)) 153 CALL histwrite2d_cosp(o_cltcalipsoice,stlidar%cldlayerphase(:,4,1)) 154 CALL histwrite3d_cosp(o_clcalipsoice,stlidar%lidarcldphase(:,:,1),nvert) 155 CALL histwrite3d_cosp(o_clcalipsotmpice,stlidar%lidarcldtmp(:,:,2),nverttemp) 156 157 CALL histwrite2d_cosp(o_cllcalipsoliq,stlidar%cldlayerphase(:,1,2)) 158 CALL histwrite2d_cosp(o_clhcalipsoliq,stlidar%cldlayerphase(:,3,2)) 159 CALL histwrite2d_cosp(o_clmcalipsoliq,stlidar%cldlayerphase(:,2,2)) 160 CALL histwrite2d_cosp(o_cltcalipsoliq,stlidar%cldlayerphase(:,4,2)) 161 CALL histwrite3d_cosp(o_clcalipsoliq,stlidar%lidarcldphase(:,:,2),nvert) 162 CALL histwrite3d_cosp(o_clcalipsotmpliq,stlidar%lidarcldtmp(:,:,3),nverttemp) 163 164 CALL histwrite2d_cosp(o_cllcalipsoun,stlidar%cldlayerphase(:,1,3)) 165 CALL histwrite2d_cosp(o_clhcalipsoun,stlidar%cldlayerphase(:,3,3)) 166 CALL histwrite2d_cosp(o_clmcalipsoun,stlidar%cldlayerphase(:,2,3)) 167 CALL histwrite2d_cosp(o_cltcalipsoun,stlidar%cldlayerphase(:,4,3)) 168 CALL histwrite3d_cosp(o_clcalipsoice,stlidar%lidarcldphase(:,:,3),nvert) 169 CALL histwrite3d_cosp(o_clcalipsotmpun,stlidar%lidarcldtmp(:,:,4),nverttemp) 134 170 135 171 do icl=1,SR_BINS … … 160 196 endif !Lidar 161 197 198 if (cfg%Lradar_sim) then 199 do icl=1,Ncolumns 200 CALL histwrite3d_cosp(o_dbze94,sgradar%Ze_tot(:,icl,:),nvertmcosp,icl) 201 enddo 202 do icl=1,DBZE_BINS 203 CALL histwrite3d_cosp(o_cfadDbze94,stradar%cfad_ze(:,icl,:),nvert,icl) 204 enddo 205 endif 206 207 if (cfg%Llidar_sim .and. cfg%Lradar_sim) then 208 where(stradar%lidar_only_freq_cloud == R_UNDEF) & 209 stradar%lidar_only_freq_cloud = 0.0 210 CALL histwrite3d_cosp(o_clcalipso2,stradar%lidar_only_freq_cloud,nvert) 211 endif 212 162 213 if (cfg%Lisccp_sim) then 163 214 164 215 ! Traitement des valeurs indefinies 165 216 do ip = 1,Npoints 166 if(isccp%totalcldarea(ip).eq. -1.E+30)then217 if(isccp%totalcldarea(ip).eq.R_UNDEF)then 167 218 isccp%totalcldarea(ip)=Cosp_fill_value 168 219 endif 169 if(isccp%meanptop(ip).eq. -1.E+30)then220 if(isccp%meanptop(ip).eq.R_UNDEF)then 170 221 isccp%meanptop(ip)=Cosp_fill_value 171 222 endif 172 if(isccp%meantaucld(ip).eq. -1.E+30)then223 if(isccp%meantaucld(ip).eq.R_UNDEF)then 173 224 isccp%meantaucld(ip)=Cosp_fill_value 174 225 endif 175 if(isccp%meanalbedocld(ip).eq. -1.E+30)then226 if(isccp%meanalbedocld(ip).eq.R_UNDEF)then 176 227 isccp%meanalbedocld(ip)=Cosp_fill_value 177 228 endif 178 if(isccp%meantb(ip).eq. -1.E+30)then229 if(isccp%meantb(ip).eq.R_UNDEF)then 179 230 isccp%meantb(ip)=Cosp_fill_value 180 231 endif 181 if(isccp%meantbclr(ip).eq. -1.E+30)then232 if(isccp%meantbclr(ip).eq.R_UNDEF)then 182 233 isccp%meantbclr(ip)=Cosp_fill_value 183 234 endif … … 185 236 do k=1,7 186 237 do ii=1,7 187 if(isccp%fq_isccp(ip,ii,k).eq. -1.E+30)then238 if(isccp%fq_isccp(ip,ii,k).eq.R_UNDEF)then 188 239 isccp%fq_isccp(ip,ii,k)=Cosp_fill_value 189 240 endif … … 192 243 193 244 do ii=1,Ncolumns 194 if(isccp%boxtau(ip,ii).eq. -1.E+30)then245 if(isccp%boxtau(ip,ii).eq.R_UNDEF)then 195 246 isccp%boxtau(ip,ii)=Cosp_fill_value 196 247 endif … … 198 249 199 250 do ii=1,Ncolumns 200 if(isccp%boxptop(ip,ii).eq. -1.E+30)then251 if(isccp%boxptop(ip,ii).eq.R_UNDEF)then 201 252 isccp%boxptop(ip,ii)=Cosp_fill_value 202 253 endif … … 217 268 CALL histwrite2d_cosp(o_meantbclrisccp,isccp%meantbclr) 218 269 endif ! Isccp 270 271 ! MISR simulator 272 if (cfg%Lmisr_sim) then 273 do ip=1,Npoints 274 do ii=1,7 275 do k=1,MISR_N_CTH 276 if(misr%fq_MISR(ip,ii,k).eq.R_UNDEF)then 277 misr%fq_MISR(ip,ii,k)=Cosp_fill_value 278 endif 279 enddo 280 enddo 281 enddo 282 283 do icl=1,7 284 CALL histwrite3d_cosp(o_clMISR,misr%fq_MISR(:,icl,:),nvertmisr,icl) 285 enddo 286 endif 287 288 ! Modis simulator 289 if (cfg%Lmodis_sim) then 290 291 do ip=1,Npoints 292 if(modis%Cloud_Fraction_Low_Mean(ip).eq.R_UNDEF)then 293 modis%Cloud_Fraction_Low_Mean(ip)=Cosp_fill_value 294 endif 295 if(modis%Cloud_Fraction_High_Mean(ip).eq.R_UNDEF)then 296 modis%Cloud_Fraction_High_Mean(ip)=Cosp_fill_value 297 endif 298 if(modis%Cloud_Fraction_Mid_Mean(ip).eq.R_UNDEF)then 299 modis%Cloud_Fraction_Mid_Mean(ip)=Cosp_fill_value 300 endif 301 if(modis%Cloud_Fraction_Total_Mean(ip).eq.R_UNDEF)then 302 modis%Cloud_Fraction_Total_Mean(ip)=Cosp_fill_value 303 endif 304 if(modis%Cloud_Fraction_Water_Mean(ip).eq.R_UNDEF)then 305 modis%Cloud_Fraction_Water_Mean(ip)=Cosp_fill_value 306 endif 307 if(modis%Cloud_Fraction_Ice_Mean(ip).eq.R_UNDEF)then 308 modis%Cloud_Fraction_Ice_Mean(ip)=Cosp_fill_value 309 endif 310 if(modis%Optical_Thickness_Total_Mean(ip).eq.R_UNDEF)then 311 modis%Optical_Thickness_Total_Mean(ip)=Cosp_fill_value 312 endif 313 if(modis%Optical_Thickness_Water_Mean(ip).eq.R_UNDEF)then 314 modis%Optical_Thickness_Water_Mean(ip)=Cosp_fill_value 315 endif 316 if(modis%Optical_Thickness_Ice_Mean(ip).eq.R_UNDEF)then 317 modis%Optical_Thickness_Ice_Mean(ip)=Cosp_fill_value 318 endif 319 if(modis%Cloud_Particle_Size_Water_Mean(ip).eq.R_UNDEF)then 320 modis%Cloud_Particle_Size_Water_Mean(ip)=Cosp_fill_value 321 endif 322 if(modis%Cloud_Top_Pressure_Total_Mean(ip).eq.R_UNDEF)then 323 modis%Cloud_Top_Pressure_Total_Mean(ip)=Cosp_fill_value 324 endif 325 if(modis%Liquid_Water_Path_Mean(ip).eq.R_UNDEF)then 326 modis%Liquid_Water_Path_Mean(ip)=Cosp_fill_value 327 endif 328 if(modis%Ice_Water_Path_Mean(ip).eq.R_UNDEF)then 329 modis%Ice_Water_Path_Mean(ip)=Cosp_fill_value 330 endif 331 332 enddo 333 334 CALL histwrite2d_cosp(o_cllmodis,modis%Cloud_Fraction_Low_Mean) 335 CALL histwrite2d_cosp(o_clhmodis,modis%Cloud_Fraction_High_Mean) 336 CALL histwrite2d_cosp(o_clmmodis,modis%Cloud_Fraction_Mid_Mean) 337 CALL histwrite2d_cosp(o_cltmodis,modis%Cloud_Fraction_Total_Mean) 338 CALL histwrite2d_cosp(o_clwmodis,modis%Cloud_Fraction_Water_Mean) 339 CALL histwrite2d_cosp(o_climodis,modis%Cloud_Fraction_Ice_Mean) 340 CALL histwrite2d_cosp(o_tautmodis,modis%Optical_Thickness_Total_Mean) 341 CALL histwrite2d_cosp(o_tauwmodis,modis%Optical_Thickness_Water_Mean) 342 CALL histwrite2d_cosp(o_tauimodis,modis%Optical_Thickness_Ice_Mean) 343 CALL histwrite2d_cosp(o_tautlogmodis,modis%Optical_Thickness_Total_LogMean) 344 CALL histwrite2d_cosp(o_tauwlogmodis,modis%Optical_Thickness_Water_LogMean) 345 CALL histwrite2d_cosp(o_tauilogmodis,modis%Optical_Thickness_Ice_LogMean) 346 CALL histwrite2d_cosp(o_reffclwmodis,modis%Cloud_Particle_Size_Water_Mean) 347 CALL histwrite2d_cosp(o_reffclimodis,modis%Cloud_Particle_Size_Ice_Mean) 348 CALL histwrite2d_cosp(o_pctmodis,modis%Cloud_Top_Pressure_Total_Mean) 349 CALL histwrite2d_cosp(o_lwpmodis,modis%Liquid_Water_Path_Mean) 350 CALL histwrite2d_cosp(o_iwpmodis,modis%Ice_Water_Path_Mean) 351 352 do ip=1,Npoints 353 do ii=1,7 354 do k=1,7 355 if(modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k).eq.R_UNDEF)then 356 modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k)=0. 357 endif 358 enddo 359 enddo 360 enddo 361 362 do icl=1,7 363 CALL histwrite3d_cosp(o_clmodis, & 364 modis%Optical_Thickness_vs_Cloud_Top_Pressure(:,icl,:),nvertisccp,icl) 365 enddo 366 endif 219 367 220 368 IF(.NOT.cosp_varsdefined) THEN … … 362 510 klevs=Ncolout 363 511 nam_axvert="column" 512 ELSE IF (nvertsave.eq.nverttemp(iff)) THEN 513 klevs=LIDAR_NTEMP 514 nam_axvert="temp" 515 ELSE IF (nvertsave.eq.nvertmisr(iff)) THEN 516 klevs=MISR_N_CTH 517 nam_axvert="cth16" 364 518 ELSE 365 519 klevs=Nlevout … … 494 648 #ifdef CPP_XIOS 495 649 IF (ok_all_xml) THEN 496 if (prt_level >= 1 0) then650 if (prt_level >= 1) then 497 651 WRITE(lunout,*)'xios_send_field variable ',var%name 498 652 endif … … 596 750 IF (ok_all_xml) THEN 597 751 CALL xios_send_field(nom, Field3d(:,:,1:nlev)) 598 IF (prt_level >= 9) WRITE(lunout,*)'xios_send_field ',var%name752 IF (prt_level >= 1) WRITE(lunout,*)'xios_send_field ',var%name 599 753 ENDIF 600 754 #endif
Note: See TracChangeset
for help on using the changeset viewer.