Ignore:
Timestamp:
Aug 6, 2021, 4:30:26 PM (3 years ago)
Author:
fhourdin
Message:

Options supplementaires pour iniacademic

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/dyn3d/iniacademic.F90

    r2622 r3976  
    6767  LOGICAL ok_geost             ! Initialisation vent geost. ou nul
    6868  LOGICAL ok_pv                ! Polar Vortex
    69   REAL phi_pv,dphi_pv,gam_pv   ! Constantes pour polar vortex
     69  REAL phi_pv,dphi_pv,gam_pv,tetanoise   ! Constantes pour polar vortex
    7070
    7171  real zz,ran1
     
    117117  CALL inigeom
    118118  CALL inifilr
     119
     120  ! Initialize pressure and mass field if read_start=.false.
     121  IF (.NOT. read_start) THEN
     122     ! surface pressure
     123     if (iflag_phys>2) then
     124        ! specific value for CMIP5 aqua/terra planets
     125        ! "Specify the initial dry mass to be equivalent to
     126        !  a global mean surface pressure (101325 minus 245) Pa."
     127        ps(:)=101080. 
     128     else
     129        ! use reference surface pressure
     130        ps(:)=preff
     131     endif
     132     ! ground geopotential
     133     phis(:)=0.
     134     CALL pression ( ip1jmp1, ap, bp, ps, p       )
     135     if (pressure_exner) then
     136       CALL exner_hyb( ip1jmp1, ps, p, pks, pk)
     137     else
     138       call exner_milieu(ip1jmp1,ps,p,pks,pk)
     139     endif
     140     CALL massdair(p,masse)
     141  ENDIF
    119142
    120143  if (llm == 1) then
     
    167190     gam_pv=4.              ! -dT/dz vortex (in K/km)
    168191     CALL getin('gam_pv',gam_pv)
     192     tetanoise=0.005
     193     CALL getin('tetanoise',tetanoise)
     194
    169195
    170196     ! 2. Initialize fields towards which to relax
     
    219245     ! 3. Initialize fields (if necessary)
    220246     IF (.NOT. read_start) THEN
    221         ! surface pressure
    222         if (iflag_phys>2) then
    223            ! specific value for CMIP5 aqua/terra planets
    224            ! "Specify the initial dry mass to be equivalent to
    225            !  a global mean surface pressure (101325 minus 245) Pa."
    226            ps(:)=101080. 
    227         else
    228            ! use reference surface pressure
    229            ps(:)=preff
    230         endif
    231        
    232         ! ground geopotential
    233         phis(:)=0.
    234 
    235         CALL pression ( ip1jmp1, ap, bp, ps, p       )
    236         if (pressure_exner) then
    237           CALL exner_hyb( ip1jmp1, ps, p, pks, pk)
    238         else
    239           call exner_milieu(ip1jmp1,ps,p,pks,pk)
    240         endif
    241         CALL massdair(p,masse)
    242 
    243247        ! bulk initialization of temperature
    244         teta(:,:)=tetarappel(:,:)
     248
     249        IF (iflag_phys>10000) THEN
     250        ! Particular case to impose a constant temperature T0=0.01*iflag_physx
     251           teta(:,:)= 0.01*iflag_phys/(pk(:,:)/cpp)
     252        ELSE
     253           teta(:,:)=tetarappel(:,:)
     254        ENDIF
    245255
    246256        ! geopotential
    247257        CALL geopot(ip1jmp1,teta,pk,pks,phis,phi)
     258
     259        DO l=1,llm
     260          print*,'presnivs,play,l',presnivs(l),(pk(1,l)/cpp)**(1./kappa)*preff
     261         !pks(ij) = (cpp/preff) * ps(ij)
     262         !pk(ij,1) = .5*pks(ij)
     263         ! pk = cpp * (p/preff)^kappa
     264        ENDDO
    248265
    249266        ! winds
     
    292309        do l=1,llm
    293310           do ij=iip2,ip1jm
    294               teta(ij,l)=teta(ij,l)*(1.+0.005*ran1(idum))
     311              teta(ij,l)=teta(ij,l)*(1.+tetanoise*ran1(idum))
    295312           enddo
    296313        enddo
Note: See TracChangeset for help on using the changeset viewer.