Ignore:
Timestamp:
May 1, 2013, 2:01:43 AM (12 years ago)
Author:
aslmd
Message:

LMDZ.GENERIC. added the possibility to remove surface (nosurf option) and to add an internal heat flux (intheat value, default is 0.)

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

Legend:

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

    r918 r952  
    450450         albv=albedo(ig)        ! shortwave
    451451
    452       if(noradsurf.and.(albv.gt.0.0))then
     452      if(nosurf.and.(albv.gt.0.0))then
    453453         print*,'For open lower boundary in callcorrk must'
    454454         print*,'have surface albedo set to zero!'
  • trunk/LMDZ.GENERIC/libf/phystd/callkeys.h

    r873 r952  
    1111     &   , Nmix_co2, radfixed, dusttau                                  &
    1212     &   , meanOLR, specOLR                                             &
    13      &   , kastprof, noradsurf, Tstrat                                  &
     13     &   , kastprof, Tstrat                                             &
     14     &   , nosurf, intheat                                              &     
    1415     &   , newtonian, tau_relax, testradtimes                           &
    1516     &   , check_cpp_match, force_cpp                                   &
     
    6263      logical sourceevol
    6364      logical CLFvarying
    64       logical noradsurf
     65      logical nosurf
    6566
    6667      integer iddist
     
    8788      real cloudlvl
    8889      real icetstep
    89 
     90      real intheat
  • trunk/LMDZ.GENERIC/libf/phystd/inifis.F

    r873 r952  
    307307
    308308         write(*,*)"Remove lower boundary?"
    309          noradsurf=.false.
    310          call getin("noradsurf",noradsurf)
    311          write(*,*)" noradsurf = ",noradsurf
     309         nosurf=.false.
     310         call getin("nosurf",nosurf)
     311         write(*,*)" nosurf = ",nosurf
    312312
    313313! Tests of incompatibility:
    314          if (noradsurf.and.callsoil) then
    315            print*,'noradsurf not compatible with soil scheme!'
     314         if (nosurf.and.callsoil) then
     315           print*,'nosurf not compatible with soil scheme!'
     316           print*,'... got to make a choice!'
    316317           call abort
    317318         endif
    318          !if (noradsurf.and.calldifv) then
    319          !  print*,'noradsurf not compatible with a boundary layer!'
    320          !  call abort
    321          !endif
     319
     320         write(*,*)"Add an internal heat flux?",
     321     .             "... matters only if callsoil=F"
     322         intheat=0.
     323         call getin("intheat",intheat)
     324         write(*,*)" intheat = ",intheat
    322325
    323326         write(*,*)"Use Newtonian cooling for radiative transfer?"
  • trunk/LMDZ.GENERIC/libf/phystd/physiq.F90

    r918 r952  
    520520            print*,'WARNING! Thermal conduction in the soil turned off'
    521521            capcal(:)=1.e6
    522             fluxgrd(:)=0.
    523             if(noradsurf)then
    524                   fluxgrd(:)=10.0
    525             endif
    526             print*,'Flux from ground = ',fluxgrd,' W m^-2'
     522            fluxgrd(:)=intheat
     523            print*,'Flux from ground = ',intheat,' W m^-2'
    527524         endif
    528525         icount=1
     
    760757              fluxrad_sky(1:ngrid)=emis(1:ngrid)*fluxsurf_lw(1:ngrid)+fluxsurf_sw(1:ngrid)*(1.-albedo(1:ngrid))
    761758
    762               if(noradsurf)then ! no lower surface; SW flux just disappears
    763                  GSR = SUM(fluxsurf_sw(1:ngrid)*area(1:ngrid))/totarea
    764                  fluxrad_sky(1:ngrid)=emis(1:ngrid)*fluxsurf_lw(1:ngrid)
    765                  print*,'SW lost in deep atmosphere = ',GSR,' W m^-2'
    766               endif
     759              !if(noradsurf)then ! no lower surface; SW flux just disappears
     760              !   GSR = SUM(fluxsurf_sw(1:ngrid)*area(1:ngrid))/totarea
     761              !   fluxrad_sky(1:ngrid)=emis(1:ngrid)*fluxsurf_lw(1:ngrid)
     762              !   print*,'SW lost in deep atmosphere = ',GSR,' W m^-2'
     763              !endif
    767764
    768765!             Net atmospheric radiative heating rate (K.s-1)
     
    13241321!   9. Surface and sub-surface soil temperature
    13251322!-----------------------------------------------------------------------
    1326 
    13271323
    13281324!     Increment surface temperature
  • trunk/LMDZ.GENERIC/libf/phystd/turbdiff.F90

    r787 r952  
    226226         zcdv_true(ig) = cd0
    227227         zcdh_true(ig) = cd0
    228 !        zcdv_true(ig)=0.!JL12 uncomment to disable atm/surface momentum flux
    229 !        zcdh_true(ig)=0.!JL12 uncomment to disable sensible heat flux
     228       if(nosurf)then
     229         zcdv_true(ig)=0.D+0 !JL12 disable atm/surface momentum flux
     230         zcdh_true(ig)=0.D+0 !JL12 disable sensible heat flux
     231       endif
    230232      ENDDO
    231233
  • trunk/LMDZ.GENERIC/libf/phystd/vdifc.F

    r787 r952  
    234234         zcdv_true(ig) = cd0
    235235         zcdh_true(ig) = cd0
     236         if (nosurf) then
     237             zcdv_true(ig) = 0.   !! disable sensible momentum flux
     238             zcdh_true(ig) = 0.   !! disable sensible heat flux
     239         endif
    236240      ENDDO
    237241
Note: See TracChangeset for help on using the changeset viewer.