Changeset 1928 for LMDZ4


Ignore:
Timestamp:
Jan 16, 2014, 1:43:34 PM (10 years ago)
Author:
idelkadi
Message:
  • Correction du bug dans l'interface avec la physique : On ne veut pas que la distinction entre les nuages convectifs et stratiformes soit prise en compte dans les calculs Cosp. Dans l'interface avec la physique, sont passees en entree pour Cosp, les quantites totales (stratiforme + convective) du contenus en eau et d'autres variables. La fraction nuageuse convective calculee dans la physique est passee en entree pour Cosp dans la version buggee. Elle est remise a 0 dans cette version corrigee.
  • Mise a jour pour ISCCP : la fraction d'ensoleillement calculee par LMDZ est passee en argument pour Isccp
  • Rajouts d'autre variables diagnostiques : sunlit (=0 si nuit et =1 si jour) parasol_crefl (reflectance integree)
Location:
LMDZ4/branches/LMDZ4_AR5/libf
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/ini_histdayCOSP.h

    r1528 r1928  
    2121        CALL histvert(nid_day_cosp,"height","height","m",Nlevout,vgrid%z,nvert)
    2222       else
    23         CALL histvert(nid_day_cosp,"presnivs","Vertical levels","mb",Nlevout,presnivs,nvert)
     23        CALL histvert(nid_day_cosp,"presnivs","Vertical levels","mb",Nlevout,presnivs,nvert,"down")
    2424       endif
    2525
     
    2828        CALL histvert(nid_day_cosp,"sza","solar_zenith_angle","degrees",PARASOL_NREFL,PARASOL_SZA,nvertp)
    2929
    30         CALL histvert(nid_day_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp)
     30        CALL histvert(nid_day_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp,"down")
    3131
    3232        CALL histvert(nid_day_cosp,"column","column","count",Ncolumns,column_ax(1:Ncolumns),nvertcol)
     
    7777                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
    7878                        "ave(X)", zout,zstoday)   
     79            CALL histdef(nid_day_cosp, "parasol_crefl", &
     80                        "PARASOL-like mono-directional reflectance","1", &
     81                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     82                        "ave(X)", zout,zstoday)
     83            CALL histdef(nid_day_cosp, "Ncrefl", &
     84                        "0 ou 1 si reflectance <= ou > 0","1", &
     85                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     86                        "ave(X)", zout,zstoday)
    7987           endif
    8088           if (cfg%Latb532) then
     
    134142! Sorties ISCCP
    135143        if (cfg%Lisccp_sim) then
     144          CALL histdef(nid_day_cosp, "sunlit", &
     145                     "1 si jour 0 si nuit", "1", &
     146                     iim, jj_nb,nhori,1,1,1,-99,32, &
     147                     "ave(X)", zout,zstomth)
    136148         if (cfg%Lclisccp2) then
    137149            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/ini_histhfCOSP.h

    r1528 r1928  
    2121        CALL histvert(nid_hf_cosp,"height","height","m",Nlevout,vgrid%z,nvert)
    2222       else
    23         CALL histvert(nid_hf_cosp,"presnivs","Vertical levels","mb",Nlevout,presnivs,nvert)
     23        CALL histvert(nid_hf_cosp,"presnivs","Vertical levels","mb",Nlevout,presnivs,nvert,"down")
    2424       endif
    2525
     
    2828        CALL histvert(nid_hf_cosp,"sza","solar_zenith_angle","degrees",PARASOL_NREFL,PARASOL_SZA,nvertp)
    2929
    30         CALL histvert(nid_hf_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp)
     30        CALL histvert(nid_hf_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp,"down")
    3131
    3232        CALL histvert(nid_hf_cosp,"column","column","count",Ncolumns,column_ax(1:Ncolumns),nvertcol)
     
    7777                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
    7878                        "ave(X)", zout,zstohf)   
     79            CALL histdef(nid_hf_cosp, "parasol_crefl", &
     80                        "PARASOL-like mono-directional reflectance","1", &
     81                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     82                        "ave(X)", zout,zstohf)
     83            CALL histdef(nid_hf_cosp, "Ncrefl", &
     84                        "1 ou 0 si cldt > o <= 0 ","1", &
     85                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     86                        "ave(X)", zout,zstohf)
    7987           endif
    8088           if (cfg%Latb532) then
     
    134142! Sorties ISCCP
    135143        if (cfg%Lisccp_sim) then
     144
     145          CALL histdef(nid_hf_cosp, "sunlit", &
     146                     "0 si nuit 1 si jour", "1", &
     147                     iim, jj_nb,nhori,1,1,1,-99,32, &
     148                     "ave(X)", zout,zstomth)
    136149         if (cfg%Lclisccp2) then
    137150            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/ini_histmthCOSP.h

    r1528 r1928  
    2727        CALL histvert(nid_mth_cosp,"sza","solar_zenith_angle","degrees",PARASOL_NREFL,PARASOL_SZA,nvertp)
    2828
    29         CALL histvert(nid_mth_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp)
     29        CALL histvert(nid_mth_cosp,"pressure2","pressure","mb",7,ISCCP_PC,nvertisccp,"down")
    3030
    3131        CALL histvert(nid_mth_cosp,"column","column","count",Ncolumns,column_ax(1:Ncolumns),nvertcol)
     
    8484                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
    8585                        "ave(X)", zout,zstomth)   
     86            CALL histdef(nid_mth_cosp, "parasol_crefl", &
     87                        "PARASOL-like mono-directional reflectance","1", &
     88                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     89                        "ave(X)", zout,zstomth)
     90            CALL histdef(nid_mth_cosp, "Ncrefl", &
     91                        "0 ou 1 si reflectance <= ou > 0","1", &
     92                        iim,jj_nb,nhori, PARASOL_NREFL,1, PARASOL_NREFL, nvertp,32, &
     93                        "ave(X)", zout,zstomth)
    8694           endif
    8795           if (cfg%Latb532) then
     
    141149! Sorties ISCCP
    142150        if (cfg%Lisccp_sim) then
     151
     152             CALL histdef(nid_mth_cosp, "sunlit", &
     153                     "1 si jour 0 si nuit", "1", &
     154                     iim, jj_nb,nhori,1,1,1,-99,32, &
     155                     "ave(X)", zout,zstomth)
    143156         if (cfg%Lclisccp2) then
    144157            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/phys_cosp.F90

    r1535 r1928  
    11! Simulateur COSP : Cfmip Observation Simulator Package
     2
    23! ISCCP, Radar (QuickBeam), Lidar et Parasol (ACTSIM), MISR, RTTOVS
    34!Idelkadi Abderrahmane Aout-Septembre 2009
    4 
    55
    66  subroutine phys_cosp( itap,dtime,freq_cosp, &
    77                        ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, &
    88                        ecrit_mth,ecrit_day,ecrit_hf, &
    9                         Nptslmdz,Nlevlmdz,lon,lat, presnivs,overlaplmdz, &
     9                        Nptslmdz,Nlevlmdz,lon,lat, presnivs,overlaplmdz,sunlit, &
    1010                        ref_liq,ref_ice,fracTerLic,u_wind,v_wind,phis,phi,ph,p,skt,t, &
    1111                        sh,rh,tca,cca,mr_lsliq,mr_lsice,fl_lsrainI,fl_lssnowI, &
     
    144144                                     zlev,zlev_half,mr_ozone,radliq,radice,dtau_s,dem_s,ref_liq,ref_ice
    145145  real,dimension(Nptslmdz,Nlevlmdz) ::  fl_lsrainI,fl_lssnowI,fl_ccrainI,fl_ccsnowI
    146   real,dimension(Nptslmdz)        :: lon,lat,skt,fracTerLic,u_wind,v_wind,phis
     146  real,dimension(Nptslmdz)        :: lon,lat,skt,fracTerLic,u_wind,v_wind,phis,sunlit   
    147147  real,dimension(Nlevlmdz)        :: presnivs
    148148  integer                         :: itap,k,ip
    149149  real                            :: dtime,freq_cosp
    150150  logical, parameter              :: lCOSP=.FALSE.
     151
     152  real, dimension(Nptslmdz,PARASOL_NREFL) :: parasolcrefl, Ncref
    151153
    152154!
     
    237239        gbx%q = rh*100.
    238240        gbx%sh = sh
    239         gbx%cca = cca !convective_cloud_amount (1)
     241        gbx%cca = 0.
    240242        gbx%tca = tca ! total_cloud_amount (1)
    241243        gbx%psfc = ph(:,1) !pression de surface
     
    253255        gbx%u_wind  = u_wind !eastward_wind (m s-1)
    254256        gbx%v_wind  = v_wind !northward_wind
    255 ! Attention
    256         gbx%sunlit  = 1
     257
     258      do ip = 1, Npoints
     259        if (sunlit(ip).le.0.) then
     260           gbx%sunlit(ip)=0
     261        else
     262           gbx%sunlit(ip)=1
     263        endif
     264      enddo
    257265
    258266! A voir l equivalent LMDZ
     
    280288     gbx%Reff(:,:,I_CVCLIQ) = ref_liq*1e-6
    281289     gbx%Reff(:,:,I_CVCICE) = ref_ice*1e-6
    282 
    283290        ! ISCCP simulator
    284291        gbx%dtau_s   = dtau_s
     
    423430     if(isccp%boxptop(ip,ii).eq.-1.E+30)then
    424431       isccp%boxptop(ip,ii)=0.
     432     endif
     433    enddo
     434   enddo
     435
     436   do k=1,PARASOL_NREFL
     437    do ii=1, Npoints
     438     if (stlidar%cldlayer(ii,4).gt.0.01) then
     439        parasolcrefl(ii,k)=(stlidar%parasolrefl(ii,k)-0.03*(1.-stlidar%cldlayer(ii,4)))/ &
     440                   stlidar%cldlayer(ii,4)
     441        Ncref(ii,k) = 1.
     442     else
     443        parasolcrefl(ii,k)=0.
     444        Ncref(ii,k) = 0.
    425445     endif
    426446    enddo
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/write_histdayCOSP.h

    r1535 r1928  
    3838           CALL histwrite_phy(nid_day_cosp,lCOSP,"parasol_refl", &
    3939     itau_wcosp,stlidar%parasolrefl)
     40           CALL histwrite_phy(nid_day_cosp,lCOSP,"parasol_crefl", &
     41     itau_wcosp,parasolcrefl)
     42           CALL histwrite_phy(nid_day_cosp,lCOSP,"Ncrefl", &
     43     itau_wcosp,Ncref)
    4044         endif
    4145         if (cfg%Latb532) then
     
    9195! Sorties ISCCP
    9296        if (cfg%Lisccp_sim) then
     97          CALL histwrite_phy(nid_day_cosp,lCOSP,"sunlit", &
     98     itau_wcosp,sunlit)
    9399          if (cfg%Lclisccp2) then
    94100            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/write_histhfCOSP.h

    r1535 r1928  
    3838           CALL histwrite_phy(nid_hf_cosp,lCOSP,"parasol_refl", &
    3939     itau_wcosp,stlidar%parasolrefl)
     40           CALL histwrite_phy(nid_hf_cosp,lCOSP,"parasol_crefl", &
     41     itau_wcosp,parasolcrefl)
     42           CALL histwrite_phy(nid_hf_cosp,lCOSP,"Ncrefl", &
     43     itau_wcosp,Ncref)
    4044         endif
    4145         if (cfg%Latb532) then
     
    9195! Sorties ISCCP
    9296        if (cfg%Lisccp_sim) then
     97
     98          CALL histwrite_phy(nid_hf_cosp,lCOSP,"sunlit", &
     99                        itau_wcosp,gbx%sunlit)
    93100          if (cfg%Lclisccp2) then
    94101            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/cosp/write_histmthCOSP.h

    r1535 r1928  
    3838           CALL histwrite_phy(nid_mth_cosp,lCOSP,"parasol_refl", &
    3939     itau_wcosp,stlidar%parasolrefl)
     40           CALL histwrite_phy(nid_mth_cosp,lCOSP,"parasol_crefl", &
     41     itau_wcosp,parasolcrefl)
     42           CALL histwrite_phy(nid_mth_cosp,lCOSP,"Ncrefl", &
     43     itau_wcosp,Ncref)
    4044         endif
    4145         if (cfg%Latb532) then
     
    9195! Sorties ISCCP
    9296        if (cfg%Lisccp_sim) then
     97       CALL histwrite_phy(nid_mth_cosp,lCOSP,"sunlit",itau_wcosp,gbx%sunlit)
    9398          if (cfg%Lclisccp2) then
    9499            do ii=1,7
  • LMDZ4/branches/LMDZ4_AR5/libf/phylmd/physiq.F

    r1717 r1928  
    34473447     $                   ecrit_mth,ecrit_day,ecrit_hf,
    34483448     $                   klon,klev,rlon,rlat,presnivs,overlap,
    3449      $                   ref_liq,ref_ice,
     3449     $                   fract,ref_liq,ref_ice,
    34503450     $                   pctsrf(:,is_ter)+pctsrf(:,is_lic),
    34513451     $                   zu10m,zv10m,pphis,
Note: See TracChangeset for help on using the changeset viewer.