Changeset 3173 for LMDZ6/branches/IPSLCM6.0.15
- Timestamp:
- Feb 1, 2018, 12:26:50 PM (7 years ago)
- Location:
- LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/cosp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/cosp/cosp_output_write_mod.F90
r3152 r3173 27 27 #ifdef CPP_XIOS 28 28 USE wxios, only: wxios_closedef 29 USE xios, only: xios_update_calendar 29 USE xios, only: xios_update_calendar, xios_field_is_active 30 30 #endif 31 31 … … 50 50 real, dimension(Npoints,PARASOL_NREFL) :: parasolcrefl, Ncref 51 51 52 53 52 #ifdef CPP_XIOS 54 53 missing_val=missing_cosp … … 83 82 endif 84 83 85 #ifdef CPP_XIOS 86 !$OMP MASTER 87 IF (cosp_varsdefined) THEN 88 if (prt_level >= 10) then 89 WRITE(lunout,*)'Apell xios_update_calendar cosp_varsdefined iinitend ', & 90 cosp_varsdefined,iinitend 91 endif 92 CALL xios_update_calendar(itau_wcosp) 93 ENDIF 94 !$OMP END MASTER 95 !$OMP BARRIER 96 #endif 97 84 !!#ifdef CPP_XIOS 85 ! !$OMP MASTER 86 !IF (cosp_varsdefined) THEN 87 ! if (prt_level >= 10) then 88 ! WRITE(lunout,*)'Apell xios_update_calendar cosp_varsdefined iinitend ', & 89 ! cosp_varsdefined,iinitend 90 ! endif 91 ! CALL xios_update_calendar(itau_wcosp) 92 !ENDIF 93 ! !$OMP END MASTER 94 ! !$OMP BARRIER 95 !!#endif 96 97 !!!! Sorties Calipso 98 98 if (cfg%Llidar_sim) then 99 99 ! Pb des valeurs indefinies, on les met a 0 100 100 ! A refaire proprement 101 do k = 1,Nlevout 102 do ip = 1,Npoints 103 if(stlidar%lidarcld(ip,k).eq.R_UNDEF)then 104 stlidar%lidarcld(ip,k)=missing_val 105 endif 106 if(stlidar%proftemp(ip,k).eq.R_UNDEF)then !TIBO 107 stlidar%proftemp(ip,k)=missing_val !TIBO 108 endif !TIBO 109 enddo 110 111 do ii= 1,SR_BINS 112 do ip = 1,Npoints 113 if(stlidar%cfad_sr(ip,ii,k).eq.R_UNDEF)then 114 stlidar%cfad_sr(ip,ii,k)=missing_val 115 endif 116 enddo 117 enddo 118 119 do ii= 1,Ncolumns !TIBO 120 do ip = 1,Npoints !TIBO 121 ! if(stlidar%profSR(ip,ii,k).eq.R_UNDEF)then !TIBO 122 ! stlidar%profSR(ip,ii,k)=missing_val !TIBO 123 if(stlidar%profSR(ip,k,ii).eq.R_UNDEF)then !TIBO2 124 stlidar%profSR(ip,k,ii)=missing_val !TIBO2 125 endif !TIBO 126 enddo !TIBO 127 enddo !TIBO 128 enddo 129 130 do ip = 1,Npoints 131 do k = 1,Nlevlmdz 132 if(sglidar%beta_mol(ip,k).eq.R_UNDEF)then 133 sglidar%beta_mol(ip,k)=missing_val 134 endif 135 136 do ii= 1,Ncolumns 137 if(sglidar%beta_tot(ip,ii,k).eq.R_UNDEF)then 138 sglidar%beta_tot(ip,ii,k)=missing_val 139 endif 140 enddo 141 142 enddo !k = 1,Nlevlmdz 143 enddo !ip = 1,Npoints 144 145 do k = 1,LIDAR_NCAT 146 do ip = 1,Npoints 147 if(stlidar%cldlayer(ip,k).eq.R_UNDEF)then 148 stlidar%cldlayer(ip,k)=missing_val 149 endif 150 enddo 151 enddo 152 153 do k = 1,LIDAR_NTYPE !OPAQ 154 do ip = 1,Npoints !OPAQ 155 if(stlidar%cldtype(ip,k).eq.R_UNDEF)then !OPAQ 156 stlidar%cldtype(ip,k)=missing_val !OPAQ 157 endif !OPAQ 158 enddo !OPAQ 159 enddo !OPAQ 160 101 ! do k = 1,Nlevout 102 ! do ip = 1,Npoints 103 ! if(stlidar%lidarcld(ip,k).eq.R_UNDEF)then 104 ! stlidar%lidarcld(ip,k)=missing_val 105 ! endif 106 ! if(stlidar%proftemp(ip,k).eq.R_UNDEF)then !TIBO 107 ! stlidar%proftemp(ip,k)=missing_val !TIBO 108 ! endif !TIBO 109 ! enddo 110 111 ! do ii= 1,Ncolumns !TIBO 112 ! do ip = 1,Npoints !TIBO 113 !! if(stlidar%profSR(ip,ii,k).eq.R_UNDEF)then !TIBO 114 !! stlidar%profSR(ip,ii,k)=missing_val !TIBO 115 ! if(stlidar%profSR(ip,k,ii).eq.R_UNDEF)then !TIBO2 116 ! stlidar%profSR(ip,k,ii)=missing_val !TIBO2 117 ! endif !TIBO 118 ! enddo !TIBO 119 ! enddo !TIBO 120 ! enddo 121 122 ! do ip = 1,Npoints 123 ! do k = 1,Nlevlmdz 124 ! if(sglidar%beta_mol(ip,k).eq.R_UNDEF)then 125 ! sglidar%beta_mol(ip,k)=missing_val 126 ! endif 127 128 ! do ii= 1,Ncolumns 129 ! if(sglidar%beta_tot(ip,ii,k).eq.R_UNDEF)then 130 ! sglidar%beta_tot(ip,ii,k)=missing_val 131 ! endif 132 ! enddo 133 134 ! enddo !k = 1,Nlevlmdz 135 ! enddo !ip = 1,Npoints 136 137 ! do k = 1,LIDAR_NCAT 138 ! do ip = 1,Npoints 139 ! if(stlidar%cldlayer(ip,k).eq.R_UNDEF)then 140 ! stlidar%cldlayer(ip,k)=missing_val 141 ! endif 142 ! enddo 143 ! enddo 144 145 ! do k = 1,LIDAR_NTYPE !OPAQ 146 ! do ip = 1,Npoints !OPAQ 147 ! if(stlidar%cldtype(ip,k).eq.R_UNDEF)then !OPAQ 148 ! stlidar%cldtype(ip,k)=missing_val !OPAQ 149 ! endif !OPAQ 150 ! enddo !OPAQ 151 ! enddo !OPAQ 152 153 !!! AI 02 2018 154 ! Traitement missing_val 155 where(stlidar%lidarcld == R_UNDEF) stlidar%lidarcld = missing_val 156 where(stlidar%proftemp == R_UNDEF) stlidar%proftemp = missing_val !TIBO 157 where(stlidar%profSR == R_UNDEF) stlidar%profSR = missing_val !TIBO2 158 where(sglidar%beta_mol == R_UNDEF) sglidar%beta_mol = missing_val 159 where(sglidar%beta_tot == R_UNDEF) sglidar%beta_tot = missing_val 160 where(stlidar%cldlayer == R_UNDEF) stlidar%cldlayer = missing_val 161 where(stlidar%cldtype == R_UNDEF) stlidar%cldtype = missing_val !OPAQ 162 where(stlidar%cfad_sr == R_UNDEF) stlidar%cfad_sr = missing_val 161 163 ! AI 11 / 2015 162 163 164 where(stlidar%parasolrefl == R_UNDEF) stlidar%parasolrefl = missing_val 164 165 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = missing_val … … 167 168 where(stlidar%lidarcldtype == R_UNDEF) stlidar%lidarcldtype = missing_val !OPAQ 168 169 where(stlidar%lidarcldtmp == R_UNDEF) stlidar%lidarcldtmp = missing_val 169 170 171 print*,'Appel histwrite2d_cosp' 170 171 ! print*,'Appel histwrite2d_cosp' 172 172 CALL histwrite2d_cosp(o_cllcalipso,stlidar%cldlayer(:,1)) 173 173 CALL histwrite2d_cosp(o_clhcalipso,stlidar%cldlayer(:,3)) … … 249 249 endif !Lidar 250 250 251 !!! Sorties Cloudsat 251 252 if (cfg%Lradar_sim) then 252 253 254 where(stradar%cfad_ze == R_UNDEF) stradar%cfad_ze = missing_val 253 255 #ifdef CPP_XIOS 254 256 CALL histwrite4d_cosp(o_dbze94,sgradar%Ze_tot) … … 264 266 endif 265 267 268 !!! Sorties combinees Cloudsat et Calipso 266 269 if (cfg%Llidar_sim .and. cfg%Lradar_sim) then 267 270 where(stradar%lidar_only_freq_cloud == R_UNDEF) & … … 273 276 endif 274 277 278 !!! Sorties Isccp 275 279 if (cfg%Lisccp_sim) then 276 277 280 ! Traitement des valeurs indefinies 278 do ip = 1,Npoints 279 if(isccp%totalcldarea(ip).eq.R_UNDEF)then 280 isccp%totalcldarea(ip)=missing_val 281 endif 282 if(isccp%meanptop(ip).eq.R_UNDEF)then 283 isccp%meanptop(ip)=missing_val 284 endif 285 if(isccp%meantaucld(ip).eq.R_UNDEF)then 286 isccp%meantaucld(ip)=missing_val 287 endif 288 if(isccp%meanalbedocld(ip).eq.R_UNDEF)then 289 isccp%meanalbedocld(ip)=missing_val 290 endif 291 if(isccp%meantb(ip).eq.R_UNDEF)then 292 isccp%meantb(ip)=missing_val 293 endif 294 if(isccp%meantbclr(ip).eq.R_UNDEF)then 295 isccp%meantbclr(ip)=missing_val 296 endif 297 298 do k=1,7 299 do ii=1,7 300 if(isccp%fq_isccp(ip,ii,k).eq.R_UNDEF)then 301 isccp%fq_isccp(ip,ii,k)=missing_val 302 endif 303 enddo 304 enddo 305 306 do ii=1,Ncolumns 307 if(isccp%boxtau(ip,ii).eq.R_UNDEF)then 308 isccp%boxtau(ip,ii)=missing_val 309 endif 310 enddo 311 312 do ii=1,Ncolumns 313 if(isccp%boxptop(ip,ii).eq.R_UNDEF)then 314 isccp%boxptop(ip,ii)=missing_val 315 endif 316 enddo 317 enddo 281 ! do ip = 1,Npoints 282 ! if(isccp%totalcldarea(ip).eq.R_UNDEF)then 283 ! isccp%totalcldarea(ip)=missing_val 284 ! endif 285 ! if(isccp%meanptop(ip).eq.R_UNDEF)then 286 ! isccp%meanptop(ip)=missing_val 287 ! endif 288 ! if(isccp%meantaucld(ip).eq.R_UNDEF)then 289 ! isccp%meantaucld(ip)=missing_val 290 ! endif 291 ! if(isccp%meanalbedocld(ip).eq.R_UNDEF)then 292 ! isccp%meanalbedocld(ip)=missing_val 293 ! endif 294 ! if(isccp%meantb(ip).eq.R_UNDEF)then 295 ! isccp%meantb(ip)=missing_val 296 ! endif 297 ! if(isccp%meantbclr(ip).eq.R_UNDEF)then 298 ! isccp%meantbclr(ip)=missing_val 299 ! endif 300 301 ! do k=1,7 302 ! do ii=1,7 303 ! if(isccp%fq_isccp(ip,ii,k).eq.R_UNDEF)then 304 ! isccp%fq_isccp(ip,ii,k)=missing_val 305 ! endif 306 ! enddo 307 ! enddo 308 309 ! do ii=1,Ncolumns 310 ! if(isccp%boxtau(ip,ii).eq.R_UNDEF)then 311 ! isccp%boxtau(ip,ii)=missing_val 312 ! endif 313 ! enddo 314 315 ! do ii=1,Ncolumns 316 ! if(isccp%boxptop(ip,ii).eq.R_UNDEF)then 317 ! isccp%boxptop(ip,ii)=missing_val 318 ! endif 319 ! enddo 320 ! enddo 321 where(isccp%totalcldarea == R_UNDEF) isccp%totalcldarea = missing_val 322 where(isccp%meanptop == R_UNDEF) isccp%meanptop = missing_val 323 where(isccp%meantaucld == R_UNDEF) isccp%meantaucld = missing_val 324 where(isccp%meanalbedocld == R_UNDEF) isccp%meanalbedocld = missing_val 325 where(isccp%meantb == R_UNDEF) isccp%meantb = missing_val 326 where(isccp%meantbclr == R_UNDEF) isccp%meantbclr = missing_val 327 where(isccp%fq_isccp == R_UNDEF) isccp%fq_isccp = missing_val 328 where(isccp%boxtau == R_UNDEF) isccp%boxtau = missing_val 329 where(isccp%boxptop == R_UNDEF) isccp%boxptop = missing_val 318 330 319 331 CALL histwrite2d_cosp(o_sunlit,gbx%sunlit) … … 335 347 endif ! Isccp 336 348 337 ! MISR simulator349 !!! MISR simulator 338 350 if (cfg%Lmisr_sim) then 339 do ip=1,Npoints 340 do ii=1,7 341 do k=1,MISR_N_CTH 342 if(misr%fq_MISR(ip,ii,k).eq.R_UNDEF)then 343 misr%fq_MISR(ip,ii,k)=missing_val 344 endif 345 enddo 346 enddo 347 enddo 351 ! do ip=1,Npoints 352 ! do ii=1,7 353 ! do k=1,MISR_N_CTH 354 ! if(misr%fq_MISR(ip,ii,k).eq.R_UNDEF)then 355 ! misr%fq_MISR(ip,ii,k)=missing_val 356 ! endif 357 ! enddo 358 ! enddo 359 ! enddo 360 where(misr%fq_MISR == R_UNDEF) misr%fq_MISR = missing_val 348 361 349 362 #ifdef CPP_XIOS … … 356 369 endif 357 370 358 ! Modis simulator371 !!! Modis simulator 359 372 if (cfg%Lmodis_sim) then 360 361 do ip=1,Npoints 362 if(modis%Cloud_Fraction_Low_Mean(ip).eq.R_UNDEF)then 363 modis%Cloud_Fraction_Low_Mean(ip)=missing_val 364 endif 365 if(modis%Cloud_Fraction_High_Mean(ip).eq.R_UNDEF)then 366 modis%Cloud_Fraction_High_Mean(ip)=missing_val 367 endif 368 if(modis%Cloud_Fraction_Mid_Mean(ip).eq.R_UNDEF)then 369 modis%Cloud_Fraction_Mid_Mean(ip)=missing_val 370 endif 371 if(modis%Cloud_Fraction_Total_Mean(ip).eq.R_UNDEF)then 372 modis%Cloud_Fraction_Total_Mean(ip)=missing_val 373 endif 374 if(modis%Cloud_Fraction_Water_Mean(ip).eq.R_UNDEF)then 375 modis%Cloud_Fraction_Water_Mean(ip)=missing_val 376 endif 377 if(modis%Cloud_Fraction_Ice_Mean(ip).eq.R_UNDEF)then 378 modis%Cloud_Fraction_Ice_Mean(ip)=missing_val 379 endif 380 if(modis%Optical_Thickness_Total_Mean(ip).eq.R_UNDEF)then 381 modis%Optical_Thickness_Total_Mean(ip)=missing_val 382 endif 383 if(modis%Optical_Thickness_Water_Mean(ip).eq.R_UNDEF)then 384 modis%Optical_Thickness_Water_Mean(ip)=missing_val 385 endif 386 if(modis%Optical_Thickness_Ice_Mean(ip).eq.R_UNDEF)then 387 modis%Optical_Thickness_Ice_Mean(ip)=missing_val 388 endif 389 if(modis%Cloud_Particle_Size_Water_Mean(ip).eq.R_UNDEF)then 390 modis%Cloud_Particle_Size_Water_Mean(ip)=missing_val 391 endif 392 if(modis%Cloud_Particle_Size_Ice_Mean(ip).eq.R_UNDEF)then 393 modis%Cloud_Particle_Size_Ice_Mean(ip)=missing_val 394 endif 395 if(modis%Cloud_Top_Pressure_Total_Mean(ip).eq.R_UNDEF)then 396 modis%Cloud_Top_Pressure_Total_Mean(ip)=missing_val 397 endif 398 if(modis%Liquid_Water_Path_Mean(ip).eq.R_UNDEF)then 399 modis%Liquid_Water_Path_Mean(ip)=missing_val 400 endif 401 if(modis%Ice_Water_Path_Mean(ip).eq.R_UNDEF)then 402 modis%Ice_Water_Path_Mean(ip)=missing_val 403 endif 404 405 enddo 373 where(modis%Cloud_Fraction_Low_Mean == R_UNDEF) & 374 modis%Cloud_Fraction_Low_Mean = missing_val 375 where(modis%Cloud_Fraction_High_Mean == R_UNDEF) & 376 modis%Cloud_Fraction_High_Mean = missing_val 377 where(modis%Cloud_Fraction_Mid_Mean == R_UNDEF) & 378 modis%Cloud_Fraction_Mid_Mean = missing_val 379 where(modis%Cloud_Fraction_Total_Mean == R_UNDEF) & 380 modis%Cloud_Fraction_Total_Mean = missing_val 381 where(modis%Cloud_Fraction_Water_Mean == R_UNDEF) & 382 modis%Cloud_Fraction_Water_Mean = missing_val 383 where(modis%Cloud_Fraction_Ice_Mean == R_UNDEF) & 384 modis%Cloud_Fraction_Ice_Mean = missing_val 385 where(modis%Optical_Thickness_Total_Mean == R_UNDEF) & 386 modis%Optical_Thickness_Total_Mean = missing_val 387 where(modis%Optical_Thickness_Water_Mean == R_UNDEF) & 388 modis%Optical_Thickness_Water_Mean = missing_val 389 where(modis%Optical_Thickness_Ice_Mean == R_UNDEF) & 390 modis%Optical_Thickness_Ice_Mean = missing_val 391 where(modis%Cloud_Particle_Size_Water_Mean == R_UNDEF) & 392 modis%Cloud_Particle_Size_Water_Mean = missing_val 393 where(modis%Cloud_Particle_Size_Ice_Mean == R_UNDEF) & 394 modis%Cloud_Particle_Size_Ice_Mean = missing_val 395 where(modis%Cloud_Top_Pressure_Total_Mean == R_UNDEF) & 396 modis%Cloud_Top_Pressure_Total_Mean = missing_val 397 where(modis%Liquid_Water_Path_Mean == R_UNDEF) & 398 modis%Liquid_Water_Path_Mean = missing_val 399 where(modis%Ice_Water_Path_Mean == R_UNDEF) & 400 modis%Ice_Water_Path_Mean = missing_val 401 402 ! de ip=1,Npoints 403 ! if(modis%Cloud_Fraction_Low_Mean(ip).eq.R_UNDEF)then 404 ! modis%Cloud_Fraction_Low_Mean(ip)=missing_val 405 ! endif 406 ! if(modis%Cloud_Fraction_High_Mean(ip).eq.R_UNDEF)then 407 ! modis%Cloud_Fraction_High_Mean(ip)=missing_val 408 ! endif 409 ! if(modis%Cloud_Fraction_Mid_Mean(ip).eq.R_UNDEF)then 410 ! modis%Cloud_Fraction_Mid_Mean(ip)=missing_val 411 ! endif 412 ! if(modis%Cloud_Fraction_Total_Mean(ip).eq.R_UNDEF)then 413 ! modis%Cloud_Fraction_Total_Mean(ip)=missing_val 414 ! endif 415 ! if(modis%Cloud_Fraction_Water_Mean(ip).eq.R_UNDEF)then 416 ! modis%Cloud_Fraction_Water_Mean(ip)=missing_val 417 ! endif 418 ! if(modis%Cloud_Fraction_Ice_Mean(ip).eq.R_UNDEF)then 419 ! modis%Cloud_Fraction_Ice_Mean(ip)=missing_val 420 ! endif 421 ! if(modis%Optical_Thickness_Total_Mean(ip).eq.R_UNDEF)then 422 ! modis%Optical_Thickness_Total_Mean(ip)=missing_val 423 ! endif 424 ! if(modis%Optical_Thickness_Water_Mean(ip).eq.R_UNDEF)then 425 ! modis%Optical_Thickness_Water_Mean(ip)=missing_val 426 ! endif 427 ! if(modis%Optical_Thickness_Ice_Mean(ip).eq.R_UNDEF)then 428 ! modis%Optical_Thickness_Ice_Mean(ip)=missing_val 429 ! endif 430 ! if(modis%Cloud_Particle_Size_Water_Mean(ip).eq.R_UNDEF)then 431 ! modis%Cloud_Particle_Size_Water_Mean(ip)=missing_val 432 ! endif 433 ! if(modis%Cloud_Particle_Size_Ice_Mean(ip).eq.R_UNDEF)then 434 ! modis%Cloud_Particle_Size_Ice_Mean(ip)=missing_val 435 ! endif 436 ! if(modis%Cloud_Top_Pressure_Total_Mean(ip).eq.R_UNDEF)then 437 ! modis%Cloud_Top_Pressure_Total_Mean(ip)=missing_val 438 ! endif 439 ! if(modis%Liquid_Water_Path_Mean(ip).eq.R_UNDEF)then 440 ! modis%Liquid_Water_Path_Mean(ip)=missing_val 441 ! endif 442 ! if(modis%Ice_Water_Path_Mean(ip).eq.R_UNDEF)then 443 ! modis%Ice_Water_Path_Mean(ip)=missing_val 444 ! endif 445 ! enddo 406 446 407 447 where(modis%Optical_Thickness_Total_LogMean == R_UNDEF) & 408 448 modis%Optical_Thickness_Total_LogMean = missing_val 409 449 410 411 450 where(modis%Optical_Thickness_Water_LogMean == R_UNDEF) & 412 451 modis%Optical_Thickness_Water_LogMean = missing_val … … 433 472 CALL histwrite2d_cosp(o_iwpmodis,modis%Ice_Water_Path_Mean) 434 473 435 do ip=1,Npoints 436 do ii=1,7 437 do k=1,7 438 if(modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k).eq.R_UNDEF)then 439 modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k)=missing_val 440 endif 441 enddo 442 enddo 443 enddo 474 ! do ip=1,Npoints 475 ! do ii=1,7 476 ! do k=1,7 477 ! if(modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k).eq.R_UNDEF)then 478 ! modis%Optical_Thickness_vs_Cloud_Top_Pressure(ip,ii,k)=missing_val 479 ! endif 480 ! enddo 481 ! enddo 482 ! enddo 483 where(modis%Optical_Thickness_vs_Cloud_Top_Pressure == R_UNDEF) & 484 modis%Optical_Thickness_vs_Cloud_Top_Pressure = missing_val 444 485 445 486 #ifdef CPP_XIOS … … 459 500 460 501 #ifdef CPP_XIOS 461 ! print*,'dimension de crimodis=',size(modis%Optical_Thickness_vs_ReffIce,2),&462 ! size(modis%Optical_Thickness_vs_ReffIce,3)463 502 CALL histwrite4d_cosp(o_crimodis,modis%Optical_Thickness_vs_ReffIce) 464 503 CALL histwrite4d_cosp(o_crlmodis,modis%Optical_Thickness_vs_ReffLiq) -
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/cosp/phys_cosp.F90
r2835 r3173 84 84 use cosp_output_write_mod 85 85 ! use MOD_COSP_Modis_Simulator, only : cosp_modis 86 #ifdef CPP_XIOS 87 USE xios, ONLY: xios_field_is_active 88 #endif 86 89 87 90 IMPLICIT NONE … … 136 139 !$OMP THREADPRIVATE(debut_cosp) 137 140 141 logical, save :: first_write=.true. 142 !$OMP THREADPRIVATE(first_write) 143 138 144 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Input variables from LMDZ-GCM 139 145 integer :: overlaplmdz ! overlap type: 1=max, 2=rand, 3=max/rand ! cosp input (output lmdz) … … 171 177 172 178 ! Clefs Outputs 173 call read_cosp_output_nl( cosp_output_nl,cfg)179 call read_cosp_output_nl(itap,cosp_output_nl,cfg) 174 180 175 181 if (overlaplmdz.ne.overlap) then … … 178 184 print*,'Fin lecture Namelists, debut_cosp =',debut_cosp 179 185 180 print*,' Cles des differents simulateurs cosp :'186 print*,' Cles des differents simulateurs cosp 1er appel Cosp :' 181 187 print*,'Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lmodis_sim,Lrttov_sim', & 182 188 cfg%Lradar_sim,cfg%Llidar_sim,cfg%Lisccp_sim,cfg%Lmisr_sim,cfg%Lmodis_sim,cfg%Lrttov_sim 183 189 184 190 endif ! debut_cosp 191 192 !!! Ici on modifie les cles logiques selon les champs actives dans les .xml 193 #ifdef CPP_XIOS 194 if ((itap.gt.1).and.(first_write))then 195 ! call read_xiosfieldactive(cfg) 196 call read_cosp_output_nl(itap,cosp_output_nl,cfg) 197 ! print*,' Dans cosp_write itap first_writ LcfadLidarsr532 =', & 198 ! itap, first_write, cfg%LcfadLidarsr532 199 first_write=.false. 200 endif 201 ! print*,' Dans cosp_write itap LcfadLidarsr532 =', & 202 ! itap, cfg%LcfadLidarsr532 203 #endif 204 185 205 186 206 time_bnds(1) = dtime-dtime/2. … … 421 441 END SUBROUTINE read_cosp_input 422 442 443 SUBROUTINE read_xiosfieldactive(cfg) 444 445 USE MOD_COSP_TYPES 446 #ifdef CPP_XIOS 447 USE xios, ONLY: xios_field_is_active 448 #endif 449 type(cosp_config),intent(out) :: cfg 450 451 ! VEREFIER LES CHAMPS DEMANDES DANS .XML 452 ! 2. Si champs active dans .xml alors mettre la cles de sortie en true 453 IF (xios_field_is_active("cllcalipso")) cfg%Lcllcalipso=.TRUE. 454 IF (xios_field_is_active("clmcalipso")) cfg%Lclmcalipso=.TRUE. 455 IF (xios_field_is_active("clhcalipso")) cfg%Lclhcalipso=.TRUE. 456 IF (xios_field_is_active("cltcalipso")) cfg%Lcltcalipso=.TRUE. 457 ! IF (xios_field_is_active("pcllcalipso")) cfg%Lcllcalipso=.TRUE. 458 ! IF (xios_field_is_active("pclmcalipso")) cfg%Lclmcalipso=.TRUE. 459 ! IF (xios_field_is_active("pclhcalipso")) cfg%Lclhcalipso=.TRUE. 460 ! IF (xios_field_is_active("pcltcalipso")) cfg%Lcltcalipso=.TRUE. 461 IF (xios_field_is_active("cllcalipsoice")) cfg%Lcllcalipsoice=.TRUE. 462 IF (xios_field_is_active("clmcalipsoice")) cfg%Lclmcalipsoice=.TRUE. 463 IF (xios_field_is_active("clhcalipsoice")) cfg%Lclhcalipsoice=.TRUE. 464 IF (xios_field_is_active("cltcalipsoice")) cfg%Lcltcalipsoice=.TRUE. 465 IF (xios_field_is_active("cllcalipsoliq")) cfg%Lcllcalipsoliq=.TRUE. 466 IF (xios_field_is_active("clmcalipsoliq")) cfg%Lclmcalipsoliq=.TRUE. 467 IF (xios_field_is_active("clhcalipsoliq")) cfg%Lclhcalipsoliq=.TRUE. 468 IF (xios_field_is_active("cltcalipsoliq")) cfg%Lcltcalipsoliq=.TRUE. 469 IF (xios_field_is_active("cllcalipsoun")) cfg%Lcllcalipsoun=.TRUE. 470 IF (xios_field_is_active("clmcalipsoun")) cfg%Lclmcalipsoun=.TRUE. 471 IF (xios_field_is_active("clhcalipsoun")) cfg%Lclhcalipsoun=.TRUE. 472 IF (xios_field_is_active("cltcalipsoun")) cfg%Lcltcalipsoun=.TRUE. 473 IF (xios_field_is_active("clcalipso")) cfg%Lclcalipso=.TRUE. 474 ! IF (xios_field_is_active("pclcalipso")) cfg%Lclcalipso=.TRUE. 475 IF (xios_field_is_active("clcalipsoice")) cfg%Lclcalipsoice=.TRUE. 476 IF (xios_field_is_active("clcalipsoliq")) cfg%Lclcalipsoliq=.TRUE. 477 IF (xios_field_is_active("clcalipsoun")) cfg%Lclcalipsoun=.TRUE. 478 IF (xios_field_is_active("clcalipsotmp")) cfg%Lclcalipsotmp=.TRUE. 479 IF (xios_field_is_active("clcalipsotmpice")) cfg%Lclcalipsotmpice=.TRUE. 480 IF (xios_field_is_active("clcalipsotmpliq")) cfg%Lclcalipsotmpliq=.TRUE. 481 IF (xios_field_is_active("clcalipsotmpun")) cfg%Lclcalipsotmpun=.TRUE. 482 IF (xios_field_is_active("parasol_refl")) cfg%LparasolRefl=.TRUE. 483 IF (xios_field_is_active("parasol_crefl")) cfg%LparasolRefl=.TRUE. 484 IF (xios_field_is_active("Ncrefl")) cfg%LparasolRefl=.TRUE. 485 IF (xios_field_is_active("cfad_lidarsr532")) cfg%LcfadLidarsr532=.TRUE. 486 IF (xios_field_is_active("atb532")) cfg%Latb532=.TRUE. 487 IF (xios_field_is_active("beta_mol532")) cfg%LlidarBetaMol532=.TRUE. 488 IF (xios_field_is_active("clopaquecalipso")) cfg%Lclopaquecalipso=.TRUE. 489 IF (xios_field_is_active("clthincalipso")) cfg%Lclthincalipso=.TRUE. 490 IF (xios_field_is_active("clzopaquecalipso")) cfg%Lclzopaquecalipso=.TRUE. 491 IF (xios_field_is_active("clcalipsoopaque")) cfg%Lclcalipsoopaque=.TRUE. 492 IF (xios_field_is_active("clcalipsothin")) cfg%Lclcalipsothin=.TRUE. 493 IF (xios_field_is_active("clcalipsozopaque")) cfg%Lclcalipsozopaque=.TRUE. 494 IF (xios_field_is_active("clcalipsoopacity")) cfg%Lclcalipsoopacity=.TRUE. 495 IF (xios_field_is_active("proftemp")) cfg%Lproftemp=.TRUE. 496 IF (xios_field_is_active("profSR")) cfg%LprofSR=.TRUE. 497 498 IF (xios_field_is_active("cfadDbze94")) cfg%LcfadDbze94=.TRUE. 499 IF (xios_field_is_active("dbze94")) cfg%Ldbze94=.TRUE. 500 IF (xios_field_is_active("cltlidarradar")) cfg%Lcltlidarradar=.TRUE. 501 IF (xios_field_is_active("clcalipso2")) cfg%Lclcalipso2=.TRUE. 502 503 IF (xios_field_is_active("clisccp2")) cfg%Lclisccp=.TRUE. 504 IF (xios_field_is_active("boxtauisccp")) cfg%Lboxtauisccp=.TRUE. 505 IF (xios_field_is_active("boxptopisccp")) cfg%Lboxptopisccp=.TRUE. 506 IF (xios_field_is_active("tclisccp")) cfg%Lcltisccp=.TRUE. 507 IF (xios_field_is_active("ctpisccp")) cfg%Lpctisccp=.TRUE. 508 IF (xios_field_is_active("tauisccp")) cfg%Ltauisccp=.TRUE. 509 IF (xios_field_is_active("albisccp")) cfg%Lalbisccp=.TRUE. 510 IF (xios_field_is_active("meantbisccp")) cfg%Lmeantbisccp=.TRUE. 511 IF (xios_field_is_active("meantbclrisccp")) cfg%Lmeantbclrisccp=.TRUE. 512 513 IF (xios_field_is_active("clMISR")) cfg%LclMISR=.TRUE. 514 515 IF (xios_field_is_active("cllmodis")) cfg%Lcllmodis=.TRUE. 516 IF (xios_field_is_active("clmmodis")) cfg%Lclmmodis=.TRUE. 517 IF (xios_field_is_active("clhmodis")) cfg%Lclhmodis=.TRUE. 518 IF (xios_field_is_active("cltmodis")) cfg%Lcltmodis=.TRUE. 519 IF (xios_field_is_active("clwmodis")) cfg%Lclwmodis=.TRUE. 520 IF (xios_field_is_active("climodis")) cfg%Lclimodis=.TRUE. 521 IF (xios_field_is_active("tautmodis")) cfg%Ltautmodis=.TRUE. 522 IF (xios_field_is_active("tauwmodis")) cfg%Ltauwmodis=.TRUE. 523 IF (xios_field_is_active("tauimodis")) cfg%Ltauimodis=.TRUE. 524 IF (xios_field_is_active("tautlogmodis")) cfg%Ltautlogmodis=.TRUE. 525 IF (xios_field_is_active("tauilogmodis")) cfg%Ltauilogmodis=.TRUE. 526 IF (xios_field_is_active("tauwlogmodis")) cfg%Ltauwlogmodis=.TRUE. 527 IF (xios_field_is_active("reffclwmodis")) cfg%Lreffclwmodis=.TRUE. 528 IF (xios_field_is_active("reffclimodis")) cfg%Lreffclimodis=.TRUE. 529 IF (xios_field_is_active("pctmodis")) cfg%Lpctmodis=.TRUE. 530 IF (xios_field_is_active("lwpmodis")) cfg%Llwpmodis=.TRUE. 531 IF (xios_field_is_active("iwpmodis")) cfg%Liwpmodis=.TRUE. 532 IF (xios_field_is_active("clmodis")) cfg%Lclmodis=.TRUE. 533 IF (xios_field_is_active("crimodis")) cfg%Lcrimodis=.TRUE. 534 IF (xios_field_is_active("crlmodis")) cfg%Lcrlmodis=.TRUE. 535 536 ! 2. si champs demande alors activer le simulateur correspondant 537 IF (xios_field_is_active("cllcalipso").OR. & 538 xios_field_is_active("clmcalipso").OR. & 539 xios_field_is_active("clhcalipso").OR. & 540 xios_field_is_active("cltcalipso").OR. & 541 ! xios_field_is_active("pcllcalipso").OR. & 542 ! xios_field_is_active("pclmcalipso").OR. & 543 ! xios_field_is_active("pclhcalipso").OR. & 544 ! xios_field_is_active("pcltcalipso").OR. & 545 xios_field_is_active("cllcalipsoice").OR. & 546 xios_field_is_active("clmcalipsoice").OR. & 547 xios_field_is_active("clhcalipsoice").OR. & 548 xios_field_is_active("cltcalipsoice").OR. & 549 xios_field_is_active("cllcalipsoliq").OR. & 550 xios_field_is_active("clmcalipsoliq").OR. & 551 xios_field_is_active("clhcalipsoliq").OR. & 552 xios_field_is_active("cltcalipsoliq").OR. & 553 xios_field_is_active("cllcalipsoun").OR. & 554 xios_field_is_active("clmcalipsoun").OR. & 555 xios_field_is_active("clhcalipsoun").OR. & 556 xios_field_is_active("cltcalipsoun").OR. & 557 xios_field_is_active("clcalipso").OR. & 558 ! xios_field_is_active("pclcalipso").OR. & 559 xios_field_is_active("clcalipsoice").OR. & 560 xios_field_is_active("clcalipsoliq").OR. & 561 xios_field_is_active("clcalipsoun").OR. & 562 xios_field_is_active("clcalipsotmp").OR. & 563 xios_field_is_active("clcalipsotmpice").OR. & 564 xios_field_is_active("clcalipsotmpliq").OR. & 565 xios_field_is_active("clcalipsotmpun").OR. & 566 xios_field_is_active("parasol_refl").OR. & 567 xios_field_is_active("parasol_crefl").OR. & 568 xios_field_is_active("Ncrefl").OR. & 569 xios_field_is_active("cfad_lidarsr532").OR. & 570 xios_field_is_active("atb532").OR. & 571 xios_field_is_active("beta_mol532").OR. & 572 xios_field_is_active("clopaquecalipso").OR. & 573 xios_field_is_active("clthincalipso").OR. & 574 xios_field_is_active("clzopaquecalipso").OR. & 575 xios_field_is_active("clcalipsoopaque").OR. & 576 xios_field_is_active("clcalipsothin").OR. & 577 xios_field_is_active("clcalipsozopaque").OR. & 578 xios_field_is_active("clcalipsoopacity").OR. & 579 xios_field_is_active("proftemp").OR. & 580 xios_field_is_active("profSR")) cfg%Llidar_sim=.TRUE. 581 582 IF (xios_field_is_active("cfadDbze94").OR. & 583 xios_field_is_active("dbze94")) & 584 cfg%Lradar_sim=.TRUE. 585 586 IF (xios_field_is_active("cltlidarradar").OR. & 587 xios_field_is_active("clcalipso2")) THEN 588 cfg%Lradar_sim=.TRUE. 589 cfg%Llidar_sim=.TRUE. 590 ENDIF 591 592 IF (xios_field_is_active("clisccp2").OR. & 593 xios_field_is_active("boxtauisccp").OR. & 594 xios_field_is_active("boxptopisccp").OR. & 595 xios_field_is_active("tclisccp").OR. & 596 xios_field_is_active("ctpisccp").OR. & 597 xios_field_is_active("tauisccp").OR. & 598 xios_field_is_active("albisccp").OR. & 599 xios_field_is_active("meantbisccp").OR. & 600 xios_field_is_active("meantbclrisccp")) cfg%Lisccp_sim=.TRUE. 601 602 IF (xios_field_is_active("clMISR")) cfg%Lmisr_sim=.TRUE. 603 604 IF (xios_field_is_active("cllmodis").OR. & 605 xios_field_is_active("clmmodis").OR. & 606 xios_field_is_active("clhmodis").OR. & 607 xios_field_is_active("cltmodis").OR. & 608 xios_field_is_active("clwmodis").OR. & 609 xios_field_is_active("climodis").OR. & 610 xios_field_is_active("tautmodis").OR. & 611 xios_field_is_active("tauwmodis").OR. & 612 xios_field_is_active("tauimodis").OR. & 613 xios_field_is_active("tautlogmodis").OR. & 614 xios_field_is_active("tauilogmodis").OR. & 615 xios_field_is_active("tauwlogmodis").OR. & 616 xios_field_is_active("reffclwmodis").OR. & 617 xios_field_is_active("reffclimodis").OR. & 618 xios_field_is_active("pctmodis").OR. & 619 xios_field_is_active("lwpmodis").OR. & 620 xios_field_is_active("iwpmodis").OR. & 621 xios_field_is_active("clmodis").OR. & 622 xios_field_is_active("crimodis").OR. & 623 xios_field_is_active("crlmodis")) cfg%Lmodis_sim=.TRUE. 624 END SUBROUTINE read_xiosfieldactive 625 626 423 627 end subroutine phys_cosp -
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/cosp/read_cosp_output_nl.F90
r3152 r3173 2 2 !--------------- SUBROUTINE READ_COSP_OUTPUT_NL ------------------------- 3 3 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 SUBROUTINE READ_COSP_OUTPUT_NL( cosp_nl,cfg)4 SUBROUTINE READ_COSP_OUTPUT_NL(itap,cosp_nl,cfg) 5 5 USE MOD_COSP_CONSTANTS 6 6 USE MOD_COSP_TYPES … … 8 8 9 9 #ifdef CPP_XIOS 10 USE xios, ONLY: xios_ get_field_attr, xios_field_is_active10 USE xios, ONLY: xios_field_is_active 11 11 #endif 12 12 … … 14 14 type(cosp_config),intent(out) :: cfg 15 15 ! Local variables 16 integer :: i 16 integer :: i, itap 17 17 18 18 !! AI … … 79 79 ENDIF 80 80 81 ! VEREFIER LES CHAMPS DEMANDES DANS .XML82 ! 2. Si champs active dans .xml alors mettre la cles de sortie en true83 #ifdef CPP_XIOS84 IF (xios_field_is_active("cllcalipso")) Lcllcalipso=.TRUE.85 IF (xios_field_is_active("clmcalipso")) Lclmcalipso=.TRUE.86 IF (xios_field_is_active("clhcalipso")) Lclhcalipso=.TRUE.87 IF (xios_field_is_active("cltcalipso")) Lcltcalipso=.TRUE.88 IF (xios_field_is_active("pcllcalipso")) Lcllcalipso=.TRUE.89 IF (xios_field_is_active("pclmcalipso")) Lclmcalipso=.TRUE.90 IF (xios_field_is_active("pclhcalipso")) Lclhcalipso=.TRUE.91 IF (xios_field_is_active("pcltcalipso")) Lcltcalipso=.TRUE.92 IF (xios_field_is_active("cllcalipsoice")) Lcllcalipsoice=.TRUE.93 IF (xios_field_is_active("clmcalipsoice")) Lclmcalipsoice=.TRUE.94 IF (xios_field_is_active("clhcalipsoice")) Lclhcalipsoice=.TRUE.95 IF (xios_field_is_active("cltcalipsoice")) Lcltcalipsoice=.TRUE.96 IF (xios_field_is_active("cllcalipsoliq")) Lcllcalipsoliq=.TRUE.97 IF (xios_field_is_active("clmcalipsoliq")) Lclmcalipsoliq=.TRUE.98 IF (xios_field_is_active("clhcalipsoliq")) Lclhcalipsoliq=.TRUE.99 IF (xios_field_is_active("cltcalipsoliq")) Lcltcalipsoliq=.TRUE.100 IF (xios_field_is_active("cllcalipsoun")) Lcllcalipsoun=.TRUE.101 IF (xios_field_is_active("clmcalipsoun")) Lclmcalipsoun=.TRUE.102 IF (xios_field_is_active("clhcalipsoun")) Lclhcalipsoun=.TRUE.103 IF (xios_field_is_active("cltcalipsoun")) Lcltcalipsoun=.TRUE.104 IF (xios_field_is_active("clcalipso")) Lclcalipso=.TRUE.105 IF (xios_field_is_active("pclcalipso")) Lclcalipso=.TRUE.106 IF (xios_field_is_active("clcalipsoice")) Lclcalipsoice=.TRUE.107 IF (xios_field_is_active("clcalipsoliq")) Lclcalipsoliq=.TRUE.108 IF (xios_field_is_active("clcalipsoun")) Lclcalipsoun=.TRUE.109 IF (xios_field_is_active("clcalipsotmp")) Lclcalipsotmp=.TRUE.110 IF (xios_field_is_active("clcalipsotmpice")) Lclcalipsotmpice=.TRUE.111 IF (xios_field_is_active("clcalipsotmpliq")) Lclcalipsotmpliq=.TRUE.112 IF (xios_field_is_active("clcalipsotmpun")) Lclcalipsotmpun=.TRUE.113 IF (xios_field_is_active("parasol_refl")) Lparasol_refl=.TRUE.114 IF (xios_field_is_active("parasol_crefl")) Lparasol_refl=.TRUE.115 IF (xios_field_is_active("Ncrefl")) Lparasol_refl=.TRUE.116 IF (xios_field_is_active("cfad_lidarsr532")) LcfadLidarsr532=.TRUE.117 IF (xios_field_is_active("atb532")) Latb532=.TRUE.118 IF (xios_field_is_active("beta_mol532")) Lbeta_mol532=.TRUE.119 IF (xios_field_is_active("clopaquecalipso")) Lclopaquecalipso=.TRUE.120 IF (xios_field_is_active("clthincalipso")) Lclthincalipso=.TRUE.121 IF (xios_field_is_active("clzopaquecalipso")) Lclzopaquecalipso=.TRUE.122 IF (xios_field_is_active("clcalipsoopaque")) Lclcalipsoopaque=.TRUE.123 IF (xios_field_is_active("clcalipsothin")) Lclcalipsothin=.TRUE.124 IF (xios_field_is_active("clcalipsozopaque")) Lclcalipsozopaque=.TRUE.125 IF (xios_field_is_active("clcalipsoopacity")) Lclcalipsoopacity=.TRUE.126 IF (xios_field_is_active("proftemp")) Lproftemp=.TRUE.127 IF (xios_field_is_active("profSR")) LprofSR=.TRUE.128 129 IF (xios_field_is_active("cfadDbze94")) LcfadDbze94=.TRUE.130 IF (xios_field_is_active("dbze94")) Ldbze94=.TRUE.131 IF (xios_field_is_active("cltlidarradar")) Lcltlidarradar=.TRUE.132 IF (xios_field_is_active("clcalipso2")) Lclcalipso2=.TRUE.133 134 IF (xios_field_is_active("clisccp2")) Lclisccp2=.TRUE.135 IF (xios_field_is_active("boxtauisccp")) Lboxtauisccp=.TRUE.136 IF (xios_field_is_active("boxptopisccp")) Lboxptopisccp=.TRUE.137 IF (xios_field_is_active("tclisccp")) Ltclisccp=.TRUE.138 IF (xios_field_is_active("ctpisccp")) Lctpisccp=.TRUE.139 IF (xios_field_is_active("tauisccp")) Ltauisccp=.TRUE.140 IF (xios_field_is_active("albisccp")) Lalbisccp=.TRUE.141 IF (xios_field_is_active("meantbisccp")) Lmeantbisccp=.TRUE.142 IF (xios_field_is_active("meantbclrisccp")) Lmeantbclrisccp=.TRUE.143 144 IF (xios_field_is_active("clMISR")) LclMISR=.TRUE.145 146 IF (xios_field_is_active("cllmodis")) Lcllmodis=.TRUE.147 IF (xios_field_is_active("clmmodis")) Lclmmodis=.TRUE.148 IF (xios_field_is_active("clhmodis")) Lclhmodis=.TRUE.149 IF (xios_field_is_active("cltmodis")) Lcltmodis=.TRUE.150 IF (xios_field_is_active("clwmodis")) Lclwmodis=.TRUE.151 IF (xios_field_is_active("climodis")) Lclimodis=.TRUE.152 IF (xios_field_is_active("tautmodis")) Ltautmodis=.TRUE.153 IF (xios_field_is_active("tauwmodis")) Ltauwmodis=.TRUE.154 IF (xios_field_is_active("tauimodis")) Ltauimodis=.TRUE.155 IF (xios_field_is_active("tautlogmodis")) Ltautlogmodis=.TRUE.156 IF (xios_field_is_active("tauilogmodis")) Ltauilogmodis=.TRUE.157 IF (xios_field_is_active("tauwlogmodis")) Ltauwlogmodis=.TRUE.158 IF (xios_field_is_active("reffclwmodis")) Lreffclwmodis=.TRUE.159 IF (xios_field_is_active("reffclimodis")) Lreffclimodis=.TRUE.160 IF (xios_field_is_active("pctmodis")) Lpctmodis=.TRUE.161 IF (xios_field_is_active("lwpmodis")) Llwpmodis=.TRUE.162 IF (xios_field_is_active("iwpmodis")) Liwpmodis=.TRUE.163 IF (xios_field_is_active("clmodis")) Lclmodis=.TRUE.164 ! IF (xios_field_is_active("jpdftaureicemodis")) Lcrimodis=.TRUE.165 IF (xios_field_is_active("crimodis")) Lcrimodis=.TRUE.166 ! IF (xios_field_is_active("jpdftaureliqmodis")) Lcrlmodis=.TRUE.167 IF (xios_field_is_active("crlmodis")) Lcrlmodis=.TRUE.168 169 ! 2. si champs demande alors activer le simulateur correspondant170 IF (xios_field_is_active("cllcalipso").OR. &171 xios_field_is_active("clmcalipso").OR. &172 xios_field_is_active("clhcalipso").OR. &173 xios_field_is_active("cltcalipso").OR. &174 xios_field_is_active("pcllcalipso").OR. &175 xios_field_is_active("pclmcalipso").OR. &176 xios_field_is_active("pclhcalipso").OR. &177 xios_field_is_active("pcltcalipso").OR. &178 xios_field_is_active("cllcalipsoice").OR. &179 xios_field_is_active("clmcalipsoice").OR. &180 xios_field_is_active("clhcalipsoice").OR. &181 xios_field_is_active("cltcalipsoice").OR. &182 xios_field_is_active("cllcalipsoliq").OR. &183 xios_field_is_active("clmcalipsoliq").OR. &184 xios_field_is_active("clhcalipsoliq").OR. &185 xios_field_is_active("cltcalipsoliq").OR. &186 xios_field_is_active("cllcalipsoun").OR. &187 xios_field_is_active("clmcalipsoun").OR. &188 xios_field_is_active("clhcalipsoun").OR. &189 xios_field_is_active("cltcalipsoun").OR. &190 xios_field_is_active("clcalipso").OR. &191 xios_field_is_active("pclcalipso").OR. &192 xios_field_is_active("clcalipsoice").OR. &193 xios_field_is_active("clcalipsoliq").OR. &194 xios_field_is_active("clcalipsoun").OR. &195 xios_field_is_active("clcalipsotmp").OR. &196 xios_field_is_active("clcalipsotmpice").OR. &197 xios_field_is_active("clcalipsotmpliq").OR. &198 xios_field_is_active("clcalipsotmpun").OR. &199 xios_field_is_active("parasol_refl").OR. &200 xios_field_is_active("parasol_crefl").OR. &201 xios_field_is_active("Ncrefl").OR. &202 xios_field_is_active("cfad_lidarsr532").OR. &203 xios_field_is_active("atb532").OR. &204 xios_field_is_active("beta_mol532").OR. &205 xios_field_is_active("clopaquecalipso").OR. &206 xios_field_is_active("clthincalipso").OR. &207 xios_field_is_active("clzopaquecalipso").OR. &208 xios_field_is_active("clcalipsoopaque").OR. &209 xios_field_is_active("clcalipsothin").OR. &210 xios_field_is_active("clcalipsozopaque").OR. &211 xios_field_is_active("clcalipsoopacity").OR. &212 xios_field_is_active("proftemp").OR. &213 xios_field_is_active("profSR")) &214 Llidar_sim=.TRUE.215 216 IF (xios_field_is_active("cfadDbze94").OR. &217 xios_field_is_active("dbze94")) &218 Lradar_sim=.TRUE.219 220 IF (xios_field_is_active("cltlidarradar").OR. &221 xios_field_is_active("clcalipso2")) THEN222 Lradar_sim=.TRUE.223 Llidar_sim=.TRUE.224 ENDIF225 226 IF (xios_field_is_active("clisccp2").OR. &227 xios_field_is_active("boxtauisccp").OR. &228 xios_field_is_active("boxptopisccp").OR. &229 xios_field_is_active("tclisccp").OR. &230 xios_field_is_active("ctpisccp").OR. &231 xios_field_is_active("tauisccp").OR. &232 xios_field_is_active("albisccp").OR. &233 xios_field_is_active("meantbisccp").OR. &234 xios_field_is_active("meantbclrisccp")) &235 Lisccp_sim=.TRUE.236 237 IF (xios_field_is_active("clMISR")) Lmisr_sim=.TRUE.238 239 IF (xios_field_is_active("cllmodis").OR. &240 xios_field_is_active("clmmodis").OR. &241 xios_field_is_active("clhmodis").OR. &242 xios_field_is_active("cltmodis").OR. &243 xios_field_is_active("clwmodis").OR. &244 xios_field_is_active("climodis").OR. &245 xios_field_is_active("tautmodis").OR. &246 xios_field_is_active("tauwmodis").OR. &247 xios_field_is_active("tauimodis").OR. &248 xios_field_is_active("tautlogmodis").OR. &249 xios_field_is_active("tauilogmodis").OR. &250 xios_field_is_active("tauwlogmodis").OR. &251 xios_field_is_active("reffclwmodis").OR. &252 xios_field_is_active("reffclimodis").OR. &253 xios_field_is_active("pctmodis").OR. &254 xios_field_is_active("lwpmodis").OR. &255 xios_field_is_active("iwpmodis").OR. &256 xios_field_is_active("clmodis").OR. &257 xios_field_is_active("crimodis").OR. &258 xios_field_is_active("crlmodis")) &259 Lmodis_sim=.TRUE.260 261 #endif262 263 264 81 CALL bcast(Lradar_sim) 265 82 CALL bcast(Llidar_sim) … … 348 165 ! print*,' Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lrttov_sim', & 349 166 ! Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lrttov_sim 167 350 168 351 169 ! Deal with dependencies … … 714 532 cfg%Lcrimodis=Lcrimodis 715 533 cfg%Lcrlmodis=Lcrlmodis 534 535 if (itap.gt.1) then 536 537 ! VEREFIER LES CHAMPS DEMANDES DANS .XML 538 ! 2. Si champs active dans .xml alors mettre la cles de sortie en true 539 IF (xios_field_is_active("cllcalipso")) cfg%Lcllcalipso=.TRUE. 540 IF (xios_field_is_active("clmcalipso")) cfg%Lclmcalipso=.TRUE. 541 IF (xios_field_is_active("clhcalipso")) cfg%Lclhcalipso=.TRUE. 542 IF (xios_field_is_active("cltcalipso")) cfg%Lcltcalipso=.TRUE. 543 ! IF (xios_field_is_active("pcllcalipso")) cfg%Lcllcalipso=.TRUE. 544 ! IF (xios_field_is_active("pclmcalipso")) cfg%Lclmcalipso=.TRUE. 545 ! IF (xios_field_is_active("pclhcalipso")) cfg%Lclhcalipso=.TRUE. 546 ! IF (xios_field_is_active("pcltcalipso")) cfg%Lcltcalipso=.TRUE. 547 IF (xios_field_is_active("cllcalipsoice")) cfg%Lcllcalipsoice=.TRUE. 548 IF (xios_field_is_active("clmcalipsoice")) cfg%Lclmcalipsoice=.TRUE. 549 IF (xios_field_is_active("clhcalipsoice")) cfg%Lclhcalipsoice=.TRUE. 550 IF (xios_field_is_active("cltcalipsoice")) cfg%Lcltcalipsoice=.TRUE. 551 IF (xios_field_is_active("cllcalipsoliq")) cfg%Lcllcalipsoliq=.TRUE. 552 IF (xios_field_is_active("clmcalipsoliq")) cfg%Lclmcalipsoliq=.TRUE. 553 IF (xios_field_is_active("clhcalipsoliq")) cfg%Lclhcalipsoliq=.TRUE. 554 IF (xios_field_is_active("cltcalipsoliq")) cfg%Lcltcalipsoliq=.TRUE. 555 IF (xios_field_is_active("cllcalipsoun")) cfg%Lcllcalipsoun=.TRUE. 556 IF (xios_field_is_active("clmcalipsoun")) cfg%Lclmcalipsoun=.TRUE. 557 IF (xios_field_is_active("clhcalipsoun")) cfg%Lclhcalipsoun=.TRUE. 558 IF (xios_field_is_active("cltcalipsoun")) cfg%Lcltcalipsoun=.TRUE. 559 IF (xios_field_is_active("clcalipso")) cfg%Lclcalipso=.TRUE. 560 ! IF (xios_field_is_active("pclcalipso")) cfg%Lclcalipso=.TRUE. 561 IF (xios_field_is_active("clcalipsoice")) cfg%Lclcalipsoice=.TRUE. 562 IF (xios_field_is_active("clcalipsoliq")) cfg%Lclcalipsoliq=.TRUE. 563 IF (xios_field_is_active("clcalipsoun")) cfg%Lclcalipsoun=.TRUE. 564 IF (xios_field_is_active("clcalipsotmp")) cfg%Lclcalipsotmp=.TRUE. 565 IF (xios_field_is_active("clcalipsotmpice")) cfg%Lclcalipsotmpice=.TRUE. 566 IF (xios_field_is_active("clcalipsotmpliq")) cfg%Lclcalipsotmpliq=.TRUE. 567 IF (xios_field_is_active("clcalipsotmpun")) cfg%Lclcalipsotmpun=.TRUE. 568 IF (xios_field_is_active("parasol_refl")) cfg%LparasolRefl=.TRUE. 569 IF (xios_field_is_active("parasol_crefl")) cfg%LparasolRefl=.TRUE. 570 IF (xios_field_is_active("Ncrefl")) cfg%LparasolRefl=.TRUE. 571 IF (xios_field_is_active("cfad_lidarsr532")) cfg%LcfadLidarsr532=.TRUE. 572 IF (xios_field_is_active("atb532")) cfg%Latb532=.TRUE. 573 IF (xios_field_is_active("beta_mol532")) cfg%LlidarBetaMol532=.TRUE. 574 IF (xios_field_is_active("clopaquecalipso")) cfg%Lclopaquecalipso=.TRUE. 575 IF (xios_field_is_active("clthincalipso")) cfg%Lclthincalipso=.TRUE. 576 IF (xios_field_is_active("clzopaquecalipso")) cfg%Lclzopaquecalipso=.TRUE. 577 IF (xios_field_is_active("clcalipsoopaque")) cfg%Lclcalipsoopaque=.TRUE. 578 IF (xios_field_is_active("clcalipsothin")) cfg%Lclcalipsothin=.TRUE. 579 IF (xios_field_is_active("clcalipsozopaque")) cfg%Lclcalipsozopaque=.TRUE. 580 IF (xios_field_is_active("clcalipsoopacity")) cfg%Lclcalipsoopacity=.TRUE. 581 IF (xios_field_is_active("proftemp")) cfg%Lproftemp=.TRUE. 582 IF (xios_field_is_active("profSR")) cfg%LprofSR=.TRUE. 583 584 IF (xios_field_is_active("cfadDbze94")) cfg%LcfadDbze94=.TRUE. 585 IF (xios_field_is_active("dbze94")) cfg%Ldbze94=.TRUE. 586 IF (xios_field_is_active("cltlidarradar")) cfg%Lcltlidarradar=.TRUE. 587 IF (xios_field_is_active("clcalipso2")) cfg%Lclcalipso2=.TRUE. 588 589 IF (xios_field_is_active("clisccp2")) cfg%Lclisccp=.TRUE. 590 IF (xios_field_is_active("boxtauisccp")) cfg%Lboxtauisccp=.TRUE. 591 IF (xios_field_is_active("boxptopisccp")) cfg%Lboxptopisccp=.TRUE. 592 IF (xios_field_is_active("tclisccp")) cfg%Lcltisccp=.TRUE. 593 IF (xios_field_is_active("ctpisccp")) cfg%Lpctisccp=.TRUE. 594 IF (xios_field_is_active("tauisccp")) cfg%Ltauisccp=.TRUE. 595 IF (xios_field_is_active("albisccp")) cfg%Lalbisccp=.TRUE. 596 IF (xios_field_is_active("meantbisccp")) cfg%Lmeantbisccp=.TRUE. 597 IF (xios_field_is_active("meantbclrisccp")) cfg%Lmeantbclrisccp=.TRUE. 598 599 IF (xios_field_is_active("clMISR")) cfg%LclMISR=.TRUE. 600 601 IF (xios_field_is_active("cllmodis")) cfg%Lcllmodis=.TRUE. 602 IF (xios_field_is_active("clmmodis")) cfg%Lclmmodis=.TRUE. 603 IF (xios_field_is_active("clhmodis")) cfg%Lclhmodis=.TRUE. 604 IF (xios_field_is_active("cltmodis")) cfg%Lcltmodis=.TRUE. 605 IF (xios_field_is_active("clwmodis")) cfg%Lclwmodis=.TRUE. 606 IF (xios_field_is_active("climodis")) cfg%Lclimodis=.TRUE. 607 IF (xios_field_is_active("tautmodis")) cfg%Ltautmodis=.TRUE. 608 IF (xios_field_is_active("tauwmodis")) cfg%Ltauwmodis=.TRUE. 609 IF (xios_field_is_active("tauimodis")) cfg%Ltauimodis=.TRUE. 610 IF (xios_field_is_active("tautlogmodis")) cfg%Ltautlogmodis=.TRUE. 611 IF (xios_field_is_active("tauilogmodis")) cfg%Ltauilogmodis=.TRUE. 612 IF (xios_field_is_active("tauwlogmodis")) cfg%Ltauwlogmodis=.TRUE. 613 IF (xios_field_is_active("reffclwmodis")) cfg%Lreffclwmodis=.TRUE. 614 IF (xios_field_is_active("reffclimodis")) cfg%Lreffclimodis=.TRUE. 615 IF (xios_field_is_active("pctmodis")) cfg%Lpctmodis=.TRUE. 616 IF (xios_field_is_active("lwpmodis")) cfg%Llwpmodis=.TRUE. 617 IF (xios_field_is_active("iwpmodis")) cfg%Liwpmodis=.TRUE. 618 IF (xios_field_is_active("clmodis")) cfg%Lclmodis=.TRUE. 619 IF (xios_field_is_active("crimodis")) cfg%Lcrimodis=.TRUE. 620 IF (xios_field_is_active("crlmodis")) cfg%Lcrlmodis=.TRUE. 621 622 ! 2. si champs demande alors activer le simulateur correspondant 623 IF (xios_field_is_active("cllcalipso").OR. & 624 xios_field_is_active("clmcalipso").OR. & 625 xios_field_is_active("clhcalipso").OR. & 626 xios_field_is_active("cltcalipso").OR. & 627 ! xios_field_is_active("pcllcalipso").OR. & 628 ! xios_field_is_active("pclmcalipso").OR. & 629 ! xios_field_is_active("pclhcalipso").OR. & 630 ! xios_field_is_active("pcltcalipso").OR. & 631 xios_field_is_active("cllcalipsoice").OR. & 632 xios_field_is_active("clmcalipsoice").OR. & 633 xios_field_is_active("clhcalipsoice").OR. & 634 xios_field_is_active("cltcalipsoice").OR. & 635 xios_field_is_active("cllcalipsoliq").OR. & 636 xios_field_is_active("clmcalipsoliq").OR. & 637 xios_field_is_active("clhcalipsoliq").OR. & 638 xios_field_is_active("cltcalipsoliq").OR. & 639 xios_field_is_active("cllcalipsoun").OR. & 640 xios_field_is_active("clmcalipsoun").OR. & 641 xios_field_is_active("clhcalipsoun").OR. & 642 xios_field_is_active("cltcalipsoun").OR. & 643 xios_field_is_active("clcalipso").OR. & 644 ! xios_field_is_active("pclcalipso").OR. & 645 xios_field_is_active("clcalipsoice").OR. & 646 xios_field_is_active("clcalipsoliq").OR. & 647 xios_field_is_active("clcalipsoun").OR. & 648 xios_field_is_active("clcalipsotmp").OR. & 649 xios_field_is_active("clcalipsotmpice").OR. & 650 xios_field_is_active("clcalipsotmpliq").OR. & 651 xios_field_is_active("clcalipsotmpun").OR. & 652 xios_field_is_active("parasol_refl").OR. & 653 xios_field_is_active("parasol_crefl").OR. & 654 xios_field_is_active("Ncrefl").OR. & 655 xios_field_is_active("cfad_lidarsr532").OR. & 656 xios_field_is_active("atb532").OR. & 657 xios_field_is_active("beta_mol532").OR. & 658 xios_field_is_active("clopaquecalipso").OR. & 659 xios_field_is_active("clthincalipso").OR. & 660 xios_field_is_active("clzopaquecalipso").OR. & 661 xios_field_is_active("clcalipsoopaque").OR. & 662 xios_field_is_active("clcalipsothin").OR. & 663 xios_field_is_active("clcalipsozopaque").OR. & 664 xios_field_is_active("clcalipsoopacity").OR. & 665 xios_field_is_active("proftemp").OR. & 666 xios_field_is_active("profSR")) cfg%Llidar_sim=.TRUE. 667 668 IF (xios_field_is_active("cfadDbze94").OR. & 669 xios_field_is_active("dbze94")) & 670 cfg%Lradar_sim=.TRUE. 671 672 IF (xios_field_is_active("cltlidarradar").OR. & 673 xios_field_is_active("clcalipso2")) THEN 674 cfg%Lradar_sim=.TRUE. 675 cfg%Llidar_sim=.TRUE. 676 ENDIF 677 678 IF (xios_field_is_active("clisccp2").OR. & 679 xios_field_is_active("boxtauisccp").OR. & 680 xios_field_is_active("boxptopisccp").OR. & 681 xios_field_is_active("tclisccp").OR. & 682 xios_field_is_active("ctpisccp").OR. & 683 xios_field_is_active("tauisccp").OR. & 684 xios_field_is_active("albisccp").OR. & 685 xios_field_is_active("meantbisccp").OR. & 686 xios_field_is_active("meantbclrisccp")) cfg%Lisccp_sim=.TRUE. 687 688 IF (xios_field_is_active("clMISR")) cfg%Lmisr_sim=.TRUE. 689 690 IF (xios_field_is_active("cllmodis").OR. & 691 xios_field_is_active("clmmodis").OR. & 692 xios_field_is_active("clhmodis").OR. & 693 xios_field_is_active("cltmodis").OR. & 694 xios_field_is_active("clwmodis").OR. & 695 xios_field_is_active("climodis").OR. & 696 xios_field_is_active("tautmodis").OR. & 697 xios_field_is_active("tauwmodis").OR. & 698 xios_field_is_active("tauimodis").OR. & 699 xios_field_is_active("tautlogmodis").OR. & 700 xios_field_is_active("tauilogmodis").OR. & 701 xios_field_is_active("tauwlogmodis").OR. & 702 xios_field_is_active("reffclwmodis").OR. & 703 xios_field_is_active("reffclimodis").OR. & 704 xios_field_is_active("pctmodis").OR. & 705 xios_field_is_active("lwpmodis").OR. & 706 xios_field_is_active("iwpmodis").OR. & 707 xios_field_is_active("clmodis").OR. & 708 xios_field_is_active("crimodis").OR. & 709 xios_field_is_active("crlmodis")) cfg%Lmodis_sim=.TRUE. 710 711 endif 712 716 713 717 714 END SUBROUTINE READ_COSP_OUTPUT_NL
Note: See TracChangeset
for help on using the changeset viewer.