Changeset 2789 for trunk/LMDZ.MARS


Ignore:
Timestamp:
Aug 31, 2022, 6:30:47 PM (2 years ago)
Author:
jnaar
Message:

1d flag "atm_wat_profile" can be used to force atmospheric water vapor profile :

  • atm_wat_profile = 0 (default case) : free vapor & ice profiles
  • atm_wat_profile = 1 : dry atmosphere for both vapor and ice
  • atm_wat_profile = 2 : wet water vapor profile (0.7*qsat for now) and no ice

Also corrected mistake in README file where EM was responsable for 01/07/2022 commit (but it was me).
JN

Location:
trunk/LMDZ.MARS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r2741 r2789  
    37303730initialized to zero if not found in the startfi.nc file.
    37313731
    3732 == 01/07/2022 == EM
     3732== 01/07/2022 == JN
    37333733"caps" flag is no longer called in surfini.F to set the location of watercaptag.
    37343734It now only affects the temperature of south pole grid cell in co2condens.
     3735
     3736== 31/08/2022 == JN
     3737Added "atm_wat_profile" flag in 1d to force dry and wet atmospheric water vapor profiles.
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F

    r2672 r2789  
    1515      use phyredem, only: physdem0,physdem1
    1616      use geometry_mod, only: init_geometry
     17      use watersat_mod, only: watersat
     18      use tracer_mod, only: igcm_h2o_vap,igcm_h2o_ice
    1719      use planete_h, only: year_day, periheli, aphelie, peri_day,
    1820     &                     obliquit, emin_turb, lmixmin
     
    128130      REAL halfaxe, excentric, Lsperi
    129131      Logical paleomars
     132c   JN : Force atmospheric water profiles
     133      INTEGER atm_wat_profile
     134      REAL,ALLOCATABLE :: zqsat(:) ! useful for (atm_wat_profile=2)
     135
    130136
    131137c   MVals: isotopes as in the dynamics (CRisi)
     
    246252        allocate(tname(nq))
    247253        allocate(q(nlayer,nq))
     254        allocate(zqsat(nlayer))
    248255        allocate(qsurf(nq))
    249256        allocate(dq(nlayer,nq))
     
    678685      write(*,*) " watercaptag = ",watercaptag
    679686     
     687c Check if the atmospheric water profile is specified
     688c ---------------------------------------------------
     689      ! Adding an option to force atmospheric water values JN
     690      atm_wat_profile=0 ! Default: no water ice reservoir
     691      print *,'Force atmospheric water vapor profile ?'
     692      call getin("atm_wat_profile",atm_wat_profile)
     693      write(*,*) "atm_wat_profile = ", atm_wat_profile
     694      if (atm_wat_profile.EQ.0) then
     695        write(*,*) "Free atmospheric water vapor profile"
     696      else if (atm_wat_profile.EQ.1) then
     697        write(*,*) "Dry atmospheric water vapor profile"
     698      else if (atm_wat_profile.EQ.2) then
     699        write(*,*) "Wet atmospheric water vapor profile"
     700      endif
     701
    680702
    681703c    Initialization for GRADS outputs in "g1d.dat" and "g1d.ctl"
     
    742764      ENDDO
    743765
     766c       Force atmospheric water if asked
     767c       Added "atm_wat_profile" flag (JN)
     768c       -------------------------------------
     769        call watersat(nlayer,temp,play,zqsat)
     770        DO iq = 1, nq
     771          IF ((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.1)) THEN
     772            DO ilayer=1,nlayer
     773             q(ilayer,igcm_h2o_vap)=0.
     774c             write(*,*) "atm_wat_profile dry"
     775c             write(*,*) "iq (igcm_h2o_vap)", iq
     776            ENDDO! ilayer=1,nlayer
     777          ELSE IF((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN
     778            DO ilayer=1,nlayer
     779             q(ilayer,igcm_h2o_vap)=zqsat(ilayer)*0.7
     780c             write(*,*) "atm_wat_profile wet"
     781c             write(*,*) "iq (igcm_h2o_vap)", iq
     782c             q(ilayer,igcm_h2o_vap)=zqsat(ilayer)-0.9*zqsat(ilayer)
     783            ENDDO! ilayer=1,nlayer
     784          ELSE IF ((iq.eq.igcm_h2o_ice).and.(atm_wat_profile.ne.0)) THEN
     785            DO ilayer=1,nlayer
     786             q(ilayer,igcm_h2o_ice)=0.
     787c             write(*,*) "atm_wat_profile : reset ice"
     788c             write(*,*) "iq (igcm_h2o_ice)", iq
     789            ENDDO! ilayer=1,nlayer
     790          ENDIF  !((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN
     791        ENDDO
     792
     793
     794!      write(*,*) "testphys1d avant q", q(1,:)
    744795c       call physics
    745796c       --------------------
    746 !      write(*,*) "testphys1d avant q", q(1,:)
    747797      CALL physiq (1,llm,nq,
    748798     ,     firstcall,lastcall,
Note: See TracChangeset for help on using the changeset viewer.