Changeset 3730 for LMDZ6/branches


Ignore:
Timestamp:
Jun 23, 2020, 9:51:01 AM (4 years ago)
Author:
idelkadi
Message:

Debugging COSP v2 for simulators Calipso, Parasol, Cloudsat

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ-COSP/libf/phylmd/cospv2/lmdz_cosp_output_write_mod.F90

    r3723 r3730  
    273273   endif
    274274   if (cfg%LlidarBetaMol532) then
    275      where(cospOUT%calipso_tau_tot == R_UNDEF) cospOUT%calipso_tau_tot = missing_val
     275     where(cospOUT%calipso_beta_mol == R_UNDEF) cospOUT%calipso_beta_mol = missing_val
    276276     CALL histwrite3d_cosp(o_lidarBetaMol532,cospOUT%calipso_beta_mol,nvertmcosp)
    277277   endif
     
    282282!!!! Sorties Ground Lidar
    283283 if (cfg%LgrLidar532) then
    284 
    285    where(cospOUT%grLidar532_beta_tot == R_UNDEF) cospOUT%grLidar532_beta_tot = missing_val
    286    where(cospOUT%grLidar532_cfad_sr == R_UNDEF) cospOUT%grLidar532_cfad_sr = missing_val
    287    where(cospOUT%grLidar532_lidarcld == R_UNDEF) cospOUT%grLidar532_lidarcld = missing_val
    288    where(cospOUT%grLidar532_cldlayer == R_UNDEF) cospOUT%grLidar532_cldlayer = missing_val
    289    where(cospOUT%grLidar532_beta_mol == R_UNDEF) cospOUT%grLidar532_beta_mol = missing_val
    290    where(cospOUT%grLidar532_srbval == R_UNDEF) cospOUT%grLidar532_srbval = missing_val
    291 
    292    if (cfg%LcllgrLidar532) CALL histwrite2d_cosp(o_cllgrLidar532,cospOUT%grLidar532_cldlayer(:,1))
    293    if (cfg%LclmgrLidar532) CALL histwrite2d_cosp(o_clmgrLidar532,cospOUT%grLidar532_cldlayer(:,2))
    294    if (cfg%LclhgrLidar532) CALL histwrite2d_cosp(o_clhgrLidar532,cospOUT%grLidar532_cldlayer(:,3))
    295    if (cfg%LcltgrLidar532) CALL histwrite2d_cosp(o_cltgrLidar532,cospOUT%grLidar532_cldlayer(:,4))
    296 
    297    if (cfg%LclgrLidar532) CALL histwrite3d_cosp(o_clgrLidar532,cospOUT%grLidar532_lidarcld,nvert)
    298    if (cfg%LlidarBetaMol532gr) CALL histwrite3d_cosp(o_lidarBetaMol532gr,cospOUT%grLidar532_beta_mol,nvertmcosp)
    299 
    300    do icl=1,SR_BINS
     284! AI juin 2020 Voir a quoi correspond ce champs
     285!   where(cospOUT%grLidar532_srbval == R_UNDEF) cospOUT%grLidar532_srbval = missing_val
     286
     287   if (cfg%LcllgrLidar532) then
     288      where(cospOUT%grLidar532_cldlayer(:,1) == R_UNDEF) cospOUT%grLidar532_cldlayer(:,1) = missing_val
     289      CALL histwrite2d_cosp(o_cllgrLidar532,cospOUT%grLidar532_cldlayer(:,1))
     290   endif
     291   if (cfg%LclmgrLidar532) then
     292      where(cospOUT%grLidar532_cldlayer(:,2) == R_UNDEF) cospOUT%grLidar532_cldlayer(:,2) = missing_val
     293      CALL histwrite2d_cosp(o_clmgrLidar532,cospOUT%grLidar532_cldlayer(:,2))
     294   endif
     295   if (cfg%LclhgrLidar532) then
     296      where(cospOUT%grLidar532_cldlayer(:,3) == R_UNDEF) cospOUT%grLidar532_cldlayer(:,3) = missing_val
     297      CALL histwrite2d_cosp(o_clhgrLidar532,cospOUT%grLidar532_cldlayer(:,3))
     298   endif
     299   if (cfg%LcltgrLidar532) then
     300      where(cospOUT%grLidar532_cldlayer(:,4) == R_UNDEF) cospOUT%grLidar532_cldlayer(:,4) = missing_val
     301      CALL histwrite2d_cosp(o_cltgrLidar532,cospOUT%grLidar532_cldlayer(:,4))
     302   endif
     303
     304   if (cfg%LclgrLidar532) then
     305       where(cospOUT%grLidar532_lidarcld == R_UNDEF) cospOUT%grLidar532_lidarcld = missing_val
     306      CALL histwrite3d_cosp(o_clgrLidar532,cospOUT%grLidar532_lidarcld,nvert)
     307   endif
     308   if (cfg%LlidarBetaMol532gr) then
     309      where(cospOUT%grLidar532_beta_mol == R_UNDEF) cospOUT%grLidar532_beta_mol = missing_val
     310      CALL histwrite3d_cosp(o_lidarBetaMol532gr,cospOUT%grLidar532_beta_mol,nvertmcosp)
     311   endif
     312   if (cfg%LcfadLidarsr532gr) then
     313     where(cospOUT%grLidar532_cfad_sr == R_UNDEF) cospOUT%grLidar532_cfad_sr = missing_val
     314     do icl=1,SR_BINS
    301315      do k=1,Nlvgrid
    302316       do ip=1,Npoints
     
    304318       enddo
    305319      enddo
    306    enddo
    307    if (cfg%LcfadLidarsr532gr) CALL histwrite4d_cosp(o_cfadLidarsr532gr,tmp_fi4da_cfadLgr)
    308 
    309    if (cfg%Latb532gr) CALL histwrite4d_cosp(o_atb532gr,cospOUT%grLidar532_beta_tot)
    310 
     320     enddo
     321     CALL histwrite4d_cosp(o_cfadLidarsr532gr,tmp_fi4da_cfadLgr)
     322   endif
     323
     324   if (cfg%Latb532gr) then
     325      where(cospOUT%grLidar532_beta_tot == R_UNDEF) cospOUT%grLidar532_beta_tot = missing_val
     326      CALL histwrite4d_cosp(o_atb532gr,cospOUT%grLidar532_beta_tot)
     327   endif
    311328endif ! Ground Lidar 532 nm
    312329
     
    314331!!!! Sorties Atlid
    315332 if (cfg%Latlid) then
    316 
    317    where(cospOUT%atlid_beta_tot == R_UNDEF) cospOUT%atlid_beta_tot = missing_val
    318    where(cospOUT%atlid_cfad_sr == R_UNDEF) cospOUT%atlid_cfad_sr = missing_val
    319    where(cospOUT%atlid_lidarcld == R_UNDEF) cospOUT%atlid_lidarcld = missing_val
    320    where(cospOUT%atlid_cldlayer == R_UNDEF) cospOUT%atlid_cldlayer = missing_val
    321    where(cospOUT%atlid_beta_mol == R_UNDEF) cospOUT%atlid_beta_mol = missing_val
    322    where(cospOUT%atlid_srbval == R_UNDEF) cospOUT%atlid_srbval = missing_val
    323 
    324    if (cfg%Lcllatlid) CALL histwrite2d_cosp(o_cllatlid,cospOUT%atlid_cldlayer(:,1))
    325    if (cfg%Lclmatlid) CALL histwrite2d_cosp(o_clmatlid,cospOUT%atlid_cldlayer(:,2))
    326    if (cfg%Lclhatlid) CALL histwrite2d_cosp(o_clhatlid,cospOUT%atlid_cldlayer(:,3))
    327    if (cfg%Lcltatlid) CALL histwrite2d_cosp(o_cltatlid,cospOUT%atlid_cldlayer(:,4))
    328 
    329    if (cfg%Lclatlid) CALL histwrite3d_cosp(o_clatlid,cospOUT%atlid_lidarcld,nvert)
    330    if (cfg%LlidarBetaMol355) CALL histwrite3d_cosp(o_lidarBetaMol355,cospOUT%atlid_beta_mol,nvertmcosp)
    331 
    332    do icl=1,SR_BINS
     333! AI juin 2020 Voir a quoi correspond ce champs
     334!   where(cospOUT%atlid_srbval == R_UNDEF) cospOUT%atlid_srbval = missing_val
     335
     336   if (cfg%Lcllatlid) then
     337      where(cospOUT%atlid_cldlayer(:,1) == R_UNDEF) cospOUT%atlid_cldlayer(:,1) = missing_val
     338      CALL histwrite2d_cosp(o_cllatlid,cospOUT%atlid_cldlayer(:,1))
     339   endif
     340   if (cfg%Lclmatlid) then
     341      where(cospOUT%atlid_cldlayer(:,2) == R_UNDEF) cospOUT%atlid_cldlayer(:,2) = missing_val
     342      CALL histwrite2d_cosp(o_clmatlid,cospOUT%atlid_cldlayer(:,2))
     343   endif
     344   if (cfg%Lclhatlid) then
     345      where(cospOUT%atlid_cldlayer(:,3) == R_UNDEF) cospOUT%atlid_cldlayer(:,3) = missing_val
     346      CALL histwrite2d_cosp(o_clhatlid,cospOUT%atlid_cldlayer(:,3))
     347   endif
     348   if (cfg%Lcltatlid) then
     349      where(cospOUT%atlid_cldlayer(:,4) == R_UNDEF) cospOUT%atlid_cldlayer(:,4) = missing_val
     350      CALL histwrite2d_cosp(o_cltatlid,cospOUT%atlid_cldlayer(:,4))
     351   endif
     352   if (cfg%Lclatlid) then
     353      where(cospOUT%atlid_lidarcld == R_UNDEF) cospOUT%atlid_lidarcld = missing_val
     354      CALL histwrite3d_cosp(o_clatlid,cospOUT%atlid_lidarcld,nvert)
     355   endif
     356   if (cfg%LlidarBetaMol355) then
     357      where(cospOUT%atlid_beta_mol == R_UNDEF) cospOUT%atlid_beta_mol = missing_val
     358      CALL histwrite3d_cosp(o_lidarBetaMol355,cospOUT%atlid_beta_mol,nvertmcosp)
     359   endif
     360   if (cfg%LcfadLidarsr355) then
     361     where(cospOUT%atlid_cfad_sr == R_UNDEF) cospOUT%atlid_cfad_sr = missing_val
     362     do icl=1,SR_BINS
    333363      do k=1,Nlvgrid
    334364       do ip=1,Npoints
     
    336366       enddo
    337367      enddo
    338    enddo
    339    if (cfg%LcfadLidarsr355) CALL histwrite4d_cosp(o_cfadlidarsr355,tmp_fi4da_cfadLatlid)
    340 
    341    if (cfg%Latb355) CALL histwrite4d_cosp(o_atb355,cospOUT%atlid_beta_tot)
    342 
     368     enddo
     369     CALL histwrite4d_cosp(o_cfadlidarsr355,tmp_fi4da_cfadLatlid)
     370   endif
     371
     372   if (cfg%Latb355) then
     373      where(cospOUT%atlid_beta_tot == R_UNDEF) cospOUT%atlid_beta_tot = missing_val
     374      CALL histwrite4d_cosp(o_atb355,cospOUT%atlid_beta_tot)
     375   endif
    343376endif ! Atlid
    344377
     
    346379 if (cfg%Lparasol) then
    347380   if (cfg%LparasolRefl) then
    348 ! Ces 2 diagnostics sont controles par la clef logique "LparasolRefl"
    349 
    350 !!!   if (cfg%LparasolRefl) CALL histwrite3d_cosp(o_parasolrefl,cospOUT%parasolrefl,nvertp)
     381     where(cospOUT%parasolGrid_refl == R_UNDEF) cospOUT%parasolGrid_refl = missing_val
     382     where(cospOUT%parasolPix_refl == R_UNDEF) cospOUT%parasolPix_refl = missing_val
    351383     CALL histwrite3d_cosp(o_parasolGrid_refl,cospOUT%parasolGrid_refl,nvertp)
    352 
    353384     CALL histwrite4d_cosp(o_parasolPix_refl,cospOUT%parasolPix_refl)
    354 
    355     endif ! LparasolRefl
    356    endif ! Parasol
     385   endif ! LparasolRefl
     386 endif ! Parasol
    357387
    358388!  if (cfg%LparasolRefl) then
     
    376406!!! Sorties CloudSat
    377407 if (cfg%Lcloudsat) then
    378 
    379    where(cospOUT%cloudsat_Ze_tot == R_UNDEF) cospOUT%cloudsat_Ze_tot = missing_val
    380    where(cospOUT%cloudsat_cfad_ze == R_UNDEF) cospOUT%cloudsat_cfad_ze = missing_val
    381    where(cospOUT%cloudsat_precip_cover == R_UNDEF) cospOUT%cloudsat_precip_cover = missing_val
    382    where(cospOUT%cloudsat_pia == R_UNDEF) cospOUT%cloudsat_pia = missing_val
    383 
    384    if (cfg%Lptradarflag0) CALL histwrite2d_cosp(o_ptradarflag0,cospOUT%cloudsat_precip_cover(:,1))
    385    if (cfg%Lptradarflag1) CALL histwrite2d_cosp(o_ptradarflag1,cospOUT%cloudsat_precip_cover(:,2))
    386    if (cfg%Lptradarflag2) CALL histwrite2d_cosp(o_ptradarflag2,cospOUT%cloudsat_precip_cover(:,3))
    387    if (cfg%Lptradarflag3) CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,4))
    388    if (cfg%Lptradarflag4) CALL histwrite2d_cosp(o_ptradarflag4,cospOUT%cloudsat_precip_cover(:,5))
    389    if (cfg%Lptradarflag5) CALL histwrite2d_cosp(o_ptradarflag5,cospOUT%cloudsat_precip_cover(:,6))
    390    if (cfg%Lptradarflag6) CALL histwrite2d_cosp(o_ptradarflag6,cospOUT%cloudsat_precip_cover(:,7))
    391    if (cfg%Lptradarflag7) CALL histwrite2d_cosp(o_ptradarflag7,cospOUT%cloudsat_precip_cover(:,8))
    392    if (cfg%Lptradarflag8) CALL histwrite2d_cosp(o_ptradarflag8,cospOUT%cloudsat_precip_cover(:,9))
    393    if (cfg%Lptradarflag9) CALL histwrite2d_cosp(o_ptradarflag9,cospOUT%cloudsat_precip_cover(:,10))
    394    if (cfg%Lradarpia) CALL histwrite2d_cosp(o_radarpia,cospOUT%cloudsat_pia)
    395 
    396    do icl=1,CLOUDSAT_DBZE_BINS
     408! AI juin 2020 voir a quoi correspond ce champs
     409!   where(cospOUT%cloudsat_pia == R_UNDEF) cospOUT%cloudsat_pia = missing_val
     410
     411   if (cfg%Lptradarflag0) then
     412     where(cospOUT%cloudsat_precip_cover(:,1) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,1) = missing_val
     413     CALL histwrite2d_cosp(o_ptradarflag0,cospOUT%cloudsat_precip_cover(:,1))
     414   endif
     415   if (cfg%Lptradarflag1) then
     416     where(cospOUT%cloudsat_precip_cover(:,2) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,2) = missing_val
     417     CALL histwrite2d_cosp(o_ptradarflag1,cospOUT%cloudsat_precip_cover(:,2))
     418   endif
     419   if (cfg%Lptradarflag2) then
     420      where(cospOUT%cloudsat_precip_cover(:,3) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,3) = missing_val
     421      CALL histwrite2d_cosp(o_ptradarflag2,cospOUT%cloudsat_precip_cover(:,3))
     422   endif
     423   if (cfg%Lptradarflag3) then
     424      where(cospOUT%cloudsat_precip_cover(:,4) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,4) = missing_val
     425      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,4))
     426   endif
     427   if (cfg%Lptradarflag4) then
     428      where(cospOUT%cloudsat_precip_cover(:,5) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,5) = missing_val
     429      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,5))
     430   endif
     431   if (cfg%Lptradarflag5) then
     432      where(cospOUT%cloudsat_precip_cover(:,6) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,6) = missing_val
     433      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,6))
     434   endif
     435   if (cfg%Lptradarflag6) then
     436      where(cospOUT%cloudsat_precip_cover(:,7) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,7) = missing_val
     437      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,7))
     438   endif
     439   if (cfg%Lptradarflag7) then
     440      where(cospOUT%cloudsat_precip_cover(:,8) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,8) = missing_val
     441      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,8))
     442   endif
     443   if (cfg%Lptradarflag8) then
     444      where(cospOUT%cloudsat_precip_cover(:,9) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,9) = missing_val
     445      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,9))
     446   endif
     447   if (cfg%Lptradarflag9) then
     448      where(cospOUT%cloudsat_precip_cover(:,10) == R_UNDEF) cospOUT%cloudsat_precip_cover(:,10) = missing_val
     449      CALL histwrite2d_cosp(o_ptradarflag3,cospOUT%cloudsat_precip_cover(:,10))
     450   endif
     451
     452   if (cfg%Ldbze94) then
     453     where(cospOUT%cloudsat_Ze_tot == R_UNDEF) cospOUT%cloudsat_Ze_tot = missing_val
     454     CALL histwrite4d_cosp(o_dbze94,cospOUT%cloudsat_Ze_tot)
     455   endif
     456   if (cfg%LcfadDbze94)  then
     457     where(cospOUT%cloudsat_cfad_ze == R_UNDEF) cospOUT%cloudsat_cfad_ze = missing_val 
     458     do icl=1,CLOUDSAT_DBZE_BINS
    397459      do k=1,Nlvgrid
    398460       do ip=1,Npoints
     
    400462       enddo
    401463      enddo
    402    enddo
    403    if (cfg%Ldbze94) CALL histwrite4d_cosp(o_dbze94,cospOUT%cloudsat_Ze_tot)
    404 !   if (cfg%LcfadDbze94) CALL histwrite4d_cosp(o_cfadDbze94,stradar%cfad_ze)
    405    if (cfg%LcfadDbze94) CALL histwrite4d_cosp(o_cfadDbze94,tmp_fi4da_cfadR)
     464     enddo
     465     CALL histwrite4d_cosp(o_cfadDbze94,tmp_fi4da_cfadR)
     466  endif
    406467 endif
    407468! endif pour CloudSat
     
    410471!!! Sorties combinees Cloudsat et Calipso
    411472 if (cfg%Lcalipso .and. cfg%Lcloudsat) then
    412    where(cospOUT%lidar_only_freq_cloud == R_UNDEF) &
     473
     474   if (cfg%Lclcalipso2) then
     475     where(cospOUT%lidar_only_freq_cloud == R_UNDEF) &
    413476                           cospOUT%lidar_only_freq_cloud = missing_val
    414    where(cospOUT%cloudsat_tcc == R_UNDEF) &
     477     CALL histwrite3d_cosp(o_clcalipso2,cospOUT%lidar_only_freq_cloud,nvert)
     478   endif
     479   if (cfg%Lcloudsat_tcc) then
     480     where(cospOUT%cloudsat_tcc == R_UNDEF) &
    415481                           cospOUT%cloudsat_tcc = missing_val
    416    where(cospOUT%cloudsat_tcc2 == R_UNDEF) &
     482     CALL histwrite2d_cosp(o_cloudsat_tcc,cospOUT%cloudsat_tcc)
     483   endif
     484   if (cfg%Lcloudsat_tcc2) then
     485     where(cospOUT%cloudsat_tcc2 == R_UNDEF) &
    417486                           cospOUT%cloudsat_tcc2 = missing_val
    418    where(cospOUT%radar_lidar_tcc == R_UNDEF) &
    419                            cospOUT%radar_lidar_tcc = missing_val
    420 
    421    if (cfg%Lclcalipso2) CALL histwrite3d_cosp(o_clcalipso2,cospOUT%lidar_only_freq_cloud,nvert)
    422    if (cfg%Lcloudsat_tcc) CALL histwrite2d_cosp(o_cloudsat_tcc,cospOUT%cloudsat_tcc)
    423    if (cfg%Lcloudsat_tcc2) CALL histwrite2d_cosp(o_cloudsat_tcc2,cospOUT%cloudsat_tcc2)
    424    if (cfg%Lcltlidarradar) CALL histwrite2d_cosp(o_cltlidarradar,cospOUT%radar_lidar_tcc)
     487     CALL histwrite2d_cosp(o_cloudsat_tcc2,cospOUT%cloudsat_tcc2)
     488   endif
     489   if (cfg%Lcltlidarradar) then
     490     where(cospOUT%radar_lidar_tcc == R_UNDEF) &
     491                           cospOUT%radar_lidar_tcc = missing_val     
     492     CALL histwrite2d_cosp(o_cltlidarradar,cospOUT%radar_lidar_tcc)
     493   endif
    425494 endif
    426495
Note: See TracChangeset for help on using the changeset viewer.