Changeset 2019 for trunk/LMDZ.GENERIC


Ignore:
Timestamp:
Oct 19, 2018, 11:38:16 AM (6 years ago)
Author:
mlefevre
Message:

Added outputs and large scale forcing (heating rate and water) for mesoscale generic model

Location:
trunk/LMDZ.GENERIC/libf/phystd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/comm_wrf.F90

    r1833 r2019  
    3232  REAL,SAVE,ALLOCATABLE :: comm_H2OICE_REFF(:,:)
    3333  REAL,SAVE,ALLOCATABLE :: comm_LATENT_HF(:)
     34  REAL,SAVE,ALLOCATABLE :: comm_REEVAP(:)
     35  REAL,SAVE,ALLOCATABLE :: comm_SURFRAIN(:)
    3436
    3537contains
     
    6668  allocate(comm_H2OICE_REFF(ngrid,nlayer))
    6769  allocate(comm_LATENT_HF(ngrid))
     70  allocate(comm_REEVAP(ngrid))
     71  allocate(comm_SURFRAIN(ngrid)
    6872
    6973  end subroutine allocate_comm_wrf
     
    98102  deallocate(comm_H2OICE_REFF)
    99103  deallocate(comm_LATENT_HF)
     104  deallocate(comm_REEVAP)
     105  deallocate(comm_SURFRAIN)
    100106
    101107  end subroutine deallocate_comm_wrf
  • trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90

    r2010 r2019  
    392392      real :: flux_sens_lat(ngrid)
    393393      real :: qsurfint(ngrid,nq)
    394 
     394#ifdef MESOSCALE
     395      REAL :: lsf_dt(nlayer)
     396      REAL :: lsf_dq(nlayer)
     397#endif
    395398
    396399!==================================================================================================
     
    21572160      comm_HR_SW(1:ngrid,1:nlayer) = zdtsw(1:ngrid,1:nlayer)
    21582161      comm_HR_LW(1:ngrid,1:nlayer) = zdtlw(1:ngrid,1:nlayer)
    2159       comm_CLOUDFRAC(1:ngrid,1:nlayer)=cloudfrac(1:ngrid,1:nlayer)
    2160       comm_TOTCLOUDFRAC(1:ngrid)=totcloudfrac(1:ngrid)
    2161       comm_RAIN(1:ngrid,1:nlayer)=zdqrain(1:ngrid,1:nlayer,igcm_h2o_vap)
    2162       comm_SNOW(1:ngrid,1:nlayer)=zdqrain(1:ngrid,1:nlayer,igcm_h2o_ice)
    2163       comm_ALBEQ(1:ngrid)=albedo_equivalent(1:ngrid)
     2162      if ((tracer).and.(water)) then
     2163        comm_CLOUDFRAC(1:ngrid,1:nlayer)=cloudfrac(1:ngrid,1:nlayer)
     2164        comm_TOTCLOUDFRAC(1:ngrid)=totcloudfrac(1:ngrid)
     2165        comm_RAIN(1:ngrid,1:nlayer)=zdqrain(1:ngrid,1:nlayer,igcm_h2o_vap)
     2166        comm_SURFRAIN(1:ngrid)=zdqsrain(1:ngrid)
     2167        comm_SNOW(1:ngrid,1:nlayer)=zdqrain(1:ngrid,1:nlayer,igcm_h2o_ice)
     2168        comm_ALBEQ(1:ngrid)=albedo_equivalent(1:ngrid)
     2169        comm_H2OICE_REFF(1:ngrid,1:nlayer)=reffrad(1:ngrid,1:nlayer,iaero_h2o)
     2170        comm_REEVAP(1:ngrid)=reevap_precip(1:ngrid)
     2171      endif
    21642172      comm_FLUXTOP_DN(1:ngrid)=fluxtop_dn(1:ngrid)
    21652173      comm_FLUXABS_SW(1:ngrid)=fluxabs_sw(1:ngrid)
     
    21692177      comm_FLXGRD(1:ngrid)=fluxgrd(1:ngrid)
    21702178      comm_LSCEZ(1:ngrid,1:nlayer)=lscaledEz(1:ngrid,1:nlayer)
    2171       comm_H2OICE_REFF(1:ngrid,1:nlayer)=reffrad(1:ngrid,1:nlayer,iaero_h2o)
    21722179      sensibFlux(1:ngrid) = zflubid(1:ngrid) - capcal(1:ngrid)*zdtsdif(1:ngrid) !!! ????
     2180
     2181      if (turb_resolved) then
     2182        open(17,file='lsf.txt',form='formatted',status='old')
     2183        rewind(17)
     2184        DO l=1,nlayer
     2185          read(17,*) lsf_dt(l),lsf_dq(l)
     2186        ENDDO
     2187        close(17)
     2188        do ig=1,ngrid
     2189          if ((tracer).and.(water)) then
     2190           pdq(ig,:,igcm_h2o_vap) = pdq(ig,:,igcm_h2o_vap) + lsf_dq(:)
     2191          endif
     2192          pdt(ig,:) = pdt(ig,:) + lsf_dt(:)
     2193          comm_HR_DYN(ig,:) = lsf_dt(:)
     2194        enddo
     2195      endif
    21732196#endif
    21742197
Note: See TracChangeset for help on using the changeset viewer.