Ignore:
Timestamp:
Jan 28, 2016, 5:02:13 PM (8 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r2396:2434 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/cosp/phys_cosp.F90

    r2408 r2435  
    22
    33! ISCCP, Radar (QuickBeam), Lidar et Parasol (ACTSIM), MISR, RTTOVS
    4 !Idelkadi Abderrahmane Aout-Septembre 2009
     4!Idelkadi Abderrahmane Aout-Septembre 2009 First Version
     5!Idelkadi Abderrahmane Nov 2015 version v1.4.0
    56
    67  subroutine phys_cosp( itap,dtime,freq_cosp, &
     
    6768! meantbisccp,                          !Mean all-sky 10.5 micron brightness temperature as calculated by the ISCCP Simulator
    6869! meantbclrisccp                        !Mean clear-sky 10.5 micron brightness temperature as calculated by the ISCCP Simulator
     70
     71!!! AI rajouter les nouvelles sorties
    6972!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    7073
     74!! AI rajouter
     75  #include "cosp_defs.h"
    7176  USE MOD_COSP_CONSTANTS
    7277  USE MOD_COSP_TYPES
     
    7883  use cosp_output_mod
    7984  use cosp_output_write_mod
    80  
     85!  use MOD_COSP_Modis_Simulator, only : cosp_modis
     86
    8187  IMPLICIT NONE
    8288
     
    100106  type(cosp_sglidar) :: sglidar ! Output from lidar simulator
    101107  type(cosp_isccp)   :: isccp   ! Output from ISCCP simulator
     108!! AI rajout modis
     109  type(cosp_modis)   :: modis   ! Output from MODIS simulator
     110!!
    102111  type(cosp_misr)    :: misr    ! Output from MISR simulator
     112!! AI rajout rttovs
     113!  type(cosp_rttov)   :: rttov   ! Output from RTTOV
     114!!
    103115  type(cosp_vgrid)   :: vgrid   ! Information on vertical grid of stats
    104116  type(cosp_radarstats) :: stradar ! Summary statistics from radar simulator
     
    106118
    107119  integer :: t0,t1,count_rate,count_max
    108   integer :: Nlon,Nlat,geomode
     120  integer :: Nlon,Nlat
    109121  real,save :: radar_freq,k2,ZenAng,co2,ch4,n2o,co,emsfc_lw
    110122!$OMP THREADPRIVATE(emsfc_lw)
     
    134146  integer                         :: itap,k,ip
    135147  real                            :: dtime,freq_cosp
     148  real,dimension(2)               :: time_bnds
    136149 
    137 !
    138150   namelist/COSP_INPUT/overlap,isccp_topheight,isccp_topheight_direction, &
    139151              npoints_it,ncolumns,use_vgrid,nlr,csat_vgrid, &
     
    167179
    168180  print*,' Cles des differents simulateurs cosp :'
    169   print*,' Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lrttov_sim', &
    170           cfg%Lradar_sim,cfg%Llidar_sim,cfg%Lisccp_sim,cfg%Lmisr_sim,cfg%Lrttov_sim
     181  print*,'Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lmodis_sim,Lrttov_sim', &
     182          cfg%Lradar_sim,cfg%Llidar_sim,cfg%Lisccp_sim,cfg%Lmisr_sim,cfg%Lmodis_sim,cfg%Lrttov_sim
    171183
    172184  endif ! debut_cosp
     185
     186  time_bnds(1) = dtime-dtime/2.
     187  time_bnds(2) = dtime+dtime/2.
    173188
    174189!  print*,'Debut phys_cosp itap,dtime,freq_cosp,ecrit_mth,ecrit_day,ecrit_hf ', &
     
    178193!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    179194        print *, 'Allocating memory for gridbox type...'
    180 
    181         call construct_cosp_gridbox(dble(itap),radar_freq,surface_radar,use_mie_tables,use_gas_abs,do_ray,melt_lay,k2, &
     195!! AI
     196!        call construct_cosp_gridbox(dble(itap),radar_freq,surface_radar,use_mie_tables,use_gas_abs,do_ray,melt_lay,k2, &
     197!                                    Npoints,Nlevels,Ncolumns,N_HYDRO,Nprmts_max_hydro,Naero,Nprmts_max_aero,Npoints_it, &
     198!                                    lidar_ice_type,isccp_topheight,isccp_topheight_direction,overlap,emsfc_lw, &
     199!                                    use_precipitation_fluxes,use_reff, &
     200!                                    Platform,Satellite,Instrument,Nchannels,ZenAng, &
     201!                                    channels(1:Nchannels),surfem(1:Nchannels),co2,ch4,n2o,co,gbx)
     202! Surafce emissivity
     203        emsfc_lw = 1.
     204
     205        call construct_cosp_gridbox(dtime,time_bnds,radar_freq,surface_radar,use_mie_tables,use_gas_abs, &
     206                                    do_ray,melt_lay,k2, &
    182207                                    Npoints,Nlevels,Ncolumns,N_HYDRO,Nprmts_max_hydro,Naero,Nprmts_max_aero,Npoints_it, &
    183208                                    lidar_ice_type,isccp_topheight,isccp_topheight_direction,overlap,emsfc_lw, &
     
    230255
    231256! sunlit calcule a partir de la fraction d ensoleillement par jour
    232       do ip = 1, Npoints
    233         if (sunlit(ip).le.0.) then
    234            gbx%sunlit(ip)=0.
    235         else
    236            gbx%sunlit(ip)=1.
    237         endif
    238       enddo
     257!      do ip = 1, Npoints
     258!        if (sunlit(ip).le.0.) then
     259!           gbx%sunlit(ip)=0.
     260!        else
     261!           gbx%sunlit(ip)=1.
     262!        endif
     263!      enddo
     264       gbx%sunlit=sunlit
    239265
    240266! A voir l equivalent LMDZ
     
    260286     gbx%Reff(:,:,I_LSCLIQ) = ref_liq*1e-6
    261287     gbx%Reff(:,:,I_LSCICE) = ref_ice*1e-6
     288!! AI A revoir
    262289     gbx%Reff(:,:,I_CVCLIQ) = ref_liq*1e-6
    263290     gbx%Reff(:,:,I_CVCICE) = ref_ice*1e-6
     
    269296        gbx%dem_c    = 0.
    270297
    271 ! Surafce emissivity
    272        emsfc_lw = 1.
    273                
    274298!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    275299        ! Define new vertical grid
     
    288312        call construct_cosp_lidarstats(cfg,Npoints,Ncolumns,vgrid%Nlvgrid,N_HYDRO,PARASOL_NREFL,stlidar)
    289313        call construct_cosp_isccp(cfg,Npoints,Ncolumns,Nlevels,isccp)
     314!! AI rajout
     315        call construct_cosp_modis(cfg,Npoints,modis)
     316!!
    290317        call construct_cosp_misr(cfg,Npoints,misr)
     318!        call construct_cosp_rttov(cfg,Npoints,Nchannels,rttov)
    291319
    292320!+++++++++++++ Open output files and define output files axis !+++++++++++++
     
    306334!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    307335        print *, 'Calling simulator...'
    308         call cosp(overlap,Ncolumns,cfg,vgrid,gbx,sgx,sgradar,sglidar,isccp,misr,stradar,stlidar)
     336!! AI
     337!        call cosp(overlap,Ncolumns,cfg,vgrid,gbx,sgx,sgradar,sglidar,isccp,misr,stradar,stlidar)
     338!#ifdef RTTOV
     339!        call cosp(overlap,Ncolumns,cfg,vgrid,gbx,sgx,sgradar,sglidar,isccp,misr,modis,rttov,stradar,stlidar)
     340!#else
     341        call cosp(overlap,Ncolumns,cfg,vgrid,gbx,sgx,sgradar,sglidar,isccp,misr,modis,stradar,stlidar)
     342!#endif
     343!!
     344
    309345!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    310346
    311347!!!!!!!!!!!!!!!!!! Ecreture des sorties Cosp !!!!!!!!!!!!!!r!!!!!!:!!!!!
     348
    312349       print *, 'Calling write output'
    313350        call cosp_output_write(Nlevlmdz, Npoints, Ncolumns, itap, dtime, freq_COSP, &
    314                                cfg, gbx, vgrid, sglidar, stlidar, isccp)
     351                               cfg, gbx, vgrid, sglidar, sgradar, stlidar, stradar, &
     352                               isccp, misr, modis)
    315353
    316354!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     
    326364        call free_cosp_isccp(isccp)
    327365        call free_cosp_misr(misr)
     366!! AI
     367        call free_cosp_modis(modis)
     368!        call free_cosp_rttov(rttov)
     369!!
    328370        call free_cosp_vgrid(vgrid) 
    329371 
Note: See TracChangeset for help on using the changeset viewer.