Changeset 2794 for LMDZ5/trunk/libf/phylmd/cosp
- Timestamp:
- Feb 17, 2017, 7:32:49 PM (8 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd/cosp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cosp/cosp_output_write_mod.F90
r2760 r2794 17 17 CONTAINS 18 18 19 SUBROUTINE cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, &19 SUBROUTINE cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, missing_val, & 20 20 cfg, gbx, vgrid, sglidar, sgradar, stlidar, stradar, & 21 21 isccp, misr, modis) … … 32 32 !!! Variables d'entree 33 33 integer :: itap, Nlevlmdz, Ncolumns, Npoints 34 real :: freq_COSP, dtime 34 real :: freq_COSP, dtime, missing_val 35 35 type(cosp_config) :: cfg ! Control outputs 36 36 type(cosp_gridbox) :: gbx ! Gridbox information. Input for COSP … … 95 95 do ip = 1,Npoints 96 96 if(stlidar%lidarcld(ip,k).eq.R_UNDEF)then 97 stlidar%lidarcld(ip,k)= Cosp_fill_value97 stlidar%lidarcld(ip,k)=missing_val 98 98 endif 99 99 enddo … … 102 102 do ip = 1,Npoints 103 103 if(stlidar%cfad_sr(ip,ii,k).eq.R_UNDEF)then 104 stlidar%cfad_sr(ip,ii,k)= Cosp_fill_value104 stlidar%cfad_sr(ip,ii,k)=missing_val 105 105 endif 106 106 enddo … … 111 111 do k = 1,Nlevlmdz 112 112 if(sglidar%beta_mol(ip,k).eq.R_UNDEF)then 113 sglidar%beta_mol(ip,k)= Cosp_fill_value113 sglidar%beta_mol(ip,k)=missing_val 114 114 endif 115 115 116 116 do ii= 1,Ncolumns 117 117 if(sglidar%beta_tot(ip,ii,k).eq.R_UNDEF)then 118 sglidar%beta_tot(ip,ii,k)= Cosp_fill_value118 sglidar%beta_tot(ip,ii,k)=missing_val 119 119 endif 120 120 enddo … … 126 126 do ip = 1,Npoints 127 127 if(stlidar%cldlayer(ip,k).eq.R_UNDEF)then 128 stlidar%cldlayer(ip,k)=Cosp_fill_value128 stlidar%cldlayer(ip,k)=missing_val 129 129 endif 130 130 enddo … … 133 133 ! AI 11 / 2015 134 134 135 where(stlidar%parasolrefl == R_UNDEF) stlidar%parasolrefl = 0.0136 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = 0.0137 where(stlidar%cldlayerphase == R_UNDEF) stlidar%cldlayerphase = 0.0138 where(stlidar%lidarcldphase == R_UNDEF) stlidar%lidarcldphase = 0.0139 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = 0.0135 where(stlidar%parasolrefl == R_UNDEF) stlidar%parasolrefl = missing_val 136 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = missing_val 137 where(stlidar%cldlayerphase == R_UNDEF) stlidar%cldlayerphase = missing_val 138 where(stlidar%lidarcldphase == R_UNDEF) stlidar%lidarcldphase = missing_val 139 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = missing_val 140 140 141 141 … … 207 207 if (cfg%Llidar_sim .and. cfg%Lradar_sim) then 208 208 where(stradar%lidar_only_freq_cloud == R_UNDEF) & 209 stradar%lidar_only_freq_cloud = 0.0209 stradar%lidar_only_freq_cloud = missing_val 210 210 CALL histwrite3d_cosp(o_clcalipso2,stradar%lidar_only_freq_cloud,nvert) 211 211 where(stradar%radar_lidar_tcc == R_UNDEF) & 212 stradar%radar_lidar_tcc = 0.0212 stradar%radar_lidar_tcc = missing_val 213 213 CALL histwrite2d_cosp(o_cltlidarradar,stradar%radar_lidar_tcc) 214 214 endif … … 219 219 do ip = 1,Npoints 220 220 if(isccp%totalcldarea(ip).eq.R_UNDEF)then 221 isccp%totalcldarea(ip)= Cosp_fill_value221 isccp%totalcldarea(ip)=missing_val 222 222 endif 223 223 if(isccp%meanptop(ip).eq.R_UNDEF)then 224 isccp%meanptop(ip)= Cosp_fill_value224 isccp%meanptop(ip)=missing_val 225 225 endif 226 226 if(isccp%meantaucld(ip).eq.R_UNDEF)then 227 isccp%meantaucld(ip)= Cosp_fill_value227 isccp%meantaucld(ip)=missing_val 228 228 endif 229 229 if(isccp%meanalbedocld(ip).eq.R_UNDEF)then 230 isccp%meanalbedocld(ip)=Cosp_fill_value230 isccp%meanalbedocld(ip)=missing_val 231 231 endif 232 232 if(isccp%meantb(ip).eq.R_UNDEF)then 233 isccp%meantb(ip)=Cosp_fill_value233 isccp%meantb(ip)=missing_val 234 234 endif 235 235 if(isccp%meantbclr(ip).eq.R_UNDEF)then 236 isccp%meantbclr(ip)=Cosp_fill_value236 isccp%meantbclr(ip)=missing_val 237 237 endif 238 238 … … 240 240 do ii=1,7 241 241 if(isccp%fq_isccp(ip,ii,k).eq.R_UNDEF)then 242 isccp%fq_isccp(ip,ii,k)= Cosp_fill_value242 isccp%fq_isccp(ip,ii,k)=missing_val 243 243 endif 244 244 enddo … … 247 247 do ii=1,Ncolumns 248 248 if(isccp%boxtau(ip,ii).eq.R_UNDEF)then 249 isccp%boxtau(ip,ii)= Cosp_fill_value249 isccp%boxtau(ip,ii)=missing_val 250 250 endif 251 251 enddo … … 253 253 do ii=1,Ncolumns 254 254 if(isccp%boxptop(ip,ii).eq.R_UNDEF)then 255 isccp%boxptop(ip,ii)=Cosp_fill_value255 isccp%boxptop(ip,ii)=missing_val 256 256 endif 257 257 enddo … … 278 278 do k=1,MISR_N_CTH 279 279 if(misr%fq_MISR(ip,ii,k).eq.R_UNDEF)then 280 misr%fq_MISR(ip,ii,k)=Cosp_fill_value280 misr%fq_MISR(ip,ii,k)=missing_val 281 281 endif 282 282 enddo … … 294 294 do ip=1,Npoints 295 295 if(modis%Cloud_Fraction_Low_Mean(ip).eq.R_UNDEF)then 296 modis%Cloud_Fraction_Low_Mean(ip)=Cosp_fill_value296 modis%Cloud_Fraction_Low_Mean(ip)=missing_val 297 297 endif 298 298 if(modis%Cloud_Fraction_High_Mean(ip).eq.R_UNDEF)then 299 modis%Cloud_Fraction_High_Mean(ip)= Cosp_fill_value299 modis%Cloud_Fraction_High_Mean(ip)=missing_val 300 300 endif 301 301 if(modis%Cloud_Fraction_Mid_Mean(ip).eq.R_UNDEF)then 302 modis%Cloud_Fraction_Mid_Mean(ip)= Cosp_fill_value302 modis%Cloud_Fraction_Mid_Mean(ip)=missing_val 303 303 endif 304 304 if(modis%Cloud_Fraction_Total_Mean(ip).eq.R_UNDEF)then 305 modis%Cloud_Fraction_Total_Mean(ip)= Cosp_fill_value305 modis%Cloud_Fraction_Total_Mean(ip)=missing_val 306 306 endif 307 307 if(modis%Cloud_Fraction_Water_Mean(ip).eq.R_UNDEF)then 308 modis%Cloud_Fraction_Water_Mean(ip)= Cosp_fill_value308 modis%Cloud_Fraction_Water_Mean(ip)=missing_val 309 309 endif 310 310 if(modis%Cloud_Fraction_Ice_Mean(ip).eq.R_UNDEF)then 311 modis%Cloud_Fraction_Ice_Mean(ip)= Cosp_fill_value311 modis%Cloud_Fraction_Ice_Mean(ip)=missing_val 312 312 endif 313 313 if(modis%Optical_Thickness_Total_Mean(ip).eq.R_UNDEF)then 314 modis%Optical_Thickness_Total_Mean(ip)= Cosp_fill_value314 modis%Optical_Thickness_Total_Mean(ip)=missing_val 315 315 endif 316 316 if(modis%Optical_Thickness_Water_Mean(ip).eq.R_UNDEF)then 317 modis%Optical_Thickness_Water_Mean(ip)= Cosp_fill_value317 modis%Optical_Thickness_Water_Mean(ip)=missing_val 318 318 endif 319 319 if(modis%Optical_Thickness_Ice_Mean(ip).eq.R_UNDEF)then 320 modis%Optical_Thickness_Ice_Mean(ip)= Cosp_fill_value320 modis%Optical_Thickness_Ice_Mean(ip)=missing_val 321 321 endif 322 322 if(modis%Cloud_Particle_Size_Water_Mean(ip).eq.R_UNDEF)then 323 modis%Cloud_Particle_Size_Water_Mean(ip)= Cosp_fill_value323 modis%Cloud_Particle_Size_Water_Mean(ip)=missing_val 324 324 endif 325 325 if(modis%Cloud_Particle_Size_Ice_Mean(ip).eq.R_UNDEF)then 326 modis%Cloud_Particle_Size_Ice_Mean(ip)= Cosp_fill_value326 modis%Cloud_Particle_Size_Ice_Mean(ip)=missing_val 327 327 endif 328 328 if(modis%Cloud_Top_Pressure_Total_Mean(ip).eq.R_UNDEF)then 329 modis%Cloud_Top_Pressure_Total_Mean(ip)= Cosp_fill_value329 modis%Cloud_Top_Pressure_Total_Mean(ip)=missing_val 330 330 endif 331 331 if(modis%Liquid_Water_Path_Mean(ip).eq.R_UNDEF)then 332 modis%Liquid_Water_Path_Mean(ip)= Cosp_fill_value332 modis%Liquid_Water_Path_Mean(ip)=missing_val 333 333 endif 334 334 if(modis%Ice_Water_Path_Mean(ip).eq.R_UNDEF)then 335 modis%Ice_Water_Path_Mean(ip)= Cosp_fill_value335 modis%Ice_Water_Path_Mean(ip)=missing_val 336 336 endif 337 337 338 338 enddo 339 340 where(modis%Optical_Thickness_Total_LogMean == R_UNDEF) & 341 modis%Optical_Thickness_Total_LogMean = missing_val 342 343 344 where(modis%Optical_Thickness_Water_LogMean == R_UNDEF) & 345 modis%Optical_Thickness_Water_LogMean = missing_val 346 347 where(modis%Optical_Thickness_Ice_LogMean == R_UNDEF) & 348 modis%Optical_Thickness_Ice_LogMean = missing_val 339 349 340 350 CALL histwrite2d_cosp(o_cllmodis,modis%Cloud_Fraction_Low_Mean) … … 360 370 do k=1,7 361 371 if(modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k).eq.R_UNDEF)then 362 modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k)= 0.372 modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k)=missing_val 363 373 endif 364 374 enddo … … 372 382 373 383 where(modis%Optical_Thickness_vs_ReffIce == R_UNDEF) & 374 modis%Optical_Thickness_vs_ReffIce = Cosp_fill_value384 modis%Optical_Thickness_vs_ReffIce = missing_val 375 385 376 386 where(modis%Optical_Thickness_vs_ReffLiq == R_UNDEF) & 377 modis%Optical_Thickness_vs_ReffLiq = Cosp_fill_value387 modis%Optical_Thickness_vs_ReffLiq = missing_val 378 388 379 389 do icl=1,7 -
LMDZ5/trunk/libf/phylmd/cosp/modis_simulator.F90
r2713 r2794 538 538 Cloud_Fraction_Mid_Mean(1:nPoints) = Cloud_Fraction_Mid_Mean(1:nPoints) /nSubcols 539 539 Cloud_Fraction_Low_Mean(1:nPoints) = Cloud_Fraction_Low_Mean(1:nPoints) /nSubcols 540 Cloud_Fraction_Total_Mean(1:nPoints) = Cloud_Fraction_Total_Mean(1:nPoints) /nSubcols 540 541 541 542 ! ######################################################################################## -
LMDZ5/trunk/libf/phylmd/cosp/phys_cosp.F90
r2571 r2794 7 7 subroutine phys_cosp( itap,dtime,freq_cosp, & 8 8 ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, & 9 ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, &9 ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, missing_val, & 10 10 Nptslmdz,Nlevlmdz,lon,lat, presnivs,overlaplmdz,sunlit, & 11 11 ref_liq,ref_ice,fracTerLic,u_wind,v_wind,phis,phi,ph,p,skt,t, & … … 130 130 ! Declaration necessaires pour les sorties IOIPSL 131 131 integer :: ii 132 real :: ecrit_day,ecrit_hf,ecrit_mth 132 real :: ecrit_day,ecrit_hf,ecrit_mth, missing_val 133 133 logical :: ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, ok_all_xml 134 134 … … 348 348 349 349 print *, 'Calling write output' 350 call cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, &350 call cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, missing_val, & 351 351 cfg, gbx, vgrid, sglidar, sgradar, stlidar, stradar, & 352 352 isccp, misr, modis)
Note: See TracChangeset
for help on using the changeset viewer.