Changeset 1505


Ignore:
Timestamp:
Apr 7, 2011, 4:15:05 PM (13 years ago)
Author:
Ehouarn Millour
Message:

Added possibility to have the base of the atmosphere heated (to mimic a constant uniform heat flux from below), set in .def file (parameter ihf = ... , in W/m2); only active if in "Newtonian mode" (iflag_phys=2) and if planet_type=="giant".
EM

Location:
LMDZ5/trunk/libf
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d/comconst.h

    r1454 r1505  
    1111     &                   ,dissip_factz,dissip_deltaz,dissip_zref        &
    1212     &                   ,tau_top_bound,                                &
    13      & daylen,year_day,molmass
     13     & daylen,year_day,molmass, ihf
    1414
    1515
     
    3535      REAL molmass ! (g/mol) molar mass of the atmosphere
    3636
     37      REAL ihf ! (W/m2) Intrinsic heat flux (for giant planets)
    3738
    3839!-----------------------------------------------------------------------
  • LMDZ5/trunk/libf/dyn3d/conf_planete.F90

    r1454 r1505  
    6464CALL getin('omeg',omeg)
    6565
     66! Intrinsic heat flux (default: none) (only used if planet_type="giant")
     67ihf = 0.
     68call getin('ihf',ihf)
     69
    6670END SUBROUTINE conf_planete
  • LMDZ5/trunk/libf/dyn3d/iniacademic.F90

    r1492 r1505  
    178178           tetajl(j,l)=teta0-delt_y*ddsin*ddsin+eps*ddsin &
    179179                -delt_z*(1.-ddsin*ddsin)*log(zsig)
     180           if (planet_type=="giant") then
     181             tetajl(j,l)=teta0+(delt_y*                   &
     182                ((sin(rlatu(j)*3.14159*eps+0.0001))**2)   &
     183                / ((rlatu(j)*3.14159*eps+0.0001)**2))     &
     184                -delt_z*log(zsig)
     185           endif
    180186           ! Profil stratospherique isotherme (+vortex)
    181187           w_pv=(1.-tanh((rlatu(j)-phi_pv)/dphi_pv))/2.
  • LMDZ5/trunk/libf/dyn3d/leapfrog.F

    r1502 r1505  
    437437          ENDDO
    438438        ENDDO ! of DO l=1,llm
    439           call friction(ucov,vcov,dtvr)
     439       
     440        if (planet_type.eq."giant") then
     441          ! add an intrinsic heat flux at the base of the atmosphere
     442          teta(:,1)=teta(:,1)+dtvr*aire(:)*ihf/cpp/masse(:,1)
     443        endif
     444
     445        call friction(ucov,vcov,dtvr)
    440446       
    441447        ! Sponge layer (if any)
  • LMDZ5/trunk/libf/dyn3dpar/comconst.h

    r1454 r1505  
    1111     &                   ,dissip_factz,dissip_deltaz,dissip_zref        &
    1212     &                   ,tau_top_bound,                                &
    13      & daylen,year_day,molmass
     13     & daylen,year_day,molmass, ihf
    1414
    1515
     
    3535      REAL molmass ! (g/mol) molar mass of the atmosphere
    3636
     37      REAL ihf ! (W/m2) Intrinsic heat flux (for giant planets)
    3738
    3839!-----------------------------------------------------------------------
  • LMDZ5/trunk/libf/dyn3dpar/conf_planete.F90

    r1454 r1505  
    6464CALL getin('omeg',omeg)
    6565
     66! Intrinsic heat flux (default: none) (only used if planet_type="giant")
     67ihf = 0.
     68call getin('ihf',ihf)
     69
    6670END SUBROUTINE conf_planete
  • LMDZ5/trunk/libf/dyn3dpar/iniacademic.F90

    r1492 r1505  
    178178           tetajl(j,l)=teta0-delt_y*ddsin*ddsin+eps*ddsin &
    179179                -delt_z*(1.-ddsin*ddsin)*log(zsig)
     180           if (planet_type=="giant") then
     181             tetajl(j,l)=teta0+(delt_y*                   &
     182                ((sin(rlatu(j)*3.14159*eps+0.0001))**2)   &
     183                / ((rlatu(j)*3.14159*eps+0.0001)**2))     &
     184                -delt_z*log(zsig)
     185           endif
    180186           ! Profil stratospherique isotherme (+vortex)
    181187           w_pv=(1.-tanh((rlatu(j)-phi_pv)/dphi_pv))/2.
  • LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F

    r1502 r1505  
    977977!$OMP END DO
    978978
     979!$OMP MASTER
     980       if (planet_type.eq."giant") then
     981         ! add an intrinsic heat flux at the base of the atmosphere
     982         teta(ijb:ije,1) = teta(ijb:ije,1)
     983     &        + dtvr * aire(ijb:ije) * ihf / cpp / masse(ijb:ije,1)
     984       endif
     985!$OMP END MASTER
     986!$OMP BARRIER
     987
    979988       call Register_Hallo(ucov,ip1jmp1,llm,0,1,1,0,Request_Physic)
    980989       call Register_Hallo(vcov,ip1jm,llm,1,1,1,1,Request_Physic)
Note: See TracChangeset for help on using the changeset viewer.