Ignore:
Timestamp:
Mar 27, 2012, 5:02:10 PM (13 years ago)
Author:
jleconte
Message:
  • Corrects the computation of planck function at the surface in sfluxi

so that its integral is equal to sigma Tsurf4.

  • This ensure that no flux is lost due to:

-truncation of the planck function at high/low wavenumber
-numerical error during first spectral computation of the planck function
-discrepancy between Tsurf and NTS/NTfac in sfluxi

  • OLR now equal to LW net heating/cooling at equilibrium!
  • As much as possible, only the value of the stephan boltzmann constant defined in racommon_h (and the

corresponding variable, sigma) should be used. Now done in physics, vdifc and turbdiff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/sfluxi.F

    r543 r600  
    55
    66      use radinc_h
    7       use radcommon_h, only: planckir, tlimit
     7      use radcommon_h, only: planckir, tlimit,sigma
    88
    99      implicit none
     
    3333
    3434      real*8 fup_tmp(L_NSPECTI),fdn_tmp(L_NSPECTI)
     35      real*8 PLANCKSUM,PLANCKREF
    3536
    3637
     
    7273!      NTT   = TTOP *10.0D0-499
    7374
     75!JL12 corrects the surface planck function so that its integral is equal to sigma Tsurf^4
     76!JL12   this ensure that no flux is lost due to:
     77!JL12          -truncation of the planck function at high/low wavenumber
     78!JL12          -numerical error during first spectral integration
     79!JL12          -discrepancy between Tsurf and NTS/NTfac
     80      PLANCKSUM=0.d0
     81      PLANCKREF=TSURF*TSURF
     82      PLANCKREF=sigma*PLANCKREF*PLANCKREF
     83      DO NW=1,L_NSPECTI
     84         PLANCKSUM=PLANCKSUM+PLANCKIR(NW,NTS)*DWNI(NW)
     85      ENDDO
     86      PLANCKSUM=PLANCKREF/(PLANCKSUM*Pi)
     87!JL12
     88
    7489      DO 501 NW=1,L_NSPECTI
    7590
    7691C       SURFACE EMISSIONS - INDEPENDENT OF GAUSS POINTS
    77         BSURF = (1.-RSFI)*PLANCKIR(NW,NTS) ! interpolate for accuracy??
     92        BSURF = (1.-RSFI)*PLANCKIR(NW,NTS)*PLANCKSUM !JL12 plancksum see above
    7893        PLTOP = PLANCKIR(NW,NTT)
    7994
Note: See TracChangeset for help on using the changeset viewer.